A Composer plugin that automatically "compiles" frontend assets (js, css, etc.) for packages installed via Composer.
Let's assume we have a website project having a composer.json
that looks like this:
{
"name": "acme/my-project",
"require": {
"acme/foo": "^1",
"acme/bar": "^2",
"inpsyde/composer-assets-compiler": "^3"
},
"extra": {
"composer-asset-compiler": { "auto-run": true }
}
}
And then suppose that acme/foo
's composer.json
looks like this:
{
"name": "acme/foo",
"extra": {
"composer-asset-compiler": "gulp"
}
}
and acme/bar
's composer.json
looks like this:
{
"name": "acme/bar",
"extra": {
"composer-asset-compiler": "build"
}
}
When we'll install the project with Composer, the following happens:
- Composer installs the three required packages
- Immediately after that, the plugin executes and:
- the plugin looks for all installed packages (including transitive dependencies) that have a
composer-asset-compiler
configuration, finding"acme/foo"
and"acme/bar"
- moves to
"acme/foo"
installation folder, and executesnpm install && npm run gulp
- moves to
"acme/bar"
installation folder, and executesnpm install && npm run build
- the plugin looks for all installed packages (including transitive dependencies) that have a
At the end of the process, we have a project with the dependencies installed, and their assets processed.
The example above is the simplest use case, but the plugin has many possible configurations and advanced use cases.
- Introduction
- Compiling Assets
- Script
- Dependencies
- Package Manager
- Pre-compilation
- Hash and Lock
- Execution Mode
- Configuration File
- Packages Configuration in Root
- Verbosity
- Isolated Cache
- Parallel Assets Processing
- Configuration Cheat-Sheet
- CLI Parameters
- Environment Variables
This repository is a free software, and is released under the terms of the MIT license. See LICENSE for complete license.