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
Pekka Enberg
02db72cc2c
Implement JavaScript bindings with minimal Rust core
...
This rewrites the JavaScript bindings completely by exposing only
primitive operations from Rust NAPI-RS code. For example, there is
prepare(), bind(), and step(), but high level interfaces like all() and
get() are implemented in JavaScript.
We're doing this so that we can implement async interfaces in the
JavaScript layer instead of having to bring in Tokio.
2025-08-01 09:03:14 +03:00
PThorpe92
ef69df7258
Apply review suggestions
2025-07-30 19:42:53 -04:00