Skip to content

Commit f6738e8

Browse files
committed
Update gulp tasks to Gulp 4 syntax. [WIP]
1 parent a0ae554 commit f6738e8

File tree

14 files changed

+145
-77
lines changed

14 files changed

+145
-77
lines changed

gulp/tasks/bower/install.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
var gulp = require('gulp');
22
var bower = require('gulp-bower');
33

4-
gulp.task('bower:install', function () {
4+
function bowerInstall(done) {
55
return bower();
6-
});
6+
}
7+
8+
gulp.task('bower:install', bowerInstall);
9+
10+
exports.default = bowerInstall;

gulp/tasks/build.js

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
var gulp = require('gulp');
2-
var sequence = require('gulp-sequence');
32

4-
gulp.task('build', function (done) {
5-
sequence('bower:install', 'styles', 'drush:kw-b', done);
6-
});
3+
function build(done) {
4+
gulp.series('bower:install', 'styles', 'drush:kw-b', done)(done);
5+
}
6+
7+
gulp.task('build', build);
8+
9+
exports.default = build;

gulp/tasks/config/environment.js

+10-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
var fs = require('fs');
22
var gulp = require('gulp');
3-
var inquirer = require('inquirer');
3+
4+
//
5+
var inquirer;
46

57
var cwd = process.cwd();
68

@@ -14,7 +16,10 @@ var questions = [{
1416
'choices': ['production', 'development']
1517
}];
1618

17-
gulp.task('config:environment', function (done) {
19+
async function configEnvironment(done) {
20+
if (!inquirer) {
21+
inquirer = (await import('inquirer').default);
22+
}
1823
if (isProduction) {
1924
return fs.writeFile(cwd + '/cnf/environment', 'production', done);
2025
}
@@ -26,4 +31,6 @@ gulp.task('config:environment', function (done) {
2631

2732
done();
2833
});
29-
});
34+
}
35+
36+
exports.configEnvironment = configEnvironment;

gulp/tasks/config/index.js

+8-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
var gulp = require('gulp');
2-
var sequence = require('gulp-sequence');
32

4-
gulp.task('config', function(done) {
5-
sequence('config:environment', 'config:settings', done);
6-
});
3+
var configEnvironment = require('./environment').configEnvironment;
4+
var configSettings = require('./settings').configSettings;
5+
6+
function config(done) {
7+
gulp.series(configEnvironment, configSettings, done)(done);
8+
};
9+
10+
exports.config = config;

gulp/tasks/config/settings.js

+36-29
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
var fs = require('fs');
22
var gulp = require('gulp');
33
var slug = require('slug');
4-
var inquirer = require('inquirer');
54
var rename = require('gulp-rename');
65
var replace = require('gulp-replace');
76

7+
// change to dynamic import.
8+
var inquirer;
9+
810
var cwd = process.cwd();
911
var isProduction = process.env.IS_PRODUCTION;
1012

@@ -26,33 +28,6 @@ var questions = info.map(function (info) {
2628
return info;
2729
});
2830

29-
gulp.task('config:settings', function () {
30-
if (isProduction) {
31-
return gulp.src('src/cnf/settings.local.base.php')
32-
.pipe(replace('%SETTINGS_DATABASE_NAME%', process.env.DB_NAME))
33-
.pipe(replace('%SETTINGS_DATABASE_USERNAME%', process.env.DB_USERNAME))
34-
.pipe(replace('%SETTINGS_DATABASE_PASSWORD%', process.env.DB_PASSWORD))
35-
.pipe(replace('%SETTINGS_DATABASE_HOST%', process.env.DB_HOST))
36-
.pipe(replace('%SETTINGS_DATABASE_PORT%', process.env.DB_PORT))
37-
.pipe(replace('%SETTINGS_DATABASE_DRIVER%', process.env.DB_DRIVER))
38-
.pipe(replace('%SETTINGS_DATABASE_PREFIX%', ''))
39-
.pipe(rename('settings.local.php'))
40-
.pipe(gulp.dest('cnf'));
41-
}
42-
return inquirer.prompt(questions).then(function (answers) {
43-
return gulp.src('src/cnf/settings.local.base.php')
44-
.pipe(replace('%SETTINGS_DATABASE_NAME%', answers.name))
45-
.pipe(replace('%SETTINGS_DATABASE_USERNAME%', answers.username))
46-
.pipe(replace('%SETTINGS_DATABASE_PASSWORD%', answers.password))
47-
.pipe(replace('%SETTINGS_DATABASE_HOST%', answers.host))
48-
.pipe(replace('%SETTINGS_DATABASE_PORT%', answers.port))
49-
.pipe(replace('%SETTINGS_DATABASE_DRIVER%', answers.driver))
50-
.pipe(replace('%SETTINGS_DATABASE_PREFIX%', answers.prefix))
51-
.pipe(rename('settings.local.php'))
52-
.pipe(gulp.dest('cnf'));
53-
});
54-
});
55-
5631
var validateMap = {
5732
'empty': ['name', 'username', 'host', 'driver'],
5833
'slug': ['name', 'username', 'port', 'driver', 'prefix']
@@ -79,5 +54,37 @@ function validation(value) {
7954
return info.name + ' cannot have invalid characters';
8055
}
8156

82-
return true
57+
return true;
8358
}
59+
60+
async function configSettings(done) {
61+
if (isProduction) {
62+
return gulp.src('src/cnf/settings.local.base.php')
63+
.pipe(replace('%SETTINGS_DATABASE_NAME%', process.env.DB_NAME))
64+
.pipe(replace('%SETTINGS_DATABASE_USERNAME%', process.env.DB_USERNAME))
65+
.pipe(replace('%SETTINGS_DATABASE_PASSWORD%', process.env.DB_PASSWORD))
66+
.pipe(replace('%SETTINGS_DATABASE_HOST%', process.env.DB_HOST))
67+
.pipe(replace('%SETTINGS_DATABASE_PORT%', process.env.DB_PORT))
68+
.pipe(replace('%SETTINGS_DATABASE_DRIVER%', process.env.DB_DRIVER))
69+
.pipe(replace('%SETTINGS_DATABASE_PREFIX%', ''))
70+
.pipe(rename('settings.local.php'))
71+
.pipe(gulp.dest('cnf'));
72+
}
73+
if (!inquirer) {
74+
inquirer = (await import('inquirer').default);
75+
}
76+
return inquirer.prompt(questions).then(function (answers) {
77+
return gulp.src('src/cnf/settings.local.base.php')
78+
.pipe(replace('%SETTINGS_DATABASE_NAME%', answers.name))
79+
.pipe(replace('%SETTINGS_DATABASE_USERNAME%', answers.username))
80+
.pipe(replace('%SETTINGS_DATABASE_PASSWORD%', answers.password))
81+
.pipe(replace('%SETTINGS_DATABASE_HOST%', answers.host))
82+
.pipe(replace('%SETTINGS_DATABASE_PORT%', answers.port))
83+
.pipe(replace('%SETTINGS_DATABASE_DRIVER%', answers.driver))
84+
.pipe(replace('%SETTINGS_DATABASE_PREFIX%', answers.prefix))
85+
.pipe(rename('settings.local.php'))
86+
.pipe(gulp.dest('cnf'));
87+
});
88+
}
89+
90+
exports.configSettings = configSettings;

gulp/tasks/default.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
var gulp = require('gulp');
22

3-
gulp.task('default', function () {
3+
gulp.task('default', function (done) {
44
// Placeholder since 'default' task is now mandatory.
5+
done();
56
});

gulp/tasks/distro/pack.js

+11-6
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,15 @@ var kwEnvConfigFile = cwd + '/cnf/environment';
77
var repo = 'https://github.com/PECE-project/pece-distro.git';
88
var commitMessage = 'New release based on master of development repository.';
99

10-
gulp.task('distro:pack', ['distro:prepare'], function () {
10+
function distroPack() {
11+
gulp.series(distroPrepare, function () {
12+
shell.cd('distro');
13+
shell.exec('git add -A');
14+
// shell.exec('git commit -m "' + commitMessage + '"');
15+
//shell.exec('git push ' + repo + ' master');
16+
});
17+
}
1118

12-
shell.cd('distro');
13-
shell.exec('git add -A');
14-
// shell.exec('git commit -m "' + commitMessage + '"');
15-
//shell.exec('git push ' + repo + ' master');
16-
});
19+
gulp.task('distro:pack', distroPack);
20+
21+
exports.distroPack = distroPack;

gulp/tasks/drush/kw-b.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ var util = require('../../lib/util');
66
var cwd = process.cwd(), command = '', env, environmentMakePath;
77
var profilePath = cwd + '/build/profiles/pece';
88

9-
gulp.task('drush:kw-b', function (done) {
9+
function drushKw_b(done) {
1010
shell.exec('drush kw-b');
1111

1212
getEnvironmentMakePath(function (err, makeFile) {
@@ -26,7 +26,9 @@ gulp.task('drush:kw-b', function (done) {
2626

2727
done();
2828
});
29-
});
29+
}
30+
31+
gulp.task('drush:kw-b', drushKw_b);
3032

3133
/**
3234
* Helper method to retrieve an environment make path.
@@ -40,3 +42,5 @@ function getEnvironmentMakePath(callback) {
4042
});
4143
});
4244
}
45+
46+
exports.default = drushKw_b;

gulp/tasks/install.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
var gulp = require('gulp');
22

3-
gulp.task('install', ['bower:install']);
3+
gulp.task('install', gulp.series('bower:install'));

gulp/tasks/setup.js

+9-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
var gulp = require('gulp');
2-
var sequence = require('gulp-sequence');
32
var shell = require('shelljs');
43
var prompt = require('gulp-prompt');
54

6-
gulp.task('setup', function (done) {
7-
sequence('drush:kw-s', 'config', done);
8-
});
5+
// Import external tasks.
6+
var drushKw_s = require('./drush/kw-s.js').drushKw_s;
7+
var config = require('./config/index.js').config;
8+
9+
function setup(done) {
10+
gulp.series(drushKw_s, config)(done);
11+
}
12+
13+
exports.setup = setup;

gulp/tasks/styles.js

+16-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
11
var gulp = require('gulp');
2-
var sass = require('gulp-sass');
3-
var autoprefixer = require('gulp-autoprefixer');
2+
// var sass = require('gulp-sass');
3+
const sass = require('gulp-sass')(require('sass'));
4+
5+
6+
// change to dynamic import
7+
var autoprefixer;
8+
9+
async function styles() {
10+
if (!autoprefixer) {
11+
autoprefixer = (await import('gulp-autoprefixer')).default;
12+
}
413

5-
gulp.task('styles', function () {
614
return gulp.src('src/themes/pece_scholarly_lite/assets/sass/sources/**/*')
715
.pipe(sass({
816
includePaths: [
@@ -11,8 +19,11 @@ gulp.task('styles', function () {
1119
]
1220
}).on('error', sass.logError))
1321
.pipe(autoprefixer({
14-
browsers: ['last 2 versions'],
1522
cascade: false
1623
}))
1724
.pipe(gulp.dest('src/themes/pece_scholarly_lite/assets/css'));
18-
});
25+
}
26+
27+
gulp.task('styles', styles);
28+
29+
exports.default = styles;

gulp/tasks/tests/e2e.js

+15-7
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,18 @@
22
var gulp = require('gulp');
33
var protractor = require('gulp-protractor').protractor;
44

5-
gulp.task('test:e2e', ['webdriver:start'], function () {
6-
return gulp.src('tests/e2e/smoke.spec.js')
7-
.pipe(protractor({
8-
configFile: 'tests/e2e/smoke.conf.js',
9-
debug: false
10-
}));
11-
});
5+
var webdriverStart = require('../webdriver/start');
6+
7+
function e2e(done) {
8+
gulp.series(webdriverStart, function (done) {
9+
return gulp.src('tests/e2e/smoke.spec.js')
10+
.pipe(protractor({
11+
configFile: 'tests/e2e/smoke.conf.js',
12+
debug: false
13+
}));
14+
})
15+
}
16+
17+
gulp.task('test:e2e', e2e);
18+
19+
exports.default = e2e;

gulp/tasks/watch.js

+9-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
var gulp = require('gulp');
2+
var styles = require('./styles');
23

3-
gulp.task('watch:styles', ['styles'], function () {
4-
gulp.watch('src/themes/pece_scholarly_lite/assets/sass/**/*', ['styles']);
5-
});
4+
function watchStyles(done) {
5+
gulp.series(styles, function (done) {
6+
gulp.watch('src/themes/pece_scholarly_lite/assets/sass/**/*', gulp.series('styles'));
7+
})(done);
8+
}
69

7-
gulp.task('watch', ['watch:styles']);
10+
gulp.task('watch:styles', watchStyles);
11+
12+
gulp.task('watch', gulp.series('watch:styles'));

gulp/tasks/webdriver/start.js

+9-5
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@ var spawn = require('child_process').spawn;
44
var webdriverPath = process.cwd() + '/node_modules/.bin/webdriver-manager';
55
var webdriver;
66

7-
gulp.task('webdriver:start', function (done) {
7+
function webdriverStart(done) {
88
var tryAgain = null;
99
var fuser;
1010

1111
// Check if port 4444 is already in use. In this case, probably the
1212
// developer has already started a webdriver-manager instance.
1313
util.isPortTaken(4444, function (err, used) {
14-
err || used ? done(err) : webdriverStart();
14+
err || used ? done(err) : doWebdriverStart();
1515
});
1616

1717
/**
1818
* Webdriver starter. Encapsulated so we can try again.
1919
*/
20-
function webdriverStart() {
20+
function doWebdriverStart() {
2121
webdriver = spawn(webdriverPath, ['start']);
2222
webdriver.stdout.on('data', onMessage);
2323
webdriver.stderr.on('data', onMessage);
@@ -31,7 +31,7 @@ gulp.task('webdriver:start', function (done) {
3131
if (tryAgain) {
3232
tryAgain = false;
3333
fuser = spawn('fuser', ['-k', '4444/tcp']);
34-
return fuser.on('close', webdriverStart);
34+
return fuser.on('close', doWebdriverStart);
3535
}
3636

3737
done('Could not initiate webdriver. Make sure this machine has an available display (either real or xfvb).');
@@ -56,4 +56,8 @@ gulp.task('webdriver:start', function (done) {
5656
}
5757
});
5858
}
59-
});
59+
}
60+
61+
gulp.task('webdriver:start', webdriverStart);
62+
63+
exports.default = webdriverStart;

0 commit comments

Comments
 (0)