UNPKG

1.9 kBTypeScriptView Raw
1import ts, { CompilerOptions, EmitHost, Pattern, SourceFile } from "typescript";
2import { PluginConfig } from "ts-patch";
3import { HarmonyFactory } from "./harmony";
4import { IMinimatch } from "minimatch";
5export declare type ImportOrExportDeclaration = ts.ImportDeclaration | ts.ExportDeclaration;
6export declare type ImportOrExportClause = ts.ImportDeclaration["importClause"] | ts.ExportDeclaration["exportClause"];
7export interface TsTransformPathsConfig extends PluginConfig {
8 readonly useRootDirs?: boolean;
9 readonly exclude?: string[];
10}
11export interface TsTransformPathsContext {
12 /**
13 * TS Instance passed from ts-patch / ttypescript
14 */
15 readonly tsInstance: typeof ts;
16 readonly tsVersionMajor: number;
17 readonly tsVersionMinor: number;
18 readonly tsFactory?: ts.NodeFactory;
19 readonly runMode: RunMode;
20 readonly tsNodeState?: TsNodeState;
21 readonly program?: ts.Program;
22 readonly config: TsTransformPathsConfig;
23 readonly compilerOptions: CompilerOptions;
24 readonly elisionMap: Map<ts.SourceFile, Map<ImportOrExportDeclaration, ImportOrExportDeclaration>>;
25 readonly transformationContext: ts.TransformationContext;
26 readonly rootDirs?: string[];
27 readonly excludeMatchers: IMinimatch[] | undefined;
28 readonly outputFileNamesCache: Map<SourceFile, string>;
29 readonly pathsPatterns: readonly (string | Pattern)[] | undefined;
30 readonly emitHost: EmitHost;
31}
32export interface VisitorContext extends TsTransformPathsContext {
33 readonly factory: HarmonyFactory;
34 readonly sourceFile: ts.SourceFile;
35 readonly isDeclarationFile: boolean;
36 readonly originalSourceFile: ts.SourceFile;
37 getVisitor(): (node: ts.Node) => ts.VisitResult<ts.Node>;
38}
39export declare enum RunMode {
40 TsNode = "ts-node",
41 Manual = "manual",
42 Program = "program"
43}
44export declare enum TsNodeState {
45 Full = 0,
46 Stripped = 1
47}