UNPKG

2.02 kBJavaScriptView Raw
1var gulp = require("gulp");
2var fs = require("fs");
3var del = require("del");
4var ts = require("gulp-typescript");
5var merge = require("merge2");
6const jsdoc = require('gulp-jsdoc3');
7var sourcemaps = require('gulp-sourcemaps');
8var path = require('path');
9
10var config = JSON.parse(fs.readFileSync(__dirname + "/tsconfig.json"));
11
12gulp.task("default", function() {
13 console.log("Main commands:");
14 console.log("build build the lynx library");
15 console.log("\n");
16 console.log("Other commands:");
17 console.log(
18 "compile compile all the typescript files to the dist folder"
19 );
20 console.log(
21 "copy copy all the files (!.ts) from the source folder to the dist folder"
22 );
23 console.log("clean delete the dist folder");
24});
25
26gulp.task("copy", function() {
27 return gulp
28 .src(["lynx/**", "!lynx/**/*.ts"])
29 .pipe(gulp.dest(config.compilerOptions.outDir));
30});
31
32gulp.task("clean", function() {
33 return del(config.compilerOptions.outDir);
34});
35
36gulp.task("compile", function() {
37 var tsProject = ts.createProject(__dirname + "/tsconfig.json");
38 var tsResult = tsProject.src().pipe(sourcemaps.init()).pipe(tsProject());
39 return merge([
40 tsResult.js.pipe(gulp.dest(config.compilerOptions.outDir)),
41 tsResult.dts.pipe(gulp.dest(config.compilerOptions.outDir)),
42 tsResult.js.pipe(sourcemaps.write({
43 includeContent: false,
44 sourceRoot: function (file) {
45 return path.relative(path.dirname(file.path), file.base);
46 }
47 }))
48 ]);
49});
50
51gulp.task('doc', function (cb) {
52 const config = require(__dirname + '/jsdoc.json');
53 config.opts.destination = __dirname + config.opts.destination;
54 console.log(__dirname + '/lynx/**/*.ts');
55 gulp.src([__dirname + '/README.md', __dirname + '/lynx/**/*.ts'], { read: false })
56 .pipe(jsdoc(config, cb));
57});
58
59gulp.task("build", gulp.series("clean", gulp.parallel("copy", "compile")));