1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
| 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);
|
|