UNPKG

@wrench/roll-typescript

Version:

plugin for bundling TypeScript with support of modular output and declaration bundle

51 lines (41 loc) 1.48 kB
import { Plugin } from "rollup"; import { Bundle, CompilerOptions, Program, SourceFile, TransformationContext, Transformer } from "typescript"; /** Defines a function creating source code for particular program. */ export interface TransformersFactory { (program: Program): Transformers | Transformers[]; } /** Transformation hooks. */ export interface Transformers { before?(context: TransformationContext): Transformer<SourceFile>; after?(context: TransformationContext): Transformer<SourceFile>; afterDeclarations?(context: TransformationContext): Transformer<Bundle | SourceFile>; } export interface TypeScriptOptions { /** * Path to the project configuration. * @default `ts.findConfigFile` */ tsconfig?: string; /** * TypeScript module instance to use. * @default `require("typescript")` */ typescript?: typeof import("typescript"); /** * Compiler options to extend by {@link tsconfig}. * @default null */ baseCompilerOptions?: CompilerOptions; /** * Compiler options to override. * @default null. */ compilerOptions?: CompilerOptions; /** List of external modules. */ external: string[]; /** Output path for project typings bundle. */ types?: string; /** Factory to use for creating source code transformers. */ transformerFactory?: TransformersFactory; } export declare function typescript(options?: TypeScriptOptions): Plugin;