A modern build system for Joomla! extension developers.
Most Joomla! extensions out there still use a Phing based build system that does the job but without using the latest technologies. Gulp is a modern Node.JS based build system, incredibly fast and easy to understand because it uses javascript code.
- Compile LESS (gulp-less) & Sass (gulp-sass) files on the fly
- Minify CSS (gulp-minify-css), JS (gulp-uglify) files on the fly
- Concatenate files (gulp-concat) to mix various resources (i.e. CSS files) into one single file (and HTTP request)
- Run CodeSniffer validations (gulp-phpcs)
- Run JSHint validations (gulp-jshint)
- Run CoffeeScript validations (gulp-coffee)
- Reload your browser automatically when you edit any file (including php, sass, less, js... ) (browser-sync).
- Minify the size of the images (gulp-imagemin) on the fly.
Do you have a project that uses it? Contribute it to this README.
This is a reusable base Gulp system for Joomla! extension development. Do not expect something magical here except that and task naming conventions. This repo is just a base system to allow you to add your extension's build scripts in a standard way so you can focus on the project specific stuff.
This base build system does not depend on any project structure because you specify it on your extension build scripts.
The main idea of this build system is that you always develop your extensions within your extensions main folder (your project's repository). The build system copies files to your test site and reloads your browser when anything that you want to watch changes. It's easy to adapt to any workflow (like symlink folders) but that's not the native way it works.
For installation and usage see the docs folder.
- v1.1.1
- Fix dependencies installed as submodules.
- v1.1.0
- Added support for packages.
- Now extensions list is an independent file to allow to track it with Git.
- Added support to fully customise browserSync settings.
- Added
defaultTasks
config parameter to customise tasks launched by default.
- v1.0.0
- Initial version.
joomla-gulp is released under the MIT license. See LICENSE for details.