]> git.ipfire.org Git - thirdparty/foundation/foundation-sites.git/commitdiff
Use pull request #11205 from ncoden/chore/gulp-add-missing-sequence-callbacks for...
authorNicolas Coden <nicolas@ncoden.fr>
Sat, 16 Jun 2018 08:08:13 +0000 (10:08 +0200)
committerNicolas Coden <nicolas@ncoden.fr>
Sat, 16 Jun 2018 20:58:48 +0000 (22:58 +0200)
4bcabc161 chore: add missing callback to gulp sequences
1facce07e fix: wait for gulp tasks ends with the `finish` event

Signed-off-by: Nicolas Coden <nicolas@ncoden.fr>
gulp/tasks/customizer.js
gulp/tasks/deploy.js
gulp/tasks/test.js

index 9a8cbe27d6e8f443661b111880a340369b87e576..6740487b82c8c4ff07319c7bfa7b0ba10249aacf 100644 (file)
@@ -90,26 +90,26 @@ gulp.task('customizer:prepareSassDeps', function() {
 });
 
 // Creates a Sass file from the module/variable list and creates foundation.css and foundation.min.css
-gulp.task('customizer:sass', function() {
+gulp.task('customizer:sass', function(done) {
   sequence('customizer:loadConfig', 'customizer:prepareSassDeps', function() {
-  var sassFile = customizer.sass(CUSTOMIZER_CONFIG, MODULE_LIST, VARIABLE_LIST);
-
-  var stream = createStream('foundation.scss', sassFile);
-
-  return stream
-    .pipe(sass({
-      includePaths: [
-        'scss',
-        'node_modules/motion-ui/src'
-      ]
-    }))
-    .pipe(postcss([autoprefixer({
-      browsers: COMPATIBILITY
-    })]))
-    .pipe(gulp.dest(path.join(OUTPUT_DIR, 'css')))
-    .pipe(cleancss({ compatibility: 'ie9' }))
-    .pipe(rename('foundation.min.css'))
-    .pipe(gulp.dest(path.join(OUTPUT_DIR, 'css')));
+    var sassFile = customizer.sass(CUSTOMIZER_CONFIG, MODULE_LIST, VARIABLE_LIST);
+    var stream = createStream('foundation.scss', sassFile);
+
+    return stream
+      .pipe(sass({
+        includePaths: [
+          'scss',
+          'node_modules/motion-ui/src'
+        ]
+      }))
+      .pipe(postcss([autoprefixer({
+        browsers: COMPATIBILITY
+      })]))
+      .pipe(gulp.dest(path.join(OUTPUT_DIR, 'css')))
+      .pipe(cleancss({ compatibility: 'ie9' }))
+      .pipe(rename('foundation.min.css'))
+      .pipe(gulp.dest(path.join(OUTPUT_DIR, 'css')))
+      .on('finish', done);
   });
 });
 
@@ -152,21 +152,21 @@ gulp.task('customizer:html', ['customizer:loadConfig'], function() {
 //   - Copying the index.html file
 //   - Creating a blank app.css file
 //   - Creating an app.js file with Foundation initialization code
-gulp.task('customizer', function() {
-  sequence('customizer:sass', 'customizer:javascript', 'customizer:html', function(done) {
-  var outputFolder = path.dirname(OUTPUT_DIR);
-  var outputFileName = path.basename(OUTPUT_DIR);
-
-  touch(path.join(OUTPUT_DIR, 'css/app.css'));
-  touch(path.join(OUTPUT_DIR, 'js/app.js'));
-  fs.writeFileSync(path.join(OUTPUT_DIR, 'js/app.js'), '$(document).foundation()\n');
-
-  gulp.src(path.join(OUTPUT_DIR, '/**/*'))
-    .pipe(zip(path.basename(outputFileName) + '.zip'))
-    .pipe(gulp.dest(outputFolder))
-    .on('finish', function() {
-      rimraf(OUTPUT_DIR, done);
-    });
+gulp.task('customizer', function(done) {
+  sequence('customizer:sass', 'customizer:javascript', 'customizer:html', function() {
+    var outputFolder = path.dirname(OUTPUT_DIR);
+    var outputFileName = path.basename(OUTPUT_DIR);
+
+    touch(path.join(OUTPUT_DIR, 'css/app.css'));
+    touch(path.join(OUTPUT_DIR, 'js/app.js'));
+    fs.writeFileSync(path.join(OUTPUT_DIR, 'js/app.js'), '$(document).foundation()\n');
+
+    gulp.src(path.join(OUTPUT_DIR, '/**/*'))
+      .pipe(zip(path.basename(outputFileName) + '.zip'))
+      .pipe(gulp.dest(outputFolder))
+      .on('finish', function() {
+        rimraf(OUTPUT_DIR, done);
+      });
   });
 });
 
index 3bc86653fea8318c5804899afe306ae2d44f0644..6af30d780da2b7c2e6b177da58b458f28420fcfa 100644 (file)
@@ -46,48 +46,50 @@ gulp.task('deploy:version', function() {
 });
 
 // Generates compiled CSS and JS files and sourcemaps and puts them in the dist/ folder
-gulp.task('deploy:dist', function() {
+gulp.task('deploy:dist', function(done) {
   sequence('sass:foundation', 'javascript:foundation', function() {
-  var cssFilter = filter(['**/*.css'], { restore: true });
-  var jsFilter  = filter(['**/*.js'], { restore: true });
-  var cssSourcemapFilter = filter(['**/*.css.map'], { restore: true });
-  var jsSourcemapFilter = filter(['**/*.js.map'], { restore: true });
-
-  return gulp.src(CONFIG.DIST_FILES)
-    .pipe(plumber())
-
-    // --- Source maps ---
-    // * Copy sourcemaps to the dist folder
-    // This is done first to avoid collision with minified-sourcemaps.
-    .pipe(cssSourcemapFilter)
-      .pipe(gulp.dest('./dist/css'))
-      .pipe(cssSourcemapFilter.restore)
-    .pipe(jsSourcemapFilter)
-      .pipe(gulp.dest('./dist/js'))
-      .pipe(jsSourcemapFilter.restore)
-
-    // --- Source files ---
-    // * Copy source files to dist folder
-    // * Create minified files
-    // * Create minified-sourcemaps based on standard sourcemaps.
-    //   Sourcemaps are initialized before the ".min" renaming to be able retrieve
-    //   original sourcemaps from source names.
-    .pipe(cssFilter)
-      .pipe(gulp.dest('./dist/css'))
-      .pipe(sourcemaps.init({ loadMaps: true }))
-      .pipe(rename({ suffix: '.min' }))
-      .pipe(cleancss({ compatibility: 'ie9' }))
-      .pipe(sourcemaps.write('.'))
-      .pipe(gulp.dest('./dist/css'))
-      .pipe(cssFilter.restore)
-
-    .pipe(jsFilter)
-      .pipe(gulp.dest('./dist/js'))
-      .pipe(sourcemaps.init({ loadMaps: true }))
-      .pipe(rename({ suffix: '.min' }))
-      .pipe(uglify())
-      .pipe(sourcemaps.write('.'))
-      .pipe(gulp.dest('./dist/js'));
+    var cssFilter = filter(['**/*.css'], { restore: true });
+    var jsFilter  = filter(['**/*.js'], { restore: true });
+    var cssSourcemapFilter = filter(['**/*.css.map'], { restore: true });
+    var jsSourcemapFilter = filter(['**/*.js.map'], { restore: true });
+
+    return gulp.src(CONFIG.DIST_FILES)
+      .pipe(plumber())
+
+      // --- Source maps ---
+      // * Copy sourcemaps to the dist folder
+      // This is done first to avoid collision with minified-sourcemaps.
+      .pipe(cssSourcemapFilter)
+        .pipe(gulp.dest('./dist/css'))
+        .pipe(cssSourcemapFilter.restore)
+      .pipe(jsSourcemapFilter)
+        .pipe(gulp.dest('./dist/js'))
+        .pipe(jsSourcemapFilter.restore)
+
+      // --- Source files ---
+      // * Copy source files to dist folder
+      // * Create minified files
+      // * Create minified-sourcemaps based on standard sourcemaps.
+      //   Sourcemaps are initialized before the ".min" renaming to be able retrieve
+      //   original sourcemaps from source names.
+      .pipe(cssFilter)
+        .pipe(gulp.dest('./dist/css'))
+        .pipe(sourcemaps.init({ loadMaps: true }))
+        .pipe(rename({ suffix: '.min' }))
+        .pipe(cleancss({ compatibility: 'ie9' }))
+        .pipe(sourcemaps.write('.'))
+        .pipe(gulp.dest('./dist/css'))
+        .pipe(cssFilter.restore)
+
+      .pipe(jsFilter)
+        .pipe(gulp.dest('./dist/js'))
+        .pipe(sourcemaps.init({ loadMaps: true }))
+        .pipe(rename({ suffix: '.min' }))
+        .pipe(uglify())
+        .pipe(sourcemaps.write('.'))
+        .pipe(gulp.dest('./dist/js'))
+
+      .on('finish', done);
   });
 });
 
@@ -177,16 +179,17 @@ gulp.task('deploy:templates', function(done) {
 });
 
 // The Customizer runs this function to generate files it needs
-gulp.task('deploy:custom', function() {
+gulp.task('deploy:custom', function(done) {
   sequence('sass:foundation', 'javascript:foundation', function() {
-  gulp.src('./_build/assets/css/foundation.css')
-      .pipe(cleancss({ compatibility: 'ie9' }))
-      .pipe(rename('foundation.min.css'))
-      .pipe(gulp.dest('./_build/assets/css'));
-
-  return gulp.src('_build/assets/js/foundation.js')
-      .pipe(uglify())
-      .pipe(rename('foundation.min.js'))
-      .pipe(gulp.dest('./_build/assets/js'));
+    gulp.src('./_build/assets/css/foundation.css')
+        .pipe(cleancss({ compatibility: 'ie9' }))
+        .pipe(rename('foundation.min.css'))
+        .pipe(gulp.dest('./_build/assets/css'));
+
+    return gulp.src('_build/assets/js/foundation.js')
+        .pipe(uglify())
+        .pipe(rename('foundation.min.js'))
+        .pipe(gulp.dest('./_build/assets/js'))
+        .on('finish', done);
   });
 });
index dc4b133f3995ec0ae177012d9af2fa5b41cbe532..ecb14c91032a163cc7d83c1e6c680ab54d4a1f53 100644 (file)
@@ -10,20 +10,21 @@ var rimraf = require('rimraf').sync;
 var CONFIG = require('../config.js');
 
 // Runs unit tests
-gulp.task('test', function(cb) {
-  sequence('sass:foundation', 'test:transpile-js', 'watch', function() {
-  browser.init({
-    server: { 
-      baseDir: 'test/visual',
-      directory: true,
-      routes: {
-        "/assets": "_build/assets",
-        "/motion-ui": "node_modules/motion-ui"
+gulp.task('test', function(done) {
+  sequence('sass:foundation', 'test:transpile-js', 'watch', function () {
+    browser.init({
+      server: {
+        baseDir: 'test/visual',
+        directory: true,
+        routes: {
+          "/assets": "_build/assets",
+          "/motion-ui": "node_modules/motion-ui"
+        }
       }
-    }
+    });
+    gulp.watch(['test/visual/**/*'], ['test:reload']);
+    done();
   });
-  gulp.watch(['test/visual/**/*'], ['test:reload']);
-})
 });
 
 gulp.task('test:reload', function(done) {
@@ -31,14 +32,15 @@ gulp.task('test:reload', function(done) {
   done();
 });
 
-gulp.task('test:transpile-js', function(cb) {
-  sequence('javascript:foundation', 'javascript:deps', function() {
-  rimraf('test/javascript/js-tests.js');
-  
-  return gulp.src(CONFIG.TEST_JS_FILES)
-       .pipe(babel()
-               .on('error', onBabelError))
-       .pipe(concat('js-tests.js'))
-       .pipe(gulp.dest('test/javascript'));
-})
-});
\ No newline at end of file
+gulp.task('test:transpile-js', function(done) {
+  sequence('javascript:foundation', 'javascript:deps', function () {
+    rimraf('test/javascript/js-tests.js');
+
+    return gulp.src(CONFIG.TEST_JS_FILES)
+      .pipe(babel()
+        .on('error', onBabelError))
+      .pipe(concat('js-tests.js'))
+      .pipe(gulp.dest('test/javascript'))
+      .on('finish', done);
+  });
+});