Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andrewbaxter/bread-scan
Bread dependency scanner
https://github.com/andrewbaxter/bread-scan
Last synced: about 22 hours ago
JSON representation
Bread dependency scanner
- Host: GitHub
- URL: https://github.com/andrewbaxter/bread-scan
- Owner: andrewbaxter
- License: isc
- Created: 2022-12-02T10:58:26.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-03-01T13:40:10.000Z (over 1 year ago)
- Last Synced: 2024-11-11T23:58:06.028Z (5 days ago)
- Language: Rust
- Homepage: https://bre.ad
- Size: 154 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license.txt
Awesome Lists containing this project
README
This is a command line tool for [Bread](https://bre.ad) for finding relevant projects. You can use it to update personal donations or to generate a `.bread.yml` file for a project.
Supported dependency files:
- Javascript, `package.json` (requires a populated `node_modules` directory for metadata)
- Python, `pyproject.toml` (Poetry only)
- Go, `go.mod`
- Rust, `Cargo.toml`
- Java, `pom.xml`Supported operating systems for scanning:
- Arch
- Debian# Installation
`bread-scan` is written in Rust, and you can install `bread-scan` using the Rust package manager :
```
cargo install bread-scan
```# Usage
## Donations
You'll need to set up a token at with config read and write permission, and put it in an environment variable named `BREAD_TOKEN`.
```
bread-scan -s os=debian -d donate
```This scans your system for manually installed packages and tries to figure out the corresponding repository, then updates your donation configuration with them.
The results will be merged with your existing donation targets, keeping existing weights. If you want to remove software you're no longer using, use `--remove`.
## Project yaml
If you're generating a yaml file for your project, you can use the following invocation.
```
bread-scan -s project=. -d project_yaml=.
````bread-scan` will look for dependencies in the project at the current directory using common dependency management systems (`npm`, `cargo`, etc).
This will merge with an existing yaml file if it exists, preserving existing weights. It will keep projects even if it didn't find them during a scan. You can use `--remove` to have it remove them (or similarly, `--remove-accounts` for accounts).
Commit and push this file and your project is ready to accept (and redistribute) donations!
# Other notes
## Source and dest types
The `file=` source/dest arguments can be used for storing results locally for manual editing, local management, etc. It is in a JSON format only used by `bread-scan`.
## Debug
Run with `DEBUG=1` for more log messages.
## Cache
Various lookups are cached to make updating configs faster. The configs are stored in your system's user cache `bread-scan` directory. On linux, with XDG paths, this would be `/home/USER/.cache/bread-scan`. You may delete the directory, remote resources will need to be re-queried on the next run.