SkillAgentSearch skills...

Sqlean.js

Browser-based SQLite with extensions

Install / Use

/learn @nalgeon/Sqlean.js
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

sqlean.js

This package provides an SQLite database engine compiled for the browser and bundled with sqlean extensions.

The project is no longer maintained.

Extensions

sqlean.js contains 9 essential SQLite extensions:

  • crypto: Hashing, encoding and decoding data
  • define: User-defined functions and dynamic SQL
  • fuzzy: Fuzzy string matching and phonetics
  • ipaddr: IP address manipulation
  • math: Math functions
  • regexp: Regular expressions
  • stats: Math statistics
  • text: String functions
  • uuid: Universally Unique IDentifiers

Installation

You'll need the SQLite JavaScript API. Include it from CDN or (better) download and host locally:

<script src="https://unpkg.com/@antonz/sqlean/dist/sqlean.js"></script>

It's also available as an ECMAScript module:

import sqlite3InitModule from "https://unpkg.com/@antonz/sqlean/dist/sqlean.mjs";

You'll also need to download and serve an SQLite WASM file if you're hosting locally:

https://unpkg.com/@antonz/sqlean/dist/sqlean.wasm

sqlean.wasm is used internally by the sqlean.js script, so place them in the same folder.

I suggest you host both files locally because they weigh ≈1.5Mb, and CDNs tend to be quite slow with such large files.

You can install them using npm:

npm install @antonz/sqlean

Usage

Initialize SQLite:

async function init() {
    const sqlite3 = await sqlite3InitModule({
        print: console.log,
        printErr: console.error,
    });
    const version = sqlite3.capi.sqlite3_libversion();
    console.log(`Loaded SQLite ${version}`);
    return sqlite3;
}

Create and query a database:

const SCHEMA = `
create table employees(id, name, salary);
insert into employees values
(1, 'Alice', 120),
(2, 'Bob', 100),
(3, 'Cindy', 80);
`;

init().then((sqlite3) => {
    const db = new sqlite3.oo1.DB();
    db.exec(SCHEMA);

    const sql = "select * from employees";
    let rows = [];
    db.exec({
        sql,
        rowMode: "object",
        resultRows: rows,
    });

    console.log(rows);
});

Which prints the following:

[
    {
        "id": 1,
        "name": "Alice",
        "salary": 120
    },
    {
        "id": 2,
        "name": "Bob",
        "salary": 100
    },
    {
        "id": 3,
        "name": "Cindy",
        "salary": 80
    }
]

See the SQLite documentation for details.

License

Copyright 2023-2024 Anton Zhiyanov.

The software is available under the MIT License.

View on GitHub
GitHub Stars130
CategoryData
Updated29d ago
Forks3

Languages

Makefile

Security Score

100/100

Audited on Mar 1, 2026

No findings