Commit Graph

8844 Commits

Author SHA1 Message Date
chloe caruso
4ec410e0d7 internal: make @import("bun") work in zig (#19096) 2025-04-17 12:32:47 -07:00
Ciro Spaciari
db2e7d7f74 fix(node:http) fix socket detach (#19052)
Co-authored-by: cirospaciari <6379399+cirospaciari@users.noreply.github.com>
2025-04-15 22:09:54 -07:00
190n
47d2b00adc Fix RefPtr compile errors (#19038) 2025-04-15 12:40:05 -07:00
chloe caruso
be77711a4e delete usingnamespace in bindings generator (#19020) 2025-04-15 12:14:47 -07:00
chloe caruso
903706dccf file descriptor rewrite (#18790) 2025-04-15 09:37:11 -07:00
Don Isaac
caeea11706 fix(bun/test): it.failing for tests using done callbacks (#19018) 2025-04-14 19:29:05 -07:00
Ciro Spaciari
6029567ba4 fix(node:http) fix rejectNonStandardBodyWrites behavior (#19019) 2025-04-14 19:24:25 -07:00
Héctor Molinero Fernández
92f5c82711 fix(node:http) fix missing comma in startFetch (#19001) 2025-04-13 19:08:29 -07:00
Don Isaac
f730a355bf fix: BufferWriter never returns an error (#18981)
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2025-04-13 08:57:41 -07:00
Jarred Sumner
f937750ff0 Clean up some bounds checks (#18990) 2025-04-13 08:56:40 -07:00
Jarred Sumner
e48031e08d Fix default idle timeout in redis client (#18972) 2025-04-12 06:17:12 -07:00
Jarred Sumner
d076e5389b Fix missing field name in some error messages (#18970) 2025-04-12 05:26:48 -07:00
Jarred Sumner
31b81637c8 Revert "fix(test): test.failing when tests use a done callback" (#18969) 2025-04-12 04:04:24 -07:00
Jarred Sumner
acf0b68299 Make request.method getter not allocate memory (#18961) 2025-04-11 20:59:38 -07:00
Jarred Sumner
879fdd7ef6 Bump Zig again (#18948) 2025-04-11 19:13:20 -07:00
190n
35025fe161 Fix m_terminationException assertion failure with spawnSync (#18936) 2025-04-10 19:42:39 -07:00
190n
e9c3f9186e chore: remove unneeded undefined default (#18926) 2025-04-10 15:47:46 -07:00
Jarred Sumner
f575d3ff24 Fixes #18899 (#18920) 2025-04-10 14:58:46 -07:00
Don Isaac
27f83c38af fix(test): test.failing when tests use a done callback (#18930) 2025-04-10 14:52:29 -07:00
chloe caruso
c1dc5f1b73 remove some usingnamespaces (#18765) 2025-04-10 14:16:30 -07:00
Jarred Sumner
93855bd88c Fix setImmediate slowness (#18889) 2025-04-09 20:03:26 -07:00
Jarred Sumner
950ce32cd0 Fix finalizer in ExternalStringImpl::create (#18914) 2025-04-09 17:15:57 -07:00
pfg
b00e8037c5 Unblock importing html files with non-html loader (#18912) 2025-04-09 16:51:34 -07:00
Ciro Spaciari
4ccf5c03dc fix(crypto) fix setAAD undefined checks (#18905) 2025-04-09 16:50:08 -07:00
Meghan Denny
8c7c42055b js: fix crash loading custom sqlite bin instead of lib (#18887) 2025-04-09 16:44:52 -07:00
Don Isaac
1d6bdf745b fix(cli/test): improve filtering DX (#18847)
Co-authored-by: DonIsaac <22823424+DonIsaac@users.noreply.github.com>
2025-04-09 16:41:32 -07:00
Don Isaac
44f252539a fix: mark JSPromise.rejectedPromiseValue as deprecated (#18549)
### What does this PR do?
`JSPromise.rejectedPromiseValue` does not notify the VM about the promise it creates, meaning unhandled rejections created this way do not trigger `unhandledRejection`. This is leading to accidental error suppression in (likely) a lot of places. Additionally it returns a `JSValue` when really it should be returning a `*JSPromise`, making Zig bindings more type-safe.

This PR renames `rejectedPromiseValue` to `dangerouslyCreateRejectedPromiseValueWithoutNotifyingVM` and marks it as deprecated. It does _not_ modify code calling this function, meaning no behavior changes should occur. We should slowly start replacing its usages with `rejectedPromise`

## Changelog
- Rename `rejectedPromiseValue` to `dangerouslyCreateRejectedPromiseValueWithoutNotifyingVM`
- Mark `JSPromise.asValue` as deprecated. It takes a `*JSGlobalObject` but never uses it. New code should use `toJS()`
- Refactors `blob` to make null checks over `destination_blob.source` a release assertion
- `ErrorBuilder.reject` uses `rejectedPromiseValue` when 1.3 feature flag is enabled
2025-04-09 13:27:51 -07:00
chloe caruso
9a329c04cc pass test-module-globalpaths-nodepath.js (#18879) 2025-04-08 21:32:19 -07:00
Jarred Sumner
f677ac322c Rename redis.disconnect to redis.close (#18880) 2025-04-08 19:59:08 -07:00
Jarred Sumner
03f3a59ff5 Always disable stop if necessary timer (#18882) 2025-04-08 19:17:20 -07:00
chloe caruso
4a44257457 pass test-require-exceptions.js (#18873) 2025-04-08 18:13:28 -07:00
Don Isaac
dff1f555b4 test: get zig build test working (#18207)
### What does this PR do?
Lets us write and run unit tests directly in Zig.

Running Zig unit tests in CI is blocked by https://github.com/ziglang/zig/issues/23281. We can un-comment relevant code once this is fixed.

#### Workflow
> I'll finish writing this up later, but some initial points are below.
> Tl;Dr: `bun build:test`

Test binaries can be made for any kind of build. They are called `<bun>-test` and live next to their corresponding `bun` bin. For example, debug tests compile to `build/debug/bun-debug-test`.

Test binaries re-use most cmake/zig build steps from normal bun binaries, so building one after a normal bun build is pretty fast.

### How did you verify your code works?
I tested that my tests run tests.
2025-04-08 15:31:53 -07:00
Jarred Sumner
d028e1aaa3 Allow multiple arguments in set in RedisClient (#18860) 2025-04-08 14:23:06 -07:00
chloe caruso
5f9f200e7e require.resolve with paths option (#18851) 2025-04-08 14:07:03 -07:00
Jarred Sumner
5fa14574a6 Introduce --redis-preconnect CLI flag (#18862) 2025-04-08 14:04:12 -07:00
190n
eee5d4fb4a node:worker_threads low-hanging fruit (#18758)
Co-authored-by: 190n <7763597+190n@users.noreply.github.com>
Co-authored-by: Ashcon Partovi <ashcon@partovi.net>
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Co-authored-by: Dylan Conway <35280289+dylan-conway@users.noreply.github.com>
Co-authored-by: Don Isaac <donald.isaac@gmail.com>
Co-authored-by: chloe caruso <git@paperclover.net>
2025-04-08 05:29:53 -07:00
Jarred Sumner
ec87a27d87 Introduce Bun.redis - a builtin Redis client for Bun (#18812) 2025-04-08 03:34:00 -07:00
Dylan Conway
f5a710f324 fix(fs): missing protect for async node:fs buffers (#18843) 2025-04-07 21:59:51 -07:00
Ciro Spaciari
95fead19f9 compat(express) allow GET with body on node:http (#18837) 2025-04-07 20:21:08 -07:00
Dylan Conway
78ee4a3e82 fix(shell): possible UAF when throwing a shell error (#18840) 2025-04-07 20:20:22 -07:00
Jarred Sumner
ed410d0597 Move DataCell into separate file (#18849) 2025-04-07 20:06:31 -07:00
Dylan Conway
ba0bd426ed deflake napi_async_work test (#18836) 2025-04-07 18:52:05 -07:00
Ciro Spaciari
a2efbd4ca2 fix(node:http) resume when reading and avoid unnecessary pause/resumes calls (#18804) 2025-04-07 17:30:16 -07:00
Alistair Smith
5d1ca1f371 Move svg imports to a bun-env.d.ts file that gets created with bun init (#18838) 2025-04-07 23:43:13 +01:00
Dylan Conway
580e743ebd followup #18825 (#18834) 2025-04-07 13:50:25 -07:00
Dylan Conway
9fa3bc4b93 fix #18002 (#18832) 2025-04-07 13:49:30 -07:00
Don Isaac
8b2b34086c fix: remove footguns in IPC decoding and external string creation (#17776) 2025-04-07 13:36:23 -07:00
Dylan Conway
340ae94d0f napi_async_work fixes (#18825) 2025-04-07 05:20:24 -07:00
Jarred Sumner
e75d226943 Make shell more reliable (#18794) 2025-04-05 02:45:25 -07:00
Jarred Sumner
a8cc31f8c4 Split shell into more files (#18793) 2025-04-04 23:38:43 -07:00