Squirreling (v0.12.23) is a streaming async SQL engine in pure JavaScript, designed for browser environments with zero dependencies. It supports standard SQL (read-only), pluggable data sources, lazy async cell evaluation, and async user-defined functions (UDFs). Key differentiators: cell-level lazy evaluation reduces unnecessary computation for network/LLM sources; true streaming via AsyncGenerators; 13 kB bundle size. Unlike WebAssembly databases, it is fully async and works where network latency matters. Ships TypeScript types.
npm install squirrelingNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Shows basic usage: execute SQL on an in-memory array, collect all rows into an array, and filter with WHERE.
Use ES module imports (import) or dynamic import() in CommonJS files. Alternatively, set "type": "module" in package.json.
Use type-only imports: import type { QueryResults } from 'squirreling'.Always await cell functions: const val = await cells.id(). Use helper collect() to materialize all cells.
Only use SELECT queries. For mutations, handle them outside Squirreling.
Upgrade to >=0.12.0; the library now validates table formats.
Run npm install squirreling and ensure your project uses ESM (type: module in package.json or .mjs extension).
Switch to ES module import: import { executeSql } from 'squirreling'.Use await cells.id() instead of cells.id. Cells are functions returning promises.
Only SELECT queries are supported. Remove mutation statements.
No dependency data recorded yet.