-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.babel.js
55 lines (49 loc) · 1.7 KB
/
gulpfile.babel.js
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
const gulp = require("gulp");
const browserify = require("browserify");
const source = require("vinyl-source-stream");
const buffer = require("vinyl-buffer");
const babelify = require("babelify");
const rename = require("gulp-rename");
const uglify = require("gulp-uglify");
const sourcemaps = require("gulp-sourcemaps");
const jsdoc2md = require("jsdoc-to-markdown");
const fs = require("fs");
gulp.task("js", () => {
return browserify("src/index.js", {standalone: "nx"})
.transform(
"babelify",
{presets: ["env"], plugins: ["transform-es5-property-mutators"]})
.bundle()
.pipe(source("notatrix.js"))
.pipe(buffer())
.pipe(gulp.dest("build"));
});
gulp.task("uglify", () => {
return browserify("src/index.js", {standalone: "nx"})
.transform(
"babelify",
{presets: ["env"], plugins: ["transform-es5-property-mutators"]})
.bundle()
.pipe(source("notatrix.js"))
.pipe(buffer())
.pipe(gulp.dest("build"))
.pipe(rename("notatrix.min.js"))
.pipe(sourcemaps.init())
.pipe(uglify())
.pipe(sourcemaps.write(".", {
mapFile: (filename) => { return filename.replace(/min\.js/, "js"); }
}))
.pipe(gulp.dest("build"));
});
gulp.task(
"docs",
done => {jsdoc2md.render({files: ["./src/nx/*.js", "./src/formats/*.js"]})
.then(md => {fs.writeFile("./build/docs.md", md, err => {
if (err)
throw err;
done();
})})});
gulp.task(
"watch",
() => { gulp.watch("src/*.js", gulp.series("uglify", "js", "docs")); });
gulp.task("default", gulp.series("uglify", "js", "docs"));