Skip to content

Commit 4c9a275

Browse files
authored
Merge pull request #2151 from Symro/master
upgrade to gulp 4 and update others dev dependencies
2 parents 978b1e3 + ef39fca commit 4c9a275

File tree

4 files changed

+5938
-3775
lines changed

4 files changed

+5938
-3775
lines changed

.travis.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ git:
88
language: node_js
99

1010
node_js:
11-
- 6
1211
- 8
1312
- 9
13+
- 10
1414

1515
dist: trusty
1616
sudo: false

gulpfile.babel.js

+35-46
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,6 @@ import gulp from 'gulp';
77
// and attach them to the `plugins` object
88
import plugins from 'gulp-load-plugins';
99

10-
// Temporary solution until gulp 4
11-
// https://github.com/gulpjs/gulp/issues/355
12-
import runSequence from 'run-sequence';
13-
1410
import archiver from 'archiver';
1511
import glob from 'glob';
1612
import del from 'del';
@@ -20,19 +16,18 @@ import modernizr from 'modernizr';
2016
import pkg from './package.json';
2117
import modernizrConfig from './modernizr-config.json';
2218

23-
2419
const dirs = pkg['h5bp-configs'].directories;
2520

2621
// ---------------------------------------------------------------------
2722
// | Helper tasks |
2823
// ---------------------------------------------------------------------
2924

30-
gulp.task('archive:create_archive_dir', () => {
25+
gulp.task('archive:create_archive_dir', (done) => {
3126
fs.mkdirSync(path.resolve(dirs.archive), '0755');
27+
done();
3228
});
3329

3430
gulp.task('archive:zip', (done) => {
35-
3631
const archiveName = path.resolve(dirs.archive, `${pkg.name}_v${pkg.version}.zip`);
3732
const zip = archiver('zip');
3833
const files = glob.sync('**/*.*', {
@@ -49,7 +44,6 @@ gulp.task('archive:zip', (done) => {
4944
output.on('close', done);
5045

5146
files.forEach((file) => {
52-
5347
const filePath = path.resolve(dirs.dist, file);
5448

5549
// `zip.bulk` does not maintain the file
@@ -58,12 +52,11 @@ gulp.task('archive:zip', (done) => {
5852
'name': file,
5953
'mode': fs.statSync(filePath).mode
6054
});
61-
6255
});
6356

6457
zip.pipe(output);
6558
zip.finalize();
66-
59+
done();
6760
});
6861

6962
gulp.task('clean', (done) => {
@@ -75,16 +68,6 @@ gulp.task('clean', (done) => {
7568
});
7669
});
7770

78-
gulp.task('copy', [
79-
'copy:.htaccess',
80-
'copy:index.html',
81-
'copy:jquery',
82-
'copy:license',
83-
'copy:main.css',
84-
'copy:misc',
85-
'copy:normalize'
86-
]);
87-
8871
gulp.task('copy:.htaccess', () =>
8972
gulp.src('node_modules/apache-server-configs/dist/.htaccess')
9073
.pipe(plugins().replace(/# ErrorDocument/g, 'ErrorDocument'))
@@ -94,12 +77,12 @@ gulp.task('copy:.htaccess', () =>
9477
gulp.task('copy:index.html', () => {
9578
const hash = ssri.fromData(
9679
fs.readFileSync('node_modules/jquery/dist/jquery.min.js'),
97-
{algorithms: ['sha256']}
80+
{ algorithms: ['sha256'] }
9881
);
9982
let version = pkg.devDependencies.jquery;
10083
let modernizrVersion = pkg.devDependencies.modernizr;
10184

102-
gulp.src(`${dirs.src}/index.html`)
85+
return gulp.src(`${dirs.src}/index.html`)
10386
.pipe(plugins().replace(/{{JQUERY_VERSION}}/g, version))
10487
.pipe(plugins().replace(/{{MODERNIZR_VERSION}}/g, modernizrVersion))
10588
.pipe(plugins().replace(/{{JQUERY_SRI_HASH}}/g, hash.toString()))
@@ -120,31 +103,26 @@ gulp.task('copy:license', () =>
120103
gulp.task('copy:main.css', () => {
121104
const banner = `/*! HTML5 Boilerplate v${pkg.version} | ${pkg.license} License | ${pkg.homepage} */\n\n`;
122105

123-
gulp.src(`node_modules/main.css/dist/main.css`)
106+
return gulp.src('node_modules/main.css/dist/main.css')
124107
.pipe(plugins().header(banner))
125108
.pipe(plugins().autoprefixer({
126-
browsers: ['last 2 versions', 'ie >= 9', '> 1%'],
127109
cascade: false
128110
}))
129111
.pipe(gulp.dest(`${dirs.dist}/css`));
130112
});
131113

132114
gulp.task('copy:misc', () =>
133115
gulp.src([
134-
135116
// Copy all files
136117
`${dirs.src}/**/*`,
137118

138119
// Exclude the following files
139120
// (other tasks will handle the copying of these files)
140121
`!${dirs.src}/css/main.css`,
141122
`!${dirs.src}/index.html`
142-
143123
], {
144-
145124
// Include hidden files by default
146125
dot: true
147-
148126
}).pipe(gulp.dest(dirs.dist))
149127
);
150128

@@ -153,42 +131,53 @@ gulp.task('copy:normalize', () =>
153131
.pipe(gulp.dest(`${dirs.dist}/css`))
154132
);
155133

156-
gulp.task('modernizr', (done) =>{
157-
134+
gulp.task('modernizr', (done) => {
158135
modernizr.build(modernizrConfig, (code) => {
159136
fs.writeFile(`${dirs.dist}/js/vendor/modernizr-${pkg.devDependencies.modernizr}.min.js`, code, done);
160137
});
161-
162138
});
163139

164140
gulp.task('lint:js', () =>
165141
gulp.src([
166-
'gulpfile.js',
167142
`${dirs.src}/js/*.js`,
168143
`${dirs.test}/*.js`
169144
]).pipe(plugins().jscs())
170145
.pipe(plugins().eslint())
171146
.pipe(plugins().eslint.failOnError())
172147
);
173148

174-
175149
// ---------------------------------------------------------------------
176150
// | Main tasks |
177151
// ---------------------------------------------------------------------
152+
gulp.task(
153+
'copy',
154+
gulp.series(
155+
'copy:.htaccess',
156+
'copy:index.html',
157+
'copy:jquery',
158+
'copy:license',
159+
'copy:main.css',
160+
'copy:misc',
161+
'copy:normalize'
162+
)
163+
);
164+
165+
gulp.task(
166+
'build',
167+
gulp.series(
168+
gulp.parallel('clean', 'lint:js'),
169+
'copy',
170+
'modernizr'
171+
)
172+
);
178173

179-
gulp.task('archive', (done) => {
180-
runSequence(
174+
gulp.task(
175+
'archive',
176+
gulp.series(
181177
'build',
182178
'archive:create_archive_dir',
183-
'archive:zip',
184-
done);
185-
});
186-
187-
gulp.task('build', (done) => {
188-
runSequence(
189-
['clean', 'lint:js'],
190-
'copy', 'modernizr',
191-
done);
192-
});
179+
'archive:zip'
180+
)
181+
);
193182

194-
gulp.task('default', ['build']);
183+
gulp.task('default', gulp.series('build'));

0 commit comments

Comments
 (0)