diff options
author | Dan Finlay <dan@danfinlay.com> | 2016-07-29 03:59:37 +0800 |
---|---|---|
committer | Dan Finlay <dan@danfinlay.com> | 2016-07-29 03:59:37 +0800 |
commit | bdd2752cc778760da798163cc94975b5a9cece3c (patch) | |
tree | 6855accb22f49774d90fc16dba10fb2d18b33896 /gulpfile.js | |
parent | 5fdf375751f4eb09c6698dc68af6331381c8d0c1 (diff) | |
download | tangerine-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.js | 49 |
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 } } |