About
This is set of gulp tasks for common usage. It is wrapper over popular gulp things. It is flexible reusable and easy configurable.
What it can
- create hash of build time in custom format
- install bower with custom configuration
- browser sync
- requirejs build, optimize, concat
- just copy file from one place to another
- copy (for now) fonts, images
- process SCSS, autoprefixer
- build TWIG templates for twigjs
install
npm i --save-dev brander-gulp-tasks gulp
Often you want to use babel with presets, transformers, then you type something like
npm i --save-dev babel-plugin-transform-es2015-modules-umd babel-preset-es2015
requirements
- nodejs v6+
- npm
usage
run
gulp
OR
./node_modules/.bin/gulp
OR
./node_modules/brander-gulp-tasks/node_modules/.bin/gulp
very simple way
const gulp = require('gulp');
const branderGulp = require('brander-gulp-tasks');
branderGulp(gulp/*, config*/);
minify
env NODE_ENV=prod gulp
OR
env SYMFONY_ENV=prod gulp
optimize
env NODE_ENV=prod gulp build
Do not use without minifing, unless you don't use NODE_ENV
gulp build
Advanced require js example
build: {
rjs: {
entryPoints: {
'amd/entryPointAdmin': {
stubModules: [], // there is no stub modules for "Admin"
},
'amd/salonEntryPoint': {},
'amd/loginEntryPoint': {},
'amd/entryPointChangePassword': {},
'amd/entryPointRecoverPassword': {},
},
defaultOptions: {
mainConfigFile: './public/compiled/js/amd/require.js.config.js',
stubModules: ['toastr'],
// inlineText: true,
// pragmas: {
// excludeRequireCss: true,
// },
inlineJSON: false,
optimize: 'none',
// makes stub modules dynamically loaded
onBuildWrite(moduleName, path, contents) {
return contents.replace(/define\('[^']+',\{}\);/g, '');
},
// inlineView: false,
// inlineTWIG: false,
},
DEST_PATH: './public/compiled/js',
},
concat: {
entryPoints: {
'js/require_build.js': [
'public/compiled/js/require.js',
'public/compiled/js/amd/require.js.config.js',
'public/compiled/js/amd/boost.js',
],
},
options: {newLine: ';\n'},
},
},