diff --git a/src/compiler/moduleNameResolver.ts b/src/compiler/moduleNameResolver.ts index 1cc11acd32daf..07d23b9899b58 100644 --- a/src/compiler/moduleNameResolver.ts +++ b/src/compiler/moduleNameResolver.ts @@ -43,19 +43,38 @@ namespace ts { /** * Kinds of file that we are currently looking for. - * Typically there is one pass with Extensions.TypeScript, then a second pass with Extensions.JavaScript. + * Typically there is one pass with ExtensionsToTry.TypeScript, then a second pass with ExtensionsToTry.JavaScript. */ - enum Extensions { - TypeScript, /** '.ts', '.tsx', or '.d.ts' */ - JavaScript, /** '.js' or '.jsx' */ - DtsOnly /** Only '.d.ts' */ + const enum ExtensionsToTry { + /** + * '.ts', '.tsx', or '.d.ts' + * This is for regular imports of TypeScript code. + */ + TypeScript = "TypeScript ('.ts' preferred)", + /** + * Same as TypeScript, but look for a '.d.ts' file first. + * This is used inside node_modules (in the first phase, before we look for '.js') + */ + TypeScriptDtsFirst = "TypeScript ('.d.ts' preferred)", + /** + * '.js' or '.jsx' + * This is done only after either TypeScript or TypeScriptDtsFirst has been tried. + */ + JavaScript = "JavaScript", + /** + * Only '.d.ts' + * This is used for lookups in '@types' + */ + DtsOnly = "'.d.ts' only" } + // Inside `node_modules`, we should look for '.d.ts' files before '.ts' files. + type NodeModulesExtensionsToTry = ExtensionsToTry.TypeScriptDtsFirst | ExtensionsToTry.JavaScript | ExtensionsToTry.DtsOnly; interface PathAndPackageId { readonly fileName: string; readonly packageId: PackageId; } - /** Used with `Extensions.DtsOnly` to extract the path from TypeScript results. */ + /** Used with `ExtensionsToTry.DtsOnly` to extract the path from TypeScript results. */ function resolvedTypeScriptOnly(resolved: Resolved | undefined): PathAndPackageId | undefined { if (!resolved) { return undefined; @@ -238,7 +257,7 @@ namespace ts { trace(host, Diagnostics.Directory_0_does_not_exist_skipping_all_lookups_in_it, candidateDirectory); } return resolvedTypeScriptOnly( - loadNodeModuleFromDirectory(Extensions.DtsOnly, candidate, failedLookupLocations, + loadNodeModuleFromDirectory(ExtensionsToTry.DtsOnly, candidate, failedLookupLocations, !directoryExists, moduleResolutionState)); }); } @@ -258,7 +277,7 @@ namespace ts { if (traceEnabled) { trace(host, Diagnostics.Looking_up_in_node_modules_folder_initial_location_0, initialLocationForSecondaryLookup); } - const result = loadModuleFromNodeModules(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, failedLookupLocations, moduleResolutionState, /*cache*/ undefined); + const result = loadModuleFromNodeModules(ExtensionsToTry.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, failedLookupLocations, moduleResolutionState, /*cache*/ undefined); resolvedFile = resolvedTypeScriptOnly(result && result.value); if (!resolvedFile && traceEnabled) { trace(host, Diagnostics.Type_reference_directive_0_was_not_resolved, typeReferenceDirectiveName); @@ -503,7 +522,7 @@ namespace ts { * 'typings' entry or file 'index' with some supported extension * - Classic loader will only try to interpret '/a/b/c' as file. */ - type ResolutionKindSpecificLoader = (extensions: Extensions, candidate: string, failedLookupLocations: Push, onlyRecordFailures: boolean, state: ModuleResolutionState) => Resolved | undefined; + type ResolutionKindSpecificLoader = (extensionsToTry: ExtensionsToTry, candidate: string, failedLookupLocations: Push, onlyRecordFailures: boolean, state: ModuleResolutionState) => Resolved | undefined; /** * Any module resolution kind can be augmented with optional settings: 'baseUrl', 'paths' and 'rootDirs' - they are used to @@ -565,18 +584,18 @@ namespace ts { * be converted to a path relative to found rootDir entry './content/protocols/file2' (*). As a last step compiler will check all remaining * entries in 'rootDirs', use them to build absolute path out of (*) and try to resolve module from this location. */ - function tryLoadModuleUsingOptionalResolutionSettings(extensions: Extensions, moduleName: string, containingDirectory: string, loader: ResolutionKindSpecificLoader, + function tryLoadModuleUsingOptionalResolutionSettings(extensionsToTry: ExtensionsToTry, moduleName: string, containingDirectory: string, loader: ResolutionKindSpecificLoader, failedLookupLocations: Push, state: ModuleResolutionState): Resolved | undefined { if (!isExternalModuleNameRelative(moduleName)) { - return tryLoadModuleUsingBaseUrl(extensions, moduleName, loader, failedLookupLocations, state); + return tryLoadModuleUsingBaseUrl(extensionsToTry, moduleName, loader, failedLookupLocations, state); } else { - return tryLoadModuleUsingRootDirs(extensions, moduleName, containingDirectory, loader, failedLookupLocations, state); + return tryLoadModuleUsingRootDirs(extensionsToTry, moduleName, containingDirectory, loader, failedLookupLocations, state); } } - function tryLoadModuleUsingRootDirs(extensions: Extensions, moduleName: string, containingDirectory: string, loader: ResolutionKindSpecificLoader, + function tryLoadModuleUsingRootDirs(extensionsToTry: ExtensionsToTry, moduleName: string, containingDirectory: string, loader: ResolutionKindSpecificLoader, failedLookupLocations: Push, state: ModuleResolutionState): Resolved | undefined { if (!state.compilerOptions.rootDirs) { @@ -622,7 +641,7 @@ namespace ts { if (state.traceEnabled) { trace(state.host, Diagnostics.Loading_0_from_the_root_dir_1_candidate_location_2, suffix, matchedNormalizedPrefix, candidate); } - const resolvedFileName = loader(extensions, candidate, failedLookupLocations, !directoryProbablyExists(containingDirectory, state.host), state); + const resolvedFileName = loader(extensionsToTry, candidate, failedLookupLocations, !directoryProbablyExists(containingDirectory, state.host), state); if (resolvedFileName) { return resolvedFileName; } @@ -641,7 +660,7 @@ namespace ts { trace(state.host, Diagnostics.Loading_0_from_the_root_dir_1_candidate_location_2, suffix, rootDir, candidate); } const baseDirectory = getDirectoryPath(candidate); - const resolvedFileName = loader(extensions, candidate, failedLookupLocations, !directoryProbablyExists(baseDirectory, state.host), state); + const resolvedFileName = loader(extensionsToTry, candidate, failedLookupLocations, !directoryProbablyExists(baseDirectory, state.host), state); if (resolvedFileName) { return resolvedFileName; } @@ -653,7 +672,7 @@ namespace ts { return undefined; } - function tryLoadModuleUsingBaseUrl(extensions: Extensions, moduleName: string, loader: ResolutionKindSpecificLoader, failedLookupLocations: Push, state: ModuleResolutionState): Resolved | undefined { + function tryLoadModuleUsingBaseUrl(extensionsToTry: ExtensionsToTry, moduleName: string, loader: ResolutionKindSpecificLoader, failedLookupLocations: Push, state: ModuleResolutionState): Resolved | undefined { if (!state.compilerOptions.baseUrl) { return undefined; } @@ -691,7 +710,7 @@ namespace ts { } } - return loader(extensions, candidate, failedLookupLocations, !directoryProbablyExists(getDirectoryPath(candidate), state.host), state); + return loader(extensionsToTry, candidate, failedLookupLocations, !directoryProbablyExists(getDirectoryPath(candidate), state.host), state); }); } else { @@ -701,7 +720,7 @@ namespace ts { trace(state.host, Diagnostics.Resolving_module_name_0_relative_to_base_url_1_2, moduleName, state.compilerOptions.baseUrl, candidate); } - return loader(extensions, candidate, failedLookupLocations, !directoryProbablyExists(getDirectoryPath(candidate), state.host), state); + return loader(extensionsToTry, candidate, failedLookupLocations, !directoryProbablyExists(getDirectoryPath(candidate), state.host), state); } } @@ -730,25 +749,25 @@ namespace ts { const failedLookupLocations: string[] = []; const state: ModuleResolutionState = { compilerOptions, host, traceEnabled }; - const result = jsOnly ? tryResolve(Extensions.JavaScript) : (tryResolve(Extensions.TypeScript) || tryResolve(Extensions.JavaScript)); + const result = jsOnly ? tryResolve(ExtensionsToTry.JavaScript) : (tryResolve(ExtensionsToTry.TypeScript) || tryResolve(ExtensionsToTry.JavaScript)); if (result && result.value) { const { resolved, originalPath, isExternalLibraryImport } = result.value; return createResolvedModuleWithFailedLookupLocations(resolved, originalPath, isExternalLibraryImport, failedLookupLocations); } return { resolvedModule: undefined, failedLookupLocations }; - function tryResolve(extensions: Extensions): SearchResult<{ resolved: Resolved, originalPath?: string, isExternalLibraryImport: boolean }> { + function tryResolve(extensionsToTry: ExtensionsToTry): SearchResult<{ resolved: Resolved, originalPath?: string, isExternalLibraryImport: boolean }> { const loader: ResolutionKindSpecificLoader = (extensions, candidate, failedLookupLocations, onlyRecordFailures, state) => nodeLoadModuleByRelativeName(extensions, candidate, failedLookupLocations, onlyRecordFailures, state, /*considerPackageJson*/ true); - const resolved = tryLoadModuleUsingOptionalResolutionSettings(extensions, moduleName, containingDirectory, loader, failedLookupLocations, state); + const resolved = tryLoadModuleUsingOptionalResolutionSettings(extensionsToTry, moduleName, containingDirectory, loader, failedLookupLocations, state); if (resolved) { return toSearchResult({ resolved, isExternalLibraryImport: false }); } if (!isExternalModuleNameRelative(moduleName)) { if (traceEnabled) { - trace(host, Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]); + trace(host, Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, extensionsToTry); } - const resolved = loadModuleFromNodeModules(extensions, moduleName, containingDirectory, failedLookupLocations, state, cache); + const resolved = loadModuleFromNodeModules(extensionsToTry, moduleName, containingDirectory, failedLookupLocations, state, cache); if (!resolved) return undefined; let resolvedValue = resolved.value; @@ -766,7 +785,7 @@ namespace ts { } else { const { path: candidate, parts } = normalizePathAndParts(combinePaths(containingDirectory, moduleName)); - const resolved = nodeLoadModuleByRelativeName(extensions, candidate, failedLookupLocations, /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true); + const resolved = nodeLoadModuleByRelativeName(extensionsToTry, candidate, failedLookupLocations, /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true); // Treat explicit "node_modules" import as an external library import. return resolved && toSearchResult({ resolved, isExternalLibraryImport: contains(parts, "node_modules") }); } @@ -785,9 +804,9 @@ namespace ts { return real; } - function nodeLoadModuleByRelativeName(extensions: Extensions, candidate: string, failedLookupLocations: Push, onlyRecordFailures: boolean, state: ModuleResolutionState, considerPackageJson: boolean): Resolved | undefined { + function nodeLoadModuleByRelativeName(extensionsToTry: ExtensionsToTry, candidate: string, failedLookupLocations: Push, onlyRecordFailures: boolean, state: ModuleResolutionState, considerPackageJson: boolean): Resolved | undefined { if (state.traceEnabled) { - trace(state.host, Diagnostics.Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1, candidate, Extensions[extensions]); + trace(state.host, Diagnostics.Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1, candidate, extensionsToTry); } if (!pathEndsWithDirectorySeparator(candidate)) { if (!onlyRecordFailures) { @@ -799,7 +818,7 @@ namespace ts { onlyRecordFailures = true; } } - const resolvedFromFile = loadModuleFromFile(extensions, candidate, failedLookupLocations, onlyRecordFailures, state); + const resolvedFromFile = loadModuleFromFile(extensionsToTry, candidate, failedLookupLocations, onlyRecordFailures, state); if (resolvedFromFile) { return noPackageId(resolvedFromFile); } @@ -813,7 +832,7 @@ namespace ts { onlyRecordFailures = true; } } - return loadNodeModuleFromDirectory(extensions, candidate, failedLookupLocations, onlyRecordFailures, state, considerPackageJson); + return loadNodeModuleFromDirectory(extensionsToTry, candidate, failedLookupLocations, onlyRecordFailures, state, considerPackageJson); } /* @internal */ @@ -822,17 +841,17 @@ namespace ts { return !host.directoryExists || host.directoryExists(directoryName); } - function loadModuleFromFileNoPackageId(extensions: Extensions, candidate: string, failedLookupLocations: Push, onlyRecordFailures: boolean, state: ModuleResolutionState): Resolved { - return noPackageId(loadModuleFromFile(extensions, candidate, failedLookupLocations, onlyRecordFailures, state)); + function loadModuleFromFileNoPackageId(extensionsToTry: ExtensionsToTry, candidate: string, failedLookupLocations: Push, onlyRecordFailures: boolean, state: ModuleResolutionState): Resolved { + return noPackageId(loadModuleFromFile(extensionsToTry, candidate, failedLookupLocations, onlyRecordFailures, state)); } /** * @param {boolean} onlyRecordFailures - if true then function won't try to actually load files but instead record all attempts as failures. This flag is necessary * in cases when we know upfront that all load attempts will fail (because containing folder does not exists) however we still need to record all failed lookup locations. */ - function loadModuleFromFile(extensions: Extensions, candidate: string, failedLookupLocations: Push, onlyRecordFailures: boolean, state: ModuleResolutionState): PathAndExtension | undefined { + function loadModuleFromFile(extensionsToTry: ExtensionsToTry, candidate: string, failedLookupLocations: Push, onlyRecordFailures: boolean, state: ModuleResolutionState): PathAndExtension | undefined { // First, try adding an extension. An import of "foo" could be matched by a file "foo.ts", or "foo.js" by "foo.js.ts" - const resolvedByAddingExtension = tryAddingExtensions(candidate, extensions, failedLookupLocations, onlyRecordFailures, state); + const resolvedByAddingExtension = tryAddingExtensions(candidate, extensionsToTry, failedLookupLocations, onlyRecordFailures, state); if (resolvedByAddingExtension) { return resolvedByAddingExtension; } @@ -845,12 +864,12 @@ namespace ts { const extension = candidate.substring(extensionless.length); trace(state.host, Diagnostics.File_name_0_has_a_1_extension_stripping_it, candidate, extension); } - return tryAddingExtensions(extensionless, extensions, failedLookupLocations, onlyRecordFailures, state); + return tryAddingExtensions(extensionless, extensionsToTry, failedLookupLocations, onlyRecordFailures, state); } } /** Try to return an existing file that adds one of the `extensions` to `candidate`. */ - function tryAddingExtensions(candidate: string, extensions: Extensions, failedLookupLocations: Push, onlyRecordFailures: boolean, state: ModuleResolutionState): PathAndExtension | undefined { + function tryAddingExtensions(candidate: string, extensionsToTry: ExtensionsToTry, failedLookupLocations: Push, onlyRecordFailures: boolean, state: ModuleResolutionState): PathAndExtension | undefined { if (!onlyRecordFailures) { // check if containing folder exists - if it doesn't then just record failures for all supported extensions without disk probing const directory = getDirectoryPath(candidate); @@ -859,12 +878,14 @@ namespace ts { } } - switch (extensions) { - case Extensions.DtsOnly: + switch (extensionsToTry) { + case ExtensionsToTry.DtsOnly: return tryExtension(Extension.Dts); - case Extensions.TypeScript: + case ExtensionsToTry.TypeScript: return tryExtension(Extension.Ts) || tryExtension(Extension.Tsx) || tryExtension(Extension.Dts); - case Extensions.JavaScript: + case ExtensionsToTry.TypeScriptDtsFirst: + return tryExtension(Extension.Dts) || tryExtension(Extension.Ts) || tryExtension(Extension.Tsx); + case ExtensionsToTry.JavaScript: return tryExtension(Extension.Js) || tryExtension(Extension.Jsx); } @@ -893,20 +914,20 @@ namespace ts { return undefined; } - function loadNodeModuleFromDirectory(extensions: Extensions, candidate: string, failedLookupLocations: Push, onlyRecordFailures: boolean, state: ModuleResolutionState, considerPackageJson = true) { + function loadNodeModuleFromDirectory(extensionsToTry: ExtensionsToTry, candidate: string, failedLookupLocations: Push, onlyRecordFailures: boolean, state: ModuleResolutionState, considerPackageJson = true) { const { packageJsonContent, packageId } = considerPackageJson ? getPackageJsonInfo(candidate, "", failedLookupLocations, onlyRecordFailures, state) : { packageJsonContent: undefined, packageId: undefined }; - return withPackageId(packageId, loadNodeModuleFromDirectoryWorker(extensions, candidate, failedLookupLocations, onlyRecordFailures, state, packageJsonContent)); + return withPackageId(packageId, loadNodeModuleFromDirectoryWorker(extensionsToTry, candidate, failedLookupLocations, onlyRecordFailures, state, packageJsonContent)); } - function loadNodeModuleFromDirectoryWorker(extensions: Extensions, candidate: string, failedLookupLocations: Push, onlyRecordFailures: boolean, state: ModuleResolutionState, packageJsonContent: PackageJsonPathFields | undefined): PathAndExtension | undefined { - const fromPackageJson = packageJsonContent && loadModuleFromPackageJson(packageJsonContent, extensions, candidate, failedLookupLocations, state); + function loadNodeModuleFromDirectoryWorker(extensionsToTry: ExtensionsToTry, candidate: string, failedLookupLocations: Push, onlyRecordFailures: boolean, state: ModuleResolutionState, packageJsonContent: PackageJsonPathFields | undefined): PathAndExtension | undefined { + const fromPackageJson = packageJsonContent && loadModuleFromPackageJson(packageJsonContent, extensionsToTry, candidate, failedLookupLocations, state); if (fromPackageJson) { return fromPackageJson; } const directoryExists = !onlyRecordFailures && directoryProbablyExists(candidate, state.host); - return loadModuleFromFile(extensions, combinePaths(candidate, "index"), failedLookupLocations, !directoryExists, state); + return loadModuleFromFile(extensionsToTry, combinePaths(candidate, "index"), failedLookupLocations, !directoryExists, state); } function getPackageJsonInfo( @@ -938,8 +959,8 @@ namespace ts { } } - function loadModuleFromPackageJson(jsonContent: PackageJsonPathFields, extensions: Extensions, candidate: string, failedLookupLocations: Push, state: ModuleResolutionState): PathAndExtension | undefined { - const file = tryReadPackageJsonFields(extensions !== Extensions.JavaScript, jsonContent, candidate, state); + function loadModuleFromPackageJson(jsonContent: PackageJsonPathFields, extensionsToTry: ExtensionsToTry, candidate: string, failedLookupLocations: Push, state: ModuleResolutionState): PathAndExtension | undefined { + const file = tryReadPackageJsonFields(extensionsToTry !== ExtensionsToTry.JavaScript, jsonContent, candidate, state); if (!file) { return undefined; } @@ -947,7 +968,7 @@ namespace ts { const onlyRecordFailures = !directoryProbablyExists(getDirectoryPath(file), state.host); const fromFile = tryFile(file, failedLookupLocations, onlyRecordFailures, state); if (fromFile) { - const resolved = fromFile && resolvedIfExtensionMatches(extensions, fromFile); + const resolved = fromFile && resolvedIfExtensionMatches(extensionsToTry, fromFile); if (resolved) { return resolved; } @@ -957,7 +978,7 @@ namespace ts { } // Even if extensions is DtsOnly, we can still look up a .ts file as a result of package.json "types" - const nextExtensions = extensions === Extensions.DtsOnly ? Extensions.TypeScript : extensions; + const nextExtensions = extensionsToTry === ExtensionsToTry.DtsOnly ? ExtensionsToTry.TypeScript : extensionsToTry; // Don't do package.json lookup recursively, because Node.js' package lookup doesn't. const result = nodeLoadModuleByRelativeName(nextExtensions, file, failedLookupLocations, onlyRecordFailures, state, /*considerPackageJson*/ false); if (result) { @@ -968,20 +989,23 @@ namespace ts { } /** Resolve from an arbitrarily specified file. Return `undefined` if it has an unsupported extension. */ - function resolvedIfExtensionMatches(extensions: Extensions, path: string): PathAndExtension | undefined { + function resolvedIfExtensionMatches(extensionsToTry: ExtensionsToTry, path: string): PathAndExtension | undefined { const ext = tryGetExtensionFromPath(path); - return ext !== undefined && extensionIsOk(extensions, ext) ? { path, ext } : undefined; + return ext !== undefined && extensionIsOk(extensionsToTry, ext) ? { path, ext } : undefined; } /** True if `extension` is one of the supported `extensions`. */ - function extensionIsOk(extensions: Extensions, extension: Extension): boolean { - switch (extensions) { - case Extensions.JavaScript: + function extensionIsOk(extensionsToTry: ExtensionsToTry, extension: Extension): boolean { + switch (extensionsToTry) { + case ExtensionsToTry.JavaScript: return extension === Extension.Js || extension === Extension.Jsx; - case Extensions.TypeScript: + case ExtensionsToTry.TypeScript: + case ExtensionsToTry.TypeScriptDtsFirst: return extension === Extension.Ts || extension === Extension.Tsx || extension === Extension.Dts; - case Extensions.DtsOnly: + case ExtensionsToTry.DtsOnly: return extension === Extension.Dts; + default: + Debug.assertNever(extensionsToTry); } } @@ -989,25 +1013,26 @@ namespace ts { return combinePaths(directory, "package.json"); } - function loadModuleFromNodeModulesFolder(extensions: Extensions, moduleName: string, nodeModulesFolder: string, nodeModulesFolderExists: boolean, failedLookupLocations: Push, state: ModuleResolutionState): Resolved | undefined { + function loadModuleFromNodeModulesFolder(extensionsToTry: ExtensionsToTry, moduleName: string, nodeModulesFolder: string, nodeModulesFolderExists: boolean, failedLookupLocations: Push, state: ModuleResolutionState): Resolved | undefined { const candidate = normalizePath(combinePaths(nodeModulesFolder, moduleName)); // First look for a nested package.json, as in `node_modules/foo/bar/package.json`. let packageJsonContent: PackageJsonPathFields | undefined; let packageId: PackageId | undefined; + const { packageName, rest } = getPackageName(moduleName); const packageInfo = getPackageJsonInfo(candidate, "", failedLookupLocations, /*onlyRecordFailures*/ !nodeModulesFolderExists, state); if (packageInfo.found) { ({ packageJsonContent, packageId } = packageInfo); } else { - const { packageName, rest } = getPackageName(moduleName); if (rest !== "") { // If "rest" is empty, we just did this search above. const packageRootPath = combinePaths(nodeModulesFolder, packageName); // Don't use a "types" or "main" from here because we're not loading the root, but a subdirectory -- just here for the packageId. packageId = getPackageJsonInfo(packageRootPath, rest, failedLookupLocations, !nodeModulesFolderExists, state).packageId; } } - const pathAndExtension = loadModuleFromFile(extensions, candidate, failedLookupLocations, !nodeModulesFolderExists, state) || - loadNodeModuleFromDirectoryWorker(extensions, candidate, failedLookupLocations, !nodeModulesFolderExists, state, packageJsonContent); + // If `rest === ""`, we are at the root of the package, so don't bother looking for a file `node_modules/foo.ts` because `node_modules` should contain only directories. + const file = rest === "" ? undefined : loadModuleFromFile(extensionsToTry, candidate, failedLookupLocations, !nodeModulesFolderExists, state); + const pathAndExtension = file || loadNodeModuleFromDirectoryWorker(extensionsToTry, candidate, failedLookupLocations, !nodeModulesFolderExists, state, packageJsonContent); return withPackageId(packageId, pathAndExtension); } @@ -1020,15 +1045,17 @@ namespace ts { return idx === -1 ? { packageName: moduleName, rest: "" } : { packageName: moduleName.slice(0, idx), rest: moduleName.slice(idx + 1) }; } - function loadModuleFromNodeModules(extensions: Extensions, moduleName: string, directory: string, failedLookupLocations: Push, state: ModuleResolutionState, cache: NonRelativeModuleNameResolutionCache): SearchResult { - return loadModuleFromNodeModulesWorker(extensions, moduleName, directory, failedLookupLocations, state, /*typesOnly*/ false, cache); + function loadModuleFromNodeModules(extensionsToTry: ExtensionsToTry, moduleName: string, directory: string, failedLookupLocations: Push, state: ModuleResolutionState, cache: NonRelativeModuleNameResolutionCache): SearchResult { + const ext = extensionsToTry === ExtensionsToTry.TypeScript ? ExtensionsToTry.TypeScriptDtsFirst : extensionsToTry; + return loadModuleFromNodeModulesWorker(ext, moduleName, directory, failedLookupLocations, state, /*typesOnly*/ false, cache); } + function loadModuleFromNodeModulesAtTypes(moduleName: string, directory: string, failedLookupLocations: Push, state: ModuleResolutionState): SearchResult { // Extensions parameter here doesn't actually matter, because typesOnly ensures we're just doing @types lookup, which is always DtsOnly. - return loadModuleFromNodeModulesWorker(Extensions.DtsOnly, moduleName, directory, failedLookupLocations, state, /*typesOnly*/ true, /*cache*/ undefined); + return loadModuleFromNodeModulesWorker(ExtensionsToTry.DtsOnly, moduleName, directory, failedLookupLocations, state, /*typesOnly*/ true, /*cache*/ undefined); } - function loadModuleFromNodeModulesWorker(extensions: Extensions, moduleName: string, directory: string, failedLookupLocations: Push, state: ModuleResolutionState, typesOnly: boolean, cache: NonRelativeModuleNameResolutionCache): SearchResult { + function loadModuleFromNodeModulesWorker(extensionsToTry: NodeModulesExtensionsToTry, moduleName: string, directory: string, failedLookupLocations: Push, state: ModuleResolutionState, typesOnly: boolean, cache: NonRelativeModuleNameResolutionCache): SearchResult { const perModuleNameCache = cache && cache.getOrCreateCacheForModuleName(moduleName); return forEachAncestorDirectory(normalizeSlashes(directory), ancestorDirectory => { if (getBaseFileName(ancestorDirectory) !== "node_modules") { @@ -1036,24 +1063,24 @@ namespace ts { if (resolutionFromCache) { return resolutionFromCache; } - return toSearchResult(loadModuleFromNodeModulesOneLevel(extensions, moduleName, ancestorDirectory, failedLookupLocations, state, typesOnly)); + return toSearchResult(loadModuleFromNodeModulesOneLevel(extensionsToTry, moduleName, ancestorDirectory, failedLookupLocations, state, typesOnly)); } }); } /** Load a module from a single node_modules directory, but not from any ancestors' node_modules directories. */ - function loadModuleFromNodeModulesOneLevel(extensions: Extensions, moduleName: string, directory: string, failedLookupLocations: Push, state: ModuleResolutionState, typesOnly = false): Resolved | undefined { + function loadModuleFromNodeModulesOneLevel(extensionsToTry: NodeModulesExtensionsToTry, moduleName: string, directory: string, failedLookupLocations: Push, state: ModuleResolutionState, typesOnly = false): Resolved | undefined { const nodeModulesFolder = combinePaths(directory, "node_modules"); const nodeModulesFolderExists = directoryProbablyExists(nodeModulesFolder, state.host); if (!nodeModulesFolderExists && state.traceEnabled) { trace(state.host, Diagnostics.Directory_0_does_not_exist_skipping_all_lookups_in_it, nodeModulesFolder); } - const packageResult = typesOnly ? undefined : loadModuleFromNodeModulesFolder(extensions, moduleName, nodeModulesFolder, nodeModulesFolderExists, failedLookupLocations, state); + const packageResult = typesOnly ? undefined : loadModuleFromNodeModulesFolder(extensionsToTry, moduleName, nodeModulesFolder, nodeModulesFolderExists, failedLookupLocations, state); if (packageResult) { return packageResult; } - if (extensions !== Extensions.JavaScript) { + if (extensionsToTry !== ExtensionsToTry.JavaScript) { const nodeModulesAtTypes = combinePaths(nodeModulesFolder, "@types"); let nodeModulesAtTypesExists = nodeModulesFolderExists; if (nodeModulesFolderExists && !directoryProbablyExists(nodeModulesAtTypes, state.host)) { @@ -1062,7 +1089,7 @@ namespace ts { } nodeModulesAtTypesExists = false; } - return loadModuleFromNodeModulesFolder(Extensions.DtsOnly, mangleScopedPackage(moduleName, state), nodeModulesAtTypes, nodeModulesAtTypesExists, failedLookupLocations, state); + return loadModuleFromNodeModulesFolder(ExtensionsToTry.DtsOnly, mangleScopedPackage(moduleName, state), nodeModulesAtTypes, nodeModulesAtTypesExists, failedLookupLocations, state); } } @@ -1120,12 +1147,12 @@ namespace ts { const failedLookupLocations: string[] = []; const containingDirectory = getDirectoryPath(containingFile); - const resolved = tryResolve(Extensions.TypeScript) || tryResolve(Extensions.JavaScript); + const resolved = tryResolve(ExtensionsToTry.TypeScript) || tryResolve(ExtensionsToTry.JavaScript); // No originalPath because classic resolution doesn't resolve realPath return createResolvedModuleWithFailedLookupLocations(resolved && resolved.value, /*originalPath*/ undefined, /*isExternalLibraryImport*/ false, failedLookupLocations); - function tryResolve(extensions: Extensions): SearchResult { - const resolvedUsingSettings = tryLoadModuleUsingOptionalResolutionSettings(extensions, moduleName, containingDirectory, loadModuleFromFileNoPackageId, failedLookupLocations, state); + function tryResolve(extensionsToTry: ExtensionsToTry): SearchResult { + const resolvedUsingSettings = tryLoadModuleUsingOptionalResolutionSettings(extensionsToTry, moduleName, containingDirectory, loadModuleFromFileNoPackageId, failedLookupLocations, state); if (resolvedUsingSettings) { return { value: resolvedUsingSettings }; } @@ -1139,19 +1166,19 @@ namespace ts { return resolutionFromCache; } const searchName = normalizePath(combinePaths(directory, moduleName)); - return toSearchResult(loadModuleFromFileNoPackageId(extensions, searchName, failedLookupLocations, /*onlyRecordFailures*/ false, state)); + return toSearchResult(loadModuleFromFileNoPackageId(extensionsToTry, searchName, failedLookupLocations, /*onlyRecordFailures*/ false, state)); }); if (resolved) { return resolved; } - if (extensions === Extensions.TypeScript) { + if (extensionsToTry === ExtensionsToTry.TypeScript) { // If we didn't find the file normally, look it up in @types. return loadModuleFromNodeModulesAtTypes(moduleName, containingDirectory, failedLookupLocations, state); } } else { const candidate = normalizePath(combinePaths(containingDirectory, moduleName)); - return toSearchResult(loadModuleFromFileNoPackageId(extensions, candidate, failedLookupLocations, /*onlyRecordFailures*/ false, state)); + return toSearchResult(loadModuleFromFileNoPackageId(extensionsToTry, candidate, failedLookupLocations, /*onlyRecordFailures*/ false, state)); } } } @@ -1168,7 +1195,7 @@ namespace ts { } const state: ModuleResolutionState = { compilerOptions, host, traceEnabled }; const failedLookupLocations: string[] = []; - const resolved = loadModuleFromNodeModulesOneLevel(Extensions.DtsOnly, moduleName, globalCache, failedLookupLocations, state); + const resolved = loadModuleFromNodeModulesOneLevel(ExtensionsToTry.DtsOnly, moduleName, globalCache, failedLookupLocations, state); return createResolvedModuleWithFailedLookupLocations(resolved, /*originalPath*/ undefined, /*isExternalLibraryImport*/ true, failedLookupLocations); } diff --git a/src/harness/unittests/moduleResolution.ts b/src/harness/unittests/moduleResolution.ts index 0dd016b2f229c..359cc962a5f79 100644 --- a/src/harness/unittests/moduleResolution.ts +++ b/src/harness/unittests/moduleResolution.ts @@ -195,36 +195,26 @@ namespace ts { function test(hasDirectoryExists: boolean) { const containingFile = { name: "/a/b/c/d/e.ts" }; - const moduleFile = { name: "/a/b/node_modules/foo.ts" }; + const moduleFile = { name: "/a/b/node_modules/foo/index.d.ts" }; const resolution = nodeModuleNameResolver("foo", containingFile.name, {}, createModuleResolutionHost(hasDirectoryExists, containingFile, moduleFile)); checkResolvedModuleWithFailedLookupLocations(resolution, createResolvedModule(moduleFile.name, /*isExternalLibraryImport*/ true), [ "/a/b/c/d/node_modules/foo/package.json", - "/a/b/c/d/node_modules/foo.ts", - "/a/b/c/d/node_modules/foo.tsx", - "/a/b/c/d/node_modules/foo.d.ts", + "/a/b/c/d/node_modules/foo/index.d.ts", "/a/b/c/d/node_modules/foo/index.ts", "/a/b/c/d/node_modules/foo/index.tsx", - "/a/b/c/d/node_modules/foo/index.d.ts", "/a/b/c/d/node_modules/@types/foo/package.json", - "/a/b/c/d/node_modules/@types/foo.d.ts", - "/a/b/c/d/node_modules/@types/foo/index.d.ts", "/a/b/c/node_modules/foo/package.json", - "/a/b/c/node_modules/foo.ts", - "/a/b/c/node_modules/foo.tsx", - "/a/b/c/node_modules/foo.d.ts", - + "/a/b/c/node_modules/foo/index.d.ts", "/a/b/c/node_modules/foo/index.ts", "/a/b/c/node_modules/foo/index.tsx", - "/a/b/c/node_modules/foo/index.d.ts", "/a/b/c/node_modules/@types/foo/package.json", - "/a/b/c/node_modules/@types/foo.d.ts", - "/a/b/c/node_modules/@types/foo/index.d.ts", + "/a/b/node_modules/foo/package.json", ]); } @@ -252,54 +242,30 @@ namespace ts { const resolution = nodeModuleNameResolver("foo", containingFile.name, {}, createModuleResolutionHost(hasDirectoryExists, containingFile, moduleFile)); checkResolvedModuleWithFailedLookupLocations(resolution, createResolvedModule(moduleFile.name, /*isExternalLibraryImport*/ true), [ "/a/node_modules/b/c/node_modules/d/node_modules/foo/package.json", - "/a/node_modules/b/c/node_modules/d/node_modules/foo.ts", - "/a/node_modules/b/c/node_modules/d/node_modules/foo.tsx", - "/a/node_modules/b/c/node_modules/d/node_modules/foo.d.ts", - + "/a/node_modules/b/c/node_modules/d/node_modules/foo/index.d.ts", "/a/node_modules/b/c/node_modules/d/node_modules/foo/index.ts", "/a/node_modules/b/c/node_modules/d/node_modules/foo/index.tsx", - "/a/node_modules/b/c/node_modules/d/node_modules/foo/index.d.ts", "/a/node_modules/b/c/node_modules/d/node_modules/@types/foo/package.json", - "/a/node_modules/b/c/node_modules/d/node_modules/@types/foo.d.ts", - "/a/node_modules/b/c/node_modules/d/node_modules/@types/foo/index.d.ts", "/a/node_modules/b/c/node_modules/foo/package.json", - "/a/node_modules/b/c/node_modules/foo.ts", - "/a/node_modules/b/c/node_modules/foo.tsx", - "/a/node_modules/b/c/node_modules/foo.d.ts", - + "/a/node_modules/b/c/node_modules/foo/index.d.ts", "/a/node_modules/b/c/node_modules/foo/index.ts", "/a/node_modules/b/c/node_modules/foo/index.tsx", - "/a/node_modules/b/c/node_modules/foo/index.d.ts", "/a/node_modules/b/c/node_modules/@types/foo/package.json", - "/a/node_modules/b/c/node_modules/@types/foo.d.ts", - "/a/node_modules/b/c/node_modules/@types/foo/index.d.ts", "/a/node_modules/b/node_modules/foo/package.json", - "/a/node_modules/b/node_modules/foo.ts", - "/a/node_modules/b/node_modules/foo.tsx", - "/a/node_modules/b/node_modules/foo.d.ts", - + "/a/node_modules/b/node_modules/foo/index.d.ts", "/a/node_modules/b/node_modules/foo/index.ts", "/a/node_modules/b/node_modules/foo/index.tsx", - "/a/node_modules/b/node_modules/foo/index.d.ts", "/a/node_modules/b/node_modules/@types/foo/package.json", - "/a/node_modules/b/node_modules/@types/foo.d.ts", - "/a/node_modules/b/node_modules/@types/foo/index.d.ts", "/a/node_modules/foo/package.json", - "/a/node_modules/foo.ts", - "/a/node_modules/foo.tsx", - "/a/node_modules/foo.d.ts", - - "/a/node_modules/foo/index.ts", - "/a/node_modules/foo/index.tsx" ]); } }); @@ -604,7 +570,7 @@ import b = require("./moduleB"); const file4Typings: File = { name: "/root/generated/folder2/file4/package.json", content: JSON.stringify({ typings: "dist/types.d.ts" }) }; const file4: File = { name: "/root/generated/folder2/file4/dist/types.d.ts" }; // load file pointed by typings const file5: File = { name: "/root/someanotherfolder/file5/index.d.ts" }; // load remapped module from folder - const file6: File = { name: "/root/node_modules/file6.ts" }; // fallback to node + const file6: File = { name: "/root/node_modules/file6/index.ts" }; // fallback to node const host = createModuleResolutionHost(hasDirectoryExists, file1, file2, file3, file4, file4Typings, file5, file6); const options: CompilerOptions = { @@ -711,24 +677,19 @@ import b = require("./moduleB"); "/root/generated/file6/index.d.ts", // fallback to standard node behavior - "/root/folder1/node_modules/file6/package.json", - - // load from file - "/root/folder1/node_modules/file6.ts", - "/root/folder1/node_modules/file6.tsx", - "/root/folder1/node_modules/file6.d.ts", // load from folder + "/root/folder1/node_modules/file6/package.json", + "/root/folder1/node_modules/file6/index.d.ts", "/root/folder1/node_modules/file6/index.ts", "/root/folder1/node_modules/file6/index.tsx", - "/root/folder1/node_modules/file6/index.d.ts", "/root/folder1/node_modules/@types/file6/package.json", - "/root/folder1/node_modules/@types/file6.d.ts", "/root/folder1/node_modules/@types/file6/index.d.ts", "/root/node_modules/file6/package.json", - // success on /root/node_modules/file6.ts + "/root/node_modules/file6/index.d.ts", + // success on /root/node_modules/file6/index.ts ], /*isExternalLibraryImport*/ true); function check(name: string, expected: File, expectedFailedLookups: string[], isExternalLibraryImport = false) { @@ -1009,11 +970,6 @@ import b = require("./moduleB"); } }); it("Can be resolved from secondary location", () => { - { - const f1 = { name: "/root/src/app.ts" }; - const f2 = { name: "/root/node_modules/lib.d.ts" }; - test(/*typesRoot*/"/root/src/types", /* typeDirective */"lib", /*primary*/ false, f1, f2); - } { const f1 = { name: "/root/src/app.ts" }; const f2 = { name: "/root/node_modules/lib/index.d.ts" }; diff --git a/src/harness/unittests/reuseProgramStructure.ts b/src/harness/unittests/reuseProgramStructure.ts index 4a76a479b1831..9296ca38bef07 100644 --- a/src/harness/unittests/reuseProgramStructure.ts +++ b/src/harness/unittests/reuseProgramStructure.ts @@ -454,21 +454,15 @@ namespace ts { [ "======== Resolving module 'a' from 'file1.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module 'a' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'a' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "File 'node_modules/a/package.json' does not exist.", - "File 'node_modules/a.ts' does not exist.", - "File 'node_modules/a.tsx' does not exist.", - "File 'node_modules/a.d.ts' does not exist.", + "File 'node_modules/a/index.d.ts' does not exist.", "File 'node_modules/a/index.ts' does not exist.", "File 'node_modules/a/index.tsx' does not exist.", - "File 'node_modules/a/index.d.ts' does not exist.", "File 'node_modules/@types/a/package.json' does not exist.", - "File 'node_modules/@types/a.d.ts' does not exist.", "File 'node_modules/@types/a/index.d.ts' does not exist.", "Loading module 'a' from 'node_modules' folder, target file type 'JavaScript'.", "File 'node_modules/a/package.json' does not exist.", - "File 'node_modules/a.js' does not exist.", - "File 'node_modules/a.jsx' does not exist.", "File 'node_modules/a/index.js' does not exist.", "File 'node_modules/a/index.jsx' does not exist.", "======== Module name 'a' was not resolved. ========" @@ -487,13 +481,8 @@ namespace ts { [ "======== Resolving module 'a' from 'file1.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module 'a' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'a' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "File 'node_modules/a/package.json' does not exist.", - "File 'node_modules/a.ts' does not exist.", - "File 'node_modules/a.tsx' does not exist.", - "File 'node_modules/a.d.ts' does not exist.", - "File 'node_modules/a/index.ts' does not exist.", - "File 'node_modules/a/index.tsx' does not exist.", "File 'node_modules/a/index.d.ts' exist - use it as a name resolution result.", "======== Module name 'a' was successfully resolved to 'node_modules/a/index.d.ts'. ========" ], @@ -525,13 +514,10 @@ namespace ts { "File '/fs.tsx' does not exist.", "File '/fs.d.ts' does not exist.", "File '/a/b/node_modules/@types/fs/package.json' does not exist.", - "File '/a/b/node_modules/@types/fs.d.ts' does not exist.", "File '/a/b/node_modules/@types/fs/index.d.ts' does not exist.", "File '/a/node_modules/@types/fs/package.json' does not exist.", - "File '/a/node_modules/@types/fs.d.ts' does not exist.", "File '/a/node_modules/@types/fs/index.d.ts' does not exist.", "File '/node_modules/@types/fs/package.json' does not exist.", - "File '/node_modules/@types/fs.d.ts' does not exist.", "File '/node_modules/@types/fs/index.d.ts' does not exist.", "File '/a/b/fs.js' does not exist.", "File '/a/b/fs.jsx' does not exist.", @@ -567,13 +553,10 @@ namespace ts { "File '/fs.tsx' does not exist.", "File '/fs.d.ts' does not exist.", "File '/a/b/node_modules/@types/fs/package.json' does not exist.", - "File '/a/b/node_modules/@types/fs.d.ts' does not exist.", "File '/a/b/node_modules/@types/fs/index.d.ts' does not exist.", "File '/a/node_modules/@types/fs/package.json' does not exist.", - "File '/a/node_modules/@types/fs.d.ts' does not exist.", "File '/a/node_modules/@types/fs/index.d.ts' does not exist.", "File '/node_modules/@types/fs/package.json' does not exist.", - "File '/node_modules/@types/fs.d.ts' does not exist.", "File '/node_modules/@types/fs/index.d.ts' does not exist.", "File '/a/b/fs.js' does not exist.", "File '/a/b/fs.jsx' does not exist.", diff --git a/src/harness/unittests/tscWatchMode.ts b/src/harness/unittests/tscWatchMode.ts index 758a55b8f9518..0bd5d8ff7f8a3 100644 --- a/src/harness/unittests/tscWatchMode.ts +++ b/src/harness/unittests/tscWatchMode.ts @@ -416,7 +416,7 @@ namespace ts.tscWatch { content: `import { T } from "module1";` }; const nodeModuleFile: FileOrFolder = { - path: "/a/b/node_modules/module1.ts", + path: "/a/b/node_modules/module1/index.d.ts", content: `export interface T {}` }; const classicModuleFile: FileOrFolder = { diff --git a/src/harness/unittests/tsserverProjectSystem.ts b/src/harness/unittests/tsserverProjectSystem.ts index 10c5aad92db2b..1714af884a188 100644 --- a/src/harness/unittests/tsserverProjectSystem.ts +++ b/src/harness/unittests/tsserverProjectSystem.ts @@ -889,7 +889,7 @@ namespace ts.projectSystem { content: `import { T } from "module1";` }; const nodeModuleFile: FileOrFolder = { - path: "/a/b/node_modules/module1.ts", + path: "/a/b/node_modules/module1/index.ts", content: `export interface T {}` }; const classicModuleFile: FileOrFolder = { @@ -3024,7 +3024,7 @@ namespace ts.projectSystem { assert.deepEqual(resolutionTrace, [ "======== Resolving module 'lib' from '/a/b/app.js'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'lib' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'lib' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Directory '/a/b/node_modules' does not exist, skipping all lookups in it.", "Directory '/a/node_modules' does not exist, skipping all lookups in it.", "Directory '/node_modules' does not exist, skipping all lookups in it.", @@ -3034,9 +3034,7 @@ namespace ts.projectSystem { "Directory '/node_modules' does not exist, skipping all lookups in it.", "======== Module name 'lib' was not resolved. ========", `Auto discovery for typings is enabled in project '${proj.getProjectName()}'. Running extra resolution pass for module 'lib' using cache location '/a/cache'.`, - "File '/a/cache/node_modules/lib.d.ts' does not exist.", "File '/a/cache/node_modules/@types/lib/package.json' does not exist.", - "File '/a/cache/node_modules/@types/lib.d.ts' does not exist.", "File '/a/cache/node_modules/@types/lib/index.d.ts' exist - use it as a name resolution result.", ]); checkProjectActualFiles(proj, [file1.path, lib.path]); @@ -6279,7 +6277,7 @@ namespace ts.projectSystem { content: 'import a from "file2"' }; const file2: FileOrFolder = { - path: rootFolder + "a/b/node_modules/file2.d.ts", + path: rootFolder + "a/b/node_modules/file2/index.d.ts", content: "export class a { }" }; const file3: FileOrFolder = { diff --git a/tests/baselines/reference/cachedModuleResolution1.js b/tests/baselines/reference/cachedModuleResolution1.js index cd83308f922cf..1d828ca0333f1 100644 --- a/tests/baselines/reference/cachedModuleResolution1.js +++ b/tests/baselines/reference/cachedModuleResolution1.js @@ -1,6 +1,6 @@ //// [tests/cases/compiler/cachedModuleResolution1.ts] //// -//// [foo.d.ts] +//// [index.d.ts] export declare let x: number //// [app.ts] diff --git a/tests/baselines/reference/cachedModuleResolution1.symbols b/tests/baselines/reference/cachedModuleResolution1.symbols index 87685f4f14739..84a503569c05c 100644 --- a/tests/baselines/reference/cachedModuleResolution1.symbols +++ b/tests/baselines/reference/cachedModuleResolution1.symbols @@ -1,6 +1,6 @@ -=== /a/b/node_modules/foo.d.ts === +=== /a/b/node_modules/foo/index.d.ts === export declare let x: number ->x : Symbol(x, Decl(foo.d.ts, 0, 18)) +>x : Symbol(x, Decl(index.d.ts, 0, 18)) === /a/b/c/d/e/app.ts === import {x} from "foo"; diff --git a/tests/baselines/reference/cachedModuleResolution1.trace.json b/tests/baselines/reference/cachedModuleResolution1.trace.json index c9f40c567969b..8c220aa0f6464 100644 --- a/tests/baselines/reference/cachedModuleResolution1.trace.json +++ b/tests/baselines/reference/cachedModuleResolution1.trace.json @@ -1,19 +1,18 @@ [ "======== Resolving module 'foo' from '/a/b/c/d/e/app.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Directory '/a/b/c/d/e/node_modules' does not exist, skipping all lookups in it.", "Directory '/a/b/c/d/node_modules' does not exist, skipping all lookups in it.", "Directory '/a/b/c/node_modules' does not exist, skipping all lookups in it.", - "File '/a/b/node_modules/foo.ts' does not exist.", - "File '/a/b/node_modules/foo.tsx' does not exist.", - "File '/a/b/node_modules/foo.d.ts' exist - use it as a name resolution result.", - "Resolving real path for '/a/b/node_modules/foo.d.ts', result '/a/b/node_modules/foo.d.ts'.", - "======== Module name 'foo' was successfully resolved to '/a/b/node_modules/foo.d.ts'. ========", + "File '/a/b/node_modules/foo/package.json' does not exist.", + "File '/a/b/node_modules/foo/index.d.ts' exist - use it as a name resolution result.", + "Resolving real path for '/a/b/node_modules/foo/index.d.ts', result '/a/b/node_modules/foo/index.d.ts'.", + "======== Module name 'foo' was successfully resolved to '/a/b/node_modules/foo/index.d.ts'. ========", "======== Resolving module 'foo' from '/a/b/c/lib.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Resolution for module 'foo' was found in cache.", - "Resolving real path for '/a/b/node_modules/foo.d.ts', result '/a/b/node_modules/foo.d.ts'.", - "======== Module name 'foo' was successfully resolved to '/a/b/node_modules/foo.d.ts'. ========" + "Resolving real path for '/a/b/node_modules/foo/index.d.ts', result '/a/b/node_modules/foo/index.d.ts'.", + "======== Module name 'foo' was successfully resolved to '/a/b/node_modules/foo/index.d.ts'. ========" ] \ No newline at end of file diff --git a/tests/baselines/reference/cachedModuleResolution1.types b/tests/baselines/reference/cachedModuleResolution1.types index ccc9e1311c83b..fd769552cb7f0 100644 --- a/tests/baselines/reference/cachedModuleResolution1.types +++ b/tests/baselines/reference/cachedModuleResolution1.types @@ -1,4 +1,4 @@ -=== /a/b/node_modules/foo.d.ts === +=== /a/b/node_modules/foo/index.d.ts === export declare let x: number >x : number diff --git a/tests/baselines/reference/cachedModuleResolution2.js b/tests/baselines/reference/cachedModuleResolution2.js index 8ecb42a32ae04..5ac124e02f807 100644 --- a/tests/baselines/reference/cachedModuleResolution2.js +++ b/tests/baselines/reference/cachedModuleResolution2.js @@ -1,6 +1,6 @@ //// [tests/cases/compiler/cachedModuleResolution2.ts] //// -//// [foo.d.ts] +//// [index.d.ts] export declare let x: number //// [lib.ts] diff --git a/tests/baselines/reference/cachedModuleResolution2.symbols b/tests/baselines/reference/cachedModuleResolution2.symbols index b9080b03cbfa2..3d39e8f2c2072 100644 --- a/tests/baselines/reference/cachedModuleResolution2.symbols +++ b/tests/baselines/reference/cachedModuleResolution2.symbols @@ -1,6 +1,6 @@ -=== /a/b/node_modules/foo.d.ts === +=== /a/b/node_modules/foo/index.d.ts === export declare let x: number ->x : Symbol(x, Decl(foo.d.ts, 0, 18)) +>x : Symbol(x, Decl(index.d.ts, 0, 18)) === /a/b/c/lib.ts === import {x} from "foo"; diff --git a/tests/baselines/reference/cachedModuleResolution2.trace.json b/tests/baselines/reference/cachedModuleResolution2.trace.json index a7fc2414f037f..9c8dce8878095 100644 --- a/tests/baselines/reference/cachedModuleResolution2.trace.json +++ b/tests/baselines/reference/cachedModuleResolution2.trace.json @@ -1,19 +1,18 @@ [ "======== Resolving module 'foo' from '/a/b/c/lib.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Directory '/a/b/c/node_modules' does not exist, skipping all lookups in it.", - "File '/a/b/node_modules/foo.ts' does not exist.", - "File '/a/b/node_modules/foo.tsx' does not exist.", - "File '/a/b/node_modules/foo.d.ts' exist - use it as a name resolution result.", - "Resolving real path for '/a/b/node_modules/foo.d.ts', result '/a/b/node_modules/foo.d.ts'.", - "======== Module name 'foo' was successfully resolved to '/a/b/node_modules/foo.d.ts'. ========", + "File '/a/b/node_modules/foo/package.json' does not exist.", + "File '/a/b/node_modules/foo/index.d.ts' exist - use it as a name resolution result.", + "Resolving real path for '/a/b/node_modules/foo/index.d.ts', result '/a/b/node_modules/foo/index.d.ts'.", + "======== Module name 'foo' was successfully resolved to '/a/b/node_modules/foo/index.d.ts'. ========", "======== Resolving module 'foo' from '/a/b/c/d/e/app.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Directory '/a/b/c/d/e/node_modules' does not exist, skipping all lookups in it.", "Directory '/a/b/c/d/node_modules' does not exist, skipping all lookups in it.", "Resolution for module 'foo' was found in cache.", - "Resolving real path for '/a/b/node_modules/foo.d.ts', result '/a/b/node_modules/foo.d.ts'.", - "======== Module name 'foo' was successfully resolved to '/a/b/node_modules/foo.d.ts'. ========" + "Resolving real path for '/a/b/node_modules/foo/index.d.ts', result '/a/b/node_modules/foo/index.d.ts'.", + "======== Module name 'foo' was successfully resolved to '/a/b/node_modules/foo/index.d.ts'. ========" ] \ No newline at end of file diff --git a/tests/baselines/reference/cachedModuleResolution2.types b/tests/baselines/reference/cachedModuleResolution2.types index 4c34d48b3a9ed..86183073314b0 100644 --- a/tests/baselines/reference/cachedModuleResolution2.types +++ b/tests/baselines/reference/cachedModuleResolution2.types @@ -1,4 +1,4 @@ -=== /a/b/node_modules/foo.d.ts === +=== /a/b/node_modules/foo/index.d.ts === export declare let x: number >x : number diff --git a/tests/baselines/reference/cachedModuleResolution5.js b/tests/baselines/reference/cachedModuleResolution5.js index 4fe641e917e61..90e0fcca97b17 100644 --- a/tests/baselines/reference/cachedModuleResolution5.js +++ b/tests/baselines/reference/cachedModuleResolution5.js @@ -1,6 +1,6 @@ //// [tests/cases/compiler/cachedModuleResolution5.ts] //// -//// [foo.d.ts] +//// [index.d.ts] export declare let x: number //// [app.ts] diff --git a/tests/baselines/reference/cachedModuleResolution5.symbols b/tests/baselines/reference/cachedModuleResolution5.symbols index 6c18677efcfed..ae77a3c9a0b05 100644 --- a/tests/baselines/reference/cachedModuleResolution5.symbols +++ b/tests/baselines/reference/cachedModuleResolution5.symbols @@ -1,6 +1,6 @@ -=== /a/b/node_modules/foo.d.ts === +=== /a/b/node_modules/foo/index.d.ts === export declare let x: number ->x : Symbol(x, Decl(foo.d.ts, 0, 18)) +>x : Symbol(x, Decl(index.d.ts, 0, 18)) === /a/b/c/d/e/app.ts === import {x} from "foo"; diff --git a/tests/baselines/reference/cachedModuleResolution5.trace.json b/tests/baselines/reference/cachedModuleResolution5.trace.json index b09cc7a35be7b..2db09a5c101bc 100644 --- a/tests/baselines/reference/cachedModuleResolution5.trace.json +++ b/tests/baselines/reference/cachedModuleResolution5.trace.json @@ -1,19 +1,18 @@ [ "======== Resolving module 'foo' from '/a/b/c/d/e/app.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Directory '/a/b/c/d/e/node_modules' does not exist, skipping all lookups in it.", "Directory '/a/b/c/d/node_modules' does not exist, skipping all lookups in it.", "Directory '/a/b/c/node_modules' does not exist, skipping all lookups in it.", - "File '/a/b/node_modules/foo.ts' does not exist.", - "File '/a/b/node_modules/foo.tsx' does not exist.", - "File '/a/b/node_modules/foo.d.ts' exist - use it as a name resolution result.", - "Resolving real path for '/a/b/node_modules/foo.d.ts', result '/a/b/node_modules/foo.d.ts'.", - "======== Module name 'foo' was successfully resolved to '/a/b/node_modules/foo.d.ts'. ========", + "File '/a/b/node_modules/foo/package.json' does not exist.", + "File '/a/b/node_modules/foo/index.d.ts' exist - use it as a name resolution result.", + "Resolving real path for '/a/b/node_modules/foo/index.d.ts', result '/a/b/node_modules/foo/index.d.ts'.", + "======== Module name 'foo' was successfully resolved to '/a/b/node_modules/foo/index.d.ts'. ========", "======== Resolving module 'foo' from '/a/b/lib.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Resolution for module 'foo' was found in cache.", - "Resolving real path for '/a/b/node_modules/foo.d.ts', result '/a/b/node_modules/foo.d.ts'.", - "======== Module name 'foo' was successfully resolved to '/a/b/node_modules/foo.d.ts'. ========" + "Resolving real path for '/a/b/node_modules/foo/index.d.ts', result '/a/b/node_modules/foo/index.d.ts'.", + "======== Module name 'foo' was successfully resolved to '/a/b/node_modules/foo/index.d.ts'. ========" ] \ No newline at end of file diff --git a/tests/baselines/reference/cachedModuleResolution5.types b/tests/baselines/reference/cachedModuleResolution5.types index e827caaf9228d..bbb74ad4247aa 100644 --- a/tests/baselines/reference/cachedModuleResolution5.types +++ b/tests/baselines/reference/cachedModuleResolution5.types @@ -1,4 +1,4 @@ -=== /a/b/node_modules/foo.d.ts === +=== /a/b/node_modules/foo/index.d.ts === export declare let x: number >x : number diff --git a/tests/baselines/reference/cachedModuleResolution6.trace.json b/tests/baselines/reference/cachedModuleResolution6.trace.json index 50c1c15b3e1be..1fb909d5f0256 100644 --- a/tests/baselines/reference/cachedModuleResolution6.trace.json +++ b/tests/baselines/reference/cachedModuleResolution6.trace.json @@ -1,7 +1,7 @@ [ "======== Resolving module 'foo' from '/a/b/c/d/e/app.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Directory '/a/b/c/d/e/node_modules' does not exist, skipping all lookups in it.", "Directory '/a/b/c/d/node_modules' does not exist, skipping all lookups in it.", "Directory '/a/b/c/node_modules' does not exist, skipping all lookups in it.", @@ -18,7 +18,7 @@ "======== Module name 'foo' was not resolved. ========", "======== Resolving module 'foo' from '/a/b/c/lib.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Resolution for module 'foo' was found in cache.", "======== Module name 'foo' was not resolved. ========" ] \ No newline at end of file diff --git a/tests/baselines/reference/cachedModuleResolution7.trace.json b/tests/baselines/reference/cachedModuleResolution7.trace.json index fa1db9d115e28..927e55d8bd482 100644 --- a/tests/baselines/reference/cachedModuleResolution7.trace.json +++ b/tests/baselines/reference/cachedModuleResolution7.trace.json @@ -1,7 +1,7 @@ [ "======== Resolving module 'foo' from '/a/b/c/lib.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Directory '/a/b/c/node_modules' does not exist, skipping all lookups in it.", "Directory '/a/b/node_modules' does not exist, skipping all lookups in it.", "Directory '/a/node_modules' does not exist, skipping all lookups in it.", @@ -14,7 +14,7 @@ "======== Module name 'foo' was not resolved. ========", "======== Resolving module 'foo' from '/a/b/c/d/e/app.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Directory '/a/b/c/d/e/node_modules' does not exist, skipping all lookups in it.", "Directory '/a/b/c/d/node_modules' does not exist, skipping all lookups in it.", "Resolution for module 'foo' was found in cache.", diff --git a/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.js b/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.js index a1316dbdd4640..bbde00e27d8ad 100644 --- a/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.js +++ b/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.js @@ -1,6 +1,6 @@ //// [tests/cases/compiler/importShouldNotBeElidedInDeclarationEmit.ts] //// -//// [umd.d.ts] +//// [index.d.ts] export as namespace UMD; export type Thing = { diff --git a/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.symbols b/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.symbols index 4ac0f4928b0c1..68f43a3aebbdf 100644 --- a/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.symbols +++ b/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.symbols @@ -1,17 +1,17 @@ -=== tests/cases/compiler/node_modules/umd.d.ts === +=== tests/cases/compiler/node_modules/umd/index.d.ts === export as namespace UMD; ->UMD : Symbol(UMD, Decl(umd.d.ts, 0, 0)) +>UMD : Symbol(UMD, Decl(index.d.ts, 0, 0)) export type Thing = { ->Thing : Symbol(Thing, Decl(umd.d.ts, 0, 24)) +>Thing : Symbol(Thing, Decl(index.d.ts, 0, 24)) a: number; ->a : Symbol(a, Decl(umd.d.ts, 2, 21)) +>a : Symbol(a, Decl(index.d.ts, 2, 21)) } export declare function makeThing(): Thing; ->makeThing : Symbol(makeThing, Decl(umd.d.ts, 4, 1)) ->Thing : Symbol(Thing, Decl(umd.d.ts, 0, 24)) +>makeThing : Symbol(makeThing, Decl(index.d.ts, 4, 1)) +>Thing : Symbol(Thing, Decl(index.d.ts, 0, 24)) === tests/cases/compiler/index.ts === import { makeThing } from "umd"; diff --git a/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.types b/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.types index 2531654f80b92..ae6cd1e245a28 100644 --- a/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.types +++ b/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.types @@ -1,6 +1,6 @@ -=== tests/cases/compiler/node_modules/umd.d.ts === +=== tests/cases/compiler/node_modules/umd/index.d.ts === export as namespace UMD; ->UMD : typeof "tests/cases/compiler/node_modules/umd" +>UMD : typeof "tests/cases/compiler/node_modules/umd/index" export type Thing = { >Thing : Thing diff --git a/tests/baselines/reference/importWithTrailingSlash.trace.json b/tests/baselines/reference/importWithTrailingSlash.trace.json index 3efe8c1ba5161..6b30df2044a1e 100644 --- a/tests/baselines/reference/importWithTrailingSlash.trace.json +++ b/tests/baselines/reference/importWithTrailingSlash.trace.json @@ -1,23 +1,23 @@ [ "======== Resolving module '.' from '/a/test.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module as file / folder, candidate module location '/a', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/a', target file type 'TypeScript ('.ts' preferred)'.", "File '/a.ts' exist - use it as a name resolution result.", "======== Module name '.' was successfully resolved to '/a.ts'. ========", "======== Resolving module './' from '/a/test.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module as file / folder, candidate module location '/a/', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/a/', target file type 'TypeScript ('.ts' preferred)'.", "File '/a/package.json' does not exist.", "File '/a/index.ts' exist - use it as a name resolution result.", "======== Module name './' was successfully resolved to '/a/index.ts'. ========", "======== Resolving module '..' from '/a/b/test.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module as file / folder, candidate module location '/a', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/a', target file type 'TypeScript ('.ts' preferred)'.", "File '/a.ts' exist - use it as a name resolution result.", "======== Module name '..' was successfully resolved to '/a.ts'. ========", "======== Resolving module '../' from '/a/b/test.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module as file / folder, candidate module location '/a/', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/a/', target file type 'TypeScript ('.ts' preferred)'.", "File '/a/package.json' does not exist.", "File '/a/index.ts' exist - use it as a name resolution result.", "======== Module name '../' was successfully resolved to '/a/index.ts'. ========" diff --git a/tests/baselines/reference/importWithTrailingSlash_noResolve.trace.json b/tests/baselines/reference/importWithTrailingSlash_noResolve.trace.json index 1ee467c378905..ec9aaedd26ed4 100644 --- a/tests/baselines/reference/importWithTrailingSlash_noResolve.trace.json +++ b/tests/baselines/reference/importWithTrailingSlash_noResolve.trace.json @@ -1,7 +1,7 @@ [ "======== Resolving module './foo/' from '/a.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module as file / folder, candidate module location '/foo/', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/foo/', target file type 'TypeScript ('.ts' preferred)'.", "Directory '/foo/' does not exist, skipping all lookups in it.", "Loading module as file / folder, candidate module location '/foo/', target file type 'JavaScript'.", "Directory '/foo/' does not exist, skipping all lookups in it.", diff --git a/tests/baselines/reference/library-reference-11.trace.json b/tests/baselines/reference/library-reference-11.trace.json index ef99bb8912f7e..595764dff6602 100644 --- a/tests/baselines/reference/library-reference-11.trace.json +++ b/tests/baselines/reference/library-reference-11.trace.json @@ -4,7 +4,6 @@ "Looking up in 'node_modules' folder, initial location '/a/b'.", "Directory '/a/b/node_modules' does not exist, skipping all lookups in it.", "Found 'package.json' at '/a/node_modules/jquery/package.json'.", - "File '/a/node_modules/jquery.d.ts' does not exist.", "'package.json' has 'typings' field 'jquery.d.ts' that references '/a/node_modules/jquery/jquery.d.ts'.", "File '/a/node_modules/jquery/jquery.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/a/node_modules/jquery/jquery.d.ts', result '/a/node_modules/jquery/jquery.d.ts'.", diff --git a/tests/baselines/reference/library-reference-12.trace.json b/tests/baselines/reference/library-reference-12.trace.json index 22b1232d30be2..fd859e6148e41 100644 --- a/tests/baselines/reference/library-reference-12.trace.json +++ b/tests/baselines/reference/library-reference-12.trace.json @@ -4,7 +4,6 @@ "Looking up in 'node_modules' folder, initial location '/a/b'.", "Directory '/a/b/node_modules' does not exist, skipping all lookups in it.", "Found 'package.json' at '/a/node_modules/jquery/package.json'.", - "File '/a/node_modules/jquery.d.ts' does not exist.", "'package.json' does not have a 'typings' field.", "'package.json' has 'types' field 'dist/jquery.d.ts' that references '/a/node_modules/jquery/dist/jquery.d.ts'.", "File '/a/node_modules/jquery/dist/jquery.d.ts' exist - use it as a name resolution result.", diff --git a/tests/baselines/reference/library-reference-3.trace.json b/tests/baselines/reference/library-reference-3.trace.json index 5b084f1373841..255d900b4de7a 100644 --- a/tests/baselines/reference/library-reference-3.trace.json +++ b/tests/baselines/reference/library-reference-3.trace.json @@ -3,7 +3,6 @@ "Root directory cannot be determined, skipping primary search paths.", "Looking up in 'node_modules' folder, initial location '/src'.", "File '/src/node_modules/jquery/package.json' does not exist.", - "File '/src/node_modules/jquery.d.ts' does not exist.", "File '/src/node_modules/jquery/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/src/node_modules/jquery/index.d.ts', result '/src/node_modules/jquery/index.d.ts'.", "======== Type reference directive 'jquery' was successfully resolved to '/src/node_modules/jquery/index.d.ts', primary: false. ========" diff --git a/tests/baselines/reference/library-reference-4.trace.json b/tests/baselines/reference/library-reference-4.trace.json index ceeb754bb0bdd..63d2a878ee63e 100644 --- a/tests/baselines/reference/library-reference-4.trace.json +++ b/tests/baselines/reference/library-reference-4.trace.json @@ -4,7 +4,6 @@ "Looking up in 'node_modules' folder, initial location '/src'.", "Directory '/src/node_modules' does not exist, skipping all lookups in it.", "File '/node_modules/foo/package.json' does not exist.", - "File '/node_modules/foo.d.ts' does not exist.", "File '/node_modules/foo/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/foo/index.d.ts', result '/node_modules/foo/index.d.ts'.", "======== Type reference directive 'foo' was successfully resolved to '/node_modules/foo/index.d.ts', primary: false. ========", @@ -13,7 +12,6 @@ "Looking up in 'node_modules' folder, initial location '/src'.", "Directory '/src/node_modules' does not exist, skipping all lookups in it.", "File '/node_modules/bar/package.json' does not exist.", - "File '/node_modules/bar.d.ts' does not exist.", "File '/node_modules/bar/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/bar/index.d.ts', result '/node_modules/bar/index.d.ts'.", "======== Type reference directive 'bar' was successfully resolved to '/node_modules/bar/index.d.ts', primary: false. ========", @@ -21,7 +19,6 @@ "Resolving with primary search path '/src'.", "Looking up in 'node_modules' folder, initial location '/node_modules/foo'.", "File '/node_modules/foo/node_modules/alpha/package.json' does not exist.", - "File '/node_modules/foo/node_modules/alpha.d.ts' does not exist.", "File '/node_modules/foo/node_modules/alpha/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/foo/node_modules/alpha/index.d.ts', result '/node_modules/foo/node_modules/alpha/index.d.ts'.", "======== Type reference directive 'alpha' was successfully resolved to '/node_modules/foo/node_modules/alpha/index.d.ts', primary: false. ========", @@ -29,7 +26,6 @@ "Resolving with primary search path '/src'.", "Looking up in 'node_modules' folder, initial location '/node_modules/bar'.", "File '/node_modules/bar/node_modules/alpha/package.json' does not exist.", - "File '/node_modules/bar/node_modules/alpha.d.ts' does not exist.", "File '/node_modules/bar/node_modules/alpha/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/bar/node_modules/alpha/index.d.ts', result '/node_modules/bar/node_modules/alpha/index.d.ts'.", "======== Type reference directive 'alpha' was successfully resolved to '/node_modules/bar/node_modules/alpha/index.d.ts', primary: false. ========" diff --git a/tests/baselines/reference/library-reference-5.trace.json b/tests/baselines/reference/library-reference-5.trace.json index 0cac2a8fec6a1..870b06c532485 100644 --- a/tests/baselines/reference/library-reference-5.trace.json +++ b/tests/baselines/reference/library-reference-5.trace.json @@ -5,7 +5,6 @@ "Looking up in 'node_modules' folder, initial location '/src'.", "Directory '/src/node_modules' does not exist, skipping all lookups in it.", "File '/node_modules/foo/package.json' does not exist.", - "File '/node_modules/foo.d.ts' does not exist.", "File '/node_modules/foo/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/foo/index.d.ts', result '/node_modules/foo/index.d.ts'.", "======== Type reference directive 'foo' was successfully resolved to '/node_modules/foo/index.d.ts', primary: false. ========", @@ -15,7 +14,6 @@ "Looking up in 'node_modules' folder, initial location '/src'.", "Directory '/src/node_modules' does not exist, skipping all lookups in it.", "File '/node_modules/bar/package.json' does not exist.", - "File '/node_modules/bar.d.ts' does not exist.", "File '/node_modules/bar/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/bar/index.d.ts', result '/node_modules/bar/index.d.ts'.", "======== Type reference directive 'bar' was successfully resolved to '/node_modules/bar/index.d.ts', primary: false. ========", @@ -24,7 +22,6 @@ "Directory 'types' does not exist, skipping all lookups in it.", "Looking up in 'node_modules' folder, initial location '/node_modules/foo'.", "File '/node_modules/foo/node_modules/alpha/package.json' does not exist.", - "File '/node_modules/foo/node_modules/alpha.d.ts' does not exist.", "File '/node_modules/foo/node_modules/alpha/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/foo/node_modules/alpha/index.d.ts', result '/node_modules/foo/node_modules/alpha/index.d.ts'.", "======== Type reference directive 'alpha' was successfully resolved to '/node_modules/foo/node_modules/alpha/index.d.ts', primary: false. ========", @@ -33,7 +30,6 @@ "Directory 'types' does not exist, skipping all lookups in it.", "Looking up in 'node_modules' folder, initial location '/node_modules/bar'.", "File '/node_modules/bar/node_modules/alpha/package.json' does not exist.", - "File '/node_modules/bar/node_modules/alpha.d.ts' does not exist.", "File '/node_modules/bar/node_modules/alpha/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/bar/node_modules/alpha/index.d.ts', result '/node_modules/bar/node_modules/alpha/index.d.ts'.", "======== Type reference directive 'alpha' was successfully resolved to '/node_modules/bar/node_modules/alpha/index.d.ts', primary: false. ========" diff --git a/tests/baselines/reference/library-reference-7.trace.json b/tests/baselines/reference/library-reference-7.trace.json index 5b084f1373841..255d900b4de7a 100644 --- a/tests/baselines/reference/library-reference-7.trace.json +++ b/tests/baselines/reference/library-reference-7.trace.json @@ -3,7 +3,6 @@ "Root directory cannot be determined, skipping primary search paths.", "Looking up in 'node_modules' folder, initial location '/src'.", "File '/src/node_modules/jquery/package.json' does not exist.", - "File '/src/node_modules/jquery.d.ts' does not exist.", "File '/src/node_modules/jquery/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/src/node_modules/jquery/index.d.ts', result '/src/node_modules/jquery/index.d.ts'.", "======== Type reference directive 'jquery' was successfully resolved to '/src/node_modules/jquery/index.d.ts', primary: false. ========" diff --git a/tests/baselines/reference/library-reference-scoped-packages.trace.json b/tests/baselines/reference/library-reference-scoped-packages.trace.json index cfc8819820182..4cdfbb98a182b 100644 --- a/tests/baselines/reference/library-reference-scoped-packages.trace.json +++ b/tests/baselines/reference/library-reference-scoped-packages.trace.json @@ -5,7 +5,6 @@ "Looking up in 'node_modules' folder, initial location '/'.", "Scoped package detected, looking in 'beep__boop'", "File '/node_modules/@types/beep__boop/package.json' does not exist.", - "File '/node_modules/@types/beep__boop.d.ts' does not exist.", "File '/node_modules/@types/beep__boop/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/beep__boop/index.d.ts', result '/node_modules/@types/beep__boop/index.d.ts'.", "======== Type reference directive '@beep/boop' was successfully resolved to '/node_modules/@types/beep__boop/index.d.ts', primary: false. ========" diff --git a/tests/baselines/reference/maxNodeModuleJsDepthDefaultsToZero.trace.json b/tests/baselines/reference/maxNodeModuleJsDepthDefaultsToZero.trace.json index 56bbee705bf7e..591d626fe1eab 100644 --- a/tests/baselines/reference/maxNodeModuleJsDepthDefaultsToZero.trace.json +++ b/tests/baselines/reference/maxNodeModuleJsDepthDefaultsToZero.trace.json @@ -1,19 +1,14 @@ [ "======== Resolving module 'shortid' from '/index.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module 'shortid' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'shortid' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "File '/node_modules/shortid/package.json' does not exist.", - "File '/node_modules/shortid.ts' does not exist.", - "File '/node_modules/shortid.tsx' does not exist.", - "File '/node_modules/shortid.d.ts' does not exist.", + "File '/node_modules/shortid/index.d.ts' does not exist.", "File '/node_modules/shortid/index.ts' does not exist.", "File '/node_modules/shortid/index.tsx' does not exist.", - "File '/node_modules/shortid/index.d.ts' does not exist.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "Loading module 'shortid' from 'node_modules' folder, target file type 'JavaScript'.", "File '/node_modules/shortid/package.json' does not exist.", - "File '/node_modules/shortid.js' does not exist.", - "File '/node_modules/shortid.jsx' does not exist.", "File '/node_modules/shortid/index.js' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/shortid/index.js', result '/node_modules/shortid/index.js'.", "======== Module name 'shortid' was successfully resolved to '/node_modules/shortid/index.js'. ========" diff --git a/tests/baselines/reference/moduleResolutionWithExtensions.trace.json b/tests/baselines/reference/moduleResolutionWithExtensions.trace.json index 104853f8aa3f5..42c09ab9bdcad 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions.trace.json +++ b/tests/baselines/reference/moduleResolutionWithExtensions.trace.json @@ -1,12 +1,12 @@ [ "======== Resolving module './a' from '/src/b.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/src/a', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/src/a', target file type 'TypeScript ('.ts' preferred)'.", "File '/src/a.ts' exist - use it as a name resolution result.", "======== Module name './a' was successfully resolved to '/src/a.ts'. ========", "======== Resolving module './a.js' from '/src/d.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/src/a.js', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/src/a.js', target file type 'TypeScript ('.ts' preferred)'.", "File '/src/a.js.ts' does not exist.", "File '/src/a.js.tsx' does not exist.", "File '/src/a.js.d.ts' does not exist.", @@ -15,7 +15,7 @@ "======== Module name './a.js' was successfully resolved to '/src/a.ts'. ========", "======== Resolving module './jquery.js' from '/src/jquery_user_1.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/src/jquery.js', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/src/jquery.js', target file type 'TypeScript ('.ts' preferred)'.", "File '/src/jquery.js.ts' does not exist.", "File '/src/jquery.js.tsx' does not exist.", "File '/src/jquery.js.d.ts' does not exist.", diff --git a/tests/baselines/reference/moduleResolutionWithExtensions_notSupported.trace.json b/tests/baselines/reference/moduleResolutionWithExtensions_notSupported.trace.json index b57862c09e31f..9efdbf8a38e57 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions_notSupported.trace.json +++ b/tests/baselines/reference/moduleResolutionWithExtensions_notSupported.trace.json @@ -1,13 +1,13 @@ [ "======== Resolving module './tsx' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/tsx', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/tsx', target file type 'TypeScript ('.ts' preferred)'.", "File '/tsx.ts' does not exist.", "File '/tsx.tsx' exist - use it as a name resolution result.", "======== Module name './tsx' was successfully resolved to '/tsx.tsx'. ========", "======== Resolving module './jsx' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/jsx', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/jsx', target file type 'TypeScript ('.ts' preferred)'.", "File '/jsx.ts' does not exist.", "File '/jsx.tsx' does not exist.", "File '/jsx.d.ts' does not exist.", @@ -18,7 +18,7 @@ "======== Module name './jsx' was successfully resolved to '/jsx.jsx'. ========", "======== Resolving module './js' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/js', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/js', target file type 'TypeScript ('.ts' preferred)'.", "File '/js.ts' does not exist.", "File '/js.tsx' does not exist.", "File '/js.d.ts' does not exist.", diff --git a/tests/baselines/reference/moduleResolutionWithExtensions_notSupported2.trace.json b/tests/baselines/reference/moduleResolutionWithExtensions_notSupported2.trace.json index 7474cccdb355c..91d937d67497d 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions_notSupported2.trace.json +++ b/tests/baselines/reference/moduleResolutionWithExtensions_notSupported2.trace.json @@ -1,7 +1,7 @@ [ "======== Resolving module './jsx' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/jsx', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/jsx', target file type 'TypeScript ('.ts' preferred)'.", "File '/jsx.ts' does not exist.", "File '/jsx.tsx' does not exist.", "File '/jsx.d.ts' does not exist.", diff --git a/tests/baselines/reference/moduleResolutionWithExtensions_notSupported3.trace.json b/tests/baselines/reference/moduleResolutionWithExtensions_notSupported3.trace.json index 7474cccdb355c..91d937d67497d 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions_notSupported3.trace.json +++ b/tests/baselines/reference/moduleResolutionWithExtensions_notSupported3.trace.json @@ -1,7 +1,7 @@ [ "======== Resolving module './jsx' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/jsx', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/jsx', target file type 'TypeScript ('.ts' preferred)'.", "File '/jsx.ts' does not exist.", "File '/jsx.tsx' does not exist.", "File '/jsx.d.ts' does not exist.", diff --git a/tests/baselines/reference/moduleResolutionWithExtensions_preferTs.trace.json b/tests/baselines/reference/moduleResolutionWithExtensions_preferTs.trace.json index 0c56366809e7d..83265c0ee012a 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions_preferTs.trace.json +++ b/tests/baselines/reference/moduleResolutionWithExtensions_preferTs.trace.json @@ -1,7 +1,7 @@ [ "======== Resolving module './b' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/b', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/b', target file type 'TypeScript ('.ts' preferred)'.", "File '/b.ts' does not exist.", "File '/b.tsx' does not exist.", "File '/b.d.ts' does not exist.", diff --git a/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.trace.json b/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.trace.json index b619535487bfe..d2769b0127d4d 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.trace.json +++ b/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.trace.json @@ -1,21 +1,16 @@ [ "======== Resolving module 'normalize.css' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'normalize.css' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'normalize.css' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Found 'package.json' at '/node_modules/normalize.css/package.json'.", - "File '/node_modules/normalize.css.ts' does not exist.", - "File '/node_modules/normalize.css.tsx' does not exist.", - "File '/node_modules/normalize.css.d.ts' does not exist.", "'package.json' does not have a 'typings' field.", "'package.json' does not have a 'types' field.", + "File '/node_modules/normalize.css/index.d.ts' does not exist.", "File '/node_modules/normalize.css/index.ts' does not exist.", "File '/node_modules/normalize.css/index.tsx' does not exist.", - "File '/node_modules/normalize.css/index.d.ts' does not exist.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "Loading module 'normalize.css' from 'node_modules' folder, target file type 'JavaScript'.", "Found 'package.json' at '/node_modules/normalize.css/package.json'.", - "File '/node_modules/normalize.css.js' does not exist.", - "File '/node_modules/normalize.css.jsx' does not exist.", "'package.json' has 'main' field 'normalize.css' that references '/node_modules/normalize.css/normalize.css'.", "File '/node_modules/normalize.css/normalize.css' exist - use it as a name resolution result.", "File '/node_modules/normalize.css/normalize.css' has an unsupported extension, so skipping it.", diff --git a/tests/baselines/reference/moduleResolutionWithExtensions_unexpected2.trace.json b/tests/baselines/reference/moduleResolutionWithExtensions_unexpected2.trace.json index 50e7fa685a63c..b858aa5701166 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions_unexpected2.trace.json +++ b/tests/baselines/reference/moduleResolutionWithExtensions_unexpected2.trace.json @@ -1,32 +1,27 @@ [ "======== Resolving module 'foo' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Found 'package.json' at '/node_modules/foo/package.json'.", - "File '/node_modules/foo.ts' does not exist.", - "File '/node_modules/foo.tsx' does not exist.", - "File '/node_modules/foo.d.ts' does not exist.", "'package.json' does not have a 'typings' field.", "'package.json' has 'types' field 'foo.js' that references '/node_modules/foo/foo.js'.", "File '/node_modules/foo/foo.js' exist - use it as a name resolution result.", "File '/node_modules/foo/foo.js' has an unsupported extension, so skipping it.", - "Loading module as file / folder, candidate module location '/node_modules/foo/foo.js', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/node_modules/foo/foo.js', target file type 'TypeScript ('.d.ts' preferred)'.", + "File '/node_modules/foo/foo.js.d.ts' does not exist.", "File '/node_modules/foo/foo.js.ts' does not exist.", "File '/node_modules/foo/foo.js.tsx' does not exist.", - "File '/node_modules/foo/foo.js.d.ts' does not exist.", "File name '/node_modules/foo/foo.js' has a '.js' extension - stripping it.", + "File '/node_modules/foo/foo.d.ts' does not exist.", "File '/node_modules/foo/foo.ts' does not exist.", "File '/node_modules/foo/foo.tsx' does not exist.", - "File '/node_modules/foo/foo.d.ts' does not exist.", "Directory '/node_modules/foo/foo.js' does not exist, skipping all lookups in it.", + "File '/node_modules/foo/index.d.ts' does not exist.", "File '/node_modules/foo/index.ts' does not exist.", "File '/node_modules/foo/index.tsx' does not exist.", - "File '/node_modules/foo/index.d.ts' does not exist.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "Loading module 'foo' from 'node_modules' folder, target file type 'JavaScript'.", "Found 'package.json' at '/node_modules/foo/package.json'.", - "File '/node_modules/foo.js' does not exist.", - "File '/node_modules/foo.jsx' does not exist.", "'package.json' does not have a 'main' field.", "File '/node_modules/foo/index.js' does not exist.", "File '/node_modules/foo/index.jsx' does not exist.", diff --git a/tests/baselines/reference/moduleResolutionWithExtensions_withAmbientPresent.trace.json b/tests/baselines/reference/moduleResolutionWithExtensions_withAmbientPresent.trace.json index 9a0d5e095a512..c357f424abb74 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions_withAmbientPresent.trace.json +++ b/tests/baselines/reference/moduleResolutionWithExtensions_withAmbientPresent.trace.json @@ -1,19 +1,14 @@ [ "======== Resolving module 'js' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'js' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'js' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "File '/node_modules/js/package.json' does not exist.", - "File '/node_modules/js.ts' does not exist.", - "File '/node_modules/js.tsx' does not exist.", - "File '/node_modules/js.d.ts' does not exist.", + "File '/node_modules/js/index.d.ts' does not exist.", "File '/node_modules/js/index.ts' does not exist.", "File '/node_modules/js/index.tsx' does not exist.", - "File '/node_modules/js/index.d.ts' does not exist.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "Loading module 'js' from 'node_modules' folder, target file type 'JavaScript'.", "File '/node_modules/js/package.json' does not exist.", - "File '/node_modules/js.js' does not exist.", - "File '/node_modules/js.jsx' does not exist.", "File '/node_modules/js/index.js' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/js/index.js', result '/node_modules/js/index.js'.", "======== Module name 'js' was successfully resolved to '/node_modules/js/index.js'. ========" diff --git a/tests/baselines/reference/moduleResolutionWithSymlinks.trace.json b/tests/baselines/reference/moduleResolutionWithSymlinks.trace.json index 19e44e72d6163..bf67a713eb150 100644 --- a/tests/baselines/reference/moduleResolutionWithSymlinks.trace.json +++ b/tests/baselines/reference/moduleResolutionWithSymlinks.trace.json @@ -1,7 +1,7 @@ [ "======== Resolving module './library-a' from '/src/app.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/src/library-a', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/src/library-a', target file type 'TypeScript ('.ts' preferred)'.", "File '/src/library-a.ts' does not exist.", "File '/src/library-a.tsx' does not exist.", "File '/src/library-a.d.ts' does not exist.", @@ -10,7 +10,7 @@ "======== Module name './library-a' was successfully resolved to '/src/library-a/index.ts'. ========", "======== Resolving module './library-b' from '/src/app.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/src/library-b', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/src/library-b', target file type 'TypeScript ('.ts' preferred)'.", "File '/src/library-b.ts' does not exist.", "File '/src/library-b.tsx' does not exist.", "File '/src/library-b.d.ts' does not exist.", @@ -19,11 +19,9 @@ "======== Module name './library-b' was successfully resolved to '/src/library-b/index.ts'. ========", "======== Resolving module 'library-a' from '/src/library-b/index.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'library-a' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'library-a' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "File '/src/library-b/node_modules/library-a/package.json' does not exist.", - "File '/src/library-b/node_modules/library-a.ts' does not exist.", - "File '/src/library-b/node_modules/library-a.tsx' does not exist.", - "File '/src/library-b/node_modules/library-a.d.ts' does not exist.", + "File '/src/library-b/node_modules/library-a/index.d.ts' does not exist.", "File '/src/library-b/node_modules/library-a/index.ts' exist - use it as a name resolution result.", "Resolving real path for '/src/library-b/node_modules/library-a/index.ts', result '/src/library-a/index.ts'.", "======== Module name 'library-a' was successfully resolved to '/src/library-a/index.ts'. ========" diff --git a/tests/baselines/reference/moduleResolutionWithSymlinks_notInNodeModules.trace.json b/tests/baselines/reference/moduleResolutionWithSymlinks_notInNodeModules.trace.json index 477bae0b4e203..00eaacd00155d 100644 --- a/tests/baselines/reference/moduleResolutionWithSymlinks_notInNodeModules.trace.json +++ b/tests/baselines/reference/moduleResolutionWithSymlinks_notInNodeModules.trace.json @@ -1,12 +1,12 @@ [ "======== Resolving module './shared/abc' from '/src/app.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/src/shared/abc', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/src/shared/abc', target file type 'TypeScript ('.ts' preferred)'.", "File '/src/shared/abc.ts' exist - use it as a name resolution result.", "======== Module name './shared/abc' was successfully resolved to '/src/shared/abc.ts'. ========", "======== Resolving module './shared2/abc' from '/src/app.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/src/shared2/abc', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/src/shared2/abc', target file type 'TypeScript ('.ts' preferred)'.", "File '/src/shared2/abc.ts' exist - use it as a name resolution result.", "======== Module name './shared2/abc' was successfully resolved to '/src/shared2/abc.ts'. ========" ] \ No newline at end of file diff --git a/tests/baselines/reference/moduleResolutionWithSymlinks_preserveSymlinks.trace.json b/tests/baselines/reference/moduleResolutionWithSymlinks_preserveSymlinks.trace.json index 73e6a1df99679..95c909da61b9e 100644 --- a/tests/baselines/reference/moduleResolutionWithSymlinks_preserveSymlinks.trace.json +++ b/tests/baselines/reference/moduleResolutionWithSymlinks_preserveSymlinks.trace.json @@ -3,53 +3,32 @@ "Root directory cannot be determined, skipping primary search paths.", "Looking up in 'node_modules' folder, initial location '/app'.", "File '/app/node_modules/linked/package.json' does not exist.", - "File '/app/node_modules/linked.d.ts' does not exist.", "File '/app/node_modules/linked/index.d.ts' exist - use it as a name resolution result.", "======== Type reference directive 'linked' was successfully resolved to '/app/node_modules/linked/index.d.ts', primary: false. ========", "======== Resolving module 'real' from '/app/node_modules/linked/index.d.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module 'real' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'real' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Directory '/app/node_modules/linked/node_modules' does not exist, skipping all lookups in it.", "File '/app/node_modules/real/package.json' does not exist.", - "File '/app/node_modules/real.ts' does not exist.", - "File '/app/node_modules/real.tsx' does not exist.", - "File '/app/node_modules/real.d.ts' does not exist.", - "File '/app/node_modules/real/index.ts' does not exist.", - "File '/app/node_modules/real/index.tsx' does not exist.", "File '/app/node_modules/real/index.d.ts' exist - use it as a name resolution result.", "======== Module name 'real' was successfully resolved to '/app/node_modules/real/index.d.ts'. ========", "======== Resolving module 'linked' from '/app/app.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module 'linked' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'linked' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "File '/app/node_modules/linked/package.json' does not exist.", - "File '/app/node_modules/linked.ts' does not exist.", - "File '/app/node_modules/linked.tsx' does not exist.", - "File '/app/node_modules/linked.d.ts' does not exist.", - "File '/app/node_modules/linked/index.ts' does not exist.", - "File '/app/node_modules/linked/index.tsx' does not exist.", "File '/app/node_modules/linked/index.d.ts' exist - use it as a name resolution result.", "======== Module name 'linked' was successfully resolved to '/app/node_modules/linked/index.d.ts'. ========", "======== Resolving module 'linked2' from '/app/app.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module 'linked2' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'linked2' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "File '/app/node_modules/linked2/package.json' does not exist.", - "File '/app/node_modules/linked2.ts' does not exist.", - "File '/app/node_modules/linked2.tsx' does not exist.", - "File '/app/node_modules/linked2.d.ts' does not exist.", - "File '/app/node_modules/linked2/index.ts' does not exist.", - "File '/app/node_modules/linked2/index.tsx' does not exist.", "File '/app/node_modules/linked2/index.d.ts' exist - use it as a name resolution result.", "======== Module name 'linked2' was successfully resolved to '/app/node_modules/linked2/index.d.ts'. ========", "======== Resolving module 'real' from '/app/node_modules/linked2/index.d.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module 'real' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'real' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Directory '/app/node_modules/linked2/node_modules' does not exist, skipping all lookups in it.", "File '/app/node_modules/real/package.json' does not exist.", - "File '/app/node_modules/real.ts' does not exist.", - "File '/app/node_modules/real.tsx' does not exist.", - "File '/app/node_modules/real.d.ts' does not exist.", - "File '/app/node_modules/real/index.ts' does not exist.", - "File '/app/node_modules/real/index.tsx' does not exist.", "File '/app/node_modules/real/index.d.ts' exist - use it as a name resolution result.", "======== Module name 'real' was successfully resolved to '/app/node_modules/real/index.d.ts'. ========" ] \ No newline at end of file diff --git a/tests/baselines/reference/moduleResolutionWithSymlinks_referenceTypes.trace.json b/tests/baselines/reference/moduleResolutionWithSymlinks_referenceTypes.trace.json index 48be1a4cda8f8..adf03c3890507 100644 --- a/tests/baselines/reference/moduleResolutionWithSymlinks_referenceTypes.trace.json +++ b/tests/baselines/reference/moduleResolutionWithSymlinks_referenceTypes.trace.json @@ -2,27 +2,21 @@ "======== Resolving type reference directive 'library-a', containing file '/app.ts', root directory ''. ========", "Root directory cannot be determined, skipping primary search paths.", "Looking up in 'node_modules' folder, initial location '/'.", - "File '/node_modules/library-a.d.ts' does not exist.", "File '/node_modules/@types/library-a/package.json' does not exist.", - "File '/node_modules/@types/library-a.d.ts' does not exist.", "File '/node_modules/@types/library-a/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/library-a/index.d.ts', result '/node_modules/@types/library-a/index.d.ts'.", "======== Type reference directive 'library-a' was successfully resolved to '/node_modules/@types/library-a/index.d.ts', primary: false. ========", "======== Resolving type reference directive 'library-b', containing file '/app.ts', root directory ''. ========", "Root directory cannot be determined, skipping primary search paths.", "Looking up in 'node_modules' folder, initial location '/'.", - "File '/node_modules/library-b.d.ts' does not exist.", "File '/node_modules/@types/library-b/package.json' does not exist.", - "File '/node_modules/@types/library-b.d.ts' does not exist.", "File '/node_modules/@types/library-b/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/library-b/index.d.ts', result '/node_modules/@types/library-b/index.d.ts'.", "======== Type reference directive 'library-b' was successfully resolved to '/node_modules/@types/library-b/index.d.ts', primary: false. ========", "======== Resolving type reference directive 'library-a', containing file '/node_modules/@types/library-b/index.d.ts', root directory ''. ========", "Root directory cannot be determined, skipping primary search paths.", "Looking up in 'node_modules' folder, initial location '/node_modules/@types/library-b'.", - "File '/node_modules/@types/library-b/node_modules/library-a.d.ts' does not exist.", "File '/node_modules/@types/library-b/node_modules/@types/library-a/package.json' does not exist.", - "File '/node_modules/@types/library-b/node_modules/@types/library-a.d.ts' does not exist.", "File '/node_modules/@types/library-b/node_modules/@types/library-a/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/library-b/node_modules/@types/library-a/index.d.ts', result '/node_modules/@types/library-a/index.d.ts'.", "======== Type reference directive 'library-a' was successfully resolved to '/node_modules/@types/library-a/index.d.ts', primary: false. ========" diff --git a/tests/baselines/reference/moduleResolutionWithSymlinks_withOutDir.trace.json b/tests/baselines/reference/moduleResolutionWithSymlinks_withOutDir.trace.json index 19e44e72d6163..bf67a713eb150 100644 --- a/tests/baselines/reference/moduleResolutionWithSymlinks_withOutDir.trace.json +++ b/tests/baselines/reference/moduleResolutionWithSymlinks_withOutDir.trace.json @@ -1,7 +1,7 @@ [ "======== Resolving module './library-a' from '/src/app.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/src/library-a', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/src/library-a', target file type 'TypeScript ('.ts' preferred)'.", "File '/src/library-a.ts' does not exist.", "File '/src/library-a.tsx' does not exist.", "File '/src/library-a.d.ts' does not exist.", @@ -10,7 +10,7 @@ "======== Module name './library-a' was successfully resolved to '/src/library-a/index.ts'. ========", "======== Resolving module './library-b' from '/src/app.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/src/library-b', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/src/library-b', target file type 'TypeScript ('.ts' preferred)'.", "File '/src/library-b.ts' does not exist.", "File '/src/library-b.tsx' does not exist.", "File '/src/library-b.d.ts' does not exist.", @@ -19,11 +19,9 @@ "======== Module name './library-b' was successfully resolved to '/src/library-b/index.ts'. ========", "======== Resolving module 'library-a' from '/src/library-b/index.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'library-a' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'library-a' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "File '/src/library-b/node_modules/library-a/package.json' does not exist.", - "File '/src/library-b/node_modules/library-a.ts' does not exist.", - "File '/src/library-b/node_modules/library-a.tsx' does not exist.", - "File '/src/library-b/node_modules/library-a.d.ts' does not exist.", + "File '/src/library-b/node_modules/library-a/index.d.ts' does not exist.", "File '/src/library-b/node_modules/library-a/index.ts' exist - use it as a name resolution result.", "Resolving real path for '/src/library-b/node_modules/library-a/index.ts', result '/src/library-a/index.ts'.", "======== Module name 'library-a' was successfully resolved to '/src/library-a/index.ts'. ========" diff --git a/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot.trace.json b/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot.trace.json index bf5f0b0bbeff6..7f767a42bf25f 100644 --- a/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot.trace.json +++ b/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot.trace.json @@ -1,11 +1,11 @@ [ "======== Resolving module 'foo/bar' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'foo/bar' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'foo/bar' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Found 'package.json' at '/node_modules/foo/bar/package.json'.", + "File '/node_modules/foo/bar.d.ts' does not exist.", "File '/node_modules/foo/bar.ts' does not exist.", "File '/node_modules/foo/bar.tsx' does not exist.", - "File '/node_modules/foo/bar.d.ts' does not exist.", "'package.json' does not have a 'typings' field.", "'package.json' has 'types' field 'types.d.ts' that references '/node_modules/foo/bar/types.d.ts'.", "File '/node_modules/foo/bar/types.d.ts' exist - use it as a name resolution result.", diff --git a/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot_fakeScopedPackage.trace.json b/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot_fakeScopedPackage.trace.json index 72d413d0b2c3a..c11f6ca9e1301 100644 --- a/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot_fakeScopedPackage.trace.json +++ b/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot_fakeScopedPackage.trace.json @@ -1,11 +1,11 @@ [ "======== Resolving module 'foo/@bar' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'foo/@bar' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'foo/@bar' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Found 'package.json' at '/node_modules/foo/@bar/package.json'.", + "File '/node_modules/foo/@bar.d.ts' does not exist.", "File '/node_modules/foo/@bar.ts' does not exist.", "File '/node_modules/foo/@bar.tsx' does not exist.", - "File '/node_modules/foo/@bar.d.ts' does not exist.", "'package.json' does not have a 'typings' field.", "'package.json' has 'types' field 'types.d.ts' that references '/node_modules/foo/@bar/types.d.ts'.", "File '/node_modules/foo/@bar/types.d.ts' exist - use it as a name resolution result.", diff --git a/tests/baselines/reference/moduleResolution_packageJson_scopedPackage.trace.json b/tests/baselines/reference/moduleResolution_packageJson_scopedPackage.trace.json index 69dcfca4eb681..d723f44ee9e24 100644 --- a/tests/baselines/reference/moduleResolution_packageJson_scopedPackage.trace.json +++ b/tests/baselines/reference/moduleResolution_packageJson_scopedPackage.trace.json @@ -1,11 +1,8 @@ [ "======== Resolving module '@foo/bar' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module '@foo/bar' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module '@foo/bar' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Found 'package.json' at '/node_modules/@foo/bar/package.json'.", - "File '/node_modules/@foo/bar.ts' does not exist.", - "File '/node_modules/@foo/bar.tsx' does not exist.", - "File '/node_modules/@foo/bar.d.ts' does not exist.", "'package.json' does not have a 'typings' field.", "'package.json' has 'types' field 'types.d.ts' that references '/node_modules/@foo/bar/types.d.ts'.", "File '/node_modules/@foo/bar/types.d.ts' exist - use it as a name resolution result.", diff --git a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot.trace.json b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot.trace.json index 3a87769891b61..ccdf06abe8fef 100644 --- a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot.trace.json +++ b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot.trace.json @@ -1,15 +1,15 @@ [ "======== Resolving module 'foo/bar' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'foo/bar' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'foo/bar' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "File '/node_modules/foo/bar/package.json' does not exist.", "Found 'package.json' at '/node_modules/foo/package.json'.", + "File '/node_modules/foo/bar.d.ts' does not exist.", "File '/node_modules/foo/bar.ts' does not exist.", "File '/node_modules/foo/bar.tsx' does not exist.", - "File '/node_modules/foo/bar.d.ts' does not exist.", + "File '/node_modules/foo/bar/index.d.ts' does not exist.", "File '/node_modules/foo/bar/index.ts' does not exist.", "File '/node_modules/foo/bar/index.tsx' does not exist.", - "File '/node_modules/foo/bar/index.d.ts' does not exist.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "Loading module 'foo/bar' from 'node_modules' folder, target file type 'JavaScript'.", "File '/node_modules/foo/bar/package.json' does not exist.", diff --git a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_fakeScopedPackage.trace.json b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_fakeScopedPackage.trace.json index c28189a1f7d22..6a4b7661faa0f 100644 --- a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_fakeScopedPackage.trace.json +++ b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_fakeScopedPackage.trace.json @@ -1,15 +1,15 @@ [ "======== Resolving module 'foo/@bar' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'foo/@bar' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'foo/@bar' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "File '/node_modules/foo/@bar/package.json' does not exist.", "Found 'package.json' at '/node_modules/foo/package.json'.", + "File '/node_modules/foo/@bar.d.ts' does not exist.", "File '/node_modules/foo/@bar.ts' does not exist.", "File '/node_modules/foo/@bar.tsx' does not exist.", - "File '/node_modules/foo/@bar.d.ts' does not exist.", + "File '/node_modules/foo/@bar/index.d.ts' does not exist.", "File '/node_modules/foo/@bar/index.ts' does not exist.", "File '/node_modules/foo/@bar/index.tsx' does not exist.", - "File '/node_modules/foo/@bar/index.d.ts' does not exist.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "Loading module 'foo/@bar' from 'node_modules' folder, target file type 'JavaScript'.", "File '/node_modules/foo/@bar/package.json' does not exist.", diff --git a/tests/baselines/reference/nodeResolution2.js b/tests/baselines/reference/nodeResolution2.js index 0d66b012ca76a..9f08e4d294a48 100644 --- a/tests/baselines/reference/nodeResolution2.js +++ b/tests/baselines/reference/nodeResolution2.js @@ -1,6 +1,6 @@ //// [tests/cases/compiler/nodeResolution2.ts] //// -//// [a.d.ts] +//// [index.d.ts] export var x: number; //// [b.ts] diff --git a/tests/baselines/reference/nodeResolution2.symbols b/tests/baselines/reference/nodeResolution2.symbols index ead8db27d7e79..6c4bd9b6fb18b 100644 --- a/tests/baselines/reference/nodeResolution2.symbols +++ b/tests/baselines/reference/nodeResolution2.symbols @@ -2,7 +2,7 @@ import y = require("a"); >y : Symbol(y, Decl(b.ts, 0, 0)) -=== tests/cases/compiler/node_modules/a.d.ts === +=== tests/cases/compiler/node_modules/a/index.d.ts === export var x: number; ->x : Symbol(x, Decl(a.d.ts, 0, 10)) +>x : Symbol(x, Decl(index.d.ts, 0, 10)) diff --git a/tests/baselines/reference/nodeResolution2.types b/tests/baselines/reference/nodeResolution2.types index 3f4e97f7cfc54..4ea52116a8ff2 100644 --- a/tests/baselines/reference/nodeResolution2.types +++ b/tests/baselines/reference/nodeResolution2.types @@ -2,7 +2,7 @@ import y = require("a"); >y : typeof y -=== tests/cases/compiler/node_modules/a.d.ts === +=== tests/cases/compiler/node_modules/a/index.d.ts === export var x: number; >x : number diff --git a/tests/baselines/reference/nodeResolution5.js b/tests/baselines/reference/nodeResolution5.js index 3dfedea4aab02..4091bebf35a5e 100644 --- a/tests/baselines/reference/nodeResolution5.js +++ b/tests/baselines/reference/nodeResolution5.js @@ -1,12 +1,12 @@ //// [tests/cases/compiler/nodeResolution5.ts] //// -//// [a.d.ts] +//// [index.d.ts] declare module "a" { var x: number; } //// [b.ts] -import y = require("a"); +import y = require("a"); //// [b.js] diff --git a/tests/baselines/reference/nodeResolution5.symbols b/tests/baselines/reference/nodeResolution5.symbols index 5871ad57a4e26..66c053db0b43f 100644 --- a/tests/baselines/reference/nodeResolution5.symbols +++ b/tests/baselines/reference/nodeResolution5.symbols @@ -1,10 +1,10 @@ === tests/cases/compiler/b.ts === -import y = require("a"); +import y = require("a"); >y : Symbol(y, Decl(b.ts, 0, 0)) -=== tests/cases/compiler/node_modules/a.d.ts === +=== tests/cases/compiler/node_modules/a/index.d.ts === declare module "a" { var x: number; ->x : Symbol(x, Decl(a.d.ts, 1, 7)) +>x : Symbol(x, Decl(index.d.ts, 1, 7)) } diff --git a/tests/baselines/reference/nodeResolution5.types b/tests/baselines/reference/nodeResolution5.types index 4c2872f7b5dbf..3a2828edf088b 100644 --- a/tests/baselines/reference/nodeResolution5.types +++ b/tests/baselines/reference/nodeResolution5.types @@ -1,8 +1,8 @@ === tests/cases/compiler/b.ts === -import y = require("a"); +import y = require("a"); >y : typeof y -=== tests/cases/compiler/node_modules/a.d.ts === +=== tests/cases/compiler/node_modules/a/index.d.ts === declare module "a" { var x: number; >x : number diff --git a/tests/baselines/reference/nodeResolution6.js b/tests/baselines/reference/nodeResolution6.js deleted file mode 100644 index 0610c53edcf4c..0000000000000 --- a/tests/baselines/reference/nodeResolution6.js +++ /dev/null @@ -1,17 +0,0 @@ -//// [tests/cases/compiler/nodeResolution6.ts] //// - -//// [ref.ts] -var x = 1; - -//// [a.d.ts] -/// -export declare var y; - - -//// [b.ts] -import y = require("a"); - - -//// [b.js] -"use strict"; -exports.__esModule = true; diff --git a/tests/baselines/reference/nodeResolution6.symbols b/tests/baselines/reference/nodeResolution6.symbols deleted file mode 100644 index 24864d15a7966..0000000000000 --- a/tests/baselines/reference/nodeResolution6.symbols +++ /dev/null @@ -1,14 +0,0 @@ -=== tests/cases/compiler/b.ts === -import y = require("a"); ->y : Symbol(y, Decl(b.ts, 0, 0)) - -=== tests/cases/compiler/node_modules/ref.ts === -var x = 1; ->x : Symbol(x, Decl(ref.ts, 0, 3)) - -=== tests/cases/compiler/node_modules/a.d.ts === -/// -export declare var y; ->y : Symbol(y, Decl(a.d.ts, 1, 18)) - - diff --git a/tests/baselines/reference/nodeResolution6.types b/tests/baselines/reference/nodeResolution6.types deleted file mode 100644 index 1c08f9c9113c3..0000000000000 --- a/tests/baselines/reference/nodeResolution6.types +++ /dev/null @@ -1,15 +0,0 @@ -=== tests/cases/compiler/b.ts === -import y = require("a"); ->y : typeof y - -=== tests/cases/compiler/node_modules/ref.ts === -var x = 1; ->x : number ->1 : 1 - -=== tests/cases/compiler/node_modules/a.d.ts === -/// -export declare var y; ->y : any - - diff --git a/tests/baselines/reference/packageJsonMain.trace.json b/tests/baselines/reference/packageJsonMain.trace.json index 842f70c3a02d3..29132d2d51253 100644 --- a/tests/baselines/reference/packageJsonMain.trace.json +++ b/tests/baselines/reference/packageJsonMain.trace.json @@ -1,21 +1,16 @@ [ "======== Resolving module 'foo' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Found 'package.json' at '/node_modules/foo/package.json'.", - "File '/node_modules/foo.ts' does not exist.", - "File '/node_modules/foo.tsx' does not exist.", - "File '/node_modules/foo.d.ts' does not exist.", "'package.json' does not have a 'typings' field.", "'package.json' does not have a 'types' field.", + "File '/node_modules/foo/index.d.ts' does not exist.", "File '/node_modules/foo/index.ts' does not exist.", "File '/node_modules/foo/index.tsx' does not exist.", - "File '/node_modules/foo/index.d.ts' does not exist.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "Loading module 'foo' from 'node_modules' folder, target file type 'JavaScript'.", "Found 'package.json' at '/node_modules/foo/package.json'.", - "File '/node_modules/foo.js' does not exist.", - "File '/node_modules/foo.jsx' does not exist.", "'package.json' has 'main' field 'oof' that references '/node_modules/foo/oof'.", "File '/node_modules/foo/oof' does not exist.", "Loading module as file / folder, candidate module location '/node_modules/foo/oof', target file type 'JavaScript'.", @@ -24,42 +19,32 @@ "======== Module name 'foo' was successfully resolved to '/node_modules/foo/oof.js'. ========", "======== Resolving module 'bar' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'bar' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'bar' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Found 'package.json' at '/node_modules/bar/package.json'.", - "File '/node_modules/bar.ts' does not exist.", - "File '/node_modules/bar.tsx' does not exist.", - "File '/node_modules/bar.d.ts' does not exist.", "'package.json' does not have a 'typings' field.", "'package.json' does not have a 'types' field.", + "File '/node_modules/bar/index.d.ts' does not exist.", "File '/node_modules/bar/index.ts' does not exist.", "File '/node_modules/bar/index.tsx' does not exist.", - "File '/node_modules/bar/index.d.ts' does not exist.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "Loading module 'bar' from 'node_modules' folder, target file type 'JavaScript'.", "Found 'package.json' at '/node_modules/bar/package.json'.", - "File '/node_modules/bar.js' does not exist.", - "File '/node_modules/bar.jsx' does not exist.", "'package.json' has 'main' field 'rab.js' that references '/node_modules/bar/rab.js'.", "File '/node_modules/bar/rab.js' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/bar/rab.js', result '/node_modules/bar/rab.js'.", "======== Module name 'bar' was successfully resolved to '/node_modules/bar/rab.js'. ========", "======== Resolving module 'baz' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'baz' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'baz' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Found 'package.json' at '/node_modules/baz/package.json'.", - "File '/node_modules/baz.ts' does not exist.", - "File '/node_modules/baz.tsx' does not exist.", - "File '/node_modules/baz.d.ts' does not exist.", "'package.json' does not have a 'typings' field.", "'package.json' does not have a 'types' field.", + "File '/node_modules/baz/index.d.ts' does not exist.", "File '/node_modules/baz/index.ts' does not exist.", "File '/node_modules/baz/index.tsx' does not exist.", - "File '/node_modules/baz/index.d.ts' does not exist.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "Loading module 'baz' from 'node_modules' folder, target file type 'JavaScript'.", "Found 'package.json' at '/node_modules/baz/package.json'.", - "File '/node_modules/baz.js' does not exist.", - "File '/node_modules/baz.jsx' does not exist.", "'package.json' has 'main' field 'zab' that references '/node_modules/baz/zab'.", "File '/node_modules/baz/zab' does not exist.", "Loading module as file / folder, candidate module location '/node_modules/baz/zab', target file type 'JavaScript'.", diff --git a/tests/baselines/reference/packageJsonMain_isNonRecursive.trace.json b/tests/baselines/reference/packageJsonMain_isNonRecursive.trace.json index 763c86730ba75..40adacba3e256 100644 --- a/tests/baselines/reference/packageJsonMain_isNonRecursive.trace.json +++ b/tests/baselines/reference/packageJsonMain_isNonRecursive.trace.json @@ -1,21 +1,16 @@ [ "======== Resolving module 'foo' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Found 'package.json' at '/node_modules/foo/package.json'.", - "File '/node_modules/foo.ts' does not exist.", - "File '/node_modules/foo.tsx' does not exist.", - "File '/node_modules/foo.d.ts' does not exist.", "'package.json' does not have a 'typings' field.", "'package.json' does not have a 'types' field.", + "File '/node_modules/foo/index.d.ts' does not exist.", "File '/node_modules/foo/index.ts' does not exist.", "File '/node_modules/foo/index.tsx' does not exist.", - "File '/node_modules/foo/index.d.ts' does not exist.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "Loading module 'foo' from 'node_modules' folder, target file type 'JavaScript'.", "Found 'package.json' at '/node_modules/foo/package.json'.", - "File '/node_modules/foo.js' does not exist.", - "File '/node_modules/foo.jsx' does not exist.", "'package.json' has 'main' field 'oof' that references '/node_modules/foo/oof'.", "File '/node_modules/foo/oof' does not exist.", "Loading module as file / folder, candidate module location '/node_modules/foo/oof', target file type 'JavaScript'.", diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution3_node.trace.json b/tests/baselines/reference/pathMappingBasedModuleResolution3_node.trace.json index ef2cb3b367fdd..3a8336d61252f 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution3_node.trace.json +++ b/tests/baselines/reference/pathMappingBasedModuleResolution3_node.trace.json @@ -3,32 +3,27 @@ "Explicitly specified module resolution kind: 'NodeJs'.", "'baseUrl' option is set to 'c:/root', using this value to resolve non-relative module name 'folder2/file2'.", "Resolving module name 'folder2/file2' relative to base url 'c:/root' - 'c:/root/folder2/file2'.", - "Loading module as file / folder, candidate module location 'c:/root/folder2/file2', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/folder2/file2', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/folder2/file2.ts' exist - use it as a name resolution result.", "======== Module name 'folder2/file2' was successfully resolved to 'c:/root/folder2/file2.ts'. ========", "======== Resolving module './file3' from 'c:/root/folder2/file2.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module as file / folder, candidate module location 'c:/root/folder2/file3', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/folder2/file3', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/folder2/file3.ts' exist - use it as a name resolution result.", "======== Module name './file3' was successfully resolved to 'c:/root/folder2/file3.ts'. ========", "======== Resolving module 'file4' from 'c:/root/folder2/file2.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", "'baseUrl' option is set to 'c:/root', using this value to resolve non-relative module name 'file4'.", "Resolving module name 'file4' relative to base url 'c:/root' - 'c:/root/file4'.", - "Loading module as file / folder, candidate module location 'c:/root/file4', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/file4', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/file4.ts' does not exist.", "File 'c:/root/file4.tsx' does not exist.", "File 'c:/root/file4.d.ts' does not exist.", "Directory 'c:/root/file4' does not exist, skipping all lookups in it.", - "Loading module 'file4' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'file4' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Directory 'c:/root/folder2/node_modules' does not exist, skipping all lookups in it.", "Directory 'c:/root/node_modules' does not exist, skipping all lookups in it.", "File 'c:/node_modules/file4/package.json' does not exist.", - "File 'c:/node_modules/file4.ts' does not exist.", - "File 'c:/node_modules/file4.tsx' does not exist.", - "File 'c:/node_modules/file4.d.ts' does not exist.", - "File 'c:/node_modules/file4/index.ts' does not exist.", - "File 'c:/node_modules/file4/index.tsx' does not exist.", "File 'c:/node_modules/file4/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for 'c:/node_modules/file4/index.d.ts', result 'c:/node_modules/file4/index.d.ts'.", "======== Module name 'file4' was successfully resolved to 'c:/node_modules/file4/index.d.ts'. ========" diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution4_node.trace.json b/tests/baselines/reference/pathMappingBasedModuleResolution4_node.trace.json index ef2cb3b367fdd..3a8336d61252f 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution4_node.trace.json +++ b/tests/baselines/reference/pathMappingBasedModuleResolution4_node.trace.json @@ -3,32 +3,27 @@ "Explicitly specified module resolution kind: 'NodeJs'.", "'baseUrl' option is set to 'c:/root', using this value to resolve non-relative module name 'folder2/file2'.", "Resolving module name 'folder2/file2' relative to base url 'c:/root' - 'c:/root/folder2/file2'.", - "Loading module as file / folder, candidate module location 'c:/root/folder2/file2', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/folder2/file2', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/folder2/file2.ts' exist - use it as a name resolution result.", "======== Module name 'folder2/file2' was successfully resolved to 'c:/root/folder2/file2.ts'. ========", "======== Resolving module './file3' from 'c:/root/folder2/file2.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", - "Loading module as file / folder, candidate module location 'c:/root/folder2/file3', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/folder2/file3', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/folder2/file3.ts' exist - use it as a name resolution result.", "======== Module name './file3' was successfully resolved to 'c:/root/folder2/file3.ts'. ========", "======== Resolving module 'file4' from 'c:/root/folder2/file2.ts'. ========", "Explicitly specified module resolution kind: 'NodeJs'.", "'baseUrl' option is set to 'c:/root', using this value to resolve non-relative module name 'file4'.", "Resolving module name 'file4' relative to base url 'c:/root' - 'c:/root/file4'.", - "Loading module as file / folder, candidate module location 'c:/root/file4', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/file4', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/file4.ts' does not exist.", "File 'c:/root/file4.tsx' does not exist.", "File 'c:/root/file4.d.ts' does not exist.", "Directory 'c:/root/file4' does not exist, skipping all lookups in it.", - "Loading module 'file4' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'file4' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Directory 'c:/root/folder2/node_modules' does not exist, skipping all lookups in it.", "Directory 'c:/root/node_modules' does not exist, skipping all lookups in it.", "File 'c:/node_modules/file4/package.json' does not exist.", - "File 'c:/node_modules/file4.ts' does not exist.", - "File 'c:/node_modules/file4.tsx' does not exist.", - "File 'c:/node_modules/file4.d.ts' does not exist.", - "File 'c:/node_modules/file4/index.ts' does not exist.", - "File 'c:/node_modules/file4/index.tsx' does not exist.", "File 'c:/node_modules/file4/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for 'c:/node_modules/file4/index.d.ts', result 'c:/node_modules/file4/index.d.ts'.", "======== Module name 'file4' was successfully resolved to 'c:/node_modules/file4/index.d.ts'. ========" diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution5_node.js b/tests/baselines/reference/pathMappingBasedModuleResolution5_node.js index 7d10c4d4a8bb5..a5ffda7ff72bf 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution5_node.js +++ b/tests/baselines/reference/pathMappingBasedModuleResolution5_node.js @@ -22,7 +22,7 @@ export var y = 1; //// [index.d.ts] export var z: number; -//// [file4.ts] +//// [index.ts] export var z1 = 1; //// [file1.js] @@ -33,7 +33,7 @@ exports.x = 1; "use strict"; exports.__esModule = true; exports.y = 1; -//// [file4.js] +//// [index.js] "use strict"; exports.__esModule = true; exports.z1 = 1; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution5_node.symbols b/tests/baselines/reference/pathMappingBasedModuleResolution5_node.symbols index 67bf14607dd10..87dae0a73189d 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution5_node.symbols +++ b/tests/baselines/reference/pathMappingBasedModuleResolution5_node.symbols @@ -51,7 +51,7 @@ export var y = 1; export var z: number; >z : Symbol(z, Decl(index.d.ts, 0, 10)) -=== c:/node_modules/file4.ts === +=== c:/node_modules/file4/index.ts === export var z1 = 1; ->z1 : Symbol(z1, Decl(file4.ts, 0, 10)) +>z1 : Symbol(z1, Decl(index.ts, 0, 10)) diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution5_node.trace.json b/tests/baselines/reference/pathMappingBasedModuleResolution5_node.trace.json index 3b6710408fc0f..eea8851fc092d 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution5_node.trace.json +++ b/tests/baselines/reference/pathMappingBasedModuleResolution5_node.trace.json @@ -5,7 +5,7 @@ "'paths' option is specified, looking for a pattern to match module name 'folder2/file1'.", "Module name 'folder2/file1', matched pattern '*'.", "Trying substitution '*', candidate module location: 'folder2/file1'.", - "Loading module as file / folder, candidate module location 'c:/root/folder2/file1', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/folder2/file1', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/folder2/file1.ts' exist - use it as a name resolution result.", "======== Module name 'folder2/file1' was successfully resolved to 'c:/root/folder2/file1.ts'. ========", "======== Resolving module 'folder3/file2' from 'c:/root/folder1/file1.ts'. ========", @@ -14,9 +14,9 @@ "'paths' option is specified, looking for a pattern to match module name 'folder3/file2'.", "Module name 'folder3/file2', matched pattern '*'.", "Trying substitution '*', candidate module location: 'folder3/file2'.", - "Loading module as file / folder, candidate module location 'c:/root/folder3/file2', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/folder3/file2', target file type 'TypeScript ('.ts' preferred)'.", "Trying substitution 'generated/*', candidate module location: 'generated/folder3/file2'.", - "Loading module as file / folder, candidate module location 'c:/root/generated/folder3/file2', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/generated/folder3/file2', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/generated/folder3/file2.ts' exist - use it as a name resolution result.", "======== Module name 'folder3/file2' was successfully resolved to 'c:/root/generated/folder3/file2.ts'. ========", "======== Resolving module 'components/file3' from 'c:/root/folder1/file1.ts'. ========", @@ -25,7 +25,7 @@ "'paths' option is specified, looking for a pattern to match module name 'components/file3'.", "Module name 'components/file3', matched pattern 'components/*'.", "Trying substitution 'shared/components/*', candidate module location: 'shared/components/file3'.", - "Loading module as file / folder, candidate module location 'c:/root/shared/components/file3', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/shared/components/file3', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/shared/components/file3.ts' does not exist.", "File 'c:/root/shared/components/file3.tsx' does not exist.", "File 'c:/root/shared/components/file3.d.ts' does not exist.", @@ -40,21 +40,23 @@ "'paths' option is specified, looking for a pattern to match module name 'file4'.", "Module name 'file4', matched pattern '*'.", "Trying substitution '*', candidate module location: 'file4'.", - "Loading module as file / folder, candidate module location 'c:/root/file4', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/file4', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/file4.ts' does not exist.", "File 'c:/root/file4.tsx' does not exist.", "File 'c:/root/file4.d.ts' does not exist.", "Directory 'c:/root/file4' does not exist, skipping all lookups in it.", "Trying substitution 'generated/*', candidate module location: 'generated/file4'.", - "Loading module as file / folder, candidate module location 'c:/root/generated/file4', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/generated/file4', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/generated/file4.ts' does not exist.", "File 'c:/root/generated/file4.tsx' does not exist.", "File 'c:/root/generated/file4.d.ts' does not exist.", "Directory 'c:/root/generated/file4' does not exist, skipping all lookups in it.", - "Loading module 'file4' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'file4' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Directory 'c:/root/folder1/node_modules' does not exist, skipping all lookups in it.", "Directory 'c:/root/node_modules' does not exist, skipping all lookups in it.", - "File 'c:/node_modules/file4.ts' exist - use it as a name resolution result.", - "Resolving real path for 'c:/node_modules/file4.ts', result 'c:/node_modules/file4.ts'.", - "======== Module name 'file4' was successfully resolved to 'c:/node_modules/file4.ts'. ========" + "File 'c:/node_modules/file4/package.json' does not exist.", + "File 'c:/node_modules/file4/index.d.ts' does not exist.", + "File 'c:/node_modules/file4/index.ts' exist - use it as a name resolution result.", + "Resolving real path for 'c:/node_modules/file4/index.ts', result 'c:/node_modules/file4/index.ts'.", + "======== Module name 'file4' was successfully resolved to 'c:/node_modules/file4/index.ts'. ========" ] \ No newline at end of file diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution5_node.types b/tests/baselines/reference/pathMappingBasedModuleResolution5_node.types index 2cdc99dcd8cab..b05f1154565a1 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution5_node.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution5_node.types @@ -61,7 +61,7 @@ export var y = 1; export var z: number; >z : number -=== c:/node_modules/file4.ts === +=== c:/node_modules/file4/index.ts === export var z1 = 1; >z1 : number >1 : 1 diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution6_node.trace.json b/tests/baselines/reference/pathMappingBasedModuleResolution6_node.trace.json index 50f9bd862c104..a29cfa6694de6 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution6_node.trace.json +++ b/tests/baselines/reference/pathMappingBasedModuleResolution6_node.trace.json @@ -6,11 +6,11 @@ "Checking if 'c:/root/generated/src/' is the longest matching prefix for 'c:/root/src/project/file3' - 'false'.", "Longest matching prefix for 'c:/root/src/project/file3' is 'c:/root/src/'.", "Loading 'project/file3' from the root dir 'c:/root/src/', candidate location 'c:/root/src/project/file3'.", - "Loading module as file / folder, candidate module location 'c:/root/src/project/file3', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/src/project/file3', target file type 'TypeScript ('.ts' preferred)'.", "Directory 'c:/root/src/project' does not exist, skipping all lookups in it.", "Trying other entries in 'rootDirs'.", "Loading 'project/file3' from the root dir 'c:/root/generated/src', candidate location 'c:/root/generated/src/project/file3'.", - "Loading module as file / folder, candidate module location 'c:/root/generated/src/project/file3', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/generated/src/project/file3', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/generated/src/project/file3.ts' exist - use it as a name resolution result.", "======== Module name './project/file3' was successfully resolved to 'c:/root/generated/src/project/file3.ts'. ========", "======== Resolving module '../file2' from 'c:/root/generated/src/project/file3.ts'. ========", @@ -20,14 +20,14 @@ "Checking if 'c:/root/generated/src/' is the longest matching prefix for 'c:/root/generated/src/file2' - 'true'.", "Longest matching prefix for 'c:/root/generated/src/file2' is 'c:/root/generated/src/'.", "Loading 'file2' from the root dir 'c:/root/generated/src/', candidate location 'c:/root/generated/src/file2'.", - "Loading module as file / folder, candidate module location 'c:/root/generated/src/file2', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/generated/src/file2', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/generated/src/file2.ts' does not exist.", "File 'c:/root/generated/src/file2.tsx' does not exist.", "File 'c:/root/generated/src/file2.d.ts' does not exist.", "Directory 'c:/root/generated/src/file2' does not exist, skipping all lookups in it.", "Trying other entries in 'rootDirs'.", "Loading 'file2' from the root dir 'c:/root/src', candidate location 'c:/root/src/file2'.", - "Loading module as file / folder, candidate module location 'c:/root/src/file2', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/src/file2', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/src/file2.ts' does not exist.", "File 'c:/root/src/file2.tsx' does not exist.", "File 'c:/root/src/file2.d.ts' does not exist.", diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution7_node.js b/tests/baselines/reference/pathMappingBasedModuleResolution7_node.js index 303b98f4d83de..b727e8ff9d05c 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution7_node.js +++ b/tests/baselines/reference/pathMappingBasedModuleResolution7_node.js @@ -23,7 +23,7 @@ export let b: number; //// [index.d.ts] export let x: number; -//// [module3.d.ts] +//// [index.d.ts] export let y: number; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution7_node.symbols b/tests/baselines/reference/pathMappingBasedModuleResolution7_node.symbols index 9cda76790ea01..d22cc731c2bf1 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution7_node.symbols +++ b/tests/baselines/reference/pathMappingBasedModuleResolution7_node.symbols @@ -50,8 +50,8 @@ export let b: number; export let x: number; >x : Symbol(x, Decl(index.d.ts, 0, 10)) -=== c:/node_modules/module3.d.ts === +=== c:/node_modules/module3/index.d.ts === export let y: number; ->y : Symbol(y, Decl(module3.d.ts, 0, 10)) +>y : Symbol(y, Decl(index.d.ts, 0, 10)) diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution7_node.trace.json b/tests/baselines/reference/pathMappingBasedModuleResolution7_node.trace.json index 50e4a6fabeb4e..f3f1a91c41a35 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution7_node.trace.json +++ b/tests/baselines/reference/pathMappingBasedModuleResolution7_node.trace.json @@ -6,11 +6,11 @@ "Checking if 'c:/root/generated/src/' is the longest matching prefix for 'c:/root/src/project/file2' - 'false'.", "Longest matching prefix for 'c:/root/src/project/file2' is 'c:/root/src/'.", "Loading 'project/file2' from the root dir 'c:/root/src/', candidate location 'c:/root/src/project/file2'.", - "Loading module as file / folder, candidate module location 'c:/root/src/project/file2', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/src/project/file2', target file type 'TypeScript ('.ts' preferred)'.", "Directory 'c:/root/src/project' does not exist, skipping all lookups in it.", "Trying other entries in 'rootDirs'.", "Loading 'project/file2' from the root dir 'c:/root/generated/src', candidate location 'c:/root/generated/src/project/file2'.", - "Loading module as file / folder, candidate module location 'c:/root/generated/src/project/file2', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/generated/src/project/file2', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/generated/src/project/file2.ts' exist - use it as a name resolution result.", "======== Module name './project/file2' was successfully resolved to 'c:/root/generated/src/project/file2.ts'. ========", "======== Resolving module 'module3' from 'c:/root/src/file1.ts'. ========", @@ -19,38 +19,37 @@ "'paths' option is specified, looking for a pattern to match module name 'module3'.", "Module name 'module3', matched pattern '*'.", "Trying substitution '*', candidate module location: 'module3'.", - "Loading module as file / folder, candidate module location 'c:/root/module3', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/module3', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/module3.ts' does not exist.", "File 'c:/root/module3.tsx' does not exist.", "File 'c:/root/module3.d.ts' does not exist.", "Directory 'c:/root/module3' does not exist, skipping all lookups in it.", "Trying substitution 'c:/shared/*', candidate module location: 'c:/shared/module3'.", - "Loading module as file / folder, candidate module location 'c:/shared/module3', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/shared/module3', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/shared/module3.ts' does not exist.", "File 'c:/shared/module3.tsx' does not exist.", "File 'c:/shared/module3.d.ts' does not exist.", "Directory 'c:/shared/module3' does not exist, skipping all lookups in it.", - "Loading module 'module3' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'module3' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Directory 'c:/root/src/node_modules' does not exist, skipping all lookups in it.", "Directory 'c:/root/node_modules' does not exist, skipping all lookups in it.", - "File 'c:/node_modules/module3.ts' does not exist.", - "File 'c:/node_modules/module3.tsx' does not exist.", - "File 'c:/node_modules/module3.d.ts' exist - use it as a name resolution result.", - "Resolving real path for 'c:/node_modules/module3.d.ts', result 'c:/node_modules/module3.d.ts'.", - "======== Module name 'module3' was successfully resolved to 'c:/node_modules/module3.d.ts'. ========", + "File 'c:/node_modules/module3/package.json' does not exist.", + "File 'c:/node_modules/module3/index.d.ts' exist - use it as a name resolution result.", + "Resolving real path for 'c:/node_modules/module3/index.d.ts', result 'c:/node_modules/module3/index.d.ts'.", + "======== Module name 'module3' was successfully resolved to 'c:/node_modules/module3/index.d.ts'. ========", "======== Resolving module 'module1' from 'c:/root/generated/src/project/file2.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "'baseUrl' option is set to 'c:/root/', using this value to resolve non-relative module name 'module1'.", "'paths' option is specified, looking for a pattern to match module name 'module1'.", "Module name 'module1', matched pattern '*'.", "Trying substitution '*', candidate module location: 'module1'.", - "Loading module as file / folder, candidate module location 'c:/root/module1', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/module1', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/module1.ts' does not exist.", "File 'c:/root/module1.tsx' does not exist.", "File 'c:/root/module1.d.ts' does not exist.", "Directory 'c:/root/module1' does not exist, skipping all lookups in it.", "Trying substitution 'c:/shared/*', candidate module location: 'c:/shared/module1'.", - "Loading module as file / folder, candidate module location 'c:/shared/module1', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/shared/module1', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/shared/module1.ts' does not exist.", "File 'c:/shared/module1.tsx' does not exist.", "File 'c:/shared/module1.d.ts' does not exist.", @@ -65,7 +64,7 @@ "'paths' option is specified, looking for a pattern to match module name 'templates/module2'.", "Module name 'templates/module2', matched pattern 'templates/*'.", "Trying substitution 'generated/src/templates/*', candidate module location: 'generated/src/templates/module2'.", - "Loading module as file / folder, candidate module location 'c:/root/generated/src/templates/module2', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/generated/src/templates/module2', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/generated/src/templates/module2.ts' exist - use it as a name resolution result.", "======== Module name 'templates/module2' was successfully resolved to 'c:/root/generated/src/templates/module2.ts'. ========", "======== Resolving module '../file3' from 'c:/root/generated/src/project/file2.ts'. ========", @@ -75,14 +74,14 @@ "Checking if 'c:/root/generated/src/' is the longest matching prefix for 'c:/root/generated/src/file3' - 'true'.", "Longest matching prefix for 'c:/root/generated/src/file3' is 'c:/root/generated/src/'.", "Loading 'file3' from the root dir 'c:/root/generated/src/', candidate location 'c:/root/generated/src/file3'.", - "Loading module as file / folder, candidate module location 'c:/root/generated/src/file3', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/generated/src/file3', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/generated/src/file3.ts' does not exist.", "File 'c:/root/generated/src/file3.tsx' does not exist.", "File 'c:/root/generated/src/file3.d.ts' does not exist.", "Directory 'c:/root/generated/src/file3' does not exist, skipping all lookups in it.", "Trying other entries in 'rootDirs'.", "Loading 'file3' from the root dir 'c:/root/src', candidate location 'c:/root/src/file3'.", - "Loading module as file / folder, candidate module location 'c:/root/src/file3', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location 'c:/root/src/file3', target file type 'TypeScript ('.ts' preferred)'.", "File 'c:/root/src/file3.ts' does not exist.", "File 'c:/root/src/file3.tsx' does not exist.", "File 'c:/root/src/file3.d.ts' does not exist.", diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution7_node.types b/tests/baselines/reference/pathMappingBasedModuleResolution7_node.types index 974f710b4c280..041aacc40501d 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution7_node.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution7_node.types @@ -56,7 +56,7 @@ export let b: number; export let x: number; >x : number -=== c:/node_modules/module3.d.ts === +=== c:/node_modules/module3/index.d.ts === export let y: number; >y : number diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution_withExtensionInName.trace.json b/tests/baselines/reference/pathMappingBasedModuleResolution_withExtensionInName.trace.json index 216442fb378df..eef25a5a47e4c 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution_withExtensionInName.trace.json +++ b/tests/baselines/reference/pathMappingBasedModuleResolution_withExtensionInName.trace.json @@ -6,7 +6,7 @@ "Module name 'zone.js', matched pattern '*'.", "Trying substitution 'foo/*', candidate module location: 'foo/zone.js'.", "File '/foo/zone.js' does not exist.", - "Loading module as file / folder, candidate module location '/foo/zone.js', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/foo/zone.js', target file type 'TypeScript ('.ts' preferred)'.", "File '/foo/zone.js.ts' does not exist.", "File '/foo/zone.js.tsx' does not exist.", "File '/foo/zone.js.d.ts' does not exist.", @@ -26,7 +26,7 @@ "Module name 'zone.tsx', matched pattern '*'.", "Trying substitution 'foo/*', candidate module location: 'foo/zone.tsx'.", "File '/foo/zone.tsx' does not exist.", - "Loading module as file / folder, candidate module location '/foo/zone.tsx', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/foo/zone.tsx', target file type 'TypeScript ('.ts' preferred)'.", "File '/foo/zone.tsx.ts' does not exist.", "File '/foo/zone.tsx.tsx' does not exist.", "File '/foo/zone.tsx.d.ts' does not exist.", diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution_withExtension_failedLookup.trace.json b/tests/baselines/reference/pathMappingBasedModuleResolution_withExtension_failedLookup.trace.json index 803520f12fd5a..120dcbcff46a7 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution_withExtension_failedLookup.trace.json +++ b/tests/baselines/reference/pathMappingBasedModuleResolution_withExtension_failedLookup.trace.json @@ -6,8 +6,8 @@ "Module name 'foo', matched pattern 'foo'.", "Trying substitution 'foo/foo.ts', candidate module location: 'foo/foo.ts'.", "File '/foo/foo.ts' does not exist.", - "Loading module as file / folder, candidate module location '/foo/foo.ts', target file type 'TypeScript'.", - "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/foo/foo.ts', target file type 'TypeScript ('.ts' preferred)'.", + "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Directory '/node_modules' does not exist, skipping all lookups in it.", "'baseUrl' option is set to '/', using this value to resolve non-relative module name 'foo'.", "'paths' option is specified, looking for a pattern to match module name 'foo'.", diff --git a/tests/baselines/reference/scopedPackages.js b/tests/baselines/reference/scopedPackages.js index 75606d2e1b9e7..3e02dc1bdf360 100644 --- a/tests/baselines/reference/scopedPackages.js +++ b/tests/baselines/reference/scopedPackages.js @@ -6,7 +6,7 @@ export const x: number; //// [index.d.ts] export const y: number; -//// [z.d.ts] +//// [index.d.ts] export const z: number; //// [a.ts] diff --git a/tests/baselines/reference/scopedPackages.symbols b/tests/baselines/reference/scopedPackages.symbols index e992c4d93757f..f8b774385b915 100644 --- a/tests/baselines/reference/scopedPackages.symbols +++ b/tests/baselines/reference/scopedPackages.symbols @@ -16,7 +16,7 @@ export const x: number; export const y: number; >y : Symbol(y, Decl(index.d.ts, 0, 12)) -=== /node_modules/@types/be__bop/e/z.d.ts === +=== /node_modules/@types/be__bop/e/z/index.d.ts === export const z: number; ->z : Symbol(z, Decl(z.d.ts, 0, 12)) +>z : Symbol(z, Decl(index.d.ts, 0, 12)) diff --git a/tests/baselines/reference/scopedPackages.trace.json b/tests/baselines/reference/scopedPackages.trace.json index 1844f8c6c8d8e..8e18c831f9c8d 100644 --- a/tests/baselines/reference/scopedPackages.trace.json +++ b/tests/baselines/reference/scopedPackages.trace.json @@ -1,31 +1,27 @@ [ "======== Resolving module '@cow/boy' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module '@cow/boy' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module '@cow/boy' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "File '/node_modules/@cow/boy/package.json' does not exist.", - "File '/node_modules/@cow/boy.ts' does not exist.", - "File '/node_modules/@cow/boy.tsx' does not exist.", - "File '/node_modules/@cow/boy.d.ts' does not exist.", - "File '/node_modules/@cow/boy/index.ts' does not exist.", - "File '/node_modules/@cow/boy/index.tsx' does not exist.", "File '/node_modules/@cow/boy/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/@cow/boy/index.d.ts', result '/node_modules/@cow/boy/index.d.ts'.", "======== Module name '@cow/boy' was successfully resolved to '/node_modules/@cow/boy/index.d.ts'. ========", "======== Resolving module '@be/bop' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module '@be/bop' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module '@be/bop' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Scoped package detected, looking in 'be__bop'", "File '/node_modules/@types/be__bop/package.json' does not exist.", - "File '/node_modules/@types/be__bop.d.ts' does not exist.", "File '/node_modules/@types/be__bop/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/be__bop/index.d.ts', result '/node_modules/@types/be__bop/index.d.ts'.", "======== Module name '@be/bop' was successfully resolved to '/node_modules/@types/be__bop/index.d.ts'. ========", "======== Resolving module '@be/bop/e/z' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module '@be/bop/e/z' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module '@be/bop/e/z' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Scoped package detected, looking in 'be__bop/e/z'", + "File '/node_modules/@types/be__bop/e/z/package.json' does not exist.", "File '/node_modules/@types/be__bop/package.json' does not exist.", - "File '/node_modules/@types/be__bop/e/z.d.ts' exist - use it as a name resolution result.", - "Resolving real path for '/node_modules/@types/be__bop/e/z.d.ts', result '/node_modules/@types/be__bop/e/z.d.ts'.", - "======== Module name '@be/bop/e/z' was successfully resolved to '/node_modules/@types/be__bop/e/z.d.ts'. ========" + "File '/node_modules/@types/be__bop/e/z.d.ts' does not exist.", + "File '/node_modules/@types/be__bop/e/z/index.d.ts' exist - use it as a name resolution result.", + "Resolving real path for '/node_modules/@types/be__bop/e/z/index.d.ts', result '/node_modules/@types/be__bop/e/z/index.d.ts'.", + "======== Module name '@be/bop/e/z' was successfully resolved to '/node_modules/@types/be__bop/e/z/index.d.ts'. ========" ] \ No newline at end of file diff --git a/tests/baselines/reference/scopedPackages.types b/tests/baselines/reference/scopedPackages.types index c876590f54a16..10946c8470ed9 100644 --- a/tests/baselines/reference/scopedPackages.types +++ b/tests/baselines/reference/scopedPackages.types @@ -16,7 +16,7 @@ export const x: number; export const y: number; >y : number -=== /node_modules/@types/be__bop/e/z.d.ts === +=== /node_modules/@types/be__bop/e/z/index.d.ts === export const z: number; >z : number diff --git a/tests/baselines/reference/scopedPackagesClassic.trace.json b/tests/baselines/reference/scopedPackagesClassic.trace.json index b28156d1c3392..c59533490bfab 100644 --- a/tests/baselines/reference/scopedPackagesClassic.trace.json +++ b/tests/baselines/reference/scopedPackagesClassic.trace.json @@ -3,7 +3,6 @@ "Explicitly specified module resolution kind: 'Classic'.", "Scoped package detected, looking in 'see__saw'", "File '/node_modules/@types/see__saw/package.json' does not exist.", - "File '/node_modules/@types/see__saw.d.ts' does not exist.", "File '/node_modules/@types/see__saw/index.d.ts' exist - use it as a name resolution result.", "======== Module name '@see/saw' was successfully resolved to '/node_modules/@types/see__saw/index.d.ts'. ========" ] \ No newline at end of file diff --git a/tests/baselines/reference/typeReferenceDirectives10.trace.json b/tests/baselines/reference/typeReferenceDirectives10.trace.json index a91414a8ce189..9c8fa90287492 100644 --- a/tests/baselines/reference/typeReferenceDirectives10.trace.json +++ b/tests/baselines/reference/typeReferenceDirectives10.trace.json @@ -7,7 +7,7 @@ "======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========", "======== Resolving module './ref' from '/app.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/ref', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/ref', target file type 'TypeScript ('.ts' preferred)'.", "File '/ref.ts' does not exist.", "File '/ref.tsx' does not exist.", "File '/ref.d.ts' exist - use it as a name resolution result.", diff --git a/tests/baselines/reference/typeReferenceDirectives11.trace.json b/tests/baselines/reference/typeReferenceDirectives11.trace.json index 572648804aeb1..d26bf4af8dac6 100644 --- a/tests/baselines/reference/typeReferenceDirectives11.trace.json +++ b/tests/baselines/reference/typeReferenceDirectives11.trace.json @@ -1,7 +1,7 @@ [ "======== Resolving module './mod1' from '/mod2.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/mod1', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/mod1', target file type 'TypeScript ('.ts' preferred)'.", "File '/mod1.ts' exist - use it as a name resolution result.", "======== Module name './mod1' was successfully resolved to '/mod1.ts'. ========", "======== Resolving type reference directive 'lib', containing file '/__inferred type names__.ts', root directory '/types'. ========", diff --git a/tests/baselines/reference/typeReferenceDirectives12.trace.json b/tests/baselines/reference/typeReferenceDirectives12.trace.json index 62a3b31fa1ca1..5f95300d51e74 100644 --- a/tests/baselines/reference/typeReferenceDirectives12.trace.json +++ b/tests/baselines/reference/typeReferenceDirectives12.trace.json @@ -1,12 +1,12 @@ [ "======== Resolving module './main' from '/mod2.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/main', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/main', target file type 'TypeScript ('.ts' preferred)'.", "File '/main.ts' exist - use it as a name resolution result.", "======== Module name './main' was successfully resolved to '/main.ts'. ========", "======== Resolving module './mod1' from '/mod2.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/mod1', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/mod1', target file type 'TypeScript ('.ts' preferred)'.", "File '/mod1.ts' exist - use it as a name resolution result.", "======== Module name './mod1' was successfully resolved to '/mod1.ts'. ========", "======== Resolving type reference directive 'lib', containing file '/mod1.ts', root directory '/types'. ========", diff --git a/tests/baselines/reference/typeReferenceDirectives13.trace.json b/tests/baselines/reference/typeReferenceDirectives13.trace.json index a91414a8ce189..9c8fa90287492 100644 --- a/tests/baselines/reference/typeReferenceDirectives13.trace.json +++ b/tests/baselines/reference/typeReferenceDirectives13.trace.json @@ -7,7 +7,7 @@ "======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========", "======== Resolving module './ref' from '/app.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/ref', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/ref', target file type 'TypeScript ('.ts' preferred)'.", "File '/ref.ts' does not exist.", "File '/ref.tsx' does not exist.", "File '/ref.d.ts' exist - use it as a name resolution result.", diff --git a/tests/baselines/reference/typeReferenceDirectives5.trace.json b/tests/baselines/reference/typeReferenceDirectives5.trace.json index a91414a8ce189..9c8fa90287492 100644 --- a/tests/baselines/reference/typeReferenceDirectives5.trace.json +++ b/tests/baselines/reference/typeReferenceDirectives5.trace.json @@ -7,7 +7,7 @@ "======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========", "======== Resolving module './ref' from '/app.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/ref', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/ref', target file type 'TypeScript ('.ts' preferred)'.", "File '/ref.ts' does not exist.", "File '/ref.tsx' does not exist.", "File '/ref.d.ts' exist - use it as a name resolution result.", diff --git a/tests/baselines/reference/typeReferenceDirectives8.trace.json b/tests/baselines/reference/typeReferenceDirectives8.trace.json index 572648804aeb1..d26bf4af8dac6 100644 --- a/tests/baselines/reference/typeReferenceDirectives8.trace.json +++ b/tests/baselines/reference/typeReferenceDirectives8.trace.json @@ -1,7 +1,7 @@ [ "======== Resolving module './mod1' from '/mod2.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/mod1', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/mod1', target file type 'TypeScript ('.ts' preferred)'.", "File '/mod1.ts' exist - use it as a name resolution result.", "======== Module name './mod1' was successfully resolved to '/mod1.ts'. ========", "======== Resolving type reference directive 'lib', containing file '/__inferred type names__.ts', root directory '/types'. ========", diff --git a/tests/baselines/reference/typeReferenceDirectives9.trace.json b/tests/baselines/reference/typeReferenceDirectives9.trace.json index 62a3b31fa1ca1..5f95300d51e74 100644 --- a/tests/baselines/reference/typeReferenceDirectives9.trace.json +++ b/tests/baselines/reference/typeReferenceDirectives9.trace.json @@ -1,12 +1,12 @@ [ "======== Resolving module './main' from '/mod2.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/main', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/main', target file type 'TypeScript ('.ts' preferred)'.", "File '/main.ts' exist - use it as a name resolution result.", "======== Module name './main' was successfully resolved to '/main.ts'. ========", "======== Resolving module './mod1' from '/mod2.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/mod1', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/mod1', target file type 'TypeScript ('.ts' preferred)'.", "File '/mod1.ts' exist - use it as a name resolution result.", "======== Module name './mod1' was successfully resolved to '/mod1.ts'. ========", "======== Resolving type reference directive 'lib', containing file '/mod1.ts', root directory '/types'. ========", diff --git a/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.trace.json b/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.trace.json index fdcbcdb7ab1d0..f8987551b5b96 100644 --- a/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.trace.json +++ b/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.trace.json @@ -1,60 +1,24 @@ [ "======== Resolving module 'xyz' from '/foo/bar/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'xyz' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'xyz' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Directory '/foo/bar/node_modules' does not exist, skipping all lookups in it.", - "File '/foo/node_modules/xyz.ts' does not exist.", - "File '/foo/node_modules/xyz.tsx' does not exist.", - "File '/foo/node_modules/xyz.d.ts' does not exist.", - "File '/foo/node_modules/@types/xyz.d.ts' does not exist.", - "File '/node_modules/xyz.ts' does not exist.", - "File '/node_modules/xyz.tsx' does not exist.", - "File '/node_modules/xyz.d.ts' does not exist.", - "File '/node_modules/@types/xyz.d.ts' does not exist.", "Loading module 'xyz' from 'node_modules' folder, target file type 'JavaScript'.", "Directory '/foo/bar/node_modules' does not exist, skipping all lookups in it.", - "File '/foo/node_modules/xyz.js' does not exist.", - "File '/foo/node_modules/xyz.jsx' does not exist.", - "File '/node_modules/xyz.js' does not exist.", - "File '/node_modules/xyz.jsx' does not exist.", "======== Module name 'xyz' was not resolved. ========", "======== Resolving module 'pdq' from '/foo/bar/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'pdq' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'pdq' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Directory '/foo/bar/node_modules' does not exist, skipping all lookups in it.", - "File '/foo/node_modules/pdq.ts' does not exist.", - "File '/foo/node_modules/pdq.tsx' does not exist.", - "File '/foo/node_modules/pdq.d.ts' does not exist.", - "File '/foo/node_modules/@types/pdq.d.ts' does not exist.", - "File '/node_modules/pdq.ts' does not exist.", - "File '/node_modules/pdq.tsx' does not exist.", - "File '/node_modules/pdq.d.ts' does not exist.", - "File '/node_modules/@types/pdq.d.ts' does not exist.", "Loading module 'pdq' from 'node_modules' folder, target file type 'JavaScript'.", "Directory '/foo/bar/node_modules' does not exist, skipping all lookups in it.", - "File '/foo/node_modules/pdq.js' does not exist.", - "File '/foo/node_modules/pdq.jsx' does not exist.", - "File '/node_modules/pdq.js' does not exist.", - "File '/node_modules/pdq.jsx' does not exist.", "======== Module name 'pdq' was not resolved. ========", "======== Resolving module 'abc' from '/foo/bar/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'abc' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'abc' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Directory '/foo/bar/node_modules' does not exist, skipping all lookups in it.", - "File '/foo/node_modules/abc.ts' does not exist.", - "File '/foo/node_modules/abc.tsx' does not exist.", - "File '/foo/node_modules/abc.d.ts' does not exist.", - "File '/foo/node_modules/@types/abc.d.ts' does not exist.", - "File '/node_modules/abc.ts' does not exist.", - "File '/node_modules/abc.tsx' does not exist.", - "File '/node_modules/abc.d.ts' does not exist.", - "File '/node_modules/@types/abc.d.ts' does not exist.", "Loading module 'abc' from 'node_modules' folder, target file type 'JavaScript'.", "Directory '/foo/bar/node_modules' does not exist, skipping all lookups in it.", - "File '/foo/node_modules/abc.js' does not exist.", - "File '/foo/node_modules/abc.jsx' does not exist.", - "File '/node_modules/abc.js' does not exist.", - "File '/node_modules/abc.jsx' does not exist.", "======== Module name 'abc' was not resolved. ========", "======== Resolving type reference directive 'grumpy', containing file '/foo/bar/__inferred type names__.ts', root directory '/foo/node_modules/@types,/node_modules/@types'. ========", "Resolving with primary search path '/foo/node_modules/@types, /node_modules/@types'.", diff --git a/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.trace.json b/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.trace.json index a15e20239c65a..b9ab146350d5b 100644 --- a/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.trace.json +++ b/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.trace.json @@ -1,16 +1,10 @@ [ "======== Resolving module 'xyz' from '/src/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'xyz' from 'node_modules' folder, target file type 'TypeScript'.", + "Loading module 'xyz' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Directory '/src/node_modules' does not exist, skipping all lookups in it.", - "File '/node_modules/xyz.ts' does not exist.", - "File '/node_modules/xyz.tsx' does not exist.", - "File '/node_modules/xyz.d.ts' does not exist.", - "File '/node_modules/@types/xyz.d.ts' does not exist.", "Loading module 'xyz' from 'node_modules' folder, target file type 'JavaScript'.", "Directory '/src/node_modules' does not exist, skipping all lookups in it.", - "File '/node_modules/xyz.js' does not exist.", - "File '/node_modules/xyz.jsx' does not exist.", "======== Module name 'xyz' was not resolved. ========", "======== Resolving type reference directive 'foo', containing file '/src/__inferred type names__.ts', root directory '/node_modules/@types'. ========", "Resolving with primary search path '/node_modules/@types'.", diff --git a/tests/baselines/reference/typingsLookup4.trace.json b/tests/baselines/reference/typingsLookup4.trace.json index 133ea49c22a21..ce5ff17a30fd8 100644 --- a/tests/baselines/reference/typingsLookup4.trace.json +++ b/tests/baselines/reference/typingsLookup4.trace.json @@ -1,27 +1,19 @@ [ "======== Resolving module 'jquery' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'jquery' from 'node_modules' folder, target file type 'TypeScript'.", - "File '/node_modules/jquery.ts' does not exist.", - "File '/node_modules/jquery.tsx' does not exist.", - "File '/node_modules/jquery.d.ts' does not exist.", + "Loading module 'jquery' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Found 'package.json' at '/node_modules/@types/jquery/package.json'.", - "File '/node_modules/@types/jquery.d.ts' does not exist.", "'package.json' has 'typings' field 'jquery.d.ts' that references '/node_modules/@types/jquery/jquery.d.ts'.", "File '/node_modules/@types/jquery/jquery.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/jquery/jquery.d.ts', result '/node_modules/@types/jquery/jquery.d.ts'.", "======== Module name 'jquery' was successfully resolved to '/node_modules/@types/jquery/jquery.d.ts'. ========", "======== Resolving module 'kquery' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'kquery' from 'node_modules' folder, target file type 'TypeScript'.", - "File '/node_modules/kquery.ts' does not exist.", - "File '/node_modules/kquery.tsx' does not exist.", - "File '/node_modules/kquery.d.ts' does not exist.", + "Loading module 'kquery' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Found 'package.json' at '/node_modules/@types/kquery/package.json'.", - "File '/node_modules/@types/kquery.d.ts' does not exist.", "'package.json' has 'typings' field 'kquery' that references '/node_modules/@types/kquery/kquery'.", "File '/node_modules/@types/kquery/kquery' does not exist.", - "Loading module as file / folder, candidate module location '/node_modules/@types/kquery/kquery', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/node_modules/@types/kquery/kquery', target file type 'TypeScript ('.ts' preferred)'.", "File '/node_modules/@types/kquery/kquery.ts' does not exist.", "File '/node_modules/@types/kquery/kquery.tsx' does not exist.", "File '/node_modules/@types/kquery/kquery.d.ts' exist - use it as a name resolution result.", @@ -29,29 +21,21 @@ "======== Module name 'kquery' was successfully resolved to '/node_modules/@types/kquery/kquery.d.ts'. ========", "======== Resolving module 'lquery' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'lquery' from 'node_modules' folder, target file type 'TypeScript'.", - "File '/node_modules/lquery.ts' does not exist.", - "File '/node_modules/lquery.tsx' does not exist.", - "File '/node_modules/lquery.d.ts' does not exist.", + "Loading module 'lquery' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Found 'package.json' at '/node_modules/@types/lquery/package.json'.", - "File '/node_modules/@types/lquery.d.ts' does not exist.", "'package.json' has 'typings' field 'lquery' that references '/node_modules/@types/lquery/lquery'.", "File '/node_modules/@types/lquery/lquery' does not exist.", - "Loading module as file / folder, candidate module location '/node_modules/@types/lquery/lquery', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/node_modules/@types/lquery/lquery', target file type 'TypeScript ('.ts' preferred)'.", "File '/node_modules/@types/lquery/lquery.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/lquery/lquery.ts', result '/node_modules/@types/lquery/lquery.ts'.", "======== Module name 'lquery' was successfully resolved to '/node_modules/@types/lquery/lquery.ts'. ========", "======== Resolving module 'mquery' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module 'mquery' from 'node_modules' folder, target file type 'TypeScript'.", - "File '/node_modules/mquery.ts' does not exist.", - "File '/node_modules/mquery.tsx' does not exist.", - "File '/node_modules/mquery.d.ts' does not exist.", + "Loading module 'mquery' from 'node_modules' folder, target file type 'TypeScript ('.ts' preferred)'.", "Found 'package.json' at '/node_modules/@types/mquery/package.json'.", - "File '/node_modules/@types/mquery.d.ts' does not exist.", "'package.json' has 'typings' field 'mquery' that references '/node_modules/@types/mquery/mquery'.", "File '/node_modules/@types/mquery/mquery' does not exist.", - "Loading module as file / folder, candidate module location '/node_modules/@types/mquery/mquery', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/node_modules/@types/mquery/mquery', target file type 'TypeScript ('.ts' preferred)'.", "File '/node_modules/@types/mquery/mquery.ts' does not exist.", "File '/node_modules/@types/mquery/mquery.tsx' does not exist.", "File '/node_modules/@types/mquery/mquery.d.ts' does not exist.", @@ -71,7 +55,7 @@ "Found 'package.json' at '/node_modules/@types/kquery/package.json'.", "'package.json' has 'typings' field 'kquery' that references '/node_modules/@types/kquery/kquery'.", "File '/node_modules/@types/kquery/kquery' does not exist.", - "Loading module as file / folder, candidate module location '/node_modules/@types/kquery/kquery', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/node_modules/@types/kquery/kquery', target file type 'TypeScript ('.ts' preferred)'.", "File '/node_modules/@types/kquery/kquery.ts' does not exist.", "File '/node_modules/@types/kquery/kquery.tsx' does not exist.", "File '/node_modules/@types/kquery/kquery.d.ts' exist - use it as a name resolution result.", @@ -82,7 +66,7 @@ "Found 'package.json' at '/node_modules/@types/lquery/package.json'.", "'package.json' has 'typings' field 'lquery' that references '/node_modules/@types/lquery/lquery'.", "File '/node_modules/@types/lquery/lquery' does not exist.", - "Loading module as file / folder, candidate module location '/node_modules/@types/lquery/lquery', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/node_modules/@types/lquery/lquery', target file type 'TypeScript ('.ts' preferred)'.", "File '/node_modules/@types/lquery/lquery.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/lquery/lquery.ts', result '/node_modules/@types/lquery/lquery.ts'.", "======== Type reference directive 'lquery' was successfully resolved to '/node_modules/@types/lquery/lquery.ts', primary: true. ========", @@ -91,7 +75,7 @@ "Found 'package.json' at '/node_modules/@types/mquery/package.json'.", "'package.json' has 'typings' field 'mquery' that references '/node_modules/@types/mquery/mquery'.", "File '/node_modules/@types/mquery/mquery' does not exist.", - "Loading module as file / folder, candidate module location '/node_modules/@types/mquery/mquery', target file type 'TypeScript'.", + "Loading module as file / folder, candidate module location '/node_modules/@types/mquery/mquery', target file type 'TypeScript ('.ts' preferred)'.", "File '/node_modules/@types/mquery/mquery.ts' does not exist.", "File '/node_modules/@types/mquery/mquery.tsx' does not exist.", "File '/node_modules/@types/mquery/mquery.d.ts' does not exist.", diff --git a/tests/baselines/reference/typingsLookupAmd.trace.json b/tests/baselines/reference/typingsLookupAmd.trace.json index f18f63e7597b8..93288cdea7391 100644 --- a/tests/baselines/reference/typingsLookupAmd.trace.json +++ b/tests/baselines/reference/typingsLookupAmd.trace.json @@ -12,7 +12,6 @@ "File '/b.d.ts' does not exist.", "Directory '/x/y/node_modules' does not exist, skipping all lookups in it.", "File '/x/node_modules/@types/b/package.json' does not exist.", - "File '/x/node_modules/@types/b.d.ts' does not exist.", "File '/x/node_modules/@types/b/index.d.ts' exist - use it as a name resolution result.", "======== Module name 'b' was successfully resolved to '/x/node_modules/@types/b/index.d.ts'. ========", "======== Resolving module 'a' from '/x/node_modules/@types/b/index.d.ts'. ========", @@ -34,9 +33,7 @@ "File '/a.d.ts' does not exist.", "Directory '/x/node_modules/@types/b/node_modules' does not exist, skipping all lookups in it.", "Directory '/x/node_modules/@types/node_modules' does not exist, skipping all lookups in it.", - "File '/x/node_modules/@types/a.d.ts' does not exist.", "File '/node_modules/@types/a/package.json' does not exist.", - "File '/node_modules/@types/a.d.ts' does not exist.", "File '/node_modules/@types/a/index.d.ts' exist - use it as a name resolution result.", "======== Module name 'a' was successfully resolved to '/node_modules/@types/a/index.d.ts'. ========", "======== Resolving type reference directive 'a', containing file '/__inferred type names__.ts', root directory '/node_modules/@types'. ========", diff --git a/tests/cases/compiler/cachedModuleResolution1.ts b/tests/cases/compiler/cachedModuleResolution1.ts index 3ef09ea0ea512..4a4383cfc30fe 100644 --- a/tests/cases/compiler/cachedModuleResolution1.ts +++ b/tests/cases/compiler/cachedModuleResolution1.ts @@ -1,7 +1,7 @@ // @moduleResolution: node // @traceResolution: true -// @filename: /a/b/node_modules/foo.d.ts +// @filename: /a/b/node_modules/foo/index.d.ts export declare let x: number // @filename: /a/b/c/d/e/app.ts diff --git a/tests/cases/compiler/cachedModuleResolution2.ts b/tests/cases/compiler/cachedModuleResolution2.ts index 38aaf4e609df3..22546b58b9936 100644 --- a/tests/cases/compiler/cachedModuleResolution2.ts +++ b/tests/cases/compiler/cachedModuleResolution2.ts @@ -1,7 +1,7 @@ // @moduleResolution: node // @traceResolution: true -// @filename: /a/b/node_modules/foo.d.ts +// @filename: /a/b/node_modules/foo/index.d.ts export declare let x: number // @filename: /a/b/c/lib.ts diff --git a/tests/cases/compiler/cachedModuleResolution5.ts b/tests/cases/compiler/cachedModuleResolution5.ts index e37b14fc1a0b7..b6c29cd3f47b3 100644 --- a/tests/cases/compiler/cachedModuleResolution5.ts +++ b/tests/cases/compiler/cachedModuleResolution5.ts @@ -1,7 +1,7 @@ // @moduleResolution: node // @traceResolution: true -// @filename: /a/b/node_modules/foo.d.ts +// @filename: /a/b/node_modules/foo/index.d.ts export declare let x: number // @filename: /a/b/c/d/e/app.ts diff --git a/tests/cases/compiler/importShouldNotBeElidedInDeclarationEmit.ts b/tests/cases/compiler/importShouldNotBeElidedInDeclarationEmit.ts index a6d77a5156709..5b248e67813f3 100644 --- a/tests/cases/compiler/importShouldNotBeElidedInDeclarationEmit.ts +++ b/tests/cases/compiler/importShouldNotBeElidedInDeclarationEmit.ts @@ -1,5 +1,5 @@ // @declaration: true -// @filename: node_modules/umd.d.ts +// @filename: node_modules/umd/index.d.ts export as namespace UMD; export type Thing = { diff --git a/tests/cases/compiler/nodeResolution2.ts b/tests/cases/compiler/nodeResolution2.ts index 9d1972c72390e..4aeda649a471b 100644 --- a/tests/cases/compiler/nodeResolution2.ts +++ b/tests/cases/compiler/nodeResolution2.ts @@ -1,7 +1,7 @@ // @module: commonjs // @moduleResolution: node -// @filename: node_modules/a.d.ts +// @filename: node_modules/a/index.d.ts export var x: number; // @filename: b.ts diff --git a/tests/cases/compiler/nodeResolution5.ts b/tests/cases/compiler/nodeResolution5.ts index 313dabd7899ff..637ae7567e969 100644 --- a/tests/cases/compiler/nodeResolution5.ts +++ b/tests/cases/compiler/nodeResolution5.ts @@ -1,10 +1,10 @@ // @module: commonjs // @moduleResolution: node -// @filename: node_modules/a.d.ts +// @filename: node_modules/a/index.d.ts declare module "a" { var x: number; } // @filename: b.ts -import y = require("a"); +import y = require("a"); diff --git a/tests/cases/compiler/nodeResolution6.ts b/tests/cases/compiler/nodeResolution6.ts deleted file mode 100644 index 3f6dc81c84780..0000000000000 --- a/tests/cases/compiler/nodeResolution6.ts +++ /dev/null @@ -1,13 +0,0 @@ -// @module: commonjs -// @moduleResolution: node - -// @filename: node_modules/ref.ts -var x = 1; - -// @filename: node_modules/a.d.ts -/// -export declare var y; - - -// @filename: b.ts -import y = require("a"); diff --git a/tests/cases/compiler/pathMappingBasedModuleResolution5_node.ts b/tests/cases/compiler/pathMappingBasedModuleResolution5_node.ts index 3606ab08cd10c..014edc0ea11f8 100644 --- a/tests/cases/compiler/pathMappingBasedModuleResolution5_node.ts +++ b/tests/cases/compiler/pathMappingBasedModuleResolution5_node.ts @@ -39,5 +39,5 @@ export var y = 1; // @filename: c:/root/shared/components/file3/index.d.ts export var z: number; -// @filename: c:/node_modules/file4.ts +// @filename: c:/node_modules/file4/index.ts export var z1 = 1; \ No newline at end of file diff --git a/tests/cases/compiler/pathMappingBasedModuleResolution7_node.ts b/tests/cases/compiler/pathMappingBasedModuleResolution7_node.ts index 1ba9630e0cfab..35e65a076d4f2 100644 --- a/tests/cases/compiler/pathMappingBasedModuleResolution7_node.ts +++ b/tests/cases/compiler/pathMappingBasedModuleResolution7_node.ts @@ -44,6 +44,6 @@ export let b: number; // @filename: c:/root/src/file3/index.d.ts export let x: number; -// @filename: c:/node_modules/module3.d.ts +// @filename: c:/node_modules/module3/index.d.ts export let y: number; diff --git a/tests/cases/conformance/moduleResolution/scopedPackages.ts b/tests/cases/conformance/moduleResolution/scopedPackages.ts index b604f10d7ec11..d5907a7968b60 100644 --- a/tests/cases/conformance/moduleResolution/scopedPackages.ts +++ b/tests/cases/conformance/moduleResolution/scopedPackages.ts @@ -8,7 +8,7 @@ export const x: number; // @filename: /node_modules/@types/be__bop/index.d.ts export const y: number; -// @filename: /node_modules/@types/be__bop/e/z.d.ts +// @filename: /node_modules/@types/be__bop/e/z/index.d.ts export const z: number; // @filename: /a.ts