aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js (follow)
AgeCommit message (Collapse)AuthorFilesLines
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
2023-02-13fix(FormData): add string literal operator (#2064)Gravatar Derrick Farris 1-2/+2
2023-02-13Add pretty printer for FormDataGravatar Jarred Sumner 4-1/+92
2023-02-13Add dynamic port assigning to Bun.serve (#2062)Gravatar Michał Warda 1-5/+2
2023-02-13feat(napi): add `napi_get_value_bigint_words` (#2061)Gravatar Derrick Farris 1-0/+42
* feat(napi): add `napi_get_value_bigint_words` * fix(napi): handle `napi_get_value_bigint_words` arr too small
2023-02-13Fixes https://github.com/oven-sh/bun/issues/1456Gravatar Jarred Sumner 6-0/+131
2023-02-13Implement `FormData` (#2051)Gravatar Jarred Sumner 25-45/+1832
* Backport std::forward change * Implement `FormData` * Fix io_darwin headers issue * Implement `Blob` support in FormData * Add test for file upload * Fix bug with Blob not reading Content-Type * Finish implementing FormData * Add FormData to types --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-02-12Return server on listen (#2057)Gravatar Michał Warda 1-0/+2
2023-02-12Set `require("module").globalPaths` to empty arrayGravatar Jarred Sumner 1-0/+3
https://github.com/oven-sh/bun/issues/1641#issuecomment-1427017442
2023-02-11fix string corruption in FS entry cache (#2055)Gravatar Alex Lam S.L 1-1/+1