Plug'n'Play resolver for TypeScript
Installation
yarn add -D ts-pnpUsage
import {resolveModuleName} from 'ts-pnp';
import * as ts from 'typescript';
function createCompilerHost(
compilerOptions: ts.CompilerOptions,
): ts.CompilerHost {
const compilerHost = {
resolveModuleNames,
resolveTypeReferenceDirectives,
};
return compilerHost;
function resolveModuleNames(moduleNames: string[], containingFile: string) {
return moduleNames.map(moduleName => {
return resolveModuleName(moduleName, containingFile, compilerOptions, compilerHost, ts.resolveModuleName).resolvedModule;
});
}
function resolveTypeReferenceDirectives(typeDirectiveNames: string[], containingFile: string) {
return typeDirectiveNames.map(typeDirectiveName => {
return resolveModuleName(typeDirectiveName, containingFile, compilerOptions, compilerHost, ts.resolveTypeReferenceDirective).resolvedTypeReferenceDirective;
});
}
}License (MIT)
Last updated