Dependencies updates. Migrated to gulp4. Added compilation task.

This commit is contained in:
Ken Eucker 2019-04-11 09:52:57 -07:00
parent fa0bef5e72
commit fc0893993e
7 changed files with 77 additions and 8901 deletions

File diff suppressed because one or more lines are too long

2
css/theme.min.css vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -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'));

2
js/theme.min.js vendored

File diff suppressed because one or more lines are too long

8829
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -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"
} }
} }