* Cleanup error formatting a little
* Add error for using import statement with CommonJS-only features
* Update js_ast.zig
* Further tweaks to formatting, also print error.cause
* Add some snapshot tests for errors
* Make these snapshot tests
* Ignore mimalloc warnings
* Update error message parsing in bundling tests
* Increase timeout on the test
* Update expectBundled.ts
* Update test
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
* fix(Bun.serve): return EACCESS when we don't have perms
The error reported to js land when listening fails was always the same,
this adds a second one for EACCESS when we are not the super user.
Fixes: https://github.com/oven-sh/bun/issues/7187
* fix: adjust code to be only ran on linuz
* fix: correct typo
* fix: remove comment since its linux only now
* Implement `expect.unreachable`
* UIse expect.unreachable() in some tests
* Use more unreachable
* More unreachable
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
* Fix fetch response skipping body if no content-length (#6932)
* Fix timeout on status 1xx/204/304 without content-length, tests changes
* Fix test that was wrong
* fix fetch response without content-length not disabling keep-alive
---------
Co-authored-by: Ashcon Partovi <ashcon@partovi.net>
* fix: correctly prepend system path to relative urls on `pathToFileURL`
The `pathToFileURL` was not handling the case that when a relative link is passed,
it should convert it to a absolute url and prepend the top_folder,
or otherwise described, resolve the path before creating the url.
This does that by calling into buns Path api and using its `resolve` function.
Theres the detail that i used preprocessor directives to determine whether
we are on windows because there does not seam to be a easy way to get that
at runtime in the `BunObject.cpp` file.
Fixes: https://github.com/oven-sh/bun/issues/6456
* fix: add issue id to test name
* fix: implement changes requested in review
* style: fix styling
* Update src/bun.js/bindings/BunObject.cpp
* Update src/bun.js/bindings/BunObject.cpp
* Update src/bun.js/bindings/BunObject.cpp
---------
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
* Copy Node.js test for async-local-storage thenables
* Fix flaky test
* Make expect(fn).toThrow() more reliable
* Fix setImmediate order
* Support restoring mocked modules with spyOn
* Fix vm test
* Fix more tests
* alright
* Upgrade WebKit
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
* Fix missing function names in Bun.inspect
* Fix failing tests
* Handle @@toStringTag
* Update bindings.cpp
* Revert breaking changes to snapshots until a minor version
* Fix test
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
* fix: support custom file type in Bun.file
In the docs it seamed to suggest this is something supported,
it seamed to be only supported in JSDOMFiles or blob.
This Adds the 2 properties `type` and `lastModified` to be supported on `Bun.file`
Fixes: https://github.com/oven-sh/bun/issues/6507
* fix: implement changes requested in review
Add changes requested in the review and add a test for a non standard
mimetype
* fix-subprocess-argument-missing
* fix-tests
* nitpick, these should === not just be undefined
---------
Co-authored-by: dave caruso <me@paperdave.net>
* [server] requestIp and AnyRequestContext
Changed Request.uws_request to the new AnyRequestContext. This
allows grabbing the IP from a Request. Unfinished.
* [server] basic `requestIp` implementation
Currently using uws's requestIpAsText, which always returns a ipv6
string. We should return a `SocketAddress` object to the user instead,
which will contain the formatted address string and what type it is.
We'll have to use requestIpAsBinary and parse that ourselves.
* TypeScript docs, use `bun.String`, return `undefined` instead of `null`
if we can't get the ip.
* binary address formatting
* uws getRemoteAddress binding
* remove dead code
* working
* final touches✨
* I will abide by the results of this poll.
---------
Co-authored-by: Parzival-3141 <29632054+Parzival-3141@users.noreply.github.com>
* Make sure we set the number tag correctly when returning values from SQLite
* Add DOMJIT test
* Update JSSQLStatement.cpp
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
* feat(test): implement `arrayContaining`
* feat: early return when expectedArray is empty
* feat: add test for toEqual
* chore: use `JSC::isArray`
* chore: use getIndex for performance
* fix: use deepEqual
---------
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>