https://github.com/jaredwray/qified
Cloud Queues with Task and Messages and Multiple Providers
https://github.com/jaredwray/qified
kafka message-queue nats queue rabbitmq redis tasks
Last synced: about 2 months ago
JSON representation
Cloud Queues with Task and Messages and Multiple Providers
- Host: GitHub
- URL: https://github.com/jaredwray/qified
- Owner: jaredwray
- License: mit
- Created: 2024-09-17T16:16:14.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-04-04T20:12:53.000Z (2 months ago)
- Last Synced: 2026-04-12T21:55:57.406Z (2 months ago)
- Topics: kafka, message-queue, nats, queue, rabbitmq, redis, tasks
- Language: TypeScript
- Homepage: https://qified.org
- Size: 1.19 MB
- Stars: 13
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
[](https://qified.org)
[](https://github.com/jaredwray/qified/actions/workflows/tests.yaml)
[](https://github.com/jaredwray/qified/blob/main/LICENSE)
[](https://codecov.io/gh/jaredwray/qified)
[](https://npmjs.com/package/qified)
[](https://npmjs.com/package/qified)
# qified
Task and Message Queues with Multiple Providers
This is a mono repo that contains the following packages:
* [qified](packages/qified/README.md) - The main package that contains the core functionality and a built in in-memory provider.
Additional packages:
* [@qified/redis](packages/redis/README.md) - Redis Provider (messages and tasks)
* [@qified/rabbitmq](packages/rabbitmq/README.md) - RabbitMQ Provider (messages and tasks)
* [@qified/nats](packages/nats/README.md) - NATS Provider (messages and tasks)
* [@qified/zeromq](packages/zeromq/README.md) - ZeroMQ Provider (messages only)
# Development and Testing
Qified is written in TypeScript and tests are written in `vitest`. To run the tests, use the following command:
1. `nvm use` - This will use the correct node version
2. `pnpm install` - This will install all the dependencies
3. `pnpm test:services:start` - This will start the services needed for testing (Redis, RabbitMQ, etc)
4. `pnpm test` - This will run the tests
To contribute follow the [Contributing Guidelines](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md).
# Publishing
This is a mono repo and uses [pnpm](https://pnpm.io/) for package management. In addition all packages are versioned using [semantic versioning](https://semver.org/) and are published using github actions. To do a version bump and publish, follow these steps:
1. Make sure you have the latest changes from the main branch.
2. Update the `package.json` in the root directory with the new version number.
- If you are making a breaking change, use the `major` version bump. `X.0.0`
- If you are adding new features, use the `minor` version bump. `0.X.0`
- If you are making a bug fix, use the `patch` version bump. `0.0.X`
3. Sync the version changes to all packages by running `pnpm version:sync`.
4. Check the changes and commit them to the main branch.
5. Do a release on GitHub. This will trigger the GitHub Actions workflow to publish the packages.
# License
[MIT & © Jared Wray](LICENSE)