Skip to content

Latest commit

 

History

History

typescript

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

@file-services/typescript

npm version package size

Helpers for creation of TypeScript hosts.

Installation

Install library in project:

npm i @file-services/typescript

API

/**
 * Create an IBaseHost, which is actually three interfaces combined:
 * - `ts.ParseConfigHost` - for parsing of `tsconfig.json` files
 * - `ts.FormatDiagnosticsHost` - for formatting of `ts.Diagnostic` instances
 * - `ts.ModuleResolutionHost` - for resolution of imports using TypeScript's built-in mechanism
 *
 * @param fs the file system to use as host backend
 */
export function createBaseHost(fs: IFileSystemSync): IBaseHost;

/**
 * Create a TypeScript `LanguageServiceHost` using provided file system.
 *
 * @param fs the file system used as host backend
 * @param baseHost created using `createBaseHost()`
 * @param fileNames list of absolute paths to `.ts/tsx` files included in this transpilation
 * @param compilerOptions compilerOptions to use when transpiling or type checking
 * @param defaultLibsDirectory absolute path to the directory that contains TypeScript's built-in `.d.ts` files
 *                             `path.dirname(ts.getDefaultLibFilePath({}))` in node,
 *                             or custom directory with `@file-services/memory`
 * @param customTransformers optional custom transformers to apply during transpilation
 */
export function createLanguageServiceHost(
  fs: IFileSystemSync,
  baseHost: IBaseHost,
  fileNames: string[],
  compilerOptions: ts.CompilerOptions,
  defaultLibsDirectory: string,
  customTransformers?: ts.CustomTransformers,
): ts.LanguageServiceHost;

License

MIT