assets-compressor / assets-compressor
Combine, compress and version CSS/JS files.
Requires
- php: >=7.1.0
- matthiasmullie/minify: ^1.3
- symfony/console: ^3.4
- symfony/yaml: ~3.4|~4.0
- tubalmartin/cssmin: ^4.1
Requires (Dev)
- phpunit/phpunit: ^7.1
This package is auto-updated.
Last update: 2024-04-04 19:29:57 UTC
README
Combine, compress and version CSS/JS code.
Installation
composer require assets-compressor/assets-compressor
Command line usage
Execute AssetsCompressor using default configuraton file
Running assets-compressor
alone from command line will execute application
using assets.yml
or .assets.yml
configuration file located in project root.
assets-compressor
or
vendor/bin/assets-compressor
Get help on command line options
assets-compressor --help
Class usage
You can also use the class directly.
Simple execution using config file
<?php use AssetsCompressor\AssetsCompressor; $compressor = new AssetsCompressor('/PATH/TO/CONFIG/assets.yml'); $compressor->run();
Adding entry points manualy
<?php use AssetsCompressor\AssetsCompressor; // Create instance $compressor = new AssetsCompressor(); // Add entry points (output files) $compressor->addEntryPoint('/assets/css/vendor.css', [ '/vendor/select2/dist/select2.css', '/vendor/jquery-ui/dist/jquery-ui.css', '/css/external/*.css', ]); $compressor->addEntryPoint('/assets/css/main.css', [ '/assets/css/components/*.css', ]); // Execute compressor $compressor->run();
Sample configuration file
Configuration is stored in yml file. When using command line application will search
for it in /assets.yml
and /.assets.yml
. First level entries are entry points (output files),
second level (intended entries) are input files.
# /.assets.yml /assets/css/vendor.css - /vendor/select2/select2/dist/select2.css - /vendor/jquery-ui/jquery-ui/css/jquery-ui.css - /resources/components/bootstrap4/dist/css/boostrap.css /assets/css/main.css - /resources/components/css/*.css # Ignore somelibrary.css - !/resources/components/css/somelibrary.css /assets/js/vendor.js - /vendor/select2/select2/dist/select2.js - /vendor/jquery-ui/jquery-ui/css/jquery-ui.js - /resources/components/bootstrap4/dist/js/boostrap.js /assets/js/app.js - /resources/components/js/*.js # Ignore somelibrary.js - !/resources/components/js/somelibrary.js
Files hashes
By default application generates busters.json
file that contains file hashes map
in project root directory (it is a configuration file directory by default). If you
want to change where hashes file is stored provide hashes directory using:
AssetsCompressor->setHashesFilePath('/asssets.json')
.