Dependencies updates. Migrated to gulp4. Added compilation task.
This commit is contained in:
parent
fa0bef5e72
commit
fc0893993e
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
|
||||
// Starts watcher. Watcher runs gulp sass task on changes
|
||||
gulp.task( 'watch', function() {
|
||||
gulp.watch( paths.sass + '/**/*.scss', ['styles'] );
|
||||
gulp.watch( [paths.dev + '/js/**/*.js', 'js/**/*.js', '!js/theme.js', '!js/theme.min.js'], ['scripts'] );
|
||||
gulp.watch( `${paths.sass}/**/*.scss`, gulp.series('styles') );
|
||||
gulp.watch( [`${paths.dev}/js/**/*.js`, 'js/**/*.js', '!js/theme.js', '!js/theme.min.js'], gulp.series('scripts') );
|
||||
|
||||
//Inside the watch task.
|
||||
gulp.watch( paths.imgsrc + '/**', ['imagemin-watch'] );
|
||||
});
|
||||
|
||||
/**
|
||||
* Ensures the 'imagemin' task is complete before reloading browsers
|
||||
* @verbose
|
||||
*/
|
||||
gulp.task( 'imagemin-watch', ['imagemin'], function( ) {
|
||||
browserSync.reload();
|
||||
gulp.watch( `${paths.imgsrc}/**`, gulp.series('imagemin-watch') );
|
||||
});
|
||||
|
||||
// Run:
|
||||
// gulp imagemin
|
||||
// Running image optimizing task
|
||||
gulp.task( 'imagemin', function() {
|
||||
gulp.src( paths.imgsrc + '/**' )
|
||||
gulp.src( `${paths.imgsrc}/**` )
|
||||
.pipe( imagemin() )
|
||||
.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:
|
||||
// gulp cssnano
|
||||
// Minifies CSS files
|
||||
|
@ -87,7 +87,7 @@ gulp.task( 'cssnano', 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( cleanCSS( { compatibility: '*' } ) )
|
||||
.pipe( plumber( {
|
||||
|
@ -102,13 +102,13 @@ gulp.task( 'minifycss', 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( rimraf() );
|
||||
});
|
||||
|
||||
gulp.task( 'styles', function( callback ) {
|
||||
gulpSequence( 'sass', 'minifycss' )( callback );
|
||||
gulp.series( 'sass', 'minifycss' )( callback );
|
||||
} );
|
||||
|
||||
// Run:
|
||||
|
@ -118,12 +118,6 @@ gulp.task( 'browser-sync', function() {
|
|||
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:
|
||||
// gulp scripts.
|
||||
// Uglifies and concat all JS files into one
|
||||
|
@ -131,22 +125,22 @@ gulp.task( 'scripts', function() {
|
|||
var scripts = [
|
||||
|
||||
// Start - All BS4 stuff
|
||||
paths.dev + '/js/bootstrap4/bootstrap.bundle.js',
|
||||
`${paths.dev}/js/bootstrap4/bootstrap.bundle.js`,
|
||||
|
||||
// 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
|
||||
// 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( uglify() )
|
||||
.pipe( gulp.dest( paths.js ) );
|
||||
|
||||
gulp.src( scripts )
|
||||
return gulp.src( scripts, { allowEmpty: true } )
|
||||
.pipe( concat( 'theme.js' ) )
|
||||
.pipe( gulp.dest( paths.js ) );
|
||||
});
|
||||
|
@ -156,6 +150,11 @@ gulp.task( 'clean-source', function() {
|
|||
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:
|
||||
// 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
|
||||
|
@ -165,46 +164,35 @@ gulp.task( 'copy-assets', function() {
|
|||
|
||||
////////////////// All Bootstrap 4 Assets /////////////////////////
|
||||
// Copy all JS files
|
||||
var stream = gulp.src( paths.node + 'bootstrap/dist/js/**/*.js' )
|
||||
.pipe( gulp.dest( paths.dev + '/js/bootstrap4' ) );
|
||||
var stream = gulp.src( `${paths.node}bootstrap/dist/js/**/*.js` )
|
||||
.pipe( gulp.dest( `${paths.dev}/js/bootstrap4` ) );
|
||||
|
||||
// Copy all Bootstrap SCSS files
|
||||
gulp.src( paths.node + 'bootstrap/scss/**/*.scss' )
|
||||
.pipe( gulp.dest( paths.dev + '/sass/bootstrap4' ) );
|
||||
gulp.src( `${paths.node}bootstrap/scss/**/*.scss` )
|
||||
.pipe( gulp.dest( `${paths.dev}/sass/bootstrap4` ) );
|
||||
|
||||
////////////////// End Bootstrap 4 Assets /////////////////////////
|
||||
|
||||
// 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' ) );
|
||||
|
||||
// Copy all Font Awesome SCSS files
|
||||
gulp.src( paths.node + 'font-awesome/scss/*.scss' )
|
||||
.pipe( gulp.dest( paths.dev + '/sass/fontawesome' ) );
|
||||
gulp.src( `${paths.node}font-awesome/scss/*.scss` )
|
||||
.pipe( gulp.dest( `${paths.dev}/sass/fontawesome` ) );
|
||||
|
||||
// _s SCSS files
|
||||
gulp.src( paths.node + 'undescores-for-npm/sass/media/*.scss' )
|
||||
.pipe( gulp.dest( paths.dev + '/sass/underscores' ) );
|
||||
gulp.src( `${paths.node}undescores-for-npm/sass/media/*.scss` )
|
||||
.pipe( gulp.dest( `${paths.dev}/sass/underscores` ) );
|
||||
|
||||
// _s JS files into /src/js
|
||||
gulp.src( paths.node + 'undescores-for-npm/js/skip-link-focus-fix.js' )
|
||||
.pipe( gulp.dest( paths.dev + '/js' ) );
|
||||
gulp.src( `${paths.node}undescores-for-npm/js/skip-link-focus-fix.js` )
|
||||
.pipe( gulp.dest( `${paths.dev}/js` ) );
|
||||
});
|
||||
|
||||
// Deleting the files distributed by the copy-assets task
|
||||
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 + '/**' ):'' )] );
|
||||
});
|
||||
|
||||
// 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 ) );
|
||||
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 + '/**' ):'' )] );
|
||||
});
|
||||
|
||||
// Deleting any file inside the /dist folder
|
||||
|
@ -213,19 +201,35 @@ gulp.task( 'clean-dist', function() {
|
|||
});
|
||||
|
||||
// Run
|
||||
// gulp dist-product
|
||||
// Copies the files to the /dist-prod folder for distribution as theme with all assets
|
||||
gulp.task( 'dist-product', ['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 ) );
|
||||
} );
|
||||
// gulp dist
|
||||
// Copies the files to the /dist folder for distribution as simple theme
|
||||
gulp.task( 'dist', gulp.series(['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-product folder
|
||||
gulp.task( 'clean-dist-product', function() {
|
||||
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:
|
||||
// gulp
|
||||
// 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",
|
||||
"dependencies": {
|
||||
"bootstrap": "4.3.1",
|
||||
"bootstrap": "^4.3.1",
|
||||
"browser-sync": "^2.26.3",
|
||||
"del": "^3.0.0",
|
||||
"del": "^4.1.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-concat": "^2.6.1",
|
||||
"gulp-ignore": "^2.0.2",
|
||||
"gulp-imagemin": "^5.0.3",
|
||||
"gulp-plumber": "^1.2.1",
|
||||
"gulp-rename": "^1.4.0",
|
||||
"gulp-replace": "1.0.0",
|
||||
"gulp-replace": "^1.0.0",
|
||||
"gulp-rimraf": "^0.2.2",
|
||||
"gulp-sass": "4.0.2",
|
||||
"gulp-sequence": "1.0.0",
|
||||
"gulp-sourcemaps": "2.6.4",
|
||||
"gulp-uglify": "^3.0.1",
|
||||
"gulp-watch": "5.0.1",
|
||||
"gulp-sass": "^4.0.2",
|
||||
"gulp-sequence": "^1.0.0",
|
||||
"gulp-sourcemaps": "^2.6.5",
|
||||
"gulp-uglify": "^3.0.2",
|
||||
"gulp-watch": "^5.0.1",
|
||||
"run-sequence": "^2.2.1",
|
||||
"undescores-for-npm": "^1.0.0",
|
||||
"gulp-autoprefixer": "6.0.0"
|
||||
"undescores-for-npm": "^1.0.0"
|
||||
}
|
||||
}
|
||||
|
|
Reference in New Issue