aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js (follow)
AgeCommit message (Collapse)AuthorFilesLines
2023-06-01[napi] fix thread safe function callback (#3162)Gravatar Ciro Spaciari 2-4/+10
* fixup * add debug log message to event loop unexpected tag * fix fmt
2023-06-01Fix streams breaking on reverted EventEmitter / Make Discord.js work (#2913)Gravatar dave caruso 9-111/+820
* Revert "Revert "use a lazyily initialized stream for `node:crypto` `createHash` (#2652)"" This reverts commit 613bb4822ee8f4fbfd78aef391e2db8f07659a6f. * Revert "Revert "implement `node:events` in javascript (#2604)"" This reverts commit a4d0a1961abe0c6073e15cc6f7c0601b74f2e3f7. * oops * fix entrypoints stuff * fix hash copy * use native events for node streams and crypto * requested changes * oops * make discord.js work * fix webkit hash * headers tojson
2023-05-31[TCP] Ensure we keep the handlers functions alive when an error callback ↵Gravatar Jarred Sumner 1-4/+43
needs to be called This can cause test failures due to GC'ing the handlers when we are *just* about to call them.
2023-05-31Clean-up some option parsing in Bun.spawnGravatar Jarred Sumner 1-5/+16
2023-05-31Small improvements to `bun test` (#3071)Gravatar Ashcon Partovi 10-498/+2151
* Change status icon for skipped tests from "-" to "»" * Show file path instead of filename in `bun test` * Emit collapsable logs when running `bun test` in Github Actions https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#grouping-log-lines * Add fallback for test icons when emojis are not available * Only check for GITHUB_ACTIONS when running `bun test` * Emit error annotations when running `bun test` in Github Actions https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-error-message * Remove ANSI output from Github annotation, it doesn't work * Remove outdated code from internal test runner * Add GithubActionFormatter to handle cases where error name or message is already ANSI * Fix formatting of test * Fix #3070 * Implement `bun test --run-todo` By default, `test.todo()` is no longer run, unless `--run-todo` is specified. * Fix test that relies on test.todo() being run * Support vitest-style test options * Disable GITHUB_ACTION in test harness * Add types for TestOptions * Fix bug where test.skip() actually ran * Implement `test.skipIf()` and `describe.skipIf()` * Implement `test.runIf()` * Move DiffFormatter to its own file * Fix bug where Bun.inspect() would emit a Github annotation * Introduce `bun test --only`, rename `--run-todo` to `--todo` * Implement `test.if()`, `describe.if()`, and other test fixes * Remove unwanted files from last commit * Fix last reference to --run-todo * Fix memory issues with printing github actions text * Update bindings.zig * Fix bug with `test.only()` * Remove debug test * Make the github annotations better * Improve .vscode/launch.json * Implement `expect().toBeNil()` * Remove .only() from test * Implement toBeBoolean(), toBeTrue(), toBeFalse() * Add lots of matchers * toBeNil() * toBeBoolean() * toBeTrue() * toBeFalse() * toBeNumber() * toBeInteger() * toBeFinite() * toBePositive() * toBeNegative() * toBeWithin() * toBeSymbol() * toBeFunction() * toBeDate() * toBeString() * toInclude() * toStartWith() * toEndWith() * Fix #3135 * Reduce verbosity of test * Fix snapshot bug --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-31isolated version of Path compatible with nodejs (#3143)Gravatar Ciro Spaciari 1-4/+3
2023-05-31Make uploading files with `fetch()`fast (#3125)Gravatar Jarred Sumner 1-34/+164
* Make file uploads fast * Add benchmark * Update README.md * defaults * print * prettier * smaller * fix(path) fix parse behavior (#3134) * Add macro docs (#3139) * Add macro doc * Updates * Tweaks * Update doc * Update macro serialization doc * Update macro doc * `--no-macros` flag, disable macros in node_modules * invert base/filename internally (#3141) * always false * Fix broken test * Add a test sendfile() test with large file --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Co-authored-by: Ciro Spaciari <ciro.spaciari@gmail.com> Co-authored-by: Colin McDonnell <colinmcd94@gmail.com>
2023-05-31invert base/filename internally (#3141)Gravatar Ciro Spaciari 1-3/+3
2023-05-31`--no-macros` flag, disable macros in node_modulesGravatar Jarred Sumner 3-1/+14
2023-05-31fix(path) fix parse behavior (#3134)Gravatar Ciro Spaciari 1-6/+9
2023-05-31Support FormData & file uploads in `fetch` body (#3123)Gravatar Jarred Sumner 2-48/+172
* Fixes #2264 * fixup * Don't leak HTTP headers * Include the mime type. It's cleaner --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-30always clone theseGravatar Jarred Sumner 1-2/+2
2023-05-30Update ZigGeneratedClasses.hGravatar Jarred Sumner 1-60/+0
2023-05-30Add another commentGravatar Jarred Sumner 1-9/+25
2023-05-30Fixes #3115Gravatar Jarred Sumner 1-12/+33
2023-05-30More commentsGravatar Jarred Sumner 1-0/+8
2023-05-30Add a commentGravatar Jarred Sumner 1-0/+4
2023-05-30Handle `Object.defineProperty(module, "exports", {get: getter})`Gravatar Jarred Sumner 1-1/+24
2023-05-29Cleanup CommonJS changes (#3112)bun-v0.6.5Gravatar Jarred Sumner 6-49/+237
* Add more GC in test * Fix handling of functions and re-assignments in CommonJS * Increase timeout --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-29Natively support CommonJS at runtime (#3104)Gravatar Jarred Sumner 10-5/+395
* Natively support CommonJS at runtime * cleanup how getters are handled, add fast path * more consistent with node * use * As * Remove thrown modules on exception * Handle exception better --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-28[node:net] fix createConnection options passing (#3101)Gravatar Ciro Spaciari 2-23/+10
* fixup createConnection * fix comment * fixup comment * also fix it on tls
2023-05-27Fixes #2356 (#3098)Gravatar Jarred Sumner 1-0/+7
2023-05-26Fix crash in `Server.prototype.fetch()` helper functionbun-v0.6.4Gravatar Jarred Sumner 1-3/+9
cc @cirospaciari, if you use `mimalloc-debug` it catches things like this
2023-05-26Add more debug safety checksGravatar Jarred Sumner 1-0/+18
2023-05-26Implement `expect().toBeEmpty()` (#3060)Gravatar Ashcon Partovi 5-9/+176
* Implement `expect().toBeEmpty()` * Fix formatting on test * Finish up expect().toBeEmpty() * Update expect.test.ts --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-26Pretty formatter for `Headers` & `URLSearchParams` (#3081)Gravatar Jarred Sumner 9-29/+147
* Pretty formatter for `Headers` & `URLSearchParams` * cleanup * console.log on Headers, FormData, URLSearchParams will always quote the keys now --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-26[fetch] change response allocator (#3086)Gravatar Ciro Spaciari 1-1/+1
* change allocator * cleanup
2023-05-26Fix crash in test.todo + remove JSC C API usages in bun:test (#3079)Gravatar Jarred Sumner 23-350/+584
* Fix crash in test.todo * remove usages of JSC C API in bun:test * Remove additional JSC-C API usages * fix `make headers` * URLSearchParams.length * FormData length * URLSearchParams length * Fix `make headers` * very fancy length * Fix bug with exceptions being ignored sometimes * Add tests for extension toHaveLength --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-25[stream] fix flush (#3073)Gravatar Ciro Spaciari 1-2/+1
* fix flush * remove logs
2023-05-24Support `with { type: "macro"}` in `bun build` (#3059)Gravatar Jarred Sumner 2-8/+8
* [bun macro] Support `assert { type: "macro" }` and `with {type: "macro"}` * [bun macro] Pass through input as arguments instead of a JSNode * Fix hang when loading many entry points simultaneously with macros * do not clone --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-24[server.fetch] call when using Request object (#3051)Gravatar Ciro Spaciari 1-13/+9
* patch server.fetch * add tests and fix types
2023-05-24[bun:FileSystemRouter] add more validations on parameters (#3053)Gravatar Ciro Spaciari 1-2/+28
* add validations and allow relative path on dir * remove unneed things * add origin/dir validation tests * remove workaround * add back relative path resolution
2023-05-24Add commentGravatar Jarred Sumner 1-0/+4
2023-05-24Remove that fieldGravatar Jarred Sumner 1-1/+0
2023-05-24Fix string checkGravatar Jarred Sumner 1-1/+2
2023-05-24Implement `require.cache` (#3045)Gravatar Jarred Sumner 6-1/+148
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-23Implement `bun test --timeout` (#3040)Gravatar Ashcon Partovi 1-6/+3
You can change the default per-test timeout in `bun test`: > bun test --timeout 10 The default timeout is 5000.
2023-05-23[bun:test] Fix async/done-based test.todo (#3015)Gravatar Jarred Sumner 1-6/+27
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-23Support setting a timezone with `process.env.TZ` and `Bun.env.TZ` (#3018)Gravatar Jarred Sumner 5-0/+124
* Support setting a timezone via `process.env.TZ` * Implement `setTimeZone` in `bun:jsc` module * [breaking] `bun:test` now defaults to `Etc/UTC` timezone --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-22fix marking requestCert (#3012)Gravatar Ciro Spaciari 1-3/+12
2023-05-22[node:http] Fix return type for `getHeader()` (#3007)Gravatar Jarred Sumner 1-6/+11
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-22Write out builtins with TypeScript + Minify them (#2999)Gravatar dave caruso 120-24978/+16307
* start work drafting how builtins will work * work on ts builtin * builtins stuff so far * builtins * done for today * continue work * working on it * bindings so far * well, it builds. doesnt run * IT RUNS * still lots of ts errors but it is functional * sloppy mode
2023-05-22443 should default to https when no protocol is informed (#3008)Gravatar Ciro Spaciari 1-1/+10
2023-05-22[node:buffer] Add missing `inspect` functionbun-v0.6.3Gravatar Jarred Sumner 4-0/+30
cc @paperdave
2023-05-22[node:vm] Accept undefined in `createContext`Gravatar Jarred Sumner 1-0/+5
2023-05-22fixup (#3001)Gravatar Ciro Spaciari 1-8/+7
2023-05-22[breaking] ServerWebSocket.publish no longer publishes to self by defaultGravatar Jarred Sumner 1-1/+1
This changes `publishToSelf` to be `false` by default instead of `true`. This is a breaking change because it means that `ws.publish("foo", "bar")` will exclude `ws` from the list of websockets to broadcast. We are making this change because many people asked for this and were confused by the status quo - that `w.publish` publishes to self.
2023-05-22[ServerWebSocket] `binaryType` now defaults to `"nodebuffer"`Gravatar Jarred Sumner 1-5/+5
Previously, this defaulted to "uint8array", so this shouldn't be a breaking change unless you make use of `.slice()` in which case it will now be a reference to the same ArrayBuffer rather than a clone. The rationale for this change is most usages of Uint8Array on the server need a little more than just the bytes. Many npm packages expect Buffer rather than Uint8Array. Directly returning it for binary websocket messages is faster than creating another one.
2023-05-22Fix memory leak in `fetch(url)` (#2989)Gravatar Jarred Sumner 1-11/+21
* Fix memory leak in `fetch(url)` * Bump those numbers up --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-22Update WebKitGravatar Jarred Sumner 1-0/+0