Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
SqliteAdapter
✓ import { SqliteAdapter } from 'station-adapter-sqlite'
✗ const SqliteAdapter = require('station-adapter-sqlite')
Package is ESM-only. CommonJS require will fail.
SqliteAdapterOptions
✓ import type { SqliteAdapterOptions } from 'station-adapter-sqlite'
✗ import { SqliteAdapterOptions } from 'station-adapter-sqlite'
Use type-only import for TypeScript interfaces to avoid runtime overhead.
default
✓ import { SqliteAdapter } from 'station-adapter-sqlite'
✗ import SqliteAdapter from 'station-adapter-sqlite'
Package does not export a default. Named import only.
Configures the SQLite adapter globally, shows custom options, integrates with SignalRunner with configModule, and handles graceful shutdown.
import { configure } from 'station-signal';
import { SqliteAdapter } from 'station-adapter-sqlite';
// Configure globally with default options (creates station-signal.db)
configure({ adapter: new SqliteAdapter() });
// With custom options
const adapter = new SqliteAdapter({
dbPath: process.env.SIGNAL_DB_PATH ?? './data/jobs.db',
tableName: 'signal_entries',
});
// Use in SignalRunner
import { SignalRunner } from 'station-signal';
import { fileURLToPath } from 'node:url';
const runner = new SignalRunner({
signalsDir: './src/signals',
configModule: fileURLToPath(new URL('./adapter.config.ts', import.meta.url)),
});
await runner.start();
// Graceful shutdown
process.on('SIGINT', () => {
adapter.close();
process.exit(0);
});
Errors
Common errors & fixes
The native binary for better-sqlite3 hasn't been compiled.
pnpm 10 blocks lifecycle scripts needed to compile native modules.
fixAdd 'better-sqlite3' to pnpm.onlyBuiltDependencies and run pnpm install.
ERR_REQUIRE_ESM: require() of ES Module
Using CommonJS require() on an ESM-only package.
fixUse import { SqliteAdapter } from 'station-adapter-sqlite' or switch to ESM. TypeError: SqliteAdapter is not a constructor
Trying to use default import or calling without new.
fixUse new SqliteAdapter() with proper named import.
Error: Cannot find module 'better-sqlite3'
better-sqlite3 not installed or platform-specific build missing.
fixInstall better-sqlite3: pnpm add better-sqlite3 (must compile native binaries).
Audit
Dependencies
better-sqlite3requiredSynchronous SQLite driver used under the hood
station-signalrequiredPeer dependency providing configure and SignalRunner
station-broadcastrequiredPeer dependency for broadcasting
station-schedulesrequiredPeer dependency for scheduling