Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

kysely-do

benallfree7.5kMIT0.0.1-rc.1TypeScript support: included

Kysely dialect for Cloudflare Durable Objects

kysely, cloudflare, d1, do, durable, objects, durable objects, workers, serverless

readme

kysely-do

ci npm

Kysely adapter for Cloudflare Durable Objects.

npm i kysely-do

This project provides a Kysely dialect for Cloudflare Durable Objects, enabling you to use SQL queries with Durable Object storage.

Usage

Creating a Durable Object with Kysely

To use kysely-do, you need to create a Durable Object class that initializes a Kysely instance with the DODialect. Here's a basic example:

import { DurableObject } from 'cloudflare:workers'
import { Kysely } from 'kysely'
import { DODialect } from 'kysely-do'

export interface Env {
  MY_OBJECT: DurableObjectNamespace<MyObject>
}

export class MyObject extends DurableObject<Env> {
  private db: Kysely<Database>

  constructor(ctx: DurableObjectState, env: Env) {
    super(ctx, env)

    // Create Kysely instance with DODialect
    this.db = new Kysely<Database>({
      dialect: new DODialect({ ctx }),
    })
  }
}

Configuration

You'll need to configure your Durable Object binding in your wrangler.jsonc:

{
  "durable_objects": {
    "bindings": [
      {
        "name": "MY_OBJECT",
        "class_name": "MyObject",
      },
    ],
  },
}