frontpack / composer-assets-plugin
Composer plugin for installing of assets.
                                    Fund package maintenance!
                                                                            
                                                                                                                                        Other
                                                                                    
                                                                
Installs: 32 617
Dependents: 5
Suggesters: 2
Security: 0
Stars: 26
Watchers: 2
Forks: 5
Open Issues: 3
Type:composer-plugin
pkg:composer/frontpack/composer-assets-plugin
Requires
- php: 8.0 - 8.4
- composer-plugin-api: ^2.0
README
Composer plugin for installing assets.
Installation
Use Composer:
composer require frontpack/composer-assets-plugin
Library requires PHP 8.0 or later.
Commands
- composer refresh-assets- refresh files in- assetsdirectory
Assets configuration
Packages
- assets-filesin section- extra- true- symlinks whole package directory
- file path - symlinks one file or content of directory
- list of file paths - symlinks files/directories
 
Example:
{
	"extra": {
		"assets-files": [
			"static/plugin.js",
			"static/plugin.css",
			"static/icons.png"
		]
	}
}
- static/plugin.js- symlinks file to- assets/org/package/plugin.js
- static/plugin.css- symlinks file to- assets/org/package/plugin.css
- static/icons.png- symlinks file to- assets/org/package/icons.png
Or you can use simple:
{
	"extra": {
		"assets-files": "static"
	}
}
with same result.
Root package
- assets-dir- directory for installing of assets, default- assets, relative to- vendor-dir
- assets-directory- alias for- assets-dir
- assets-files- list of asset files in incompatible packages, it overrides- assets-filesfrom installed packages
- assets-strategy- install strategy for assets- auto- select strategy by platform (default value)
- copy- copy all assets, default strategy on Windows
- symlink- create relative symlinks, default strategy on non-Windows platforms
 
- assets-target- target directory for specific packages, relative to- vendor-dir, must be out of- assets-dir
Example:
{
	"extra": {
		"assets-dir": "public",
		"assets-files": {
			"org/package": true,
			"org/package2": "js/calendar.js",
			"org/package3": [
				"static/plugin.js",
				"static/plugin.css",
				"static/icons.png"
			]
		},
		"assets-target": {
			"ckeditor/ckeditor": "admin/wysiwyg"
		}
	}
}
- org/package- symlinks whole package directory to- public/org/package
- org/package2- symlinks file- js/calendar.jsto- public/org/package2/calendar.js
- org/package3- static/plugin.js- symlinks file to- public/org/package3/plugin.js
- static/plugin.css- symlinks file to- public/org/package3/plugin.css
- static/icons.png- symlinks file to- public/org/package3/icons.png
 
- ckeditor/ckeditor- symlinks files to- admin/wysiwyg
Default mapping
Plugin provides default mapping for selected incompatible packages. You can override this mapping in your composer.json.
List of packages with default mapping:
- bower-asset/tiny-slider
- ckeditor/ckeditor
- components/jquery
- enyo/dropzone
- nette/forms
- o5/grido
Where find supported packages?
Some libraries and packages support Composer by default. For other exists shim-repositories:
Always you can search packages on Packagist.
License: New BSD License
Author: Jan Pecha, https://www.janpecha.cz/