Merge pull request #953 from KenEucker/master
Dependencies updates. Migrated to gulp4. Added compilation task.
This commit is contained in:
commit
317c136a60
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
116
gulpfile.js
116
gulpfile.js
|
@ -44,30 +44,30 @@ gulp.task( 'sass', function() {
|
||||||
// gulp watch
|
// gulp watch
|
||||||
// Starts watcher. Watcher runs gulp sass task on changes
|
// Starts watcher. Watcher runs gulp sass task on changes
|
||||||
gulp.task( 'watch', function() {
|
gulp.task( 'watch', function() {
|
||||||
gulp.watch( paths.sass + '/**/*.scss', ['styles'] );
|
gulp.watch( `${paths.sass}/**/*.scss`, gulp.series('styles') );
|
||||||
gulp.watch( [paths.dev + '/js/**/*.js', 'js/**/*.js', '!js/theme.js', '!js/theme.min.js'], ['scripts'] );
|
gulp.watch( [`${paths.dev}/js/**/*.js`, 'js/**/*.js', '!js/theme.js', '!js/theme.min.js'], gulp.series('scripts') );
|
||||||
|
|
||||||
//Inside the watch task.
|
//Inside the watch task.
|
||||||
gulp.watch( paths.imgsrc + '/**', ['imagemin-watch'] );
|
gulp.watch( `${paths.imgsrc}/**`, gulp.series('imagemin-watch') );
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Ensures the 'imagemin' task is complete before reloading browsers
|
|
||||||
* @verbose
|
|
||||||
*/
|
|
||||||
gulp.task( 'imagemin-watch', ['imagemin'], function( ) {
|
|
||||||
browserSync.reload();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Run:
|
// Run:
|
||||||
// gulp imagemin
|
// gulp imagemin
|
||||||
// Running image optimizing task
|
// Running image optimizing task
|
||||||
gulp.task( 'imagemin', function() {
|
gulp.task( 'imagemin', function() {
|
||||||
gulp.src( paths.imgsrc + '/**' )
|
gulp.src( `${paths.imgsrc}/**` )
|
||||||
.pipe( imagemin() )
|
.pipe( imagemin() )
|
||||||
.pipe( gulp.dest( paths.img ) );
|
.pipe( gulp.dest( paths.img ) );
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ensures the 'imagemin' task is complete before reloading browsers
|
||||||
|
* @verbose
|
||||||
|
*/
|
||||||
|
gulp.task( 'imagemin-watch', gulp.series('imagemin', function( ) {
|
||||||
|
browserSync.reload();
|
||||||
|
}));
|
||||||
|
|
||||||
// Run:
|
// Run:
|
||||||
// gulp cssnano
|
// gulp cssnano
|
||||||
// Minifies CSS files
|
// Minifies CSS files
|
||||||
|
@ -87,7 +87,7 @@ gulp.task( 'cssnano', function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task( 'minifycss', function() {
|
gulp.task( 'minifycss', function() {
|
||||||
return gulp.src( paths.css + '/theme.css' )
|
return gulp.src( `${paths.css}/theme.css` )
|
||||||
.pipe( sourcemaps.init( { loadMaps: true } ) )
|
.pipe( sourcemaps.init( { loadMaps: true } ) )
|
||||||
.pipe( cleanCSS( { compatibility: '*' } ) )
|
.pipe( cleanCSS( { compatibility: '*' } ) )
|
||||||
.pipe( plumber( {
|
.pipe( plumber( {
|
||||||
|
@ -102,13 +102,13 @@ gulp.task( 'minifycss', function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task( 'cleancss', function() {
|
gulp.task( 'cleancss', function() {
|
||||||
return gulp.src( paths.css + '/*.min.css', { read: false } ) // Much faster
|
return gulp.src( `${paths.css}/*.min.css`, { read: false } ) // Much faster
|
||||||
.pipe( ignore( 'theme.css' ) )
|
.pipe( ignore( 'theme.css' ) )
|
||||||
.pipe( rimraf() );
|
.pipe( rimraf() );
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task( 'styles', function( callback ) {
|
gulp.task( 'styles', function( callback ) {
|
||||||
gulpSequence( 'sass', 'minifycss' )( callback );
|
gulp.series( 'sass', 'minifycss' )( callback );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
// Run:
|
// Run:
|
||||||
|
@ -118,12 +118,6 @@ gulp.task( 'browser-sync', function() {
|
||||||
browserSync.init( cfg.browserSyncWatchFiles, cfg.browserSyncOptions );
|
browserSync.init( cfg.browserSyncWatchFiles, cfg.browserSyncOptions );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
// Run:
|
|
||||||
// gulp watch-bs
|
|
||||||
// Starts watcher with browser-sync. Browser-sync reloads page automatically on your browser
|
|
||||||
gulp.task( 'watch-bs', ['browser-sync', 'watch', 'scripts'], function() {
|
|
||||||
} );
|
|
||||||
|
|
||||||
// Run:
|
// Run:
|
||||||
// gulp scripts.
|
// gulp scripts.
|
||||||
// Uglifies and concat all JS files into one
|
// Uglifies and concat all JS files into one
|
||||||
|
@ -131,22 +125,22 @@ gulp.task( 'scripts', function() {
|
||||||
var scripts = [
|
var scripts = [
|
||||||
|
|
||||||
// Start - All BS4 stuff
|
// Start - All BS4 stuff
|
||||||
paths.dev + '/js/bootstrap4/bootstrap.bundle.js',
|
`${paths.dev}/js/bootstrap4/bootstrap.bundle.js`,
|
||||||
|
|
||||||
// End - All BS4 stuff
|
// End - All BS4 stuff
|
||||||
|
|
||||||
paths.dev + '/js/skip-link-focus-fix.js',
|
`${paths.dev}/js/skip-link-focus-fix.js`,
|
||||||
|
|
||||||
// Adding currently empty javascript file to add on for your own themes´ customizations
|
// Adding currently empty javascript file to add on for your own themes´ customizations
|
||||||
// Please add any customizations to this .js file only!
|
// Please add any customizations to this .js file only!
|
||||||
paths.dev + '/js/custom-javascript.js'
|
`${paths.dev}/js/custom-javascript.js`
|
||||||
];
|
];
|
||||||
gulp.src( scripts )
|
gulp.src( scripts, { allowEmpty: true } )
|
||||||
.pipe( concat( 'theme.min.js' ) )
|
.pipe( concat( 'theme.min.js' ) )
|
||||||
.pipe( uglify() )
|
.pipe( uglify() )
|
||||||
.pipe( gulp.dest( paths.js ) );
|
.pipe( gulp.dest( paths.js ) );
|
||||||
|
|
||||||
gulp.src( scripts )
|
return gulp.src( scripts, { allowEmpty: true } )
|
||||||
.pipe( concat( 'theme.js' ) )
|
.pipe( concat( 'theme.js' ) )
|
||||||
.pipe( gulp.dest( paths.js ) );
|
.pipe( gulp.dest( paths.js ) );
|
||||||
});
|
});
|
||||||
|
@ -156,6 +150,11 @@ gulp.task( 'clean-source', function() {
|
||||||
return del( ['src/**/*'] );
|
return del( ['src/**/*'] );
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Run:
|
||||||
|
// gulp watch-bs
|
||||||
|
// Starts watcher with browser-sync. Browser-sync reloads page automatically on your browser
|
||||||
|
gulp.task( 'watch-bs', gulp.series('browser-sync', 'watch', 'scripts'));
|
||||||
|
|
||||||
// Run:
|
// Run:
|
||||||
// gulp copy-assets.
|
// gulp copy-assets.
|
||||||
// Copy all needed dependency assets files from bower_component assets to themes /js, /scss and /fonts folder. Run this task after bower install or bower update
|
// Copy all needed dependency assets files from bower_component assets to themes /js, /scss and /fonts folder. Run this task after bower install or bower update
|
||||||
|
@ -165,46 +164,35 @@ gulp.task( 'copy-assets', function() {
|
||||||
|
|
||||||
////////////////// All Bootstrap 4 Assets /////////////////////////
|
////////////////// All Bootstrap 4 Assets /////////////////////////
|
||||||
// Copy all JS files
|
// Copy all JS files
|
||||||
var stream = gulp.src( paths.node + 'bootstrap/dist/js/**/*.js' )
|
var stream = gulp.src( `${paths.node}bootstrap/dist/js/**/*.js` )
|
||||||
.pipe( gulp.dest( paths.dev + '/js/bootstrap4' ) );
|
.pipe( gulp.dest( `${paths.dev}/js/bootstrap4` ) );
|
||||||
|
|
||||||
// Copy all Bootstrap SCSS files
|
// Copy all Bootstrap SCSS files
|
||||||
gulp.src( paths.node + 'bootstrap/scss/**/*.scss' )
|
gulp.src( `${paths.node}bootstrap/scss/**/*.scss` )
|
||||||
.pipe( gulp.dest( paths.dev + '/sass/bootstrap4' ) );
|
.pipe( gulp.dest( `${paths.dev}/sass/bootstrap4` ) );
|
||||||
|
|
||||||
////////////////// End Bootstrap 4 Assets /////////////////////////
|
////////////////// End Bootstrap 4 Assets /////////////////////////
|
||||||
|
|
||||||
// Copy all Font Awesome Fonts
|
// Copy all Font Awesome Fonts
|
||||||
gulp.src( paths.node + 'font-awesome/fonts/**/*.{ttf,woff,woff2,eot,svg}' )
|
gulp.src( `${paths.node}font-awesome/fonts/**/*.{ttf,woff,woff2,eot,svg}` )
|
||||||
.pipe( gulp.dest( './fonts' ) );
|
.pipe( gulp.dest( './fonts' ) );
|
||||||
|
|
||||||
// Copy all Font Awesome SCSS files
|
// Copy all Font Awesome SCSS files
|
||||||
gulp.src( paths.node + 'font-awesome/scss/*.scss' )
|
gulp.src( `${paths.node}font-awesome/scss/*.scss` )
|
||||||
.pipe( gulp.dest( paths.dev + '/sass/fontawesome' ) );
|
.pipe( gulp.dest( `${paths.dev}/sass/fontawesome` ) );
|
||||||
|
|
||||||
// _s SCSS files
|
// _s SCSS files
|
||||||
gulp.src( paths.node + 'undescores-for-npm/sass/media/*.scss' )
|
gulp.src( `${paths.node}undescores-for-npm/sass/media/*.scss` )
|
||||||
.pipe( gulp.dest( paths.dev + '/sass/underscores' ) );
|
.pipe( gulp.dest( `${paths.dev}/sass/underscores` ) );
|
||||||
|
|
||||||
// _s JS files into /src/js
|
// _s JS files into /src/js
|
||||||
gulp.src( paths.node + 'undescores-for-npm/js/skip-link-focus-fix.js' )
|
gulp.src( `${paths.node}undescores-for-npm/js/skip-link-focus-fix.js` )
|
||||||
.pipe( gulp.dest( paths.dev + '/js' ) );
|
.pipe( gulp.dest( `${paths.dev}/js` ) );
|
||||||
});
|
});
|
||||||
|
|
||||||
// Deleting the files distributed by the copy-assets task
|
// Deleting the files distributed by the copy-assets task
|
||||||
gulp.task( 'clean-vendor-assets', function() {
|
gulp.task( 'clean-vendor-assets', function() {
|
||||||
return del( [paths.dev + '/js/bootstrap4/**', paths.dev + '/sass/bootstrap4/**', './fonts/*wesome*.{ttf,woff,woff2,eot,svg}', paths.dev + '/sass/fontawesome/**', paths.dev + '/sass/underscores/**', paths.dev + '/js/skip-link-focus-fix.js', paths.js + '/**/skip-link-focus-fix.js', paths.js + '/**/popper.min.js', paths.js + '/**/popper.js', ( paths.vendor !== ''?( paths.js + paths.vendor + '/**' ):'' )] );
|
return del( [`${paths.dev}/js/bootstrap4/**`, `${paths.dev}/sass/bootstrap4/**`, './fonts/*wesome*.{ttf,woff,woff2,eot,svg}', `${paths.dev}/sass/fontawesome/**`, `${paths.dev}/sass/underscores/**`, `${paths.dev}/js/skip-link-focus-fix.js`, `${paths.js}/**/skip-link-focus-fix.js`, `${paths.js}/**/popper.min.js`, `${paths.js}/**/popper.js`, ( paths.vendor !== ''?( paths.js + paths.vendor + '/**' ):'' )] );
|
||||||
});
|
|
||||||
|
|
||||||
// Run
|
|
||||||
// gulp dist
|
|
||||||
// Copies the files to the /dist folder for distribution as simple theme
|
|
||||||
gulp.task( 'dist', ['clean-dist'], function() {
|
|
||||||
return gulp.src( ['**/*', '!' + paths.bower, '!' + paths.bower + '/**', '!' + paths.node, '!' + paths.node + '/**', '!' + paths.dev, '!' + paths.dev + '/**', '!' + paths.dist, '!' + paths.dist + '/**', '!' + paths.distprod, '!' + paths.distprod + '/**', '!' + paths.sass, '!' + paths.sass + '/**', '!readme.txt', '!readme.md', '!package.json', '!package-lock.json', '!gulpfile.js', '!gulpconfig.json', '!CHANGELOG.md', '!.travis.yml', '!jshintignore', '!codesniffer.ruleset.xml', '*'], { 'buffer': true } )
|
|
||||||
.pipe( replace( '/js/jquery.slim.min.js', '/js' + paths.vendor + '/jquery.slim.min.js', { 'skipBinary': true } ) )
|
|
||||||
.pipe( replace( '/js/popper.min.js', '/js' + paths.vendor + '/popper.min.js', { 'skipBinary': true } ) )
|
|
||||||
.pipe( replace( '/js/skip-link-focus-fix.js', '/js' + paths.vendor + '/skip-link-focus-fix.js', { 'skipBinary': true } ) )
|
|
||||||
.pipe( gulp.dest( paths.dist ) );
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Deleting any file inside the /dist folder
|
// Deleting any file inside the /dist folder
|
||||||
|
@ -213,19 +201,35 @@ gulp.task( 'clean-dist', function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
// Run
|
// Run
|
||||||
// gulp dist-product
|
// gulp dist
|
||||||
// Copies the files to the /dist-prod folder for distribution as theme with all assets
|
// Copies the files to the /dist folder for distribution as simple theme
|
||||||
gulp.task( 'dist-product', ['clean-dist-product'], function() {
|
gulp.task( 'dist', gulp.series(['clean-dist'], function() {
|
||||||
return gulp.src( ['**/*', '!' + paths.bower, '!' + paths.bower + '/**', '!' + paths.node, '!' + paths.node + '/**', '!' + paths.dist, '!' + paths.dist +'/**', '!' + paths.distprod, '!' + paths.distprod + '/**', '*'] )
|
return gulp.src( ['**/*', `!${paths.bower}`, `!${paths.bower}/**`, `!${paths.node}`, `!${paths.node}/**`, `!${paths.dev}`, `!${paths.dev}/**`, `!${paths.dist}`, `!${paths.dist}/**`, `!${paths.distprod}`, `!${paths.distprod}/**`, `!${paths.sass}`, `!${paths.sass}/**`, '!readme.txt', '!readme.md', '!package.json', '!package-lock.json', '!gulpfile.js', '!gulpconfig.json', '!CHANGELOG.md', '!.travis.yml', '!jshintignore', '!codesniffer.ruleset.xml', '*'], { 'buffer': true } )
|
||||||
.pipe( gulp.dest( paths.distprod ) );
|
.pipe( replace( '/js/jquery.slim.min.js', '/js' + paths.vendor + '/jquery.slim.min.js', { 'skipBinary': true } ) )
|
||||||
} );
|
.pipe( replace( '/js/popper.min.js', '/js' + paths.vendor + '/popper.min.js', { 'skipBinary': true } ) )
|
||||||
|
.pipe( replace( '/js/skip-link-focus-fix.js', '/js' + paths.vendor + '/skip-link-focus-fix.js', { 'skipBinary': true } ) )
|
||||||
|
.pipe( gulp.dest( paths.dist ) );
|
||||||
|
}));
|
||||||
|
|
||||||
// Deleting any file inside the /dist-product folder
|
// Deleting any file inside the /dist-product folder
|
||||||
gulp.task( 'clean-dist-product', function() {
|
gulp.task( 'clean-dist-product', function() {
|
||||||
return del( [paths.distprod + '/**'] );
|
return del( [paths.distprod + '/**'] );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
// Run
|
||||||
|
// gulp dist-product
|
||||||
|
// Copies the files to the /dist-prod folder for distribution as theme with all assets
|
||||||
|
gulp.task( 'dist-product', gulp.series(['clean-dist-product'], function() {
|
||||||
|
return gulp.src( ['**/*', `!${paths.bower}`, `!${paths.bower}/**`, `!${paths.node}`, `!${paths.node}/**`, `!${paths.dist}`, `!${paths.dist}/**`, `!${paths.distprod}`, `!${paths.distprod}/**`, '*'] )
|
||||||
|
.pipe( gulp.dest( paths.distprod ) );
|
||||||
|
} ));
|
||||||
|
|
||||||
|
// Run
|
||||||
|
// gulp compile
|
||||||
|
// Compiles the styles and scripts and runs the dist task
|
||||||
|
gulp.task( 'compile', gulp.series( 'styles', 'scripts', 'dist' ));
|
||||||
|
|
||||||
// Run:
|
// Run:
|
||||||
// gulp
|
// gulp
|
||||||
// Starts watcher (default task)
|
// Starts watcher (default task)
|
||||||
gulp.task('default', ['watch']);
|
gulp.task('default', gulp.series('watch'));
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
22
package.json
22
package.json
|
@ -27,26 +27,26 @@
|
||||||
},
|
},
|
||||||
"homepage": "https://understrap.com",
|
"homepage": "https://understrap.com",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bootstrap": "4.3.1",
|
"bootstrap": "^4.3.1",
|
||||||
"browser-sync": "^2.26.3",
|
"browser-sync": "^2.26.3",
|
||||||
"del": "^3.0.0",
|
"del": "^4.1.0",
|
||||||
"font-awesome": "^4.7.0",
|
"font-awesome": "^4.7.0",
|
||||||
"gulp": "3.9.1",
|
"gulp": "^4.0.0",
|
||||||
|
"gulp-autoprefixer": "^6.0.0",
|
||||||
"gulp-clean-css": "^4.0.0",
|
"gulp-clean-css": "^4.0.0",
|
||||||
"gulp-concat": "^2.6.1",
|
"gulp-concat": "^2.6.1",
|
||||||
"gulp-ignore": "^2.0.2",
|
"gulp-ignore": "^2.0.2",
|
||||||
"gulp-imagemin": "^5.0.3",
|
"gulp-imagemin": "^5.0.3",
|
||||||
"gulp-plumber": "^1.2.1",
|
"gulp-plumber": "^1.2.1",
|
||||||
"gulp-rename": "^1.4.0",
|
"gulp-rename": "^1.4.0",
|
||||||
"gulp-replace": "1.0.0",
|
"gulp-replace": "^1.0.0",
|
||||||
"gulp-rimraf": "^0.2.2",
|
"gulp-rimraf": "^0.2.2",
|
||||||
"gulp-sass": "4.0.2",
|
"gulp-sass": "^4.0.2",
|
||||||
"gulp-sequence": "1.0.0",
|
"gulp-sequence": "^1.0.0",
|
||||||
"gulp-sourcemaps": "2.6.4",
|
"gulp-sourcemaps": "^2.6.5",
|
||||||
"gulp-uglify": "^3.0.1",
|
"gulp-uglify": "^3.0.2",
|
||||||
"gulp-watch": "5.0.1",
|
"gulp-watch": "^5.0.1",
|
||||||
"run-sequence": "^2.2.1",
|
"run-sequence": "^2.2.1",
|
||||||
"undescores-for-npm": "^1.0.0",
|
"undescores-for-npm": "^1.0.0"
|
||||||
"gulp-autoprefixer": "6.0.0"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue