budgie-cli
Version:
Node CLI for Budgie.
58 lines (57 loc) • 1.96 kB
TypeScript
import * as ts from "typescript";
import { IConversionResult, IConverter, ICreateConverterDependencies } from "../converter";
import { IUnsupportedComplaint } from "./collectedUnsupportedTransforms";
export interface ITsconfigOptions {
compilerOptions: ts.CompilerOptions;
exclude?: ReadonlyArray<string>;
files?: ReadonlyArray<string>;
include: ReadonlyArray<string>;
}
/**
* Extension for TypeScript files.
*/
export declare const tsExtension = ".ts";
/**
* Dependencies to initialize a new instance of the TypeScriptConverter class.
*/
export interface ITypeScriptConverterDependencies extends ICreateConverterDependencies {
/**
* Options for the TypeScript compiler.
*/
tsconfigOptions: ITsconfigOptions;
}
/**
* @todo Use this once ts-budgie supports emitting a summary of unsupported syntax.
*/
export declare const complainForTransformation: (sourceFile: ts.SourceFile, complaint: IUnsupportedComplaint) => string;
/**
* Converts TypeScript files to their Budgie outputs.
*/
export declare class TypeScriptConverter implements IConverter {
/**
* Dependencies used for initialization.
*/
private readonly dependencies;
/**
* TypeScript source files, keyed by unique file path.
*/
private readonly sourceFiles;
/**
* Transforms TypeScript to Budgie.
*/
private readonly transformer;
/**
* Initializes a new instance of the TypeScriptConverter class.
*
* @param dependencies Dependencies used for initialization.
* @param options Options for converting files.
*/
constructor(dependencies: ITypeScriptConverterDependencies);
/**
* Converts a TypeScript file to its Budgie output.
*
* @param sourcePath Original Budgie file path.
* @returns The file's Budgie output.
*/
convertFile(sourcePath: string): Promise<IConversionResult>;
}