Commit Graph

14046 Commits

Author SHA1 Message Date
guest271314
a774f92757 Fix using two const result=... in same script (#8013)
const result = await ... 
for (const result of result.outputs) {... 

throws

const result = await Bun.build({
                         ^
ReferenceError: Cannot access uninitialized variable.
2024-01-05 22:26:33 -08:00
hborchardt
eb84ebf974 Fix multiple partial consume from BufferList (#8007)
* Add test for multiple partial consume from BufferList

This shows the problem indicated in #7385

* Fix multiple partial consume from BufferList

The JSUint8Array::possiblySharedBuffer() returns the backing array,
not taking into account the byteOffset that indicates the start of
the data in the backing array. This means that when creating an array
with the same backing array, the current byteOffset needs to be added
to the start of the new slice.

This led to consume() returning the same data when repeatedly consuming
small numbers of bytes from the BufferList.
2024-01-05 22:25:01 -08:00
Lucas Coratger
bfe8afd674 feat: add toContainAnyKeys (#7946)
* feat: add toContainAnyKeys

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-01-05 21:21:12 -08:00
dave caruso
e8179adcbb chore: clarify my comments (#8006) 2024-01-05 21:19:57 -08:00
karmabadger
515ce30a85 docs: Update contributing.md (#8012)
Adding ruby to dependencies installation for macOS and Fedora
2024-01-05 21:17:19 -08:00
Ciarán
97f8c92cf4 feat(build): adjust arch linux auto detect to include manjaro (#7912) 2024-01-05 17:26:10 -08:00
sitiom
d4d6ef9e89 docs: Add Scoop installation reference for Windows (#7882)
* Add Scoop installation for Windows

* Update installation.md

* update powershell/cmd

irm is used because on certain installs of Windows 10 iwr does not work because of something related to Internet Explorer. haha~

---------

Co-authored-by: dave caruso <me@paperdave.net>
2024-01-05 10:26:40 -08:00
Meghan Denny
fa7e4bce27 node:child_process: support defining extra pipes (#7958)
* node:child_process: support defining extra pipes

* unneeded

* lazily load node:fs

* use $isJSArray instead of ArrayIsArray

* remove std.log call

* don't close child fd we don't own

* close child fd's in parent

* add Subprocess.stdio getter that aligns with ChildProcess.stdio fd's

* [autofix.ci] apply automated fixes

* use ArrayList instead of BoundedArray for stdio_pipes

* fix stream primordials

* dont use unreachable for syscalls

* this file was testing Bun.spawn not child_process.spawn

* skip ipc for now

* ensure the socketpair is created non-blocking on non-mac posix

* allow creating a node:net.Socket from an fd via node:net.connect

* node:stream tidy

* node:child_process: use net.Socket for stdio instead of fs streams

* try again

* fix Socket eager loading

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2024-01-05 00:38:08 -08:00
Meghan Denny
89ec2fcb35 fix replacing node:module._resolveFilename not passing the parent module (#7993)
* fix replacing node:module._resolveFilename

* add a test
2024-01-05 00:36:07 -08:00
Meghan Denny
39ab26a663 node:readline: move up when decoder is instantiated (#7994) 2024-01-05 00:26:22 -08:00
Ciarán
e103b53c86 docs(test/writing.md): Add documentation for test.each (#7983) 2024-01-04 17:10:08 -08:00
Moris Kramer
ee85bbc0a3 Update simple.md (#7987)
* Update simple.md

* Update docs/guides/http/simple.md

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2024-01-04 16:59:01 -08:00
Jarred Sumner
0103dd56ab Update guide 2024-01-04 16:53:22 -08:00
Lucas Coratger
5d6c68122c feat: add toContainKeys (#7945)
* feat: add toContainKeys

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-01-04 15:16:07 -08:00
Jarred Sumner
47acee5d87 Fix webpack test, fix errors in Worker (#7980)
* Update subprocess.zig

* Fix logging errors in Worker

* Update webpack.test.ts

* Update webpack.test.ts

* 😪

* Fix `self` setter

* Set IsImmutablePrototypeExoticObject and make globalThis.self = work

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2024-01-04 02:57:43 -08:00
asomethings
54d762531a fix: properly transform http method to uppercase (#7982)
* fix: http method uppercase transformation using wrong length

* feat: add test case for method uppercase
2024-01-04 02:54:59 -08:00
Jarred Sumner
e5bd7fcb8f Add brotli test (#7976)
* Add brotli test

* Check if we can use brotli

* vendor brotli

* Update .gitattributes

* Brotli is now always available

* Update licensing.md

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2024-01-03 21:57:19 -08:00
Meghan Denny
f30689256d tidy: use Arguments.slice() (#7978)
* use Arguments.slice()

* slice should be *const

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2024-01-03 16:59:44 -08:00
Meghan Denny
50c1f37230 make the tracy callstack depth configurable (#7979) 2024-01-03 16:33:34 -08:00
Meghan Denny
80ebcbf3d8 no big endian (#7974) 2024-01-03 14:52:50 -08:00
Meghan Denny
6345add18a dont use custom DeclEnum impl (#7975) 2024-01-03 14:52:29 -08:00
Otger Rogla
2946bacbbd feat(worker_threads) support argv and execArgv options (#7962)
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2024-01-03 14:23:39 -08:00
Otger Rogla
7fa2cf3f61 fix(console.table): fixes for character width breaking the layout (#7966) 2024-01-03 14:22:30 -08:00
Meghan Denny
aa388e6762 vscode: set zig path to local one (#7973) 2024-01-03 14:19:31 -08:00
Jarred Sumner
5a2ad792a0 Try larger runners (#7972)
* Try larger runners

* Update bun-mac-aarch64.yml

* Update bun-mac-aarch64.yml

* Update bun-mac-aarch64.yml

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2024-01-03 14:18:39 -08:00
Jarred Sumner
69c85dbe17 Hardcode bun version 2024-01-03 14:10:15 -08:00
Jarred Sumner
71d9199270 Try to make fs.watch tests less flaky (#7909)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2024-01-03 13:05:10 -03:00
Jarred Sumner
6b3e1af25d Fix linter warnings in bun:sqlite (#7960)
* [bun:sqlite] Don't call memcpy on a 0 length value or nullptr

* [bun:sqlite] Add missing flags argument

* Make this a reference I guess

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2024-01-02 23:27:53 -08:00
Lucas Coratger
9f8ee7c8f7 feat: add toBeEmptyObject (#7772)
* feat: add toBeEmptyObject

* fix: feedbacks

* fix: feedbacks

* fix: feedbacks

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-01-02 17:11:57 -08:00
Meghan Denny
233622d6bb node:child_process: remove require destructure (#7949) 2024-01-02 17:03:50 -08:00
Jarred Sumner
837cbd60d5 Fix crash in WebSocket client when handshaking fails or when the HTTP response is invalid (#7933)
* Fix double-free in websocket client

* Update test

* Fix null pointer dereference

* Fix missing protect() / unprotect() call

* More careful checks

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
bun-v1.0.21
2024-01-01 18:08:08 -08:00
Jarred Sumner
9d6c0649a4 Fix potential uninitialized memory access when loading CommonJS modules 2024-01-01 17:37:07 -08:00
Jarred Sumner
693a00dc5b Make file uploads use less memory on Linux (#7938)
* Add Linux memfd file upload memory optimization

* various build fixes

* cleanup

* Update blob.zig

* Update base.zig

* Add COW test

* Update blob.zig

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2024-01-01 00:07:26 -08:00
Lucas Coratger
1f9ce68348 feat: add toContainKey (#7773)
* feat: add toContainKey

* feat: add hasOwnProperty to bindings

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-31 15:29:53 -08:00
Jarred Sumner
492b2d5b76 Implement Brotli support in fetch() (#7839)
* Implement Brotli support in fetch()

* Use @panic

* Update src/http.zig

Co-authored-by: Ciro Spaciari <ciro.spaciari@gmail.com>

* Update src/http.zig

Co-authored-by: Ciro Spaciari <ciro.spaciari@gmail.com>

* Fix redirect logic

* Allow extremely long redirect URLs

* Update fetch.test.ts

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Co-authored-by: Ciro Spaciari <ciro.spaciari@gmail.com>
2023-12-31 06:19:08 -08:00
Kaio Duarte
8eebfd8e22 fix: add ws properties to BunWebSocketMocked prototype (#7898)
* add ws properties to BunWebSocketMocked prototype

* add tests for Server class

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-31 02:42:58 -08:00
Jarred Sumner
1d684e0d4f Tweak formatting of console.table (#7927)
* Tweak alignment of console.table

* " " empty string instead of "#"

* Fix assertion failure

* Only get the length when necessary

* Avoid stale copies

* Add `asUTF8` helper to `bun.String`

* Cautiously handle recursion

* Further tweaks to output

* output

* Add native implementation of `getStringWidth`

* [autofix.ci] apply automated fixes

* If its not a string then quote it by default

* Add snapshot for headers

* Make it easier to debug when a builtin throws an exception

* This must be hoisted

* Fix bugs in `getStringWidth`

* Update getStringWidth.test.ts

* Eager load it

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-31 02:38:52 -08:00
Jarred Sumner
14c60eca94 Fix crash that can occur due to invalid UTF-8 (#7926)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-12-30 17:52:52 -08:00
Jarred Sumner
6eab178790 Add OpenSSL v1.1.0 to process.versions.openssl (#7924)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-12-29 21:36:41 -08:00
Ciarán
32ca195f60 docs(test/writing.md): update matchers to indicate support for arrayContaining, closeTo, objectContaining (#7800) 2023-12-29 21:35:34 -08:00
Michael H
c381816c57 Clean Trusted Dependencies (#7857)
* clean

* add back node version ones
2023-12-29 20:46:56 -08:00
Jarred Sumner
ae8f2a3afb Windows Build Fixes (#7923)
* Windows Build Fixes

* windows

* Update event_loop.zig

* Update bindings.zig

* Update event_loop.zig

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-12-29 20:39:23 -08:00
Ciro Spaciari
25441ede20 fix(bun.serve) avoid double ending chunk (#7897)
* avoid double ending chunk

* re-format

* Ensure we run tests on bun-uws changes

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-12-29 20:35:32 -08:00
Jarred Sumner
a0c8ee31a1 Bump version number 2023-12-29 18:38:18 -08:00
Jarred Sumner
135039b137 Better errors for bun:sqlite (#7906)
* Better errors for bun:sqlite

* Add `byteOffset`

* Add `code` property

* Fix error

* Update test

* Add a couple more tests for errors

* Add file with sqlite error codes

* Report extra memory from `sqlite3_stmt`

* Add polyfills for macOS x64

* Use -1 when unavailable

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-12-29 18:37:16 -08:00
Jarred Sumner
05f14c8d6a Add setMayBePrototype where it should be added (#7922)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-12-29 18:26:33 -08:00
Otger Rogla
15755a0246 feat: implement console.table (#7866)
* feat: implement console.table

* console.table minor changes

* fix console.log for arrays after console.table changes
2023-12-29 18:04:49 -08:00
Jeroen
b6cadf387b docs(bundler): update CLI command in index.md for bun build with publicPath (#7916)
* docs(bundler): update CLI command in index.md for bun build with publicPath

* Update docs/bundler/index.md

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2023-12-29 15:26:35 -08:00
Jarred Sumner
b011fd2567 Fixes https://x.com/jeroendotdot/status/1740651288239460384?s=46&t=0Uhw6mmGT650_9M2pXUsCw (#7910)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-12-29 15:26:06 -08:00
Lucas Coratger
5e72a27a76 feat: add toBeObject (#7770)
* feat: add toBeObject

* fix: feedbacks

* [autofix.ci] apply automated fixes

* feat: add more information on error message

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-29 12:37:02 -08:00