Skip to content

Commit

Permalink
chore: add missing callback to gulp sequences
Browse files Browse the repository at this point in the history
As gulp sequences don't return a stream, a callback must be called when its callback job is done.

Bug was introduced in foundation#11119
  • Loading branch information
ncoden committed Apr 25, 2018
1 parent c3ec51b commit 4bcabc1
Show file tree
Hide file tree
Showing 3 changed files with 113 additions and 108 deletions.
68 changes: 34 additions & 34 deletions gulp/tasks/customizer.js
Original file line number Diff line number Diff line change
Expand Up @@ -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('end', done);
});
});

Expand Down Expand Up @@ -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);
});
});
});

Expand Down
105 changes: 54 additions & 51 deletions gulp/tasks/deploy.js
Original file line number Diff line number Diff line change
Expand Up @@ -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'))

.pipe(done);
});
});

Expand Down Expand Up @@ -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('end', done);
});
});
48 changes: 25 additions & 23 deletions gulp/tasks/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,35 +10,37 @@ 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) {
browser.reload();
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'));
})
});
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('end', done);
});
});

0 comments on commit 4bcabc1

Please sign in to comment.