{"id":44896,"library":"express-session-sqlite","title":"express-session-sqlite","description":"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.","status":"active","version":"2.1.1","language":"javascript","source_language":"en","source_url":"https://github.com/theogravity/express-session-sqlite","tags":["javascript","express-session","sqlite","express","session","store","typescript"],"install":[{"cmd":"npm install express-session-sqlite","lang":"bash","label":"npm"},{"cmd":"yarn add express-session-sqlite","lang":"bash","label":"yarn"},{"cmd":"pnpm add express-session-sqlite","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency; required to create the session store","package":"express-session","optional":false},{"reason":"peer dependency; provides the SQLite database driver","package":"sqlite3","optional":false}],"imports":[{"note":"The default export is a factory function. CommonJS require should use require('express-session-sqlite').default.","wrong":"const { sqliteStoreFactory } = require('express-session-sqlite')","symbol":"default (sqliteStoreFactory)","correct":"import sqliteStoreFactory from 'express-session-sqlite'"},{"note":"sqliteStoreFactory returns the store class; instantiate with new.","wrong":"const store = new sqliteStoreFactory(session)({...})","symbol":"SqliteStore (instance)","correct":"const SqliteStore = sqliteStoreFactory(session); const store = new SqliteStore({...})"},{"note":"TypeScript users can import the options type for type safety.","wrong":"","symbol":"SqliteStoreOptions","correct":"import type { SqliteStoreOptions } from 'express-session-sqlite'"}],"quickstart":{"code":"import sqlite3 from 'sqlite3';\nimport session from 'express-session';\nimport express from 'express';\nimport sqliteStoreFactory from 'express-session-sqlite';\n\nconst SqliteStore = sqliteStoreFactory(session);\nconst app = express();\n\napp.use(session({\n  store: new SqliteStore({\n    driver: sqlite3.Database,\n    path: ':memory:',\n    ttl: 86400000, // 24 hours\n  }),\n  secret: 'keyboard cat',\n  resave: false,\n  saveUninitialized: false,\n}));\n\napp.get('/', (_req, res) => {\n  res.send('Session store active');\n});\n\napp.listen(3000, () => console.log('Server running on http://localhost:3000'));","lang":"typescript","description":"Sets up an express-session with an in-memory SQLite store using express-session-sqlite."},"warnings":[{"fix":"Call sqliteStoreFactory(session) instead of passing options directly.","message":"Version 2.x changes the factory function signature from requiring options to requiring express-session instance.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Pass sqlite3.Database as driver, not new sqlite3.Database().","message":"Driver parameter expects a Database constructor, not an instance.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use const sqliteStoreFactory = require('express-session-sqlite').default; or use ESM import.","message":"The default export is a factory function; using CommonJS requires .default.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'2.1.1':18 'allow':39 'back':7 'cleanup':62 'compat':30,46 'configur':60 'current':21 'databas':79 'depend':35 'differenti':49 'driver':31 'environ':70 'express':2,12,44,82,85 'express-sess':11,81 'express-session-compat':43 'express-session-sqlit':1 'extern':78 'factori':37 'id':66 'integr':40 'interv':63 'javascript':80 'key':48 'memori':76 'middlewar':47 'node.js':69 'packag':28 'pattern':38 'peer':34 'prefer':74 'prefix':67 'provid':51 'releas':23 'requir':25 'session':3,8,13,45,65,83,86 'simpl':53 'solut':58 'sqlite':4,6,57,72,84 'sqlite-back':5 'sqlite3':27 'stabl':22 'store':9,87 'target':68 'test':56 'ttl':61 'typescript':16,88 'version':17 'well':55 'well-test':54 'written':14","created_at":"2026-06-07T12:52:22.759107+00:00","updated_at":"2026-06-07T12:52:22.759107+00:00","problems":[{"fix":"Correct: const SqliteStore = sqliteStoreFactory(session); new SqliteStore({...});","cause":"Using the factory function directly as a constructor without calling it first.","error":"TypeError: SqliteStore is not a constructor"},{"fix":"Run: npm install sqlite3","cause":"Missing peer dependency sqlite3.","error":"Error: Cannot find module 'sqlite3'"},{"fix":"Pass sqlite3.Database (class) not new sqlite3.Database() (instance).","cause":"Passing an instance of Database instead of the class itself.","error":"Error: driver is not a constructor"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/theogravity/express-session-sqlite#readme","github":"https://github.com/theogravity/express-session-sqlite","docs":null,"changelog":null,"pypi":null,"npm":"express-session-sqlite","openapi_spec":null,"status_page":null,"smithery":null,"categories":["storage"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}