Gulpit is an easy and fast configurable task library built around Gulp useable with a CLI. You just have to configure the 'gulpit-conf.js' file (< 2min). You will find a sample below.
- Install the package with NPM:
npm install --global gulpit
- Create a 'gulpit-conf.js' file in the root of your project
cdwhere the 'gulpit-conf.js' is then run:
You have two main command when you are in the gulpit app:
Build: will build your files once
watch: will watch for file modifications then build after each new save
help: List the command available with descriptions
You have extra options like:
build --css: will only build css
build --prod: will build with the prod profile*
You can combine:
build --js --prod: will only build js with the prod profile*
*Prod profile: will override the default options.
- Uglify (you can use both Browserify and Uglify)
Here is an example of a specific config if you use browserify (with sourcemaps) and sass (with sourcemaps and autoprefixer):
moduleexports =projectName: 'test-project'profiles:default:js:sourceFolder: 'dev/js/browserify/index.js'exitFolder: 'build/js/'exitFileName: 'app.js'tasks:browserify: activate: truesourcemaps: activate: truecss:sourceFolder: 'dev/css/sass/index.scss'exitFolder: 'build/css/'exitFileName: 'style.css'tasks:sass:activate: trueoptions:outputStyle: 'nested'autoprefixer:activate: trueoptions:browsers: 'last 2 versions'sourcemaps: activate: true// Optional prod profile to disable sourcemaps// when you use '--prod' argument in the CLIprod:js: sourcemaps: activate: falsecss: sourcemaps: activate: false;
You can find the complete sample conf with all the tasks available in the test folder of this repo.
The different options for sass.options.outputStyle are: nested, expanded, compact, compressed
If you use both Browserify and Uglify, the uglify.options.concat options will be ignored as browserify already concat all the files
File will be renamed after build only if you indicate a specific file for sourceFolder
You can the use prod profile by setting your NODE_ENV to "prod" instead of using the