turbo-gulp
Version:
Gulp tasks to boost high-quality projects.
78 lines (77 loc) • 2.24 kB
TypeScript
/// <reference types="webpack" />
import * as webpack from "webpack";
import { CleanOptions } from "./options/clean";
import { CopyOptions } from "./options/copy";
import { PugOptions } from "./options/pug";
import { SassOptions } from "./options/sass";
import { TypescriptOptions } from "./options/typescript";
/**
* A target represents a group of tasks to produce a specific build.
*/
export interface Target {
/**
* Name of the target, used to prefix related tasks
*/
name: string;
/**
* Name of the target directory, relative to `project.buildDir`.
* Default: `target.name`.
*/
targetDir?: string;
/**
* Source directory for this target, relative to `project.srcDir`.
*/
srcDir?: string;
/**
* List of minimatch glob patterns matching the Typescript scripts, relative
* to `target.srcDir`.
*/
scripts: string[];
/**
* List of directories where Typescript should search for declarations,
* relative to `target.srcDir`.
*/
typeRoots: string[];
/**
* Advanced typescript configuration
*/
typescript?: TypescriptOptions;
/**
* A list of copy operations to perform during the build process.
*/
copy?: CopyOptions[];
pug?: PugOptions[];
sass?: SassOptions[];
/**
* Description of the files to clean, **relative to `project.root`**.
*
* Default:
* {
* dirs: [
* path.join(project.buildDir, target.targetDir),
* path.join(project.distDir, target.targetDir)
* ]
* }
*/
clean?: CleanOptions;
}
export interface WebpackTarget extends Target {
/**
* Directory to store webpack files during the build, relative to
* `project.buildDir`.
*/
webpackDir: string;
/**
* The name of tha main module (name of the file without the extension),
* relative to `project.srcDir`. It is the entry point of the application.
*/
mainModule: string;
webpackOptions?: {
webpack?: typeof webpack;
configuration?: webpack.Configuration;
};
}
/**
* Preconfigured "webpack" configuration for an Angular Universal client.
*/
export declare const ANGULAR_CLIENT_TARGET: WebpackTarget;