Skip to content

Commit 9ca8342

Browse files
committed
chore(gulp): Optimized overall Gulp watcher performance
- Added specific build processes for watchers, increasing performance due to more specific file globbing - Fixed tslinter settings - Renamed a few Gulp tasks, in particular '--dev' and '--prod'
1 parent 36aa4e3 commit 9ca8342

18 files changed

+117
-141
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ before_script:
2929
- export DISPLAY=:99.0
3030
- sh -e /etc/init.d/xvfb start # Run xvfb to fake a display (muhaha ...)
3131
script:
32-
- npm run gulp build:prod && npm run gulp test # First build, then (if successful) test
32+
- npm run gulp build--prod && npm run gulp test # First build, then (if successful) test
3333

3434
before_deploy: # Automatic semantic release
3535
- git config --global user.name "dominique-mueller"; # Setup git

gulp-tasks/build.task.js

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,47 @@
11
'use strict';
22

3-
/**
4-
* Imports
5-
*/
63
const gulp = require( 'gulp' );
74

8-
/**
9-
* Gulp tasks
10-
*/
115
const environmentClean = require( './environment/environment-clean.task' );
126
const sassBuild = require( './sass/sass-build.task' );
137
const sassLint = require( './sass/sass-lint.task' );
148
const typescriptBuild = require( './typescript/typescript-build.task' );
159
const typescriptLint = require( './typescript/typescript-lint.task' );
1610

1711
/**
18-
* Gulp task: Build for Development
12+
* Gulp task: Complete build for development
1913
*/
20-
gulp.task( 'build:dev',
14+
gulp.task( 'build--dev',
2115
gulp.series( [
2216
'environment:clean',
2317
gulp.parallel( [
24-
'typescript:build',
25-
'sass:build'
18+
'typescript:build--dev',
19+
'sass:build--dev'
2620
] )
2721
] )
2822
);
2923

3024
/**
31-
* Gulp task: Build for Production
25+
* Gulp task: Complete build for Production
3226
*/
33-
gulp.task( 'build:prod',
27+
gulp.task( 'build--prod',
3428
gulp.series( [
3529
'environment:clean',
3630
gulp.parallel( [
3731
'typescript:lint',
3832
'sass:lint',
39-
'typescript:build',
40-
'sass:build'
33+
'typescript:build--prod',
34+
'sass:build--prod'
4135
] )
4236
] )
4337
);
4438

4539
/**
4640
* Gulp task: Build Demo
4741
*/
48-
gulp.task( 'build:demo',
42+
gulp.task( 'build--demo',
4943
gulp.series( [
50-
'environment:clean:demo',
51-
'typescript:build:demo'
44+
'environment:clean--demo',
45+
'typescript:build--demo'
5246
] )
5347
);

gulp-tasks/environment/environment-clean.task.js

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,28 @@
11
'use strict';
22

3-
/**
4-
* Imports
5-
*/
63
const del = require( 'del' );
74
const gulp = require( 'gulp' );
85

96
/**
10-
* Gulp task: Clean build files
7+
* Gulp task: Clean project build files
118
*/
129
gulp.task( 'environment:clean', () => {
1310
return del( [
14-
'./index.js',
11+
'./index.js', // Generated JavaScript, sourcemaps, and TypeScript definition files ...
1512
'./index.js.map',
1613
'./index.d.ts',
1714
'./src/**/*.js',
1815
'./src/**/*.js.map',
1916
'./src/**/*.d.ts',
20-
'./style.css',
17+
'./style.css', // ... and CSS files
2118
'./src/styles/**/*.css'
2219
] );
2320
} );
2421

2522
/**
26-
* Gulp task: Clean build files (demo)
23+
* Gulp task: Clean demo build files
2724
*/
28-
gulp.task( 'environment:clean:demo', () => {
25+
gulp.task( 'environment:clean--demo', () => {
2926
return del( [
3027
'./demo/*.js',
3128
'!./demo/systemjs.config.js'

gulp-tasks/release.task.js

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,14 @@
11
'use strict';
22

3-
/**
4-
* Imports
5-
*/
63
const gulp = require( 'gulp' );
74

8-
/**
9-
* Gulp tasks
10-
*/
115
const releaseChangelog = require( './release/release-changelog.task' );
126
const releaseGit = require( './release/release-git.task' );
137
const releaseGithub = require( './release/release-github.task' );
148
const releaseVersion = require( './release/release-version.task' );
159

1610
/**
17-
* Gulp task: Release process for Continuous Integration
11+
* Gulp task: Release process for Continuous Integration (Travis CI)
1812
*/
1913
gulp.task( 'release', gulp.series( [
2014
'release:version',

gulp-tasks/release/release-changelog.task.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
'use strict';
22

3-
/**
4-
* Imports
5-
*/
63
const conventionalChangelog = require( 'gulp-conventional-changelog' );
74
const fs = require( 'fs' );
85
const gulp = require( 'gulp' );

gulp-tasks/release/release-git.task.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
'use strict';
22

3-
/**
4-
* Imports
5-
*/
63
const fs = require( 'fs' );
74
const git = require( 'gulp-git' );
85
const gulp = require( 'gulp' );

gulp-tasks/release/release-github.task.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
'use strict';
22

3-
/**
4-
* Imports
5-
*/
63
const conventionalGithubReleaser = require( 'conventional-github-releaser' );
74
const fs = require( 'fs' );
85
const gulp = require( 'gulp' );

gulp-tasks/release/release-version.task.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
'use strict';
22

3-
/**
4-
* Imports
5-
*/
63
const bump = require( 'gulp-bump' );
74
const conventionalRecommendedBump = require( 'conventional-recommended-bump' );
85
const gulp = require( 'gulp' );

gulp-tasks/sass/sass-build.task.js

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,38 @@
11
'use strict';
22

3-
/**
4-
* Imports
5-
*/
63
const autoprefixer = require( 'gulp-autoprefixer' );
74
const gulp = require( 'gulp' );
85
const sass = require( 'gulp-sass' );
96

107
/**
11-
* Gulp task: Build SASS
8+
* Gulp task: Build project SASS for development
9+
*/
10+
gulp.task( 'sass:build--dev', () => {
11+
return gulp
12+
.src( [
13+
'./style.scss', // Only style file
14+
] )
15+
.pipe( sass( {
16+
'errLogToConsole': true,
17+
'outputStyle': 'expanded' // No minifying
18+
} ).on( 'error', sass.logError ) )
19+
.pipe( autoprefixer() ) // Optional, could be removed for dev
20+
.pipe( gulp.dest( './' ) );
21+
} );
22+
23+
/**
24+
* Gulp task: Build project SASS for production
1225
*/
13-
gulp.task( 'sass:build', () => {
26+
gulp.task( 'sass:build--prod', () => {
1427
return gulp
1528
.src( [
1629
'./**/*.scss', // Keep file structure
17-
'!./node_modules/**/*', // Ignore dependencies
18-
'!./demo/**/*' // Ignore demo
30+
'!./node_modules/**', // Ignore dependencies
31+
'!./demo/**' // Ignore demo
1932
] )
2033
.pipe( sass( {
2134
'errLogToConsole': true,
22-
'outputStyle': 'expanded'
35+
'outputStyle': 'expanded' // No minifying
2336
} ).on( 'error', sass.logError ) )
2437
.pipe( autoprefixer() )
2538
.pipe( gulp.dest( './' ) );

gulp-tasks/sass/sass-lint.task.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
'use strict';
22

3-
/**
4-
* Imports
5-
*/
63
const gulp = require( 'gulp' );
74
const sassLint = require( 'gulp-sass-lint' );
85

96
/**
10-
* Gulp task: Lint SASS
7+
* Gulp task: Lint project SASS
118
*/
129
gulp.task( 'sass:lint', () => {
1310
return gulp

0 commit comments

Comments
 (0)