var Vinyl = require('vinyl');
var fs = require('fs');
var gulp = require('gulp');
+var sequence = require('run-sequence');
var If = require('gulp-if');
var path = require('path');
var Readable = require('stream').Readable;
});
// Creates a Sass file from the module/variable list and creates foundation.css and foundation.min.css
-gulp.task('customizer:sass', ['customizer:loadConfig', 'customizer:prepareSassDeps'], function() {
+gulp.task('customizer:sass', function() {
+ sequence('customizer:loadConfig', 'customizer:prepareSassDeps', function() {
var sassFile = customizer.sass(CUSTOMIZER_CONFIG, MODULE_LIST, VARIABLE_LIST);
var stream = createStream('foundation.scss', sassFile);
.pipe(cleancss({ compatibility: 'ie9' }))
.pipe(rename('foundation.min.css'))
.pipe(gulp.dest(path.join(OUTPUT_DIR, 'css')));
+ });
});
// Creates a Foundation JavaScript file from the module list, and also copies dependencies (jQuery, what-input)
// - Copying the index.html file
// - Creating a blank app.css file
// - Creating an app.js file with Foundation initialization code
-gulp.task('customizer', ['customizer:sass', 'customizer:javascript', 'customizer:html'], function(done) {
+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);
rimraf(OUTPUT_DIR, done);
});
});
+});
function createStream(name, content) {
// Create a stream with our entry file
});
// Generates compiled CSS and JS files and sourcemaps and puts them in the dist/ folder
-gulp.task('deploy:dist', ['sass:foundation', 'javascript:foundation'], function() {
+gulp.task('deploy:dist', function() {
+ 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 });
.pipe(uglify())
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest('./dist/js'));
+ });
});
// Copies standalone JavaScript plugins to dist/ folder
});
// The Customizer runs this function to generate files it needs
-gulp.task('deploy:custom', ['sass:foundation', 'javascript:foundation'], function() {
+gulp.task('deploy:custom', function() {
+ sequence('sass:foundation', 'javascript:foundation', function() {
gulp.src('./_build/assets/css/foundation.css')
.pipe(cleancss({ compatibility: 'ie9' }))
.pipe(rename('foundation.min.css'))
.pipe(uglify())
.pipe(rename('foundation.min.js'))
.pipe(gulp.dest('./_build/assets/js'));
+ });
});
});
gulp.task('lint:javascript', function () {
- return gulp.src(CONFIG.JS_FILES)
- .pipe(eslint({
- useEslintrc: true,
- configFile: '.eslintrc'
- }))
- .pipe(eslint.format())
- .pipe(eslint.failAfterError());
+ return gulp.src(CONFIG.JS_FILES)
+ .pipe(eslint({
+ useEslintrc: true,
+ configFile: '.eslintrc'
+ }))
+ .pipe(eslint.format())
+ .pipe(eslint.failAfterError());
});