turbo-gulp
Version:
Gulp tasks to boost high-quality projects.
32 lines (27 loc) • 1.03 kB
text/typescript
import { Gulp } from "gulp";
import {posix as path } from "path";
import { DEFAULT_UNTYPED_TSLINT_CONFIG } from "../options/tslint";
import { Project } from "../project";
import { TaskFunction } from "../utils/gulp-task-function";
import { writeJsonFile } from "../utils/project";
export function generateTask(gulp: Gulp, project: Project): TaskFunction {
let relativePath: string;
if (project.tslint !== undefined && project.tslint.tslintJson !== undefined) {
relativePath = project.tslint.tslintJson;
} else {
relativePath = "tslint.json";
}
const absolutePath: string = path.join(project.root, relativePath);
return async function () {
return writeJsonFile(absolutePath, DEFAULT_UNTYPED_TSLINT_CONFIG);
};
}
export function getTaskName(): string {
return ":tslint.json";
}
export function registerTask(gulp: Gulp, project: Project): TaskFunction {
const taskName: string = getTaskName();
const task: TaskFunction = generateTask(gulp, project);
gulp.task(taskName, task);
return task;
}