-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
63 lines (57 loc) · 2.19 KB
/
gulpfile.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
56
57
58
59
60
61
62
63
const { src, dest, series } = require('gulp');
const babel = require('gulp-babel');
const header = require('gulp-header');
const concat = require('gulp-concat');
const minify = require('gulp-minify');
const fileinclude = require('gulp-file-include');
function assemble() {
return src(['src/node.js', 'src/num.js', 'src/dataset.js', 'src/main.js'])
.pipe(concat('bookmarklet.js'))
.pipe(babel({
presets: [[
"@babel/env", {
"targets": {
"browsers": ["last 2 versions", "ie >= 11"]
}
}
]],
comments: false
}))
.pipe(dest('build'));
}
function compress() {
return src(['build/*.js', '!build/*.min.js'])
.pipe(minify({
ext: {
src:'.js', // don't touch original file build with babel
min:'.min.js'
}
}))
.pipe(dest('build'))
}
function include_bookmarlet() {
var warning_message = "<!--\n\n" +
" /!\\ WARNING : THIS FILE HAS BEEN GENERATED /!\\\n\n" +
" Edit src/index.md, then rebuild with gulp.\n\n" +
"-->\n\n"
return src('src/index.md')
.pipe(header(warning_message))
.pipe(fileinclude({
prefix: '@@',
basepath: '@file',
filters: {
escape: function (text) {
var map = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": '''
};
return text.replace(/[&<>"']/g, function(m) { return map[m]; });
}
}
}))
.pipe(dest('.'));
}
exports.default = series(assemble, compress, include_bookmarlet);