Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/0xch/composer-vendor-cleanup
Removes whitelisted unnecessary files (like tests/docs etc.) from vendor directory
https://github.com/0xch/composer-vendor-cleanup
Last synced: about 2 months ago
JSON representation
Removes whitelisted unnecessary files (like tests/docs etc.) from vendor directory
- Host: GitHub
- URL: https://github.com/0xch/composer-vendor-cleanup
- Owner: 0xch
- License: mit
- Created: 2019-10-09T18:56:03.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-05-23T12:02:33.000Z (over 3 years ago)
- Last Synced: 2024-08-09T03:10:07.885Z (5 months ago)
- Language: PHP
- Size: 11.7 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-composer - Composer-Vendor-Cleanup - A script which removes whitelisted unnecessary files (like tests/docs etc.) from the vendor directory. (Scripts / Support)
README
[![Latest Version on Packagist](https://img.shields.io/packagist/v/0xch/composer-vendor-cleanup.svg?style=flat-square)](https://packagist.org/packages/0xch/composer-vendor-cleanup)
[![Total Downloads](https://img.shields.io/packagist/dt/0xch/composer-vendor-cleanup.svg?style=flat-square)](https://packagist.org/packages/0xch/composer-vendor-cleanup)
# Composer vendor cleanup
This is a simple script for the Composer to remove unnecessary files (documentation/examples/tests etc.) from included vendor packages.
Therefore it's a script it can be easily used as part of a deploy script.In my projects it saves about 20-30% of vendor size.
It uses predefined whitelist (`rules.json`) to remove files. So the risk of not working on included packages is reduced.
Script is based on rules from barryvdh's package https://github.com/barryvdh/composer-cleanup-plugin .Feel free to submit pull requests with new rules or features.
### Installation
Add to composer:
```
composer require 0xch/composer-vendor-cleanup
```Then add to your `composer.json`:
```
"scripts": {
"cleanVendor": [
"Oxch\\Composer\\CleanupScript::cleanVendor"
]
}
```(optional) Copy `rules.json` to custom dir and modify for your case and pass filename as argument to composer.
### Usage
Once installed just run command (defined in **Installation** step):
```
composer cleanVendor #use default rules config file
composer cleanVendor customRules.json #use custom rules config file
```
It will go via all installed packages which are on the whitelist and remove unnecessary files.### Look for big files
You can use this command to display possible unnecessary files which can be deleted by adding to your custom rules config file.
```
du -hd 5 vendor/ | sort -h | grep -Pi "/(tests?|examples?|samples?)$"
```