Pekka Enberg
692323ae9b
bindings/javascript: Rename @tursodatabase/database/sync to compat
...
We already have a `@tursodatabase/sync` package so let's make the name of the
better-sqlite3 compatibility API package stand out.
2025-08-19 13:20:34 +03:00
Pekka Enberg
976403b080
bindings/javascript: Add TypeScript declarations to package
...
Fixes #2621
2025-08-19 12:34:49 +03:00
Pekka Enberg
3a72b478d2
Turso 0.1.4-pre.9
2025-08-18 12:55:45 +03:00
PThorpe92
cc2fed3297
Remove copy_to API from file IO trait
2025-08-14 21:31:13 -04:00
PThorpe92
3c088dda59
Update callsites of copy_to Database impl
2025-08-14 21:31:13 -04:00
Jussi Saurio
c75e4c1092
Fix non-4096 page sizes by making WAL header lazy
2025-08-14 12:40:58 +03:00
Jussi Saurio
ee58b7bd86
Add fn read_header() to DatabaseStorage trait
2025-08-14 12:40:58 +03:00
Nikita Sivukhin
bfa33a27e2
enable indices in database JS sdk
2025-08-13 15:55:40 +04:00
Pekka Enberg
a6247e891f
Turso 0.1.4-pre.8
2025-08-12 19:51:42 +03:00
Pekka Enberg
475799b3e9
Unify JavaScript package README files
2025-08-12 19:30:02 +03:00
Pekka Enberg
269b23ece5
Merge branch 'main' of https://github.com/tursodatabase/limbo
2025-08-12 17:08:30 +03:00
Pekka Enberg
5a65617602
Turso 0.1.4-pre.7
2025-08-12 17:01:47 +03:00
Pekka Enberg
96673a54a8
bindings/javascript: Add async connect() function
...
Let's make the API symmetric with libSQL and serverless drivers.
2025-08-12 11:39:59 +03:00
Pekka Enberg
81da795a66
Turso 0.1.4-pre.6
2025-08-08 16:50:24 +03:00
Pekka Enberg
ba88d17f29
Turso 0.1.4-pre.5
2025-08-08 13:49:06 +03:00
Pekka Enberg
f2b2e4d4d8
Rename JavaScript package to @tursodatabase/database
2025-08-08 13:22:10 +03:00
Pekka Enberg
ad70157e74
Turso 0.1.4-pre.4
2025-08-08 11:54:26 +03:00
Pekka Enberg
5b578dd790
bindings/javascript: Fix "npm publish" to build the package
2025-08-08 11:53:58 +03:00
Pekka Enberg
8d5fb41f5d
Turso 0.1.4-pre.3
2025-08-08 10:42:41 +03:00
Pekka Enberg
f7eb6c2cee
Turso v0.1.4-pre.3
2025-08-08 10:42:38 +03:00
Pekka Enberg
7a09eb0d4c
Merge 'Fix JavaScript bindings packaging' from Nikita Sivukhin
...
This PR configure `#entry-point` import alias for javascript bindings in
order to use `browser.js` napi-rs generated file in browser context.
Also, this PR forces napi-rs to emit `index.js` entrypoint using ESM and
also use typescript for writing our wrapper code around napi-rs
bindings.
In order to make behaviour consistent when lib is imported through ESM
or CommonJS this PR also replace default export of `Database` by named
on. The problem is that `export default Database` will be logically
equivalent to `modules.export.default = Database` which is not the same
thing as `modules.export = Database` and this will need to access
additional `.default` field with CommonJs style imports (e.g. `new
require('@tursodatabase/turso').default(...)`). In order to remove this
difference - I just replaced default export with named one.
Closes #2488
2025-08-08 10:42:21 +03:00
Nikita Sivukhin
eec679b00b
fix package.json one more time
2025-08-08 10:34:11 +04:00
Pekka Enberg
d32b63d135
bindings/javascript: Update yarn lock file
2025-08-08 09:23:19 +03:00
Pekka Enberg
5ef58db941
bindings/javascript: Fix npm run build
...
Fixes the following error:
```
This is not the tsc command you are looking for
To get access to the TypeScript compiler, tsc, from the command line either:
- Use npm install typescript to first add TypeScript to your project before using npx
- Use yarn to avoid accidentally running code from un-installed packages
```
2025-08-08 09:22:31 +03:00
Nikita Sivukhin
ba6bf7057e
fix package.json
2025-08-08 09:59:52 +04:00
Nikita Sivukhin
9b892828eb
fix package.json
2025-08-08 01:01:40 +04:00
Nikita Sivukhin
92f95f2580
update example
2025-08-08 00:48:20 +04:00
Nikita Sivukhin
dd347fb3e3
simplify setup by emiting index.js in ESM style from napi
2025-08-08 00:47:37 +04:00
PThorpe92
04b40b4cf5
Impl copy_to for Database impl in JS bindings
2025-08-07 16:27:08 -04:00
Nikita Sivukhin
b8f2ff293b
set more fresh lib version
2025-08-07 18:21:29 +04:00
Nikita Sivukhin
7d235953bb
add open field
2025-08-07 16:28:02 +04:00
Nikita Sivukhin
e11184ff1d
fix re-exports
2025-08-07 16:28:02 +04:00
Nikita Sivukhin
d1cd294e94
setup dual publish for commonjs/esm modules and properly route browser/node usages to the correct napi binary entrypoint
2025-08-07 16:28:02 +04:00
Nikita Sivukhin
1a2a1a9ca4
adjust javascript turso bindings for reuse in turso-sync-js package
2025-08-07 16:28:02 +04:00
Pekka Enberg
ab7b0dd1aa
bindings/javascript: Implement Statement.iterate()
2025-08-07 14:28:34 +03:00
Pekka Enberg
b603ee7062
Merge 'JavaScript improvements' from Pekka Enberg
...
Closes #2467
2025-08-07 14:01:07 +03:00
Pekka Enberg
fa6c925751
bindings/javascript: Switch from RefCell to Cell
2025-08-07 07:47:10 +03:00
Pekka Enberg
2913dc4dd4
Turso 0.1.4-pre.2
2025-08-06 10:52:32 +03:00
Pekka Enberg
6ad50f4581
bindings/javascript: Fix prepare() error message format
2025-08-06 09:13:22 +03:00
Pekka Enberg
9ae96838ab
testing/javascript: Improve exec() after close() error
2025-08-06 08:07:15 +03:00
Pekka Enberg
79412ea2cc
bindings/javascript: Improve error when prepare() called after close()
2025-08-06 07:48:15 +03:00
PThorpe92
f6a68cffc2
Remove RefCell from IO and Page apis
2025-08-05 16:24:49 -04:00
Pekka Enberg
f1794b6270
bindings/javascript: Add INSERT benchmark too
2025-08-01 18:17:13 +03:00
Pekka Enberg
358c0bfc27
cargo fmt
2025-08-01 17:17:01 +03:00
Pekka Enberg
1db0637a5e
bindings/javascript: Improve benchmark
2025-08-01 16:55:04 +03:00
Pekka Enberg
94efe9dd46
bindings/javascript: Reduce VM/native crossing overhead
...
Before:
```
penberg@vonneumann perf % node perf-turso.js
cpu: Apple M1
runtime: node v22.16.0 (arm64-darwin)
benchmark time (avg) (min … max) p75 p99 p999
----------------------------------------------------------------------- -----------------------------
• Statement
----------------------------------------------------------------------- -----------------------------
Statement.get() bind parameters 1'525 ns/iter (1'482 ns … 1'720 ns) 1'534 ns 1'662 ns 1'720 ns
summary for Statement
Statement.get() bind parameters
penberg@vonneumann perf % bun perf-turso.js
cpu: Apple M1
runtime: bun 1.2.15 (arm64-darwin)
benchmark time (avg) (min … max) p75 p99 p999
----------------------------------------------------------------------- -----------------------------
• Statement
----------------------------------------------------------------------- -----------------------------
Statement.get() bind parameters 1'198 ns/iter (1'157 ns … 1'495 ns) 1'189 ns 1'456 ns 1'495 ns
summary for Statement
Statement.get() bind parameters
```
After:
```
benchmark time (avg) (min … max) p75 p99 p999
----------------------------------------------------------------------- -----------------------------
• Statement
----------------------------------------------------------------------- -----------------------------
Statement.get() bind parameters 1'206 ns/iter (1'180 ns … 1'402 ns) 1'208 ns 1'365 ns 1'402 ns
summary for Statement
Statement.get() bind parameters
penberg@vonneumann perf % bun perf-turso.js
cpu: Apple M1
runtime: bun 1.2.15 (arm64-darwin)
benchmark time (avg) (min … max) p75 p99 p999
----------------------------------------------------------------------- -----------------------------
• Statement
----------------------------------------------------------------------- -----------------------------
Statement.get() bind parameters 1'019 ns/iter (980 ns … 1'360 ns) 1'005 ns 1'270 ns 1'360 ns
summary for Statement
Statement.get() bind parameters
```
2025-08-01 16:45:03 +03:00
Pekka Enberg
a51c35c979
bindings/javascript: Fix silly typo in package.json
2025-08-01 16:04:59 +03:00
Pekka Enberg
994a0e0852
Turso 0.1.4-pre.1
2025-08-01 13:38:12 +03:00
Pekka Enberg
773e4eed90
bindings/javascript: Add micro-benchmarks
2025-08-01 12:09:05 +03:00
Pekka Enberg
845fc13d6e
bindings/javascript: Remove test suite
...
We have `testing/javascript` to test both the native bindings and
serverless driver, so let's use that instead.
2025-08-01 12:09:05 +03:00