fxpio / composer-asset-plugin

NPM/Bower Dependency Manager for Composer
MIT License
893 stars 156 forks source link
assets bower composer npm php vcs

NPM/Bower Dependency Manager for Composer

Latest Version Build Status Coverage Status SymfonyInsight Packagist Downloads

The Composer Asset Plugin allows you to manage project assets (css, js, etc.) in your composer.json without installing NPM or Bower.

This plugin works by transposing package information from NPM or Bower to a compatible version for Composer. This allows you to manage asset dependencies in a PHP based project very easily.

Important:

The next major version of Composer Asset Plugin is so different, but also incompatible with the current version, that it became a new project named Foxy.

Foxy is the new way to manage the assets of PHP libraries, because it works nativelly with all the features of NPM or Yarn. However, this plugin will continue to be maintained by the community, without having new features.

You can read the reasons for this new version, or the difference between Foxy and Fxp Composer Asset Plugin, but also how does Foxy work.

Features include:
Why this plugin?

There already are several possibilities for managing assets in a PHP project:

  1. Install Node.js and use NPM or Bower command line in addition to Composer command line
  2. Do #1, but add Composer scripts to automate the process
  3. Include assets directly in the project (not recommended)
  4. Create a repository with all assets and include the composer.json file (and use Packagist or an VCS Repository)
  5. Add a package repository in composer.json with a direct download link
  6. Create a Satis or Packagist server
  7. Other?

It goes without saying that each javascript, CSS, etc. library should be developed with the usual tools for that language, which front-end developers know well. However, in the case of a complete project in PHP, it shouldn't be necessary to use several tools (PHP, Nodejs, Composer, NPM, Bower, Grunt, etc.) to simply install these assets in your project.

This plugin has been created to address these issues. Additionally, most developers will not add a composer.json file to their projects just to support php based projects, especially when npm and/or bower already exist and are widely used.

Documentation

The bulk of the documentation is located in Resources/doc/index.md:

Read the Documentation

Read the FAQs

Read the Release Notes

Installation

All the installation instructions are located in documentation.

License

This composer plugin is under the MIT license. See the complete license in:

LICENSE

About

Fxp Composer Asset Plugin is a François Pluchino initiative. See also the list of contributors.

Reporting an issue or a feature request

Issues and feature requests are tracked in the Github issue tracker.