Skip to content
This repository was archived by the owner on Dec 1, 2019. It is now read-only.

Commit c20cf54

Browse files
Remove file extensions while resolving dependencies.
As of microsoft/TypeScript#9646, TypeScript no longer expects extensions in dependency resolution functions.
1 parent 6baf023 commit c20cf54

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

src/deps.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { State } from './host';
2+
import { withoutTypeScriptExtension } from './helpers';
23
import * as path from 'path';
34
type FileSet = {[fileName: string]: boolean};
45

@@ -74,7 +75,8 @@ export class FileAnalyzer {
7475
imports.push.apply(imports, info.importedFiles
7576
.map(file => file.fileName)
7677
.map(depName => {
77-
let { resolvedModule } = ts.resolveModuleName(depName, fileName, options, ts.sys);
78+
let moduleName = withoutTypeScriptExtension(depName);
79+
let { resolvedModule } = ts.resolveModuleName(moduleName, fileName, options, ts.sys);
7880
if (resolvedModule) {
7981
deps.addModuleResolution(fileName, depName, resolvedModule);
8082
return resolvedModule.resolvedFileName;
@@ -91,7 +93,8 @@ export class FileAnalyzer {
9193
return path.resolve(path.dirname(fileName), relative);
9294
})
9395
.map(depName => {
94-
let { resolvedModule } = ts.resolveModuleName(depName, fileName, options, ts.sys);
96+
let moduleName = withoutTypeScriptExtension(depName);
97+
let { resolvedModule } = ts.resolveModuleName(moduleName, fileName, options, ts.sys);
9598
if (resolvedModule) {
9699
deps.addModuleResolution(fileName, depName, resolvedModule);
97100
// return non-realpath name (symlinks not resolved)

src/helpers.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,3 +113,9 @@ export function loadLib(moduleId) {
113113
text: text
114114
};
115115
}
116+
117+
const TYPESCRIPT_EXTENSION = /\.(d\.)?(t|j)s$/;
118+
119+
export function withoutTypeScriptExtension(fileName: string): string {
120+
return fileName.replace(TYPESCRIPT_EXTENSION, '');
121+
}

src/host.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ export class State {
145145
loadTypesFromConfig() {
146146
let { options } = this.compilerConfig;
147147

148-
const directives = this.ts.getAutomaticTypeDirectiveNames(options, [], this.compilerHost);
148+
const directives = this.ts.getAutomaticTypeDirectiveNames(options, this.compilerHost);
149149

150150
if (directives) {
151151
directives.forEach(type => {

0 commit comments

Comments
 (0)