forked from monya-wallet/monya
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
113 lines (105 loc) · 3.01 KB
/
gulpfile.js
File metadata and controls
113 lines (105 loc) · 3.01 KB
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
var gulp=require("gulp");
var runSequence = require('run-sequence');
var browser = require("browser-sync").create();
var webpack = require("webpack-stream");
var plumber = require("gulp-plumber");
var eslint = require('gulp-eslint');
var uglifyes = require('uglify-es');
var composer = require('gulp-uglify/composer');
var pump = require('pump');
var translator= require("./util/translator.js")
var imagemin = require('gulp-imagemin');
var minify = composer(uglifyes, console);
var request = require('sync-request');
gulp.task("browserSync", function() {
browser.init({
server:{
baseDir:"./"
},
open:false
});
});
gulp.task("reload",function(){
browser.reload()
})
gulp.task("lint",function(){
gulp.src(["component/*.js","js/*.js"])
.pipe(plumber({
errorHandler: function(error) {
var taskName = 'eslint';
var title = '[task]' + taskName + ' ' + error.plugin;
var errorMsg = 'error: ' + error.message;
console.error(title + '\n' + errorMsg);
}
}))
.pipe(eslint({ useEslintrc: true })) // .eslintrc を参照
.pipe(eslint.format())
.pipe(eslint.failOnError())
.pipe(plumber.stop());
})
gulp.task('webpack', function(){
return gulp.src('js/main.js')
.pipe(webpack(require("./webpack.config.dev")))
.pipe(gulp.dest('./'))
});
gulp.task('webpackProd', function(){
return gulp.src('js/main.js')
.pipe(webpack(require("./webpack.config")))
.pipe(gulp.dest('./'))
});
gulp.task("watch", function() {
gulp.watch("dist/dist.js", ["reload"]);
gulp.watch("component/*.html", ["copyJa"]);
});
gulp.task("setCordova", function() {
return gulp.src(["dist/**"])
.pipe(gulp.dest("./cordovaProj/www/dist"))
});
gulp.task("setDocs", function() {
return gulp.src(["dist/**"])
.pipe(gulp.dest("./docs/wallet/dist"))
});
gulp.task("setChrome", function() {
return gulp.src(["dist/**"])
.pipe(gulp.dest("./chrome_extension/dist"))
});
gulp.task("compressImage", function() {
return gulp.src(["dist/assets/*.png"])
.pipe(imagemin())
.pipe(gulp.dest("./dist/assets"))
});
gulp.task("default", function(cb) {
return runSequence(
"copyJa",
['browserSync',"webpack","watch"],
cb
);
});
gulp.task("prod", function(cb) {
return runSequence(
"copyJa",
"translateEn",
["lint","webpackProd"],
"compressImage",
["setCordova","setDocs","setChrome"],
cb
);
});
gulp.task("copyJa", function(cb) {
return gulp.src("component/*.html").pipe(translator.translate({
dictFile:"../lang/template.json",
dict:{
"<!--t:Timestamp-->":JSON.parse(request('GET', 'https://mona.monya.ga/insight-api-monacoin/sync').getBody('utf8')).height
}
})).pipe(gulp.dest("./component/ja"))
});
gulp.task("addWord", function(cb) {
return gulp.src("component/ja/*").pipe(translator.addWord({
dictFile:"../lang/dict.json"
}))
});
gulp.task("translateEn", function(cb) {
return gulp.src("component/ja/*.html").pipe(translator.translate({
dictFile:"../lang/dict.json"
})).pipe(gulp.dest("./component/en"))
});