Gulp build scripts for front end APC projects
npm install apc-build   
Gulp build scripts for front end APC projects
- APC Build Tools
* Task register helpers
* Gulp tasks
* Utilities
ObjectReturns: Object - registerWatchers function and array of registered task names
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| gulp | Object | | Gulp instance |
| config | Object | | Config Object |
| config.scssSrc | String | | Path of Sass files to lint and/or build |
| config.jsSrc | Array \| String | | Path[s] of Js files to lint |
| config.jsEntry | Array \| String | | Path[s] of Js files to build |
| config.pugSrc | Array \| String | | Path[s] of pug files to lint |
| [config.scssIncludePaths] | Array | [] | SCSS include paths (for frameworks etc) |
| config.jsDest | String | | Destination for Js built files |
| config.jsDestFilename | String | | Filename for built Js file |
| config.cssDest | String | | Destination for built CSS |
| config.jsSrc | Array \| String | | Path[s] of Js files to lint |
| config.imgSrc | Array \| String | | Path[s] for image files to be built |
| config.imgDest | String | | Destination for built image files |
| [config.showFileSizes] | Boolean | true | Show file sizes in console output? |
| config.browserifyIgnore | Array | | Browserify paths to ignore |
Example
``js
const gulp = require('gulp')
const register = require('apc-build').register(gulp, {
scssSrc: 'src/*\/.scss',
scssIncludePaths: [],
cssDest: 'output/css',
showFileSizes: true
})
console.log(register)
// Returns
// {
// tasks: [ 'lint-sass', 'build-sass' ],
// registerWatchers: [Function: registerWatchers]
// }
`
Kind: method of [register] return(#register)
| Param | Type | Description |
| --- | --- | --- |
| gulp | Object | Gulp instance |
Example
`js
const gulp = require('gulp')
const register = require('apc-build').register(gulp, config)
// Watchers corresponding to config values
// will be registered within watch task
gulp.task('watch', () => {
register.registerWatchers(gulp)
})
`
functionCopy and compress images with imagemin
functionBundle and browserify front end JS files
functionCompile sass files
functionLint js files using eslint
functionLint pug files using pug linter
functionLint sass files using sass-lint
functionReturns: function - Gulp task
| Param | Type | Description |
| --- | --- | --- |
| gulp | Object | Gulp instance |
| path | Array \| String | Path[s] for image files to be built |
| dest | String | Output Destination |
Example
`js
const gulp = require('gulp')
const tasks = require('apc-build')
gulp.task('build-img', tasks'build-img')
`
functionReturns: function - Gulp task
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| gulp | Object | | Gulp instance |
| entries | String \| Array | | Path[s] of Js files to build |
| dest | String | | Destination for Js built files |
| [destFilename] | String | 'bundle.js' | Filename for built Js file |
| [showFileSizes] | Boolean | true | Show file sizes in console output? |
| [browserifyIgnore] | Array | [] | Browserify paths to ignore |
Example
`js
const gulp = require('gulp')
const tasks = require('apc-build')
gulp.task('build-js', tasks'build-js')
`
functionReturns: function - Gulp task
| Param | Type | Description |
| --- | --- | --- |
| gulp | Object | Gulp instance |
| path | Array \| String | Path of Sass files to build |
| dest | String | Destination for built CSS |
| scssIncludePaths | Array | Sass include paths (for frameworks etc) |
| showFileSizes | Boolean | Show file sizes in console output? |
Example
`js
const gulp = require('gulp')
const tasks = require('apc-build')
gulp.task('build-sass', tasks'build-sass')
`
functionReturns: function - Gulp task
| Param | Type | Description |
| --- | --- | --- |
| gulp | Object | Gulp instance |
| path | Array \| String | Path[s] of Js files to lint |
Example
`js
const gulp = require('gulp')
const tasks = require('apc-build')
gulp.task('lint-js', tasks'lint-js')
`
functionReturns: function - Gulp task
| Param | Type | Description |
| --- | --- | --- |
| gulp | Object | Gulp instance |
| path | Array \| String | Path[s] of pug files to lint |
Example
`js
const gulp = require('gulp')
const tasks = require('apc-build')
gulp.task('lint-pug', tasks'lint-pug')
`
functionReturns: function - Gulp task
| Param | Type | Description |
| --- | --- | --- |
| gulp | Object | Gulp instance |
| path | String | Path of Sass files to lint and/or build |
Example
`js
const gulp = require('gulp')
const tasks = require('apc-build')
gulp.task('lint-sass', tasks'lint-sass')
``
Throws:
- Error Gulp instance not passed
| Param | Type | Description |
| --- | --- | --- |
| gulp | Object | Gulp instance |