Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -344,6 +344,8 @@ The repository is organized as a monorepo with the following packages:
- *packages/elysia/*: Elysia integration (@fedify/elysia) for Fedify.
- *packages/express/*: Express integration (@fedify/express) for Fedify.
- *packages/fastify/*: Fastify integration (@fedify/fastify) for Fedify.
- *packages/fixture/*: Testing utilities (@fedify/fixture) providing
runtime-agnostic test adapters.
- *packages/fresh/*: Fresh integration (@fedify/fresh) for Fedify.
- *packages/h3/*: h3 framework integration (@fedify/h3) for Fedify.
- *packages/hono/*: Hono integration (@fedify/hono) for Fedify.
Expand All @@ -352,11 +354,12 @@ The repository is organized as a monorepo with the following packages:
`npm init @fedify`.
- *packages/koa/*: Koa integration (@fedify/koa) for Fedify.
- *packages/lint/*: Linting utilities (@fedify/lint) for Fedify.
- *packages/mysql/*: MySQL/MariaDB drivers (@fedify/mysql) for Fedify.
- *packages/nestjs/*: NestJS integration (@fedify/nestjs) for Fedify.
- *packages/next/*: Next.js integration (@fedify/next) for Fedify.
- *packages/postgres/*: PostgreSQL drivers (@fedify/postgres) for Fedify.
- *packages/redis/*: Redis drivers (@fedify/redis) for Fedify.
- *packages/relay/*: ActivityPub relay support (@fedify/relay) for Fedify.
- *packages/nestjs/*: NestJS integration (@fedify/nestjs) for Fedify.
- *packages/next/*: Next.js integration (@fedify/next) for Fedify.
- *packages/sqlite/*: SQLite driver (@fedify/sqlite) for Fedify.
- *packages/sveltekit/*: SvelteKit integration (@fedify/sveltekit) for Fedify.
- *packages/testing/*: Testing utilities (@fedify/testing) for Fedify.
Expand All @@ -367,8 +370,6 @@ The repository is organized as a monorepo with the following packages:
(@fedify/vocab-tools) for Fedify.
- *packages/webfinger/*: WebFinger client library (@fedify/webfinger) for
ActivityPub.
- *packages/fixture/*: Testing utilities (@fedify/fixture) providing
runtime-agnostic test adapters.
- *docs/*: The Fedify docs. The docs are built with [Node.js] and
[VitePress].
- *examples/*: The example projects. Some examples are built with Deno, and
Expand Down
12 changes: 9 additions & 3 deletions packages/init/src/const.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,19 @@ export const WEB_FRAMEWORK = [
] as const;

/** All supported message queue backend identifiers. */
export const MESSAGE_QUEUE = ["denokv", "redis", "postgres", "amqp"] as const;
export const MESSAGE_QUEUE = [
"denokv",
"redis",
"postgres",
"mysql",
"amqp",
] as const;

/** All supported key-value store backend identifiers. */
export const KV_STORE = ["denokv", "redis", "postgres"] as const;
export const KV_STORE = ["denokv", "redis", "postgres", "mysql"] as const;

/**
* External database services that need to be running for integration tests.
* Used by the test suite to check service availability before running tests.
*/
export const DB_TO_CHECK = ["redis", "postgres", "amqp"] as const;
export const DB_TO_CHECK = ["redis", "postgres", "mysql", "amqp"] as const;
5 changes: 5 additions & 0 deletions packages/init/src/json/db-to-check.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@
"defaultPort": 5432,
"documentation": "https://www.postgresql.org/download/"
},
"mysql": {
"name": "MySQL/MariaDB",
"defaultPort": 3306,
"documentation": "https://dev.mysql.com/doc/mysql-installation-excerpt/en/"
},
"amqp": {
"name": "RabbitMQ",
"defaultPort": 5672,
Expand Down
25 changes: 25 additions & 0 deletions packages/init/src/json/mq.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,31 @@
"POSTGRES_URL": "postgres://postgres@localhost:5432/postgres"
}
},
"mysql": {
"label": "MySQL/MariaDB",
"packageManagers": [
"deno",
"bun",
"npm",
"yarn",
"pnpm"
],
"dependencies": {
"npm:mysql2": "^3.18.0"
},
"imports": {
"@fedify/mysql": {
"MysqlMessageQueue": "MysqlMessageQueue"
},
"mysql2/promise": {
"default": "mysql"
}
},
"object": "new MysqlMessageQueue(mysql.createPool(process.env.MYSQL_URL))",
"env": {
"MYSQL_URL": "mysql://root@localhost/fedify"
}
},
"amqp": {
"label": "AMQP (e.g., RabbitMQ)",
"packageManagers": [
Expand Down
Loading