JSPM

@remix-run/data-table-sqlite

0.1.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2569
  • Score
    100M100P100Q112047F
  • License MIT

SQLite adapter for @remix-run/data-table

Package Exports

  • @remix-run/data-table-sqlite
  • @remix-run/data-table-sqlite/package.json

Readme

data-table-sqlite

SQLite adapter for remix/data-table. Use this package when you want data-table APIs backed by better-sqlite3.

Features

  • Native better-sqlite3 Integration: Works well for local and embedded deployments
  • Full data-table API Support: Queries, relations, writes, and transactions
  • SQLite Capabilities Enabled By Default:
    • returning: true
    • savepoints: true
    • upsert: true

Installation

npm i remix better-sqlite3

Usage

import Database from 'better-sqlite3'
import { createDatabase } from 'remix/data-table'
import { createSqliteDatabaseAdapter } from 'remix/data-table-sqlite'

let sqlite = new Database('app.db')
let db = createDatabase(createSqliteDatabaseAdapter(sqlite))

This is a good fit for local development, embedded deployments, and single-node services.

Adapter Capabilities

data-table-sqlite reports this capability set by default:

  • returning: true
  • savepoints: true
  • upsert: true

Advanced Usage

In-Memory Database For Tests

import Database from 'better-sqlite3'
import { createDatabase } from 'remix/data-table'
import { createSqliteDatabaseAdapter } from 'remix/data-table-sqlite'

let sqlite = new Database(':memory:')
let db = createDatabase(createSqliteDatabaseAdapter(sqlite))

Capability Overrides For Fallback Testing

import { createSqliteDatabaseAdapter } from 'remix/data-table-sqlite'

let adapter = createSqliteDatabaseAdapter(sqlite, {
  capabilities: {
    returning: false,
  },
})

License

See LICENSE