Skip to content

Commit a2891ac

Browse files
authored
feat(build): gulp 5 upgrade
Upgrades to gulp 5 and makes sure the dist files are identical to 4.0.2 which needed some adjustments as gulp 5 changed some internal logic assets should not be encoded (otherwise every font and image is broken) ordered globs (for concatenation) needed an additional package and handle each js/css file separately. This might increase the overall compilation time
1 parent 86f0306 commit a2891ac

File tree

12 files changed

+558
-1527
lines changed

12 files changed

+558
-1527
lines changed

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,20 +38,19 @@
3838
"browserslist": "^4.21.4",
3939
"del": "^6.1.1",
4040
"extend": "^3.0.2",
41-
"gulp": "^4.0.0",
41+
"gulp": "^5.0.0",
4242
"gulp-autoprefixer": "^8.0.0",
43-
"gulp-chmod": "^2.0.0",
43+
"gulp-chmod": "^3.0.0",
4444
"gulp-clean-css": "^4.3.0",
4545
"gulp-clone": "^2.0.1",
4646
"gulp-concat": "^2.6.1",
4747
"gulp-concat-css": "^3.1.0",
4848
"gulp-concat-filenames": "^1.2.0",
49-
"gulp-copy": "^4.0.0",
5049
"gulp-dedupe": "^0.0.2",
5150
"gulp-flatten": "^0.4.0",
5251
"gulp-git": "^2.9.0",
5352
"gulp-header": "^2.0.5",
54-
"gulp-if": "^2.0.2",
53+
"gulp-if": "^3.0.0",
5554
"gulp-json-editor": "^2.4.3",
5655
"gulp-less": "^5.0.0",
5756
"gulp-plumber": "^1.1.0",
@@ -68,6 +67,7 @@
6867
"merge-stream": "^2.0.0",
6968
"mkdirp": "^1.0.4",
7069
"normalize-path": "^3.0.0",
70+
"ordered-read-streams": "^2.0.0",
7171
"replace-ext": "^1.0.0",
7272
"require-dot-file": "^0.4.0",
7373
"wrench-sui": "^0.0.3",

tasks/admin/components/create.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ module.exports = function (callback) {
127127

128128
// copy dist files into output folder adjusting asset paths
129129
function copyDist() {
130-
return gulp.src(release.source + component + '.*')
130+
return gulp.src(release.source + component + '.*', { encoding: false })
131131
.pipe(plumber())
132132
.pipe(flatten())
133133
.pipe(replace(release.paths.source, release.paths.output))
@@ -268,7 +268,7 @@ module.exports = function (callback) {
268268
filenames += file.contents;
269269
}))
270270
.on('end', function () {
271-
gulp.src(manifest.assets)
271+
gulp.src(manifest.assets, { encoding: false })
272272
.pipe(concatFileNames('empty.txt', concatSettings))
273273
.pipe(tap(function (file) {
274274
filenames += file.contents;

tasks/admin/components/update.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ module.exports = function (callback) {
113113
console.info('Committing ' + component + ' files', commitArgs);
114114
gulp.src('./', gitOptions)
115115
.pipe(git.add(gitOptions))
116-
.pipe(git.commit(commitMessage, commitOptions))
116+
.pipe(git.commit(commitMessage, commitOptions), function () {})
117117
.on('error', function (error) {
118118
// canProceed = false; bug in git commit <https://github.com/stevelacy/gulp-git/issues/49>
119119
})

tasks/admin/distributions/create.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ module.exports = function (callback) {
136136
components,
137137
releases
138138
;
139-
themes = gulp.src('dist/themes/default/**/*', { base: 'dist/' })
139+
themes = gulp.src('dist/themes/default/**/*', { base: 'dist/', encoding: false })
140140
.pipe(gulp.dest(outputDirectory))
141141
;
142142
components = gulp.src('dist/components/*', { base: 'dist/' })
@@ -177,7 +177,7 @@ module.exports = function (callback) {
177177
siteTheme = gulp.src('src/_site/**/*', { base: 'src/' })
178178
.pipe(gulp.dest(outputDirectory))
179179
;
180-
themes = gulp.src('src/themes/**/*', { base: 'src/' })
180+
themes = gulp.src('src/themes/**/*', { base: 'src/', encoding: false })
181181
.pipe(gulp.dest(outputDirectory))
182182
;
183183

tasks/admin/distributions/update.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ module.exports = function (callback) {
7878
? 'Updated distribution to version ' + version
7979
: 'Updated files from main repo',
8080

81-
gitOptions = { cwd: outputDirectory },
81+
gitOptions = { cwd: outputDirectory, encoding: false },
8282
commitOptions = { args: commitArgs, cwd: outputDirectory },
8383
releaseOptions = { tag_name: version, owner: release.org, repo: repoName },
8484

@@ -109,7 +109,7 @@ module.exports = function (callback) {
109109
console.info('Committing ' + distribution + ' files', commitArgs);
110110
gulp.src('./', gitOptions)
111111
.pipe(git.add(gitOptions))
112-
.pipe(git.commit(commitMessage, commitOptions))
112+
.pipe(git.commit(commitMessage, commitOptions), function () {})
113113
.on('error', function (error) {
114114
// canProceed = false; bug in git commit <https://github.com/stevelacy/gulp-git/issues/49>
115115
})

tasks/build/assets.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ const
2020
;
2121

2222
function build(src, config) {
23-
return gulp.src(src, { base: config.paths.source.themes })
23+
return gulp.src(src, { base: config.paths.source.themes, encoding: false })
2424
.pipe(gulpif(config.hasPermissions, chmod(config.parsedPermissions)))
2525
.pipe(gulp.dest(config.paths.output.themes))
2626
.pipe(print(log.created))

tasks/build/css.js

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ const
1919
less = require('gulp-less'),
2020
minifyCSS = require('gulp-clean-css'),
2121
normalize = require('normalize-path'),
22+
ordered = require('ordered-read-streams'),
2223
plumber = require('gulp-plumber'),
2324
print = require('gulp-print').default,
2425
rename = require('gulp-rename'),
@@ -101,12 +102,20 @@ function pack(type, compress) {
101102
concatenatedCSS = compress ? filenames.concatenatedMinifiedCSS : filenames.concatenatedCSS;
102103
}
103104

104-
let src = output.uncompressed + '/**/' + globs.components + ignoredGlobs;
105-
if (globs.components.indexOf('table') < 0 && globs.components.indexOf('tab') > 0) {
106-
src = [src, '!' + output.uncompressed + '/**/table.css'];
107-
}
105+
let src = globs.components
106+
.replace(/[{}]/g, '')
107+
.split(',')
108+
.map((c) => {
109+
let srcSingle = output.uncompressed + '/**/' + c + ignoredGlobs;
110+
if (c === 'tab' && globs.components.indexOf('table') < 0) {
111+
srcSingle = [srcSingle, '!' + output.uncompressed + '/**/table.css'];
112+
}
113+
114+
return gulp.src(srcSingle);
115+
})
116+
;
108117

109-
return gulp.src(src)
118+
return ordered(src)
110119
.pipe(plumber())
111120
.pipe(dedupe())
112121
.pipe(replace(assets.uncompressed, assets.packaged))

tasks/build/javascript.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ const
1616
gulpif = require('gulp-if'),
1717
header = require('gulp-header'),
1818
normalize = require('normalize-path'),
19+
ordered = require('ordered-read-streams'),
1920
plumber = require('gulp-plumber'),
2021
print = require('gulp-print').default,
2122
rename = require('gulp-rename'),
@@ -72,7 +73,13 @@ function pack(type, compress) {
7273
const output = type === 'docs' ? docsConfig.paths.output : config.paths.output;
7374
const concatenatedJS = compress ? filenames.concatenatedMinifiedJS : filenames.concatenatedJS;
7475

75-
return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignored + '.js')
76+
let src = globs.components
77+
.replace(/[{}]/g, '')
78+
.split(',')
79+
.map((c) => gulp.src(output.uncompressed + '/**/' + c + globs.ignored + '.js'))
80+
;
81+
82+
return ordered(src)
7683
.pipe(plumber())
7784
.pipe(dedupe())
7885
.pipe(replace(assets.uncompressed, assets.packaged))

tasks/config/defaults.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,8 @@ module.exports = {
115115
// whether to load admin tasks
116116
admin: false,
117117

118+
stripHeaders: false,
119+
118120
header: {},
119121

120122
// globs used for matching file patterns

tasks/docs/build.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ module.exports = function (callback) {
7171
// copy src/ to server
7272
console.info('Copying examples');
7373

74-
return gulp.src('examples/**/*.*')
74+
return gulp.src('examples/**/*.*', { encoding: false })
7575
.pipe(gulp.dest(output.examples))
7676
.pipe(print(log.created))
7777
;
@@ -85,7 +85,7 @@ module.exports = function (callback) {
8585
// copy src/ to server
8686
console.info('Copying LESS source');
8787

88-
return gulp.src('src/**/*.*')
88+
return gulp.src('src/**/*.*', { encoding: false })
8989
.pipe(gulp.dest(output.less))
9090
.pipe(print(log.created))
9191
;

0 commit comments

Comments
 (0)