Age | Commit message (Collapse) | Author | Files | Lines |
|
* build system improvements
* public the secret download link
* typo
* i think i fixed it
* fix ci
* un-bump the cmake version
|
|
* Fix memory leak in require() and add test
* Mark fixtures as generated code
* Add optimization for large files
* Fix small memory leak
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
|
|
* throw an error when `Script` is called without new
fix https://github.com/oven-sh/bun/issues/6281
* fix typo in `File` without constructor error
fix https://github.com/oven-sh/bun/issues/6281
|
|
* fix fetch
* oops
* revert
* fix checkServerIdentity
* check dns len
* use same checks on wsclient and fetch, fix tests
* more tests and more fixes
* fix node-http flask test
* orelse
* fix requestCert
* more fixes, but no data receiving
* fix pause on connect behavior on TLS
* WS Client + rejectUnauthorized progress
* move test to the right place
* more test
* oops
* oops 2
* fmt
* cleanup
* WIP: handle handshake properly on uWS
* handle rejectUnauthorized in uWS
* fmt
* duplicated test
* fix leak
* add rejectUnauthorized option in WS types
* fix merge
* fix merge2
|
|
* feat(console): add printer for mapiterator
MapIterator was not supported in printing, libraries like discordjs make big use of maps and
so i think supporting them would be a good idea.
* fix: snake case var
* fix: add tests for log and add setiterator printer
|
|
* Updated Dependencies Script
* demo
* fix submodule hell!!!
* lol
* attmept 2
* install nasm in ci
* setup sh 1
* yeah
* better zlib building
* codegen stuff
* attempt 2 at bun codegen ci
* o
* deps improvements
* generaet part of compile-cpp-only.ps1
* restore these
* good enough for Unix
* remove libuv submodule lol
* pass over docs
|
|
|
|
|
|
* Prepare for windows event loop
* More progress
* Update libuv.zig
* wip
* Make compiling each dependency a shell script
* Bump mimalloc
* Add the build scripts
* Update settings.json
* Fix a bunch of compiler warnings
* Remove more warnings
* more warnings
* cmake works
* Update JSSQLStatement.h
* put it in the zig file
* Fix usockets warnings
* Fixup
* Fix one of the compiler errors
* chunk
* draw the rest of the owl
* theres more
* Rename Process -> BunProcess
Works around a Windows issue
* Add musl polyfill for memmem on Windows
* More
* 12 mb
* Fix getenvZ
* fix variosu issues
* Add fast-ish path for bun install on Windows
* Update windows.zig
* Update windows.zig
* Fix build issue
* it works
* hmmm
* Rename file
* Fixups
* Update wtf-bindings.cpp
* Update src/bun.js/bindings/headers-handwritten.h
Co-authored-by: Dylan Conway <35280289+dylan-conway@users.noreply.github.com>
* further!
* more
* Update .gitignore
* hm
* quite a lot of fixes
* Update CMakeLists.txt
* zig fmt
* Many more things are starting to work.
* reb
* regenaret
* Update JSSink.h
* fixup
* fetch works
* Bun.serve() and much of the event loop works now
* Make require() work
* bun install progress
* more things work
* use less std.os
* Fixes
* small fixes
* Bump
* Bummp
* Undo that change
* We have to bump the version of Debian because libarchive has a higher minimum requirement
* ok
* some clenaup
* windows
* Update bun.zig
* fixup
* avoid duplicate symbols
* avoid undefined symbols
* bump
* Remove issue template for install
It's not used, and use the bug issue instead.
* Add types for cp and cpSync
* Add types for watchFile and unwatchFile
* Add bun-types to 'bun fmt' script
* Update nodejs compat docs cp/cpSync/watchFile/unwatchFile (#4525)
* feat(fetch) rejectUnauthorized and checkServerIdentity (#4514)
* enable root certs on fetch
* rebase
* fix lookup
* some fixes and improvements
* fmt
* more fixes
* more fixes
* check detached onHandshake
* fix promise case
* fix cert non-Native
* add fetch tls tests
* more one test
* churn
* Update feature_flags.zig
* Update response.zig
* Revert "avoid undefined symbols"
This reverts commit ca835b726fb5165798de216b20d8e3b3a12571e0.
* Revert "avoid duplicate symbols"
This reverts commit 4ac6ca87000a157ee4f31308dab60ef8cedb95e4.
* Update feature_flags.zig
* Set permissions
* more
* Update mimalloc
* Fix sqlite test failures
* Fix some test failures
* Make sure we remove libusockets is removed
* hm
* [dave]: fix webcrypto crash
* bump
* Update index.ts
* windows zig compiles
* cmake on mac works
* progress
* yay
* bun run build
* fix
* ok
* oops
* asdfasfdafdsafda
* fghjkl
* git ignore
* wow
* Process -> BunProcess
* hmm
* blah
* finalize merge
* now it only has linker errors on mac
* sdfadsf
* g
* getting farther
* sxdcvbnmk,
* adfhjskfjdhkas
* a
* fgh
* update build dot zig
* asdfg
* theoretical -DCANARY flag we can use
* asdf
* cool
* okay
* colorterm
* New build workflow
* Fix script
* Use sudo
* More sudo
* Tweak dependencies
* Another sudo attempt
* Tweak script
* 16.0 -> 16
* Tweak script
* Tweak script
* Tweak script
* Tweak script
* Tweak script
* bun install
* ssh into github actions
* add more to ssh
* Fix postinstal
* Skip llvm
* New dockerfile
* Build
* More changes to Dockerfile
* chaos chaos chaos
* okay
* a
* more cmake nonsense
* add unified sources code (does not work)
* stuff
* prepare for CI builds
* ok
* yay
* yeah
* make this more stable simply by trying again if it fails, 5 times, then lose. it fixes the stability issue i was running into L O L
* messing with ci
* x
* a
* clean dependencies before build
* oops
* this is not going to work but its closer
* not gonna work either
* a
* a
* did i do it
* a
* a
* work around weird fs+Bun.build issues
* properly pass debug flag correctly
* idk im sorry
* lose
* maybe
* run the tests please
* a
* fix zlib script
* a
* hi
* prevent stupid ci issue
* i totally didnt leave in a syntax error on cmakelists
* a
* lol
* relax
* ðŸ˜
* a
* SO SILLY
* 😡 one line mistake
* one character diff
* fix linking symbols missing
* work on dependency scripts
* does this work now?
* fix mac build
* a
* bump!
* woops
* add macos baseline build
* .
* fix sqlite and also enable $assert/$debug support in builtin functions
* okay
* oops
* zig upgrade lol
* Merge
* Fix spawn test issue
* Set a timeout
* yeah
* etc
* mi
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Co-authored-by: Dylan Conway <dylan.conway567@gmail.com>
Co-authored-by: Dylan Conway <35280289+dylan-conway@users.noreply.github.com>
Co-authored-by: Ashcon Partovi <ashcon@partovi.net>
Co-authored-by: Birk Skyum <74932975+birkskyum@users.noreply.github.com>
Co-authored-by: dave caruso <me@paperdave.net>
|
|
* Fix running `Bun.spawn` on Vercel and GCP
* Update subprocess.zig
* Deflake test
* Update spawn-streaming-stdout.test.ts
* Fix tests + cleanup
* Fix hang
* Handle edgecase
* Update subprocess.zig
* Update subprocess.zig
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
|
|
make expect(fn).toThrow drain unhandled promise rejections (#6701)
* 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>
|
|
* Implement Module Mocks
* Update javascript.zig
* Add test for spyOn + ESM namespace
* Bump WebKit
* Bump WebKit
* Drain microtasks at end of test executions
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
|
|
(#6674)
* Fix setTimeout(() => {}, 0)
* Align `setImmediate` with Node.js
* Update event_loop.zig
* Update test
* use Bun.sleep
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
|
|
* fix env limit
* test
|
|
* fix(worker_threads): off by one on threadId
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
* test: refine worker_threads threadId consistency test
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
* test: improve worker_threads tests
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
* test: fix worker_threads threadId consistency test
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
* test: simplify worker_threads threadId consistency test
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
* test: refine worker_threads threadId consistency test
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
* refactor: cleanup import on worker_threads tests
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
* test: switch worker_threads worker to TS
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
* test: revert wrong refactoring
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
* test: format
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
* test: port worker_threads worker to ESM
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
* test: cleanup worker_threads test
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
* test: improve worker_threads coverage
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
---------
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
|
|
while trying to get [`node-usb`](https://github.com/node-usb/node-usb) running with bun, it always failed because close() is only allowed when there are no open references.
https://github.com/node-usb/node-usb/blob/7e0182df8cfc684f6ec0cc59691c79731bdb459f/src/node_usb.h#L39-L41
```c++
inline void ref(){ refs_ = Ref();}
inline void unref(){ refs_ = Unref();}
inline bool canClose(){return refs_ == 0;}
```
`Ref()` and `Unref()` are both called once, with node.js resulting in `refs_ == 0` (which is expected), but with bun `refs_ == 1`.
I've made this small script to reproduce the bug:
https://github.com/alangecker/bun-ref-bug/blob/main/binding.cc
```
run with bun 1.0.6:
- refcount: 2 (expected: 1)
run with node 20.8.1:
- refcount: 1 (expected: 1)
```
during a long debugging journey I found out, that buns `NapiRef::ref()` is also just called once (as expected), but within `napi_wrap()` the `NapiRef` gets initialized already with the refCount set to 1
https://github.com/oven-sh/bun/blob/378385ba60900be7bd797923c219ec489101f2f5/src/bun.js/bindings/napi.cpp#L669
```c++
extern "C" napi_status napi_wrap(napi_env env,
napi_value js_object,
void* native_object,
napi_finalize finalize_cb,
void* finalize_hint,
napi_ref* result)
{
// [...]
auto* ref = new NapiRef(globalObject, 1);
// [...]
}
```
After changing it to `new NapiRef(globalObject, 0)` it got the expected behavior / same as with node.js and node-usb works.
as far as I understand it, a `NapiRef`` with refCount=0 should then be weak instead of strong, which is why I have changed this too.
|
|
* 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(node:buffer): fix the behavior of `totalLength` in `Buffer.concat`
Close: #6570
Close: #3639
* fix buffer totalLength type
---------
Co-authored-by: Ashcon Partovi <ashcon@partovi.net>
|
|
|
|
|
|
Closes #6413, #5850
|
|
* make our debug assertions work
* install bun-webkit-debug
* more progress
* ok
* progress...
* more debug build stuff
* ok
* a
* asdfghjkl
* fix(runtime): fix bad assertion failure in JSBufferList
* ok
* stuff
* upgrade webkit
* Update src/bun.js/bindings/JSDOMWrapperCache.h
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
* fix message for colin's changes
* okay
* fix cjs prototype
* implement mainModule
* i think this fixes it all
---------
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
|
|
* dfghj
* Handle messages that did not finish
* tidy
* ok
* a
* Merge remote-tracking branch 'origin/main' into dave/ipc-fixes
* test failures
---------
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
|
|
|
|
* fixing #5872
* removing useless comment
|
|
|
|
* fix-subprocess-argument-missing
* fix-tests
* nitpick, these should === not just be undefined
---------
Co-authored-by: dave caruso <me@paperdave.net>
|
|
Fixes #6492
|
|
Fixes #6527
|
|
|
|
* fix(error): correct the `path` field in syscall error message.
Close: #6336
* fix pathlike union case
|
|
* Fix #6452
* Fix formatting
|
|
* update build.zig
* save
* works?
* better workaround
* fix install
* Fix compiler crash
|
|
|
|
|
|
|
|
* work so far
* stuff
* a
* basics work
* stuff
* yoo
* build lockfile
* correct
* f
* a
* install fixture havent tested
* i made it worse
* lol
* be more reasonable
* make the test easier to pass because bun install doesn't handle obscure lockfile edge cases :/
* a
* works now
* ok
* a
* a
* cool
* nah
* fix stuff
* l
* a
* idfk
* LAME
* prettier errors
* does this fix tests?
* Add more safety checks to Integrity
* Add another check
* More careful lifetime handling
* Fix linux debugger issue
* a
* tmp dir and snapshot test
---------
Co-authored-by: Jarred SUmner <jarred@jarredsumner.com>
|
|
* feat(test): implement `toEqualIgnoringWhitespace`
* equality check in matcher & incorrect arg error
|
|
* peer dependencies
* default true
* add test
* cleanup
* some tests
* skip peer deps if they are non optional
* remove debug print, fix build
* iterate peer dependencies
|
|
fetch errors (#6390)
* fix abort signal and fetch error
* fix fetch error and lock behavior
|
|
The exit code support is between 0-255 and not only in the signed positive range
(0-127).
Node.js does not seam to throw on a bigger integer and just wraps around,
but throwing a error is a good approach and makes the behaviour more defined.
This allows the range to be 0-255
Fixes: https://github.com/oven-sh/bun/issues/6284
|
|
* oops
* createSecretKey but weird error
* use the right prototype, do not add a function called export lol
* HMAC JWT export + base64 fix
* Fix Equals, Fix Get KeySize, add complete export RSA
* fix RSA export
* add EC exports
* X25519 and ED25519 export + fixes
* fix default exports
* better asymmetricKeyType
* fix private exports
* fix symmetricKeySize
* createPublicKey validations + refactor
* jwt + der fixes
* oopsies
* add PEM into createPublicKey
* cleanup
* WIP
* bunch of fixes
* public from private + private OKP
* encrypted keys fixes
* oops
* fix clear tls error, add some support to jwk and other formats on publicEncrypt/publicDecrypt
* more fixes and tests working
* more fixes more tests
* more clear hmac errors
* more tests and fixes
* add generateKeyPair
* more tests passing, some skips
* fix EC key from private
* fix OKP JWK
* nodejs ignores ext and key_ops on KeyObject.exports
* add EC sign verify test
* some fixes
* add crypto.generateKeyPairSync(type, options)
* more fixes and more tests
* fix hmac tests
* jsonwebtoken tests
* oops
* oops2
* generated files
* revert package.json
* vm tests
* todos instead of failues
* toBunString -> toString
* undo simdutf
* improvements
* unlikely
* cleanup
* cleanup 2
* oops
* move _generateKeyPairSync checks to native
|
|
|
|
|
|
* Create `AbortSignal` without JS
* Don't leak
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
|
|
* `reportExtraMemoryAllocated` parameters changed
* bump webkit
* Update Dockerfile
* format
|
|
* fix `Buffer` compat with Node.js: compare
* fix `Buffer` compat with Node.js: copy
|
|
Close: #6252
|
|
|