makehappen / autominifier
Automatically Minify and Concatenate your JS and CSS files and libraries into single files for improved application performance.
Requires
- php: ~5.6|~7.0
- matthiasmullie/minify: ^1.3
Requires (Dev)
- phpunit/phpunit: ~4.0||~5.0
- scrutinizer/ocular: ~1.1
- squizlabs/php_codesniffer: ~2.3
This package is not auto-updated.
Last update: 2024-11-24 02:33:37 UTC
README
Automatically Minify and Concatenate your JS and CSS files and libraries into single files for improved application performance.
Main features
- Auto minify and concatenate js and css libraries into single .min files
- Auto cache bust on changed versions
- Auto detection of environment type
Other features
- It just works, out of the box
- Set it and forget it
- No complex configurations
- No Node.js required
- No "watch" command required
- No "--production" flag required
- No configuration updates needed when adding new files
- Auto detect already minified files
- Customize destination folder and file names
- Faster than Gulp or Grunt
Install
Via Composer
$ composer require makehappen/autominifier
Basic Usage
// minifier instance with default settings $minifier = new Makehappen\AutoMinifier\Minify(); // returns "/js/app.min.js" $minifier->js(); // returns "/css/app.min.css" $minifier->css();
Post install:
-
Add env.json files to .gitignore
-
Update environment in env.json to development
{ "environment": "development" }
- Run minifier instance again to generate .min files
Customized Usage
Custom folders and .min files:
// minifier instance with public path relative to package src folder path $minifier = new Makehappen\AutoMinifier\Minify(); $minifier->setPublicFolder('/../../../../public_html/'); // returns .min.js file path with custom destinations $minifier->js('/javascript', 'functions.min.js'); // returns .min.css file path path with custom destinations $minifier->js('/styles', 'style.min.css');
Custom list and order of files: config.json
{ "files": [ "file-1.js", "folder2/file-2.js" ] }
Implementation example in a Laravel project
Conventions
- By default, JavaScript files should live in the public /js folder or its sub-folders
- By default, CSS files should live in the public /css folder or its sub-folders
- Default concatenation order is alphabetical, folders first, followed by file names
- Default relative path from vendor folder to public folder is expected to be ../public
- Accepted extension files: .js, .css, .sass, .scss
Change log
Please see CHANGELOG for more information what has changed recently.
Testing
$ composer test
Contributing
Please see CONTRIBUTING and CONDUCT for details.
Security
If you discover any security related issues, please email florin@after5.io instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.