Jarred Sumner
1becd014fa
boop
2023-07-17 20:27:54 -07:00
Jarred Sumner
6924134cd5
wip2
2023-07-17 20:27:54 -07:00
Jarred Sumner
3a2e66ab62
wip
2023-07-17 20:27:54 -07:00
Jarred Sumner
802f9ccb58
wip!
2023-07-17 20:27:54 -07:00
Jarred Sumner
c676a64ce4
wip
2023-07-17 20:21:07 -07:00
Jarred Sumner
0119b623d4
Add boilerplate for brotli support
2023-07-17 20:21:07 -07:00
Jarred Sumner
55b5aa3571
Fix speculative crashes in console.log(formData) and console.log(headers)
2023-07-17 04:18:43 -07:00
Jarred Sumner
6ca20424d6
Fix crash in console.log(urlSearchParams) on a URLSearchParams object with a lot of keys
2023-07-17 04:18:43 -07:00
Jarred Sumner
36a25c3580
Fix memory leak in await new Response(latin1String).arrayBuffer() and await Response.json(obj).json() ( #3656 )
...
❯ mem bun --smol response-arrayBuffer.mjs
cpu: Apple M1 Max
runtime: bun 0.6.15 (arm64-darwin)
benchmark time (avg) (min … max) p75 p99 p995
--------------------------------------------------------------------------------------------------- -----------------------------
new Response().arrayBuffer() (new string each call, latin1) 12.9 µs/iter (625 ns … 4.18 ms) 1 µs 567.17 µs 711.79 µs
new Response().arrayBuffer() (new string each call, utf16) 12.85 µs/iter (1.67 µs … 1.56 ms) 2.17 µs 462.75 µs 621.13 µs
new Response().arrayBuffer() (existing string, latin1) 6.53 µs/iter (6.21 µs … 7.07 µs) 6.64 µs 7.07 µs 7.07 µs
Peak memory usage: 49 MB
bun on jarred/memory-leak-fix took 2s
❯ mem bun response-arrayBuffer.mjs
cpu: Apple M1 Max
runtime: bun 0.6.15 (arm64-darwin)
benchmark time (avg) (min … max) p75 p99 p995
--------------------------------------------------------------------------------------------------- -----------------------------
new Response().arrayBuffer() (new string each call, latin1) 1.2 µs/iter (1.04 µs … 1.42 µs) 1.22 µs 1.42 µs 1.42 µs
new Response().arrayBuffer() (new string each call, utf16) 2.74 µs/iter (2.42 µs … 6.37 µs) 2.68 µs 6.37 µs 6.37 µs
new Response().arrayBuffer() (existing string, latin1) 746.37 ns/iter (643.82 ns … 1.04 µs) 776.11 ns 1.04 µs 1.04 µs
Peak memory usage: 104 MB
bun on jarred/memory-leak-fix took 2s
❯ mem ~/.bun/bin/bun response-arrayBuffer.mjs
cpu: Apple M1 Max
runtime: bun 0.6.15 (arm64-darwin)
benchmark time (avg) (min … max) p75 p99 p995
--------------------------------------------------------------------------------------------------- -----------------------------
new Response().arrayBuffer() (new string each call, latin1) 1.69 µs/iter (1.56 µs … 2.1 µs) 1.73 µs 2.1 µs 2.1 µs
new Response().arrayBuffer() (new string each call, utf16) 2.65 µs/iter (2.47 µs … 3.17 µs) 2.69 µs 3.17 µs 3.17 µs
new Response().arrayBuffer() (existing string, latin1) 667.67 ns/iter (547.67 ns … 1.28 µs) 694.21 ns 1.28 µs 1.28 µs
Peak memory usage: 2735 MB
bun on jarred/memory-leak-fix took 2s
❯ mem ~/.bun/bin/bun --smol response-arrayBuffer.mjs
cpu: Apple M1 Max
runtime: bun 0.6.15 (arm64-darwin)
benchmark time (avg) (min … max) p75 p99 p995
--------------------------------------------------------------------------------------------------- -----------------------------
new Response().arrayBuffer() (new string each call, latin1) 13.51 µs/iter (541 ns … 3.2 ms) 1.92 µs 553.42 µs 709.92 µs
new Response().arrayBuffer() (new string each call, utf16) 13.07 µs/iter (1.71 µs … 3.43 ms) 2.13 µs 451.21 µs 651.67 µs
new Response().arrayBuffer() (existing string, latin1) 6.25 µs/iter (5.79 µs … 6.81 µs) 6.4 µs 6.81 µs 6.81 µs
Peak memory usage: 292 MB
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-07-17 04:15:13 -07:00
Jarred Sumner
13b5d9d4de
20% faster deserialize ( #3655 )
...
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-07-17 02:22:00 -07:00
Jarred Sumner
2a02f3d669
Add --smol to bunfig
2023-07-16 23:23:33 -07:00
Jarred Sumner
7917ebd58f
Fixes base64url encoding for crypto ( #3654 )
...
* Fixes base64url encoding for crypto
* 🍏
* Update nodejs-apis.md
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-07-16 22:42:19 -07:00
Jarred Sumner
dc766eb18a
Add --smol flag
2023-07-16 21:17:47 -07:00
Jarred Sumner
209dc981c0
Implement Workers ( #3645 )
...
* copy files
* format
* options
* Introduce `Worker`, `onmessage`, `onerror`, and `postMessage` globals
* Stub `Worker.prototype.ref` & `Worker.prototype.unref`
* Update web_worker.zig
* Worker works
* Add "mini" mode
* add wakeup
* Partially fix the keep-alive issue
* clean up refer behavior
* Implement `serialize` & `deserialize` in `bun:jsc` & add polyfill for `node:v8`
* Types & docs
* Update globals.d.ts
* Add mutex
* Fixes
---------
Co-authored-by: Dylan Conway <dylan.conway567@gmail.com >
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-07-16 21:15:24 -07:00
Jarred Sumner
7fc392b182
Support napi_wrap in constructors ( #3614 )
...
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-07-16 20:32:33 -07:00
Jarred Sumner
6baa08313c
Fixes #3641 ( #3643 )
...
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-07-16 20:32:18 -07:00
Dylan Conway
c39c11e101
structured clone ( #3637 )
...
* copy `SerializedScriptValue`
* format
* make `SerializedScriptValue` compile
* add `transfer` option
* tests
* serialize/deserialize blobs
* tests for blobs
* serialize/deserialize file blobs
* more tests
* small cleanup
* format
* small changes + serialize offset
* slice helper
* map and set test
2023-07-14 19:37:22 -07:00
Tiramify (A.K. Daniel)
044b09afc2
Impl. fix ( #3630 )
2023-07-13 14:29:24 -07:00
Ashcon Partovi
9eb8eea2a8
Implement ping(), pong(), terminate() for WebSocket client and server ( #3257 )
2023-07-13 09:39:43 -07:00
Jarred Sumner
04b4157232
Fixes #3629
2023-07-13 02:57:25 -07:00
dave caruso
ae0a724981
Improve our internal typedefs ( #3608 )
...
* types
* some more
* yeah
* i think that fixes it
* oop
2023-07-12 15:21:55 -07:00
Tiramify (A.K. Daniel)
0631f87866
feat(bun/test): Implement "bail" option for "bun test" ( #3253 )
...
* Implement bun test --bail
* Fixes
* move printSummary() (more readable)
* Fixes 2
* idk why it got deleted
* Fixes 3
* fmt this better
* Update test_command.zig
* Fix "0 files"
* track number of files so bailing out early prints the right number
---------
Co-authored-by: dave caruso <me@paperdave.net >
2023-07-12 13:41:46 -07:00
Jarred Sumner
4e1a81231c
Update build-id
2023-07-12 01:37:08 -07:00
Jarred Sumner
b566573977
Fix another crash in Error.captureStackTrace ( #3611 )
...
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-07-11 21:01:35 -07:00
Jarred SUmner
666feb3b7e
Fix crash on linux when throwing SystemError from C++
2023-07-11 20:52:10 -07:00
Jarred Sumner
34b0e7a2bb
Update ZigGlobalObject.cpp
2023-07-11 19:06:49 -07:00
Jarred Sumner
c5f2280489
Implement process.kill and process._kill
2023-07-11 19:06:01 -07:00
Jarred Sumner
a686b3bfc1
Fixes #3595
2023-07-11 19:00:51 -07:00
dave caruso
a1fb289c96
typo ( #3610 )
2023-07-11 18:50:34 -07:00
Dylan Conway
8ca2194a37
fix #3597 ( #3609 )
...
* fix #3597
* Update http.ts
* initialize to true
2023-07-11 18:49:35 -07:00
Jarred Sumner
854ddaa909
Implement throwIfNoEntry
2023-07-11 17:44:29 -07:00
Jarred Sumner
fd4c8fb871
Merge branch 'jarred/fix-http-compression'
2023-07-11 13:09:37 -07:00
Jarred Sumner
bab58b7541
Avoid Object.getPrototypeOf
2023-07-11 13:07:03 -07:00
Dylan Conway
5c8726d602
process signal events ( #3569 )
...
* signal events
* simple tests
* ignore SIGSTOP
* better tests
* use `EventEmitter`
* use `Bun__getDefaultGlobal`
* progress
* don't use 'Bun__getDefaultGlobal`
* fix tests
* remove signals from map
* update tests
* don't overwrite event emitter methods
* avoid two lookups
* use `std::once`
* releaseEarly()
* Remove signal handler after use
* Update call-raise.js
* Create process-signal-handler.fixture.js
* Don't register duplicates
* Add missing lock
* another test
* update test
* revert some changes
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-07-11 12:48:46 -07:00
Dylan Conway
ae7bc37e94
fix iterating stack trace ( #3600 )
...
* `i + 1` and remove `defer`
* a test
* fix test
2023-07-11 12:48:32 -07:00
dave caruso
31ab56d362
Fix: console.log with class constructors ( #3602 )
...
* Fix console.log with class constructors
* oops
* fix it
* lol
* fix test
2023-07-11 12:48:19 -07:00
Hanaasagi
c4c5eb2d32
use Object.getPrototypeOf
2023-07-11 21:31:49 +09:00
Ai Hoshino
e7afae305c
Merge branch 'main' into fix-http
2023-07-11 19:35:11 +08:00
Hanaasagi
17031936c8
small fix, check if the method has been reassigned.
2023-07-11 20:32:09 +09:00
dave caruso
b2c576bba2
fix "readable" event being emitted incorrectly ( #3475 )
...
* fix "readable" event being emitted incorrectly
* fix impl and add test
* changes
* asdfghj
* esm
2023-07-10 18:25:20 -07:00
Ciro Spaciari
4af4b508a1
feat(crypto) add getCurves ( #3598 )
...
* add getCurves
* add nodefallbacks
* update docs
* oops
2023-07-10 17:14:37 -07:00
Hanaasagi
0c2df4ae01
ignore check
2023-07-10 22:33:07 +09:00
Ai Hoshino
cc0d920018
Merge branch 'main' into fix-http
2023-07-10 21:12:00 +08:00
Hanaasagi
c6e1135548
call writeHead before send headers
...
Close : #3585
2023-07-10 21:35:10 +09:00
Jarred Sumner
ec11170311
Fixes #3588 ( #3590 )
...
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-07-10 02:21:03 -07:00
Jarred Sumner
93b0e94410
trim node:stream a little
2023-07-10 01:26:02 -07:00
Jarred Sumner
963d4311e6
Fixes #3530 ( #3587 )
...
* Fixes #3530
* Handle OOM
* Add test
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-07-09 22:36:24 -07:00
Jarred Sumner
2f5e4fffe9
Implement process.memoryUsage() and process.cpuUsage() ( #3586 )
...
* Implement process.memoryUsage() and process.cpuUsage()
* Avoid mi_process_info
* Update bench
* Update Process.cpp
* fixup
* More tests + linux fixup
* Skip it for now since it seems less accurate
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-07-09 21:50:19 -07:00
Jarred Sumner
ca42c820d2
Implement nearly all of process object methods and properties ( #3581 )
...
* Add special case
* Make process object load faster
* Fix openStdin
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-07-09 16:33:49 -07:00
Ai Hoshino
565d1689e9
fix metadata bits of uuid (randomUUID()) ( #3583 )
...
* fix uuid version
Close: https://github.com/oven-sh/bun/issues/3575
* add unittest
* small fix
* avoid unnecessary copying
2023-07-09 07:20:52 -07:00