Add more features to allow the removal of unused dependencies in library crates
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 161
Description
## Many bevy crates don't have features to remove unused dependencies.
Many bevy crates have features that allow using the crate without bevy, but they don't always have features for use in libraries that only need the types and not the actual functionality.
For example, bevy_transform has a `bevy-support` feature that can be disabled to reduce unused dependencies, but no feature that allows using `Transform` as a `Component` without also adding `bevy_app` as a dependency. Moreover, the `bevy_app` dependency is only used for the `TransformPlugin`, which isn't normally needed in libraries.
## Solution
Add more features to bevy crates that allow more fine grained control over the dependencies used.
### Additional Request
These features would also allow for something like a `library` feature for bevy, that can be used in libraries that don't need bevy features like `Plugin`s or `App`.
Contributor guide
Assessment
This issue has not been assessed yet.