Commit Graph

535 Commits

Author SHA1 Message Date
Jarred Sumner
0740cecbfb Update event_loop.zig 2022-06-10 18:59:09 -07:00
Jarred Sumner
b86ca5f67b Missing errno on linux 2022-06-10 18:58:15 -07:00
Jarred Sumner
fc26e92b3e Update jest.zig 2022-06-10 02:26:45 -07:00
Jarred Sumner
5ccf606107 new Response(stream).arrayBuffer() + 3 more
- `new Response(stream).arrayBuffer()`
- `new Response(stream).json()`
- `new Response(stream).text()`
- `new Response(stream).blob()`
2022-06-09 21:29:57 -07:00
Jarred Sumner
b8eea5cc4a fix some memory leaks with strings 2022-06-09 05:09:48 -07:00
Jarred Sumner
c88dd2c52c Support console.log(myBigInt) 2022-06-09 05:09:22 -07:00
Jarred Sumner
1467ec137a Update event_loop.zig 2022-06-07 22:47:28 -07:00
Jarred Sumner
609edc368f wip ReadableStream <> zig 2022-06-07 22:42:47 -07:00
Jarred Sumner
cdd1a2bdc0 Implement hashCode 2022-06-07 22:41:27 -07:00
Jarred Sumner
43de33afc7 Web Streams API (#176)
* [bun.js] `WritableStream`, `ReadableStream`, `TransformStream`, `WritableStreamDefaultController`, `ReadableStreamDefaultController` & more

* Implement `Blob.stream()`

* Update streams.test.js

* Fix sourcemaps crash

* [TextEncoder] 3x faster in hot loops

* reading almost works

* start to implement native streams

* Implement `Blob.stream()`

* Implement `Bun.file(pathOrFd).stream()`

* Add an extra function

* [fs.readFile] Improve performance

* make jsc bindings a little easier to work with

* fix segfault

* faster async/await + readablestream optimizations

* WebKit updates

* More WebKit updates

* Add releaseWEakrefs binding

* `bun:jsc`

* More streams

* Update streams.test.js

* Update Makefile

* Update mimalloc

* Update WebKit

* Create bun-jsc.test.js

* Faster ReadableStream

* Fix off by one & exceptions

* Handle empty files/blobs

* Update streams.test.js

* Move streams to it's own file

* temp

* impl #1

* take two

* good enough for now

* Implement `readableStreamToArray`, `readableStreamToArrayBuffer`, `concatArrayBuffers`

* jsxOptimizationInlining

* Fix crash

* Add `jsxOptimizationInline` to Bun.Transpiler

* Update Transpiler types

* Update js_ast.zig

* Automatically choose production mode when NODE_ENV="production"

* Update cli.zig

* [jsx] Handle defaultProps when inlining

* Update transpiler.test.js

* uncomment some tests

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2022-06-07 22:32:46 -07:00
Alexander Kuznetsov
ca21c00f86 Remove generated files from git index (#182) 2022-05-30 01:13:12 -07:00
Jarred Sumner
99d61877d6 [solid] more progress, no fragments, but still not right 2022-05-20 00:45:51 -07:00
Jarred Sumner
e114fca5ee Still not correct! 2022-05-16 19:33:19 -07:00
Jarred Sumner
37e4848c6f work around test failure 2022-05-16 19:25:49 -07:00
Jarred Sumner
78cd9e89f3 Update sqlite3.c 2022-05-16 19:15:10 -07:00
Jarred Sumner
15c40f5ea3 Fix build error on linux 2022-05-16 19:12:22 -07:00
Jarred Sumner
ba36f5db7e prepare for release 2022-05-16 18:45:46 -07:00
Jarred Sumner
a372a0dd6d Update JSSQLStatement.cpp 2022-05-16 18:24:55 -07:00
Jarred Sumner
aba032e176 Copy strings when binding to sqlite 2022-05-16 18:19:08 -07:00
Jarred Sumner
0d12a1f9ee reset on stmt on error 2022-05-16 17:18:50 -07:00
Jarred Sumner
a37f86e89d bun:sqlite (#167)
* ✂️

* Add the slow version

* draw the rest of the owl

* Fix crash when allocating lots of memory

* [Bun.Transipiler] Support passing objects

* [JS Parser] Support passing objects to macros via Bun.Transpiler

* Update JSSQLStatement.cpp

* Embed SQLite

* Add SQLite to Dockerfile

* [sqlite] Add quick one-off queries without creating a whole object

* [sqlite] Add `columnsCount`, rename raw() to `values()`, remove `rebind`

* Implement `bun:sqlite`

* return null

* Fix updating query

* Update bun.d.ts

* more tests

* Support variadic arguments, write tests and add types

* Update sqlite.d.ts

* Update sqlite.d.ts

* latest

* Implement `Database.loadExtension` and `Database.setCustomSQLite`

* Support `require.resolve`

* [napi] Improve string performance

* [bun.js] Support some of `node:module`

* another test

* [sqlite] Support serialize & deserialize

* [`bun:ffi`] Implement `CFunction` and `linkSymbols`

* [bun.js] Fix crash in `Buffer.from`

* Update sqlite.test.js

* Document linkSymbols

* docs

* Update README.md
2022-05-16 15:46:20 -07:00
Jarred Sumner
b21d0f0b22 Fix several bugs in napi
Closes https://github.com/Jarred-Sumner/bun/issues/163
Closes https://github.com/Jarred-Sumner/bun/issues/162
Closes https://github.com/Jarred-Sumner/bun/issues/161
2022-05-11 17:49:18 -07:00
Jarred Sumner
aa87d40f4b [napi] Stub a couple more 2022-05-11 02:59:22 -07:00
Jarred Sumner
7d1eced8c6 [bun.js] eagerly convert to import.meta.require 2022-05-11 02:57:51 -07:00
Jarred Sumner
0bec7001ba [bun.js] Implement a polyfill for the detect-libc npm package 2022-05-11 00:57:06 -07:00
Jarred Sumner
3c87fbfd37 [bun.js] Implement import.meta.require
This allows synchronous dynamic loading of `.node`, `.json`, and `.toml` files.

It is not a CommonJS require, but it can be used that way so long as the content is not JavaScript.
2022-05-11 00:56:35 -07:00
Jarred Sumner
fd00950852 [bun.js] Implement import.meta.resolveSync 2022-05-11 00:54:42 -07:00
Jarred Sumner
92e8eaf581 [napi] Error on import .node 2022-05-10 20:47:38 -07:00
Jarred Sumner
e8e58a511f Update napi.cpp 2022-05-10 20:44:25 -07:00
Jarred Sumner
08e40efe11 [napi] Fix string bug 2022-05-10 20:24:07 -07:00
Jarred Sumner
8def37c14e [bun.js] Implement Buffer.byteLength 2022-05-10 19:09:28 -07:00
Jarred Sumner
1cb870be16 few more napi functions 2022-05-09 22:39:22 -07:00
Jarred Sumner
b834e21192 [napi] getters & setters work 2022-05-09 21:58:41 -07:00
Jarred Sumner
29b9ced11a Update bindings.cpp 2022-05-09 21:53:44 -07:00
Jarred Sumner
8ac108ba06 [napi] Move some code to C++ for perf 2022-05-09 04:11:48 -07:00
Jarred Sumner
8014a0b8d8 [napi] Support import and require of .node modules 2022-05-09 00:24:25 -07:00
Jarred Sumner
3850fc5b0b Make a lot more stuff work 2022-05-08 17:37:58 -07:00
Jarred Sumner
bc2ca8afbd Update WebKit 2022-05-08 01:34:53 -07:00
Jarred Sumner
e403b6111f more napi 2022-05-08 01:32:20 -07:00
Jarred Sumner
61d548c7bf [bun.js] Fix bug with headers not being sent in fetch 2022-05-08 01:12:46 -07:00
Jarred Sumner
c1efeefb8a Ugprade webkit 2022-05-08 01:12:27 -07:00
Jarred Sumner
3b6c3d8196 Update wtf-bindings.cpp 2022-05-08 01:12:20 -07:00
Jarred Sumner
97cceb47b9 Upgrade WebKit 2022-05-08 01:12:13 -07:00
Jarred Sumner
bdf28e42f6 [bun.js] Support gzipSync, gunzipSync, inflateSync, deflateSync 2022-05-07 01:38:26 -07:00
Jarred Sumner
1687455a3f [napi] Fix function arguments 2022-05-06 06:43:49 -07:00
Jarred Sumner
bce60a5a86 more napi 2022-05-06 00:05:31 -07:00
Jarred Sumner
a7b0bc8790 it can call functions 2022-05-05 21:35:08 -07:00
Jarred Sumner
30ca112260 napi_threadsafe_function 2022-05-05 21:35:08 -07:00
Jarred Sumner
d6ce585ef3 cleanup hook 2022-05-05 21:35:08 -07:00
Jarred Sumner
c80e048ab3 implement napi_async_work 2022-05-05 21:35:08 -07:00