aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js (follow)
AgeCommit message (Collapse)AuthorFilesLines
2023-02-24Support macOS 10.15Gravatar Jarred Sumner 1-4/+75
Fixes #1266 Fixes #1323 Fixes #2154
2023-02-24fix(dns) Fix resolve4 and resolve6 behavior (#2144)Gravatar Ciro Spaciari 1-30/+56
* fix https://github.com/oven-sh/bun/issues/2098 * fix last promisifyResolve call * avoid some functions alloc on dns.exports
2023-02-24Fix lol_html_rewriter_builder_add_document_content_handlers binding (#2161)Gravatar Justin Whear 1-3/+2
The `lol_html_rewriter_builder_add_document_content_handlers` does not return a status code and always succeeds; errors are reported on subsequent calls to `write` or `end`. Fixes #2024
2023-02-24formattingGravatar Dylan Conway 1-4/+1
2023-02-24Implement `os.cpus` for Darwin (OS X) (#2115)Gravatar Justin Whear 1-70/+156
* adding experimental Mac implementation os os.cpus * Simplify cpus interfaces * remove support for osx 10 * Refactor os.cpus implementation This commit substantially refactors how the Linux and Darwin implementations of `os.cpus`. The goal is to avoid unnecessary copying and allow broader latitude in responding to errors per implementation. * improved comments * ensure no buffer overrun * use PROCESSOR_CPU_LOAD_INFO_COUNT; not sure if this is correct * oh teh noes * use sliceTo instead of span * cpu_ticks are uints
2023-02-24fix(body) Make Request/Reponse empty body to be null (#2156)Gravatar Ciro Spaciari 1-2/+10
* make empty nullable * revert mistake change
2023-02-24prefer `bun.copy()` over `std.mem.copy()` (#2152)Gravatar Alex Lam S.L 5-27/+15
2023-02-23Upgrade Zig (#2151)Gravatar Dylan Conway 30-177/+201
* fixup * Upgrade Zig * Remove bad assertion * strings * bump * mode -> optimize * optimize * Linux build * Update bindgen.zig
2023-02-23Update ZigGlobalObject.cppGravatar Jarred Sumner 1-1/+1
2023-02-22feat(undici): add `undici.request` (#2136)Gravatar Derrick Farris 2-8/+219
* wip(undici): get basic requests working * wip(undici): implement most request params, add tests * fix(undici): get tests passing for `undici.request` * test(undici): test headers in `undici.request`
2023-02-22fix string diff extra newlineGravatar Dylan Conway 1-1/+1
2023-02-22Fix flaky request.signal implementationGravatar Jarred Sumner 3-78/+134
2023-02-22Fix missing ref() in lazily created signalGravatar Jarred Sumner 1-12/+11
2023-02-22feat(Request.signal) Initial support for signal in Request + fetch and ↵Gravatar Ciro Spaciari 14-7/+188
Request + Bun.serve (#2097) * add fetch abort signal * get aborted (still segfaults) * bidings.zig u0 error * still GC/memory error * fix start crash * fix AbortSignal fromJS * change fromJS to obj.as * addAbortSignalEventListenner * handle abort types, and add tests * fix tests * add custom reason test * merge 2 substring methods, use MAKE_STATIC_STRING_IMPL * fix create AbortError and TimeoutError, move globalThis and exception creation to main thread * fix tests and rebuild headers * no need to check with substring reason is already an exception * no need to check with substring reason is already an exception * fix dumb error inverting conditions for check reason * fix custom reason behavior * Request signal * remove package-lock.json * Remove JSC.Strong from Request signal * fix globals for fetch abort signal * more tests, clone signal crashs * fix AbortSignal.toJS * fix toJS bidings for AbortSignal * add streaming tests * fix abortion before connecting * fix tests and segfault * add fetch testing abort after finish * fix signal handler cleanup * support signal event Bun.serve * pull tests (failing) * remove unsupported test * formating * fix server Request.signal, fix cleanNativeBindings * add direct tests * more pull tests * fix stream tests * fix fetch, pending onAborted fix in HTTPServerWritable --------- Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2023-02-22newlines for array diffGravatar Dylan Conway 2-19/+15
2023-02-22[breaking] Return Node.js `Timeout` objects in `setTimeout`, `setInterval`, ↵Gravatar Jarred Sumner 14-191/+547
and `setImmediate` Fixes #2129 #880
2023-02-22Support well known symobls in prototypes for generated classesGravatar Jarred Sumner 1-4/+21
2023-02-22format options with quote strings (#2134)Gravatar Dylan Conway 3-57/+70
2023-02-22Fixes #2121 in runtime, but not in testsGravatar Jarred Sumner 1-39/+47
2023-02-22wiptest -> test (#2131)Gravatar Dylan Conway 3-30/+89
* +/- for object diff, quote more strings * wiptest -> test * quote strings fix
2023-02-22fix(child_process): import from primordials (#2132)Gravatar Derrick Farris 1-9/+1
2023-02-22fix(child_process): match Node's promisified exec fn (#2128)Gravatar Derrick Farris 1-43/+72
2023-02-21`isRegExp()` without cppGravatar Dylan Conway 1-1/+7
2023-02-21Update test runner output with colors and diffs (#2122)Gravatar Dylan Conway 7-166/+969
* add zig-diff * move diff functions * toHaveProperty diff for objects * use formatter * format labels * move work to format, diff when it makes sense * remove comptime, dim equal slices * order before diff * line diffs * add diffz * switch to diffz * add `diffLines()` function * small `prettyFmt()` bug fix * test runner color output * update `toBe()` error output * fix test * diff method, fix crash * fix link test * remove `isRegex`
2023-02-19fixup double exportGravatar Jarred Sumner 1-2/+1
2023-02-18fix: Print URL as object in (#2104)Gravatar Micha Reiser 1-4/+0
2023-02-18feat(node/os): implement `os.machine()` (#1378)Gravatar Carter Snook 2-12/+23
* feat(node/os): implement 'os.machine()' --------- Co-authored-by: Justin Whear <justin.whear+github@gmail.com>
2023-02-17Fix edgecase in some arg parsing in `fs` moduleGravatar Jarred Sumner 1-28/+28
2023-02-17use mapGravatar Jarred Sumner 1-21/+70
2023-02-17More correct filesystem flags parsingGravatar Jarred Sumner 1-49/+55
2023-02-17Fix issue with express body-parser introduced by our async_hooks polyfillGravatar Jarred Sumner 1-1/+11
2023-02-17Fix #1602 (#2066)Gravatar Justin Whear 11-94/+170
* 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-17[install] support git dependencies (#2094)Gravatar Alex Lam S.L 1-3/+2
2023-02-16Implement `machine` for Linux (#2088)Gravatar Justin Whear 2-0/+15
2023-02-16Fix #1516 (#2089)Gravatar Justin Whear 2-7/+7
`FileSystemFlags.fromJS` was hardcoded to return O_RDONLY when the flag value was null or undefined and this caused breakage when used with write functions. Updated the function to take a `default` argument so that the caller can specify a sane default for their use.
2023-02-15feat(fetch) AbortSignal (#2019)Gravatar Ciro Spaciari 12-14/+264
* add fetch abort signal * get aborted (still segfaults) * bidings.zig u0 error * still GC/memory error * fix start crash * fix AbortSignal fromJS * change fromJS to obj.as * addAbortSignalEventListenner * handle abort types, and add tests * fix tests * add custom reason test * merge 2 substring methods, use MAKE_STATIC_STRING_IMPL * fix create AbortError and TimeoutError, move globalThis and exception creation to main thread * fix tests and rebuild headers * no need to check with substring reason is already an exception * no need to check with substring reason is already an exception * fix dumb error inverting conditions for check reason * fix custom reason behavior
2023-02-15fix(webcrypto): fix ed25519 CryptoKey.algorithm (#2082)Gravatar Derrick Farris 1-9/+11
2023-02-15don't return an error thereGravatar Jarred Sumner 1-1/+0
2023-02-15ensure we allocate for > 6 argumentsGravatar Jarred Sumner 1-6/+13
2023-02-15Update async_hooks.exports.jsGravatar Jarred Sumner 1-2/+2
2023-02-15some cleanupGravatar Jarred Sumner 1-13/+7
2023-02-15ED25519 WebCrypto (#1971)Gravatar Jarred Sumner 12-11/+1167
* ed25519 * Register the algorithm * try this? * fix(webcrypto): fix ed25519 keypair gen (#1985) * fix: import and export ed25519 (#2004) * fix(webcrypto): allow import and export ed25519 * fix(webcrypto): copy exportkey * fix(webcrypto): fix use after stack free --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Co-authored-by: Derrick Farris <mr.dcfarris@gmail.com>
2023-02-14Fix up async_hooks polyfillGravatar Jarred Sumner 1-8/+33
2023-02-14Add temporary polyfill for async_hooksGravatar Jarred Sumner 3-90/+306
2023-02-14:mask: async_hooksGravatar Jarred Sumner 1-0/+4
2023-02-14don't break esbuildGravatar Jarred Sumner 6-71/+47
2023-02-14Add workaround for `tls` and `worker_threads`Gravatar Jarred Sumner 2-1/+55
2023-02-14[WIP] fix(node:fs): export `fs.ReadStream` and `fs.WriteStream` (#1798)Gravatar Derrick Farris 1-71/+141
* fix(node:fs): export fs.WriteStream and fs.ReadStream * test(node:fs): add tests for fs.ReadStream and fs.WriteStream * test(node:fs): prevent opening fd w/o closing * fix(node:fs): hack ESM export for fs streams to keep lazy loading * fix(node:fs): = -> ===, fix hasInstance comparison * test(node:fs): add test that actually checks that re-exported streams work * fix(fs): eagerly load our slow lazy fns (thanks esm) * fix(fs): employ @alexlamsl 's constructor w/o new trick on Read/WriteStream
2023-02-14Reject with error when invalid fetch() body (#2047)Gravatar Eric Zhang 1-11/+18
* Reject with error when invalid fetch() body Resolves #2014 * Make sure the test actually throws an exception * Update fetch error paths to return TypeErrors
2023-02-13fix(FormData): make String explicit, thanks @dylan-conway (#2065)Gravatar Derrick Farris 1-1/+1