Approved Package Registry
This registry lists packages approved for use in the Conduit backend. Any new dependency must be added here with a justification before it is introduced. Seed defaults are listed below.
Runtime Dependencies
| Package | Version | Purpose | Justification |
|---|---|---|---|
| express | ^4.19.2 | HTTP framework | Core routing and middleware |
| @prisma/client | ^5.19.0 | ORM client | Type-safe database access |
| argon2 | ^0.40.3 | Password hashing | Memory-hard hashing (see ADR-0002) |
| jsonwebtoken | ^9.0.2 | JWT sign/verify | Stateless authentication (see ADR-0002) |
| zod | ^3.23.8 | Schema validation | Request input validation |
| slugify | ^1.6.6 | Slug generation | Article slug creation |
| cors | ^2.8.5 | CORS middleware | Cross-origin API access |
| dotenv | ^16.4.5 | Env loading | Local configuration |
| express-async-errors | ^3.1.1 | Async error handling | Forward async route errors |
Development Dependencies
| Package | Version | Purpose | Justification |
|---|---|---|---|
| typescript | ^5.5.4 | Compiler | Strict typing |
| ts-node | ^10.9.2 | TS execution | Local dev/run |
| prisma | ^5.19.0 | ORM CLI | Migrations and generation |
| jest | ^29.7.0 | Test runner | Unit + integration tests |
| ts-jest | ^29.2.4 | TS transform | Run TS tests |
| supertest | ^7.0.0 | HTTP testing | Endpoint integration tests |
| eslint | ^8.57.0 | Linter | Code quality gate |
| @typescript-eslint/parser | ^7.18.0 | TS ESLint parser | Lint TypeScript |
| @typescript-eslint/eslint-plugin | ^7.18.0 | TS ESLint rules | Lint TypeScript |
| husky | ^9.1.4 | Git hooks | Commit gates |
| @commitlint/cli | ^19.4.0 | Commit lint | Conventional commits |
| @commitlint/config-conventional | ^19.2.2 | Commit lint config | Conventional commits |
| @stryker-mutator/core | ^8.2.6 | Mutation testing | Mutation gate |
| @stryker-mutator/jest-runner | ^8.2.6 | Stryker runner | Mutation gate |
| @stryker-mutator/typescript-checker | ^8.2.6 | Stryker checker | Mutation gate |
| @types/express | ^4.17.21 | Types | Express typings |
| @types/node | ^20.14.15 | Types | Node typings |
| @types/jest | ^29.5.12 | Types | Jest typings |
| @types/jsonwebtoken | ^9.0.6 | Types | JWT typings |
| @types/supertest | ^6.0.2 | Types | Supertest typings |
| @types/cors | ^2.8.17 | Types | CORS typings |