aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/base.zig (follow)
AgeCommit message (Collapse)AuthorFilesLines
2023-02-23Upgrade Zig (#2151)Gravatar Dylan Conway 1-11/+11
* fixup * Upgrade Zig * Remove bad assertion * strings * bump * mode -> optimize * optimize * Linux build * Update bindgen.zig
2023-02-17Fix #1602 (#2066)Gravatar Justin Whear 1-0/+7
* initial test case * fix segfault from JSObjectMakeDeferredPromise * pass exceptions through from FetchHeader.createFromJS * not resolved, but getting close * implement review suggestions * fix exception check, tests * Change how header filtering is accomplished Previously the FetchHeaders implementation relied on converting names and values to IDLByteString to catch non-ASCII data, though not always reliably. This resulted in message-less TypeErrors when headers contained invalid characters. This commit shifts everything to IDLDOMString for the conversion and relies on the actual error checking in FetchHeaders.canWriteHeader, resulting in nicer error messages. To ensure that all headers are written as ASCII/UTF8 rather than UTF16, the copyTo bindings function checks the encoding and converts if necessary. * wrapping up FetchHeader fixes * since utf8 allocates only do so when needed * Update src/bun.js/bindings/bindings.cpp Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> * WebCore__FetchHeaders__has should return on exception path * strip out log calls from test --------- Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2023-02-06Use new bindings for StatGravatar Jarred Sumner 1-5/+44
Fixes #1999
2023-01-29[breaking] Add `binaryType` option to Bun.connect & Bun.listenGravatar Jarred Sumner 1-2/+97
This is a breaking change because the default is `Buffer`, but previously the default was `Uint8Array`. While `Buffer` is a subclass of `Uint8Array`, it still technically is a breaking change because `slice` in `Uint8Array` is not semantically identical to `slice` in `Buffer` cc @colinhacks, the .d.ts changes I made here aren't great.
2023-01-26Remove usages of assumeSentinelGravatar Jarred SUmner 1-2/+2
2023-01-24Update base.zigGravatar Jarred Sumner 1-1/+14
2023-01-22fix unrefOnNextTickGravatar Jarred Sumner 1-1/+1
2023-01-22feat(dns) resolveSrv (#1870)Gravatar Ciro Spaciari 1-6/+9
* initial steps * in-progress resolveSrv support * fix memory leak and ZigGlobalObject * promise.resolve + fix priority and weight mistake * fix node dns export * little better test * add poll_ref to keep alive loop in callback for resolveSrv and lookup * add test for error case in resolveSrc * fix Bun.dns.resolveSrv type
2023-01-16[napi] Don't assume `function` existsGravatar Jarred Sumner 1-1/+4
Fixes https://github.com/oven-sh/bun/issues/1808
2023-01-09check for isEmpty or !isCellGravatar Jarred Sumner 1-2/+1
2023-01-08[internal] Fix checking for Error objectGravatar Jarred Sumner 1-2/+2
2023-01-07Implement DNS module (#1691)Gravatar Jarred Sumner 1-9/+69
* Boilerplate for DNS stuff * Add c-ares * lookup * make * Implement dns.lookup * Create c-ares * wip * normalize * repro * Revert "repro" This reverts commit 8b93e0c295b335b8882a9601da47720348549beb. * Implement macOS `getaddrinfo_async_start` * embiggen * Update string_immutable.zig * Update Makefile * alright * Update .gitignore * Add types * more ccache * Update Dockerfile * Update Dockerfile * Update Dockerfile * Update bun.d.ts Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-01-01clean up `Promise` handling (#1697)Gravatar Alex Lam S.L 1-10/+4
2023-01-01[internal] Add more bindingsGravatar Jarred Sumner 1-5/+23
2022-12-29Introduce `Bun.CryptoHasher`Gravatar Jarred Sumner 1-15/+57
2022-12-28Upgrade to latest Zig (#1610)Gravatar Jarred Sumner 1-206/+179
* @min and @max * builtins and some trivial ones * Most of them * more * more! * More Progress * wip * Update tagged_pointer.zig * Update http_client_async.zig * Most of the iterable dir changes * alright * Remove usages of deprecated formatters * :camera: * fmt * Update shimmer.zig * wip * wip * wip * progress * more * Latest * stuck on error * latest * workaround stage2 * wip * Update string_immutable.zig * wip * Migrate `Dirent` and `require("fs')` to use JSC<>Zig bindings * Fix build errors * Fixup most of the test failures * Fix `make headers` * Fix "outside package path" error * Fixup aligned alloc * Add missing file * linux * More linux fixes * use latest peechy * Fix transpiler test failure * Forgot about these * Fixup test failure * Update node-timers.test.ts * [node:htt] Fix `undefined is not an object` error Fixes https://github.com/oven-sh/bun/issues/1618 * Update http.exports.js * Make this test less flaky * fix hashes * Fix hex formatting and zls issues * Download zig version * Update Dockerfile * Update Dockerfile * Update uws * Update Dockerfile * Set llvm version * Update README.md * Update uws * Update Dockerfile * Update io_linux.zig * Update bun.zig * Log output * workaround strange @cInclude error * Make ffi tests better * Don't use cImport * Update c.zig * Update c-bindings.cpp * call setOutputDir * Update Dockerfile * Use a longer name * latest * Update serve.test.ts Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Co-authored-by: Veikka Tuominen <git@vexu.eu>
2022-12-02Add generic way to block on a promiseGravatar Jarred Sumner 1-16/+6
2022-11-29import everything from "bun" where possibleGravatar Jarred Sumner 1-4/+4
2022-11-28Handle when the process already exited immediatelyGravatar Jarred Sumner 1-5/+6
2022-11-28Fix failing spawn() and spawnSync() testsGravatar Jarred Sumner 1-5/+7
cc @ThatOneBro
2022-11-27:scissors: dead codeGravatar Jarred Sumner 1-758/+0
2022-11-25Fix reading FIFO filesGravatar Jarred Sumner 1-0/+2
2022-11-25[safety] Add a generation_number to FilePoll on macOS to check for ↵Gravatar Jarred Sumner 1-3/+20
use-after-free
2022-11-23possibly more reliable Bun.spawn (#1547)Gravatar Jarred Sumner 1-26/+23
* wip * wip * Fix bug with stdin * zig fmt * seems to work! * Update streams.test.js Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2022-11-22Introduce `Bun.FileSystemRouter` APIGravatar Jarred Sumner 1-1/+1
2022-11-18Fix crash in process.env.FOO = bar that happened sometimesGravatar Jarred Sumner 1-1/+1
2022-11-14Bugfixes and perf improvements to child_processGravatar Jarred SUmner 1-0/+8
2022-11-13Make node streams faster (#1502)Gravatar Jarred Sumner 1-42/+78
* Make node streams faster * Fix for macOS, improve performance, handle ref and unref Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2022-11-12Redo how we poll pipes (#1496)Gravatar Jarred Sumner 1-2/+544
* Fix pipe * Handle unregistered * Fix failing test
2022-11-07[bun:test] Implement `expect` in faster Zig bindingsGravatar Jarred Sumner 1-3/+0
2022-10-17Handle .zero betterGravatar Jarred Sumner 1-0/+4
2022-10-15add more loggingGravatar Jarred Sumner 1-2/+2
2022-10-10Fix issue with exit callback in Bun.spawn() never firingGravatar Jarred Sumner 1-0/+14
2022-10-03`Bun.spawn` start to implement support for buffered input (ArrayBuffer, ↵Gravatar Jarred Sumner 1-1/+19
Response, Request body)
2022-10-01Fix `setTimeout(0)`, improve test coverage slightly, reduce memory usage of ↵Gravatar Jarred Sumner 1-0/+4
timers
2022-09-30Fix unnecessary "Buffer is detached" errorGravatar Jarred Sumner 1-8/+34
2022-09-29Update base.zigGravatar Jarred Sumner 1-0/+4
2022-09-28Clean up some of the event loop codeGravatar Jarred Sumner 1-2/+11
2022-09-26Make `Bun.spawn`, FileSink and FileBlobLoader a little more reliableGravatar Jarred Sumner 1-16/+128
2022-09-16Make new HTTP client more stableGravatar Jarred Sumner 1-21/+20
2022-09-14Make `crypto.getRandomValues()` faster + fix > 1 byte/element typed arraysGravatar Jarred Sumner 1-5/+12
Fix crypto.getRandomValues() with > 1 byte element typed arrays Fixes https://github.com/oven-sh/bun/issues/1237
2022-09-09Fix potential crash when returning an empty stringGravatar Jarred Sumner 1-0/+16
2022-09-09[bun:ffi] Add `f32`, `f64`, `i64`, u64` to `read`Gravatar Jarred Sumner 1-0/+1
2022-09-08[bun:ffi] Implement `read.{u8,i8,i16,i32,u16,u32,ptr,intptr}`Gravatar Jarred Sumner 1-3/+8
`read` in `bun:ffi` lets you read data from a pointer without creating a new DataView/ArrayBufferView ``` import {read} from 'bun:ffi'; expect(read.i8(ptr_, i)).toBe(view.getInt8(i, true)); expect(read.i16(ptr_, i)).toBe(view.getInt16(i, true)); expect(read.i32(ptr_, i)).toBe(view.getInt32(i, true)); expect(read.u8(ptr_, i)).toBe(view.getUint8(i, true)); expect(read.u16(ptr_, i)).toBe(view.getUint16(i, true)); expect(read.u32(ptr_, i)).toBe(view.getUint32(i, true)); } ```
2022-09-06Return a `Buffer` object for fs.readFileGravatar Jarred Sumner 1-0/+7
2022-08-18Faster TextDecoderGravatar Jarred Sumner 1-10/+2
2022-08-17Move the crypto hashers to the new bindingsGravatar Jarred Sumner 1-0/+292
2022-08-17New Zig <> C++ bindings generator. +20% faster HTTP serverGravatar Jarred Sumner 1-0/+148
2022-08-17[bun:ffi] Improve `ptr()` performance and implement code generation for DOMJITGravatar Jarred Sumner 1-2/+372
2022-08-10Fix console.log with typed arraysGravatar Jarred Sumner 1-0/+1