aboutsummaryrefslogtreecommitdiffstats
path: root/gulpfile.js
diff options
context:
space:
mode:
authorDan Finlay <dan@danfinlay.com>2016-07-29 03:59:37 +0800
committerDan Finlay <dan@danfinlay.com>2016-07-29 03:59:37 +0800
commitbdd2752cc778760da798163cc94975b5a9cece3c (patch)
tree6855accb22f49774d90fc16dba10fb2d18b33896 /gulpfile.js
parent5fdf375751f4eb09c6698dc68af6331381c8d0c1 (diff)
downloadtangerine-wallet-browser-bdd2752cc778760da798163cc94975b5a9cece3c.tar
tangerine-wallet-browser-bdd2752cc778760da798163cc94975b5a9cece3c.tar.gz
tangerine-wallet-browser-bdd2752cc778760da798163cc94975b5a9cece3c.tar.bz2
tangerine-wallet-browser-bdd2752cc778760da798163cc94975b5a9cece3c.tar.lz
tangerine-wallet-browser-bdd2752cc778760da798163cc94975b5a9cece3c.tar.xz
tangerine-wallet-browser-bdd2752cc778760da798163cc94975b5a9cece3c.tar.zst
tangerine-wallet-browser-bdd2752cc778760da798163cc94975b5a9cece3c.zip
Fix some gulp task issues
I know, I've been fixing up the gulp scripts all week. I keep fixing one thing then breaking another. In this commit, I fix some issues with some previous approaches. I no longer try to do the copying to `chrome` after `firefox`, I simply stream to both during copy and build tasks, and that logic is reused during dev and build tasks. The `copyTask` function now supports an array of `destinations`, that allows piping to multiple destinations, which is pretty cool. The `manifest:cleanup` task that chrome requires is now just part of the `copy` task, so we don't have to remember it everywhere we copy. So obvious it's like why only now.
Diffstat (limited to 'gulpfile.js')
-rw-r--r--gulpfile.js49
1 files changed, 31 insertions, 18 deletions
diff --git a/gulpfile.js b/gulpfile.js
index 96e5e11c7..aeaf3e674 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -31,26 +31,42 @@ gulp.task('dev:reload', function() {
gulp.task('copy:locales', copyTask({
source: './app/_locales/',
- destination: './dist/firefox/_locales',
+ destinations: [
+ './dist/firefox/_locales',
+ './dist/chrome/_locales',
+ ]
}))
gulp.task('copy:images', copyTask({
source: './app/images/',
- destination: './dist/firefox/images',
+ destinations: [
+ './dist/firefox/images',
+ './dist/chrome/images',
+ ],
}))
gulp.task('copy:fonts', copyTask({
source: './app/fonts/',
- destination: './dist/firefox/fonts',
+ destinations: [
+ './dist/firefox/fonts',
+ './dist/chrome/fonts',
+ ],
}))
gulp.task('copy:reload', copyTask({
source: './app/scripts/',
- destination: './dist/firefox/scripts',
+ destinations: [
+ './dist/firefox/scripts',
+ './dist/chrome/scripts',
+ ],
pattern: '/chromereload.js',
}))
gulp.task('copy:root', copyTask({
source: './app/',
- destination: './dist/firefox',
+ destinations: [
+ './dist/firefox',
+ './dist/chrome',
+ ],
pattern: '/*',
}))
+
gulp.task('manifest:cleanup', function() {
return gulp.src('./dist/firefox/manifest.json')
.pipe(jsoneditor(function(json) {
@@ -59,12 +75,8 @@ gulp.task('manifest:cleanup', function() {
}))
.pipe(gulp.dest('./dist/chrome', { overwrite: true }))
})
-gulp.task('copy:chrome', gulp.series(
-copyTask({
- source: './dist/firefox',
- destination: './dist/chrome',
-}), 'manifest:cleanup'))
-gulp.task('copy', gulp.parallel('copy:locales','copy:images','copy:fonts','copy:reload','copy:root'))
+
+gulp.task('copy', gulp.series(gulp.parallel('copy:locales','copy:images','copy:fonts','copy:reload','copy:root'), 'manifest:cleanup'))
gulp.task('copy:watch', function(){
gulp.watch(['./app/{_locales,images}/*', './app/scripts/chromereload.js', './app/*.{html,json}'], gulp.series('copy'))
})
@@ -130,7 +142,7 @@ gulp.task('zip', gulp.parallel('zip:chrome', 'zip:firefox'))
// high level tasks
gulp.task('dev', gulp.series('dev:js', 'copy', gulp.parallel('copy:watch', 'dev:reload')))
-gulp.task('build', gulp.series('clean', 'build:js', 'copy'))
+gulp.task('build', gulp.series('clean', gulp.parallel('build:js', 'copy')))
gulp.task('dist', gulp.series('build', 'zip'))
// task generators
@@ -138,18 +150,19 @@ gulp.task('dist', gulp.series('build', 'zip'))
function copyTask(opts){
var source = opts.source
var destination = opts.destination
+ var destinations = opts.destinations || [ destination ]
var pattern = opts.pattern || '/**/*'
return performCopy
function performCopy(){
- return (
+ let stream = gulp.src(source + pattern, { base: source })
+ destinations.forEach(function(destination) {
+ stream = stream.pipe(gulp.dest(destination))
+ })
+ stream.pipe(livereload())
- gulp.src(source + pattern, { base: source })
- .pipe(gulp.dest(destination))
- .pipe(livereload())
-
- )
+ return stream
}
}