Registry / storage / express-session-sqlite

express-session-sqlite

JSON →
library2.1.1jsnpmunverified

SQLite-backed session store for express-session, written in TypeScript. Version 2.1.1 is the current stable release. It requires the `sqlite3` package (or compatible driver) as a peer dependency. The factory pattern allows integration with any express-session-compatible middleware. Key differentiator: it provides a simple, well-tested SQLite solution with configurable TTL, cleanup interval, and session ID prefix, targeting Node.js environments where SQLite is preferred over memory or external databases.

npm install express-session-sqlite
INSTALL
IMPORT
SIG · EXPRESS-SESSION-SQ
E
express-session-sqlite
storagejavascriptv2.1.1
harness data pending
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.

default (sqliteStoreFactory)
✓ import sqliteStoreFactory from 'express-session-sqlite'
✗ const { sqliteStoreFactory } = require('express-session-sqlite')
The default export is a factory function. CommonJS require should use require('express-session-sqlite').default.
SqliteStore (instance)
✓ const SqliteStore = sqliteStoreFactory(session); const store = new SqliteStore({...})
✗ const store = new sqliteStoreFactory(session)({...})
sqliteStoreFactory returns the store class; instantiate with new.
SqliteStoreOptions
✓ import type { SqliteStoreOptions } from 'express-session-sqlite'
TypeScript users can import the options type for type safety.

Sets up an express-session with an in-memory SQLite store using express-session-sqlite.

import sqlite3 from 'sqlite3'; import session from 'express-session'; import express from 'express'; import sqliteStoreFactory from 'express-session-sqlite'; const SqliteStore = sqliteStoreFactory(session); const app = express(); app.use(session({ store: new SqliteStore({ driver: sqlite3.Database, path: ':memory:', ttl: 86400000, // 24 hours }), secret: 'keyboard cat', resave: false, saveUninitialized: false, })); app.get('/', (_req, res) => { res.send('Session store active'); }); app.listen(3000, () => console.log('Server running on http://localhost:3000'));
Debug
Known issues
breakingVersion 2.x changes the factory function signature from requiring options to requiring express-session instance.
fix
Call sqliteStoreFactory(session) instead of passing options directly.
affects: >=2.0.0
gotchaDriver parameter expects a Database constructor, not an instance.
fix
Pass sqlite3.Database as driver, not new sqlite3.Database().
affects: >=1.0.0
gotchaThe default export is a factory function; using CommonJS requires .default.
fix
Use const sqliteStoreFactory = require('express-session-sqlite').default; or use ESM import.
affects: >=1.0.0
Errors
Common errors & fixes
TypeError: SqliteStore is not a constructor
Using the factory function directly as a constructor without calling it first.
fix
Correct: const SqliteStore = sqliteStoreFactory(session); new SqliteStore({...});
Error: Cannot find module 'sqlite3'
Missing peer dependency sqlite3.
fix
Run: npm install sqlite3
Error: driver is not a constructor
Passing an instance of Database instead of the class itself.
fix
Pass sqlite3.Database (class) not new sqlite3.Database() (instance).
Upgrade
Version history
2.1.1latest on npm
Audit
Dependencies
express-sessionrequiredpeer dependency; required to create the session store
sqlite3requiredpeer dependency; provides the SQLite database driver
Agent activity
20 hits · last 30 days
node
18
OpenAI (training)
1
Resources
express-session-sqlite — npm install express-session-sqlite · libregistry