or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

compilation.mdconfiguration.mdindex.mdprojects.mdreporters.mdstreams.md
tile.json

compilation.mddocs/

Core Compilation

Primary compilation functionality for transforming TypeScript files into JavaScript with full compiler option support and integration with gulp's streaming system.

Capabilities

Compile Function

Main compilation function with multiple overloads supporting different usage patterns from simple one-off compilation to complex project-based builds.

/**
 * Compile TypeScript files using a project instance
 * @param proj - Project instance created with createProject
 * @param theReporter - Optional error reporter for handling compilation errors
 * @returns CompileStream with js and dts sub-streams
 */
function compile(proj: Project, theReporter?: Reporter): CompileStream;

/**
 * Compile TypeScript files using inline settings
 * @param settings - Compiler settings and options
 * @param theReporter - Optional error reporter for handling compilation errors
 * @returns CompileStream with js and dts sub-streams
 */
function compile(settings: Settings, theReporter?: Reporter): CompileStream;

/**
 * Compile TypeScript files using default settings
 * @returns CompileStream with js and dts sub-streams
 */
function compile(): CompileStream;

Usage Examples:

import * as gulp from 'gulp';
import * as ts from 'gulp-typescript';

// Basic compilation with inline settings
gulp.task('compile-basic', () => {
    return gulp.src('src/**/*.ts')
        .pipe(ts({
            noImplicitAny: true,
            target: 'ES2017',
            module: 'commonjs'
        }))
        .pipe(gulp.dest('dist'));
});

// Compilation using a project
const tsProject = ts.createProject('tsconfig.json');

gulp.task('compile-project', () => {
    return gulp.src('src/**/*.ts')
        .pipe(ts(tsProject))  // Deprecated usage
        .pipe(gulp.dest('dist'));
});

// Modern project-based compilation
gulp.task('compile-modern', () => {
    return gulp.src('src/**/*.ts')
        .pipe(tsProject())
        .pipe(gulp.dest('dist'));
});

// With custom error reporter
gulp.task('compile-with-reporter', () => {
    return gulp.src('src/**/*.ts')
        .pipe(ts({
            declaration: true
        }, ts.reporter.fullReporter()))
        .pipe(gulp.dest('dist'));
});

Compilation Stream

The result of compilation operations, providing access to both JavaScript and TypeScript declaration file outputs.

interface ICompileStream extends NodeJS.ReadWriteStream {
    /** Stream containing compiled JavaScript files */
    js: stream.Readable;
    /** Stream containing TypeScript declaration files (.d.ts) */
    dts: stream.Readable;
}

type CompileStream = ICompileStream;

Usage Examples:

import * as gulp from 'gulp';
import * as ts from 'gulp-typescript';
import * as merge from 'merge2';

// Separate JavaScript and declaration file outputs
gulp.task('compile-separate', () => {
    const tsResult = gulp.src('src/**/*.ts')
        .pipe(ts({
            declaration: true,
            outDir: 'dist'
        }));
    
    return merge([
        tsResult.js.pipe(gulp.dest('dist/js')),
        tsResult.dts.pipe(gulp.dest('dist/types'))
    ]);
});

// Process JavaScript files through additional plugins
gulp.task('compile-and-minify', () => {
    const tsResult = gulp.src('src/**/*.ts')
        .pipe(ts({
            target: 'ES5',
            module: 'umd'
        }));
    
    return merge([
        tsResult.js
            .pipe(uglify())
            .pipe(gulp.dest('dist/js')),
        tsResult.dts
            .pipe(gulp.dest('dist/types'))
    ]);
});

Deprecated Filter Function

Legacy filter function that has been removed in version 3.0.

/**
 * @deprecated Filters have been removed as of gulp-typescript 3.0
 */
function filter(...args: any[]): void;

Types

interface CompilationResult {
    /** Only used when using isolatedModules */
    transpileErrors: number;
    /** Errors in compiler options */
    optionsErrors: number;
    /** Syntax errors in source code */
    syntaxErrors: number;
    /** Global compilation errors */
    globalErrors: number;
    /** Semantic analysis errors */
    semanticErrors: number;
    /** Declaration file generation errors */
    declarationErrors: number;
    /** File emission errors */
    emitErrors: number;
    /** Whether emit was disabled */
    noEmit: boolean;
    /** Whether emit was skipped due to errors */
    emitSkipped: boolean;
}