Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. NPM/Bower Dependency Manager for Composer
  2. =========================================
  3. [![Latest Version](https://img.shields.io/packagist/v/fxp/composer-asset-plugin.svg)](https://packagist.org/packages/fxp/composer-asset-plugin)
  4. [![Build Status](https://img.shields.io/travis/francoispluchino/composer-asset-plugin/master.svg)](https://travis-ci.org/francoispluchino/composer-asset-plugin)
  5. [![Coverage Status](https://img.shields.io/coveralls/francoispluchino/composer-asset-plugin/master.svg)](https://coveralls.io/r/francoispluchino/composer-asset-plugin?branch=master)
  6. [![Scrutinizer Code Quality](https://img.shields.io/scrutinizer/g/francoispluchino/composer-asset-plugin.svg)](https://scrutinizer-ci.com/g/francoispluchino/composer-asset-plugin?branch=master)
  7. [![SensioLabsInsight](https://img.shields.io/sensiolabs/i/0d67ca33-5a72-46b8-b109-cfbf95673fce.svg)](https://insight.sensiolabs.com/projects/0d67ca33-5a72-46b8-b109-cfbf95673fce)
  8. The Composer Asset Plugin allows you to manage project assets (css, js, etc.) in your `composer.json`
  9. without installing NPM or Bower.
  10. This plugin works by transposing package information from NPM or Bower to a compatible version for Composer.
  11. This allows you to manage asset dependencies in a PHP based project very easily.
  12. ##### Features include:
  13. - Works with native management system versions of VCS repository of composer
  14. - Works with public and private VCS repositories
  15. - Lazy loader of asset package definitions to improve performance
  16. - Import filter with the dependencies of the root package and the installed packages, for increased dramatically the performance for the update
  17. - Automatically get and create an Asset VCS repository defined in:
  18. - [NPM Registry](https://www.npmjs.org)
  19. - [Bower Registry](http://bower.io/search)
  20. - Automatically get and create the Asset VCS repositories of dependencies defined
  21. in each asset package (dev dependencies included)
  22. - Mapping conversion of asset package to composer package for:
  23. - [NPM Package](https://www.npmjs.org/doc/package.json.html) - [package.json](Resources/doc/schema.md#npm-mapping)
  24. - [Bower Package](http://bower.io/docs/creating-packages) - [bower.json](Resources/doc/schema.md#bower-mapping)
  25. - Conversion of [Semver version](Resources/doc/schema.md#verison-conversion) to the composer version
  26. - Conversion of [Semver range version](Resources/doc/schema.md#range-verison-conversion) to the composer range version
  27. - Conversion of [dependencies with URL](Resources/doc/schema.md#url-range-verison-conversion) to the composer dependencies with the creation of VCS repositories
  28. - 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
  29. - Add manually the [multiple versions of a same dependency in the project](Resources/doc/index.md#usage-with-multiple-version-of-a-same-dependency)
  30. - Add a [custom config of VCS Repository](Resources/doc/index.md#usage-with-vcs-repository)
  31. - Override the [config of VCS Repository](Resources/doc/index.md#overriding-the-config-of-a-vcs-repository) defined by the asset registry directly in extra section of root composer
  32. - VCS drivers for:
  33. - [Git](Resources/doc/index.md#usage-with-vcs-repository)
  34. - [GitHub](Resources/doc/index.md#usage-with-vcs-repository) (compatible with repository redirects)
  35. - [Git Bitbucket](Resources/doc/index.md#usage-with-vcs-repository)
  36. - [Mercurial](Resources/doc/index.md#usage-with-vcs-repository)
  37. - [Mercurial Bitbucket](Resources/doc/index.md#usage-with-vcs-repository)
  38. - [SVN](Resources/doc/index.md#usage-with-vcs-repository)
  39. - [Perforce](Resources/doc/index.md#usage-with-vcs-repository)
  40. - Local cache system for:
  41. - package versions
  42. - package contents
  43. - repository redirects
  44. - Custom asset installers configurable in the root file `composer.json`
  45. - For Bower, all files defined in the section `ignore` will not be installed
  46. - Disable or replace the deleting of the ignore files for Bower
  47. - Enable manually the deleting of the ignore files for NPM
  48. - Use the Ignore Files Manager in the Composer scripts
  49. - Compatible with all commands, including:
  50. - `depends`
  51. - `diagnose`
  52. - `licenses`
  53. - `remove`
  54. - `require`
  55. - `search` (bower only)
  56. - `show`
  57. - `status`
  58. ##### Why this plugin?
  59. There already are several possibilities for managing assets in a PHP project:
  60. 1. Install Node.js and use NPM or Bower command line in addition to Composer command line
  61. 2. Do #1, but add Composer scripts to automate the process
  62. 3. Include assets directly in the project (not recommended)
  63. 4. Create a repository with all assets and include the `composer.json` file (and use Packagist or an VCS Repository)
  64. 5. Add a package repository in `composer.json` with a direct download link
  65. 6. Create a Satis or Packagist server
  66. 7. Other?
  67. It goes without saying that each javascript, CSS, etc. library should be developed with the usual tools for that
  68. language, which front-end developers know well. However, in the case of a complete project in PHP, it shouldn't
  69. be necessary to use several tools (PHP, Nodejs, Composer, NPM, Bower, Grunt, etc.) to simply install
  70. these assets in your project.
  71. This plugin has been created to address these issues. Additionally, most developers will not add a `composer.json`
  72. file to their projects just to support php based projects, especially when npm and/or bower already exist and are
  73. widely used.
  74. Documentation
  75. -------------
  76. The bulk of the documentation is located in `Resources/doc/index.md`:
  77. [Read the Documentation](Resources/doc/index.md)
  78. [Read the FAQs](Resources/doc/faqs.md)
  79. [Read the Release Notes](https://github.com/francoispluchino/composer-asset-plugin/releases)
  80. Installation
  81. ------------
  82. All the installation instructions are located in [documentation](Resources/doc/index.md).
  83. License
  84. -------
  85. This composer plugin is under the MIT license. See the complete license in:
  86. [Resources/meta/LICENSE](Resources/meta/LICENSE)
  87. About
  88. -----
  89. Fxp Composer Asset Plugin is a [François Pluchino](https://github.com/francoispluchino) initiative.
  90. See also the list of [contributors](https://github.com/francoispluchino/composer-asset-plugin/contributors).
  91. Reporting an issue or a feature request
  92. ---------------------------------------
  93. Issues and feature requests are tracked in the [Github issue tracker](https://github.com/francoispluchino/composer-asset-plugin/issues).