@develit-io/backend-sdk
v12.3.1
Published
Develit Backend SDK
Readme
Develit Backend SDK
A TypeScript SDK for building Cloudflare Workers with database integration, command patterns, and automatic audit logging.
Installation
bun add @develit-io/backend-sdkCore Features
- Worker Framework: Decorator-based actions with
@action()and@service() - Database Integration: Built-in Drizzle ORM with
initializeDB() - Command Pattern: Reusable, parameterized database operations
- Atomic Audit Logging: Audit logs included in same database batch
- Type Safety: Full TypeScript support throughout
Quick Start
@service('user-service')
export default class UserService extends develitWorker(WorkerEntrypoint<UserEnv>) {
constructor(env: Env, ctx: ExecutionContext) {
super(env, ctx)
// Setup audit logging
const auditWriter = createAuditLogWriter(tables.auditLog)
this.initializeDB(env.USER_DB, tables, auditWriter)
// Now available: this.db
}
@action('create-user')
async createUser(input: CreateUserInput): Promise<IRPCResponse<CreateUserOutput>> {
return this.handleAction(
{data: input, schema: createUserInputSchema},
{successMessage: 'User created successfully'},
() => {
await this.db.execute(createUserCommand(userData))
})
}
}Key Exports
// Core functionality
export { develitWorker, action, service } from '@develit-io/workers-sdk'
export { defineCommand, DatabaseTransaction, createAuditLogWriter } from '@develit-io/workers-sdk'
// Built-in worker properties after initializeDB():
// - this.db: DatabaseTransactionExamples
- defineCommand Usage - Creating parameterized commands
- DatabaseTransaction Usage - Transaction and audit logging
Requirements
- Node.js 22+
- TypeScript 5.8.3+
- Cloudflare Workers environment
- Drizzle ORM setup
License
ISC License - see package.json for details.
