
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
lex-gql-sqlite
Advanced tools
SQLite adapter for lex-gql.
npm install lex-gql-sqlite lex-gql better-sqlite3
import Database from 'better-sqlite3';
import { createAdapter, parseLexicon } from 'lex-gql';
import { createSqliteAdapter, createWriter, setupSchema } from 'lex-gql-sqlite';
const db = new Database('./data.db');
setupSchema(db);
const query = createSqliteAdapter(db);
const adapter = createAdapter(lexicons, { query });
const result = await adapter.execute(`
query {
appBskyFeedPost(first: 10) {
edges { node { text } }
}
}
`);
setupSchema(db)Creates the required database tables and indexes.
createSqliteAdapter(db)Returns a query function compatible with lex-gql's adapter interface. Supports cross-collection URI resolution (collection: '*') for forward join batching.
buildWhere(where)Builds SQL WHERE clause from lex-gql where conditions. Supports:
eq, gt, gte, lt, lteincontainsAND/ORbuildOrderBy(sort)Builds SQL ORDER BY clause from lex-gql sort conditions.
createWriter(db)Creates a writer with prepared statements for efficient writes.
const writer = createWriter(db);
// Insert or replace a record
writer.insertRecord({
uri: 'at://did:plc:alice/app.bsky.feed.post/1',
did: 'did:plc:alice',
collection: 'app.bsky.feed.post',
rkey: '1',
cid: 'bafycid123', // optional
record: { text: 'Hello!' }, // object or JSON string
indexedAt: '2024-01-15T12:00:00Z', // optional, defaults to now
});
// Delete a record
writer.deleteRecord('at://did:plc:alice/app.bsky.feed.post/1');
// Insert or update an actor
writer.upsertActor('did:plc:alice', 'alice.bsky.social');
The adapter expects this schema (created by setupSchema):
CREATE TABLE records (
id INTEGER PRIMARY KEY AUTOINCREMENT,
uri TEXT UNIQUE NOT NULL,
did TEXT NOT NULL,
collection TEXT NOT NULL,
rkey TEXT NOT NULL,
cid TEXT,
record TEXT NOT NULL,
indexed_at TEXT NOT NULL
);
CREATE TABLE actors (
did TEXT PRIMARY KEY,
handle TEXT NOT NULL
);
MIT
FAQs
SQLite adapter for lex-gql
We found that lex-gql-sqlite demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.