Spaces:
Sleeping
Sleeping
import * as buildTools from "turbo-gulp"; | |
import { LibTarget, registerLibTasks } from "turbo-gulp/targets/lib"; | |
import { MochaTarget, registerMochaTasks } from "turbo-gulp/targets/mocha"; | |
import gulp from "gulp"; | |
import minimist from "minimist"; | |
interface Options { | |
devDist?: string; | |
} | |
const options: Options & minimist.ParsedArgs = minimist(process.argv.slice(2), { | |
string: ["devDist"], | |
default: {devDist: undefined}, | |
alias: {devDist: "dev-dist"}, | |
}); | |
const project: buildTools.Project = { | |
root: __dirname, | |
packageJson: "package.json", | |
buildDir: "build", | |
distDir: "dist", | |
srcDir: "src", | |
typescript: {} | |
}; | |
const lib: LibTarget = { | |
project, | |
name: "lib", | |
srcDir: "src/lib", | |
scripts: ["**/*.ts"], | |
mainModule: "index", | |
dist: { | |
packageJsonMap: (old: buildTools.PackageJson): buildTools.PackageJson => { | |
const version: string = options.devDist !== undefined ? `${old.version}-build.${options.devDist}` : old.version; | |
return <any> {...old, version, scripts: undefined, private: false}; | |
}, | |
npmPublish: { | |
tag: options.devDist !== undefined ? "next" : "latest", | |
}, | |
}, | |
tscOptions: { | |
declaration: true, | |
skipLibCheck: true, | |
}, | |
typedoc: { | |
dir: "typedoc", | |
name: "Helpers for V8 coverage files", | |
deploy: { | |
repository: "[email protected]:demurgos/v8-coverage.git", | |
branch: "gh-pages", | |
}, | |
}, | |
copy: [ | |
{ | |
files: ["**/*.json"], | |
}, | |
], | |
clean: { | |
dirs: ["build/lib", "dist/lib"], | |
}, | |
}; | |
const test: MochaTarget = { | |
project, | |
name: "test", | |
srcDir: "src", | |
scripts: ["test/**/*.ts", "lib/**/*.ts", "e2e/*/*.ts"], | |
customTypingsDir: "src/custom-typings", | |
tscOptions: { | |
allowSyntheticDefaultImports: true, | |
esModuleInterop: true, | |
skipLibCheck: true, | |
}, | |
// generateTestMain: true, | |
copy: [ | |
{ | |
src: "e2e", | |
// <project-name>/(project|test-resources)/<any> | |
files: ["*/project/**/*", "*/test-resources/**/*"], | |
dest: "e2e", | |
}, | |
], | |
clean: { | |
dirs: ["build/test"], | |
}, | |
}; | |
const libTasks: any = registerLibTasks(gulp, lib); | |
registerMochaTasks(gulp, test); | |
buildTools.projectTasks.registerAll(gulp, project); | |
gulp.task("all:tsconfig.json", gulp.parallel("lib:tsconfig.json", "test:tsconfig.json")); | |
gulp.task("dist", libTasks.dist); | |
gulp.task("default", libTasks.dist); | |