/toms-gulp-config

Default gulp config for projects.

Primary LanguageJavaScriptMIT LicenseMIT

Tom's Gulp Config

Gulp config package which compiles JavaScript using Babel and Terser, SASS using Dart Sass and CleanCSS, and optimises images.

Installation

Install using npm install toms-gulp-config --save-dev. Installation should automatically add 3 scripts to your package.json file. In case this fails, you can add them manually as follows:

scripts: {
  watch: 'gulp --gulpfile=node_modules/toms-gulp-config/gulpfile.esm.js',
  dev: 'gulp build --gulpfile=node_modules/toms-gulp-config/gulpfile.esm.js',
  prod: 'gulp build --prod --gulpfile=node_modules/toms-gulp-config/gulpfile.esm.js',
}

Unlike most Gulp config packages, you don't need to copy the Gulpfile into your project. This is abstracted away via the commands above to reduce clutter and allow the config to be easily updated in the future.

Usage

Run npm run watch to watch files as they are edited.

Run npm run build to run a single development build.

Run npm run prod to build file ready for upload into production.

Included tools

SASS files are generated from src/sass/style.scss and src/sass/admin.scss into assets/css/style.css and assets/css/admin.css. Autoprefixer is always used, CleanCSS is used in production, and sourcemaps are generated when not in production.

JS files are generated from src/js/app.js and src/js/admin.js into assets/js/app.js and assets/js/admin.js. Babel and Terser are always used, and sourcemaps are generated when not in production.

JPG, JPEG, PNG, SVG, and GIF images from src/images/ are optimized into assets/images/.

Other files not mentioned above are copied from src/ into assets/.

Config

Alternatively, if these default directories do not suit your project, you can copy the gulp-config.json file to your project's root directory to override the defaults. Change any directory name, or set it to false to disable that module.