{"id":13803207,"url":"https://github.com/fxpio/composer-asset-plugin","last_synced_at":"2025-04-12T01:54:35.423Z","repository":{"id":17992160,"uuid":"21001804","full_name":"fxpio/composer-asset-plugin","owner":"fxpio","description":"NPM/Bower Dependency Manager for Composer","archived":false,"fork":false,"pushed_at":"2023-02-28T10:54:22.000Z","size":939,"stargazers_count":890,"open_issues_count":15,"forks_count":156,"subscribers_count":58,"default_branch":"main","last_synced_at":"2025-04-12T01:54:28.072Z","etag":null,"topics":["assets","bower","composer","npm","php","vcs"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fxpio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["francoispluchino"],"custom":["https://paypal.me/francoispluchino"]}},"created_at":"2014-06-19T13:46:04.000Z","updated_at":"2025-04-01T07:55:42.000Z","dependencies_parsed_at":"2024-05-02T16:06:49.589Z","dependency_job_id":null,"html_url":"https://github.com/fxpio/composer-asset-plugin","commit_stats":{"total_commits":659,"total_committers":33,"mean_commits":19.96969696969697,"dds":"0.11077389984825492","last_synced_commit":"55dd275f90751e98c2289ed2de59ca22690d5aa9"},"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxpio%2Fcomposer-asset-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxpio%2Fcomposer-asset-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxpio%2Fcomposer-asset-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxpio%2Fcomposer-asset-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fxpio","download_url":"https://codeload.github.com/fxpio/composer-asset-plugin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248505872,"owners_count":21115354,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["assets","bower","composer","npm","php","vcs"],"created_at":"2024-08-04T01:00:25.306Z","updated_at":"2025-04-12T01:54:35.402Z","avatar_url":"https://github.com/fxpio.png","language":"PHP","readme":"NPM/Bower Dependency Manager for Composer\n=========================================\n\n[![Latest Version](https://img.shields.io/packagist/v/fxp/composer-asset-plugin.svg)](https://packagist.org/packages/fxp/composer-asset-plugin)\n[![Build Status](https://img.shields.io/travis/com/fxpio/composer-asset-plugin.svg)](https://travis-ci.com/fxpio/composer-asset-plugin)\n[![Coverage Status](https://img.shields.io/coveralls/fxpio/composer-asset-plugin.svg)](https://coveralls.io/r/fxpio/composer-asset-plugin)\n[![SymfonyInsight](https://img.shields.io/symfony/i/grade/0d67ca33-5a72-46b8-b109-cfbf95673fce.svg)](https://insight.symfony.com/projects/0d67ca33-5a72-46b8-b109-cfbf95673fce)\n[![Packagist Downloads](https://img.shields.io/packagist/dt/fxp/composer-asset-plugin.svg)](https://packagist.org/packages/fxp/composer-asset-plugin/stats)\n\nThe Composer Asset Plugin allows you to manage project assets (css, js, etc.) in your `composer.json`\nwithout installing NPM or Bower.\n\nThis plugin works by transposing package information from NPM or Bower to a compatible version for Composer.\nThis allows you to manage asset dependencies in a PHP based project very easily.\n\n\u003e **Important:**\n\u003e\n\u003e The next major version of Composer Asset Plugin is so different, but also incompatible with the current version,\n\u003e that it became a new project named [Foxy](https://github.com/fxpio/foxy).\n\u003e\n\u003e Foxy is the new way to manage the assets of PHP libraries, because it works nativelly with all the features of\n\u003e NPM or Yarn. However, this plugin will continue to be maintained by the community, without having new features.\n\u003e\n\u003e You can read [the reasons for this new version](https://github.com/yiisoft/yii2/issues/14297#issuecomment-327565136),\n\u003e or [the difference between Foxy and Fxp Composer Asset Plugin](https://github.com/fxpio/foxy/blob/master/Resources/doc/faqs.md#what-is-the-difference-between-foxy-and-fxp-composer-asset-plugin),\n\u003e but also [how does Foxy work](https://github.com/fxpio/foxy/blob/master/Resources/doc/faqs.md#how-does-the-plugin-work).\n\n##### Features include:\n\n- Works with native management system versions of VCS repository of composer\n- Works with public and private VCS repositories\n- Lazy loader of asset package definitions to improve performance\n- Import filter with the dependencies of the root package and the installed packages, for increased dramatically the performance for the update\n- Automatically get and create an Asset VCS repository defined in:\n  - [NPM Registry](https://www.npmjs.org)\n  - [Bower Registry](http://bower.io/search)\n  - [Private Bower Registry](https://github.com/Hacklone/private-bower)\n- Automatically get and create the Asset VCS repositories of dependencies defined\n  in each asset package (dev dependencies included)\n- Mapping conversion of asset package to composer package for:\n  - [NPM Package](https://www.npmjs.org/doc/package.json.html) - [package.json](Resources/doc/schema.md#npm-mapping)\n  - [Bower Package](http://bower.io/docs/creating-packages) - [bower.json](Resources/doc/schema.md#bower-mapping)\n- Conversion of [Semver version](Resources/doc/schema.md#verison-conversion) to the composer version\n- Conversion of [Semver range version](Resources/doc/schema.md#range-verison-conversion) to the composer range version\n- Conversion of [dependencies with URL](Resources/doc/schema.md#url-range-verison-conversion) to the composer dependencies with the creation of VCS repositories\n- Conversion of [multiple versions of the same dependency](Resources/doc/schema.md#multiple-version-of-depdendency-in-the-same-project) to different dependencies of composer\n- Add manually the [multiple versions of a same dependency in the project](Resources/doc/index.md#usage-with-multiple-version-of-a-same-dependency)\n- Add a [custom config of VCS Repository](Resources/doc/index.md#usage-with-vcs-repository)\n- Override the [config of VCS Repository](Resources/doc/index.md#overriding-the-config-of-a-vcs-repository) defined by the asset registry directly in config section of root composer\n- VCS drivers for:\n  - [Git](Resources/doc/index.md#usage-with-vcs-repository)\n  - [GitHub](Resources/doc/index.md#usage-with-vcs-repository) (compatible with repository redirects)\n  - [Git Bitbucket](Resources/doc/index.md#usage-with-vcs-repository)\n  - [Mercurial](Resources/doc/index.md#usage-with-vcs-repository)\n  - [Mercurial Bitbucket](Resources/doc/index.md#usage-with-vcs-repository)\n  - [SVN](Resources/doc/index.md#usage-with-vcs-repository)\n  - [Perforce](Resources/doc/index.md#usage-with-vcs-repository)\n- Local cache system for:\n  - package versions\n  - package contents\n  - repository redirects\n- Custom asset installers configurable in the root file `composer.json`\n- For Bower, all files defined in the section `ignore` will not be installed\n- Disable or replace the deleting of the ignore files for Bower\n- Enable manually the deleting of the ignore files for NPM\n- Use the Ignore Files Manager in the Composer scripts\n- Configure the plugin per project, globally or with the environment variables\n- Compatible with all commands, including:\n  - `depends`\n  - `diagnose`\n  - `licenses`\n  - `remove`\n  - `require`\n  - `search` (bower only)\n  - `show`\n  - `status`\n\n##### Why this plugin?\n\nThere already are several possibilities for managing assets in a PHP project:\n\n1. Install Node.js and use NPM or Bower command line in addition to Composer command line\n2. Do #1, but add Composer scripts to automate the process\n3. Include assets directly in the project (not recommended)\n4. Create a repository with all assets and include the `composer.json` file (and use Packagist or an VCS Repository)\n5. Add a package repository in `composer.json` with a direct download link\n6. Create a Satis or Packagist server\n7. Other?\n\nIt goes without saying that each javascript, CSS, etc. library should be developed with the usual tools for that\nlanguage, which front-end developers know well. However, in the case of a complete project in PHP, it shouldn't \nbe necessary to use several tools (PHP, Nodejs, Composer, NPM, Bower, Grunt, etc.) to simply install\nthese assets in your project.\n\nThis plugin has been created to address these issues. Additionally, most developers will not add a `composer.json`\nfile to their projects just to support php based projects, especially when npm and/or bower already exist and are\nwidely used.\n\nDocumentation\n-------------\n\nThe bulk of the documentation is located in `Resources/doc/index.md`:\n\n[Read the Documentation](Resources/doc/index.md)\n\n[Read the FAQs](Resources/doc/faqs.md)\n\n[Read the Release Notes](https://github.com/fxpio/composer-asset-plugin/releases)\n\nInstallation\n------------\n\nAll the installation instructions are located in [documentation](Resources/doc/index.md).\n\nLicense\n-------\n\nThis composer plugin is under the MIT license. See the complete license in:\n\n[LICENSE](LICENSE)\n\nAbout\n-----\n\nFxp Composer Asset Plugin is a [François Pluchino](https://github.com/francoispluchino) initiative.\nSee also the list of [contributors](https://github.com/fxpio/composer-asset-plugin/contributors).\n\nReporting an issue or a feature request\n---------------------------------------\n\nIssues and feature requests are tracked in the [Github issue tracker](https://github.com/fxpio/composer-asset-plugin/issues).\n","funding_links":["https://github.com/sponsors/francoispluchino","https://paypal.me/francoispluchino"],"categories":["PHP","Plugins"],"sub_categories":["Support"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffxpio%2Fcomposer-asset-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffxpio%2Fcomposer-asset-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffxpio%2Fcomposer-asset-plugin/lists"}