https://github.com/composer/metadata-minifier
Small utility library that handles metadata minification and expansion.
https://github.com/composer/metadata-minifier
Last synced: about 1 year ago
JSON representation
Small utility library that handles metadata minification and expansion.
- Host: GitHub
- URL: https://github.com/composer/metadata-minifier
- Owner: composer
- License: mit
- Created: 2021-04-07T12:58:59.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2024-08-22T15:55:01.000Z (almost 2 years ago)
- Last Synced: 2024-10-29T15:22:09.737Z (over 1 year ago)
- Language: PHP
- Size: 16.6 KB
- Stars: 172
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
composer/metadata-minifier
==========================
Small utility library that handles metadata minification and expansion.
This is used by [Composer](https://github.com/composer/composer)'s 2.x repository metadata protocol.
Installation
------------
Install the latest version with:
```bash
composer require composer/metadata-minifier
```
Requirements
------------
* PHP 5.3.2 is required but using the latest version of PHP is highly recommended.
Basic usage
-----------
### `Composer\MetadataMinifier\MetadataMinifier`
- `MetadataMinifier::expand()`: Expands an array of minified versions back to their original format
- `MetadataMinifier::minify()`: Minifies an array of versions into a set of version diffs
For example to expand the dev versions (note the ~dev in the URL) of Monolog you would do:
```php
$packageName = 'monolog/monolog';
$url = 'https://repo.packagist.org/p2/' . $packageName . '~dev.json';
$json = json_decode(file_get_contents($url), true);
$versions = \Composer\MetadataMinifier\MetadataMinifier::expand($json['packages'][$packageName]);
```
License
-------
composer/metadata-minifier is licensed under the MIT License, see the LICENSE file for details.