1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- 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: "git@github.com: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);
|