https://github.com/catamphetamine/sql.js-as-sqlite3
sqlite3-compatible interface for sql.js
https://github.com/catamphetamine/sql.js-as-sqlite3
Last synced: about 2 months ago
JSON representation
sqlite3-compatible interface for sql.js
- Host: GitHub
- URL: https://github.com/catamphetamine/sql.js-as-sqlite3
- Owner: catamphetamine
- License: mit
- Created: 2023-06-26T11:33:09.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-25T10:41:54.000Z (over 1 year ago)
- Last Synced: 2025-10-28T01:49:46.868Z (about 2 months ago)
- Language: JavaScript
- Homepage: https://catamphetamine.gitlab.io/sql.js-as-sqlite3
- Size: 218 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# `sql.js-as-sqlite3`
A wrapper around [`sql.js`](https://www.npmjs.com/package/sql.js) to make it look like [`sqlite3`](https://www.npmjs.com/package/sqlite3).
Based on [this code by @domasx2](https://github.com/sql-js/sql.js/issues/91#issuecomment-169655900).
[Demo](https://catamphetamine.gitlab.io/sql.js-as-sqlite3/)
## Install
```js
npm install sql.js sql.js-as-sqlite3 --save
```
If you're not using a bundler then use a [standalone version from a CDN](#browser-no-bundler).
## Use
### Node.js
```js
import sqlJsAsSqlite3 from 'sql.js-as-sqlite3'
console.log(sqlJsAsSqlite3)
```
### Browser (with bundler)
```js
import sqlJsAsSqlite3 from 'sql.js-as-sqlite3'
import initSqlJs from 'sql.js'
sqlJsAsSqlite3.configure({
// `sql.js` package default export.
initSqlJs,
// Base URL for `sql.js` to get the `*.wasm` files like `sql-wasm-debug.wasm`.
// The version of the `*.wasm` files must match the version of the `sql.js` package.
// Must end with a "/".
wasmFileBaseUrl: 'https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.10.2/'
})
console.log(sqlJsAsSqlite3)
```
### Browser (no bundler)
One can use any npm CDN service, e.g. [unpkg.com](https://unpkg.com) or [jsdelivr.net](https://jsdelivr.net)
```html
// Base URL for `sql.js` to get the `*.wasm` files like `sql-wasm-debug.wasm`.
// The version of the `*.wasm` files must match the version of `sql.js`.
// Must end with a "/".
SQL_JS_WASM_FILE_BASE_URL = 'https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.10.2/'
console.log(sqlJsAsSqlite3)
```
## Sequelize
This package could be used to make [`sequelize`](https://www.npmjs.com/package/sequelize) work with `sqlite` database:
```js
import Sequelize from 'sequelize'
import sqlJsAsSqlite3 from 'sql.js-as-sqlite3'
const sequelize = new Sequelize('sqlite://:memory:', {
dialectModule: sqlJsAsSqlite3
})
```
See a [test](https://gitlab.com/catamphetamine/sql.js-as-sqlite3/-/blob/main/test/sequelize.test.js) for a server-side example.
For a client-side example, see [`sequelize-browser`](https://www.npmjs.com/package/sequelize-browser) package.
## TypeScript
This library comes with TypeScript "typings". If you happen to find any bugs in those, create an issue.
## GitHub
On March 9th, 2020, GitHub, Inc. silently [banned](https://medium.com/@catamphetamine/how-github-blocked-me-and-all-my-libraries-c32c61f061d3) my account (erasing all my repos, issues and comments, even in my employer's private repos) without any notice or explanation. Because of that, all source codes had to be promptly moved to GitLab. The [GitHub repo](https://github.com/catamphetamine/sql.js-as-sqlite3) is now only used as a backup (you can star the repo there too), and the primary repo is now the [GitLab one](https://gitlab.com/catamphetamine/sql.js-as-sqlite3). Issues can be reported in any repo.
## License
[MIT](LICENSE)