{"id":13528377,"url":"https://github.com/swimlane/coconspirators","last_synced_at":"2025-04-01T11:31:28.082Z","repository":{"id":57202061,"uuid":"83433253","full_name":"swimlane/coconspirators","owner":"swimlane","description":"📞  Microservice framework for RabbitMQ written in TypeScript","archived":true,"fork":false,"pushed_at":"2019-01-11T17:39:25.000Z","size":227,"stargazers_count":43,"open_issues_count":1,"forks_count":12,"subscribers_count":35,"default_branch":"master","last_synced_at":"2025-03-18T14:59:39.372Z","etag":null,"topics":["amqp","messaging","nodejs","queue","rabbitmq","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/swimlane.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-28T13:04:37.000Z","updated_at":"2023-01-28T19:16:29.000Z","dependencies_parsed_at":"2022-09-17T12:01:09.572Z","dependency_job_id":null,"html_url":"https://github.com/swimlane/coconspirators","commit_stats":null,"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swimlane%2Fcoconspirators","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swimlane%2Fcoconspirators/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swimlane%2Fcoconspirators/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swimlane%2Fcoconspirators/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/swimlane","download_url":"https://codeload.github.com/swimlane/coconspirators/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246631949,"owners_count":20808788,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amqp","messaging","nodejs","queue","rabbitmq","typescript"],"created_at":"2024-08-01T06:02:29.006Z","updated_at":"2025-04-01T11:31:27.774Z","avatar_url":"https://github.com/swimlane.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# coconspirators\n\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/0c04d1d742714daeb66c7a418850aa7d)](https://www.codacy.com/app/Swimlane/coconspirators?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=swimlane/coconspirators\u0026amp;utm_campaign=Badge_Grade) [![Codacy Badge](https://api.codacy.com/project/badge/Coverage/0c04d1d742714daeb66c7a418850aa7d)](https://www.codacy.com/app/Swimlane/coconspirators?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=swimlane/coconspirators\u0026utm_campaign=Badge_Coverage) [![Build Status](https://travis-ci.org/swimlane/coconspirators.svg?branch=master)](https://travis-ci.org/swimlane/coconspirators) [![npm version](https://badge.fury.io/js/coconspirators.svg)](https://badge.fury.io/js/coconspirators)\n\n# ⚠️ This library is no longer under active development ⚠️\nSwimlane no longer uses this library in our codebase. That may change in the future, but for now it will no longer be maintained.\n\ncoconspirators is a microservice framework for RabbitMQ written in TypeScript. Under the hood it uses\n[amqp.node](https://github.com/squaremo/amqp.node), the battle-tested AMQP client, to communicate\nwith RabbitMQ and has best-practices baked in. Features include:\n\n- Simple API for subscribing, publish and replying\n- DI Friendly\n- TypeScript First\n\n## Install\n\n`npm i coconspirators --S`\n\n## Building\n\n`npm run build`\n\n## Usage\n\n```typescript\nimport { Queue, AmqpQueue, AmqpClient  } from 'coconspirators';\n\nexport class AmqpServer {\n  connection: Promise\u003cany\u003e;\n  constructor(public client: AmqpClient, logger: Logger) {\n    this.connection = this.client.connect();\n\n    client.on('connected', () =\u003e console.log('connected!'));\n    client.on('disconnected', () =\u003e console.log('disconnected!'));\n  }\n}\n\ninterface ZooMessage {\n  animal: string;\n}\n\n@Queue({\n  name: 'health'\n  contentType: 'application/json'\n})\nexport class HealthQueue extends AmqpQueue\u003cZooMessage\u003e {\n  constructor(client: AmqpClient) { super(client); }\n}\n\nexport class HealthChecker {\n  constructor(queue: HealthQueue) {\n    this.queue.publish({ hi: true });\n    this.queue.subscribe((message: ZooMessage) =\u003e {\n      console.log('message', message);\n    })\n  }\n}\n```\n\n## Credits\n\n`coconspirators` is a [Swimlane](http://swimlane.com) open-source project; we believe in giving back to the open-source community by sharing some of the projects we build for our application. Swimlane is an automated cyber security operations and incident response platform that enables cyber security teams to leverage threat intelligence, speed up incident response and automate security operations.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswimlane%2Fcoconspirators","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswimlane%2Fcoconspirators","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswimlane%2Fcoconspirators/lists"}