Age | Commit message (Collapse) | Author | Files | Lines |
|
organizing (#3304)
* mock tests
* fix mistake
* stuff
* partially implement mock return promises
* lot of housecleaning on jest tests
* document / rename internalFields in jsmockfunction
* finish implementing JSMockFunction prototype
* cleanup
* more progress
* everything is done
* remove demo.test.js
* finish rebase
* requested changes
* fix compile error
|
|
`expect.toHaveProperty` (#3367)
* add asymmetric matchers to `deepEquals`
* fix comparison of a few jstypes
* clean up and tests
* fix merge
* improve `expect.any` for primitives
|
|
- fix source map positions for getLineNumber / getColumnNumber
- fix return value getting coerced to a string
- implement CallFrame.p.toString
- add tests for getFunction, getThis, isConstructor, isNative, toString,
getLineNumber, getColumnNumber
still not implemented:
- isPromiseAll/getPromiseIndex
- getEvalOrigin
- getScriptHash
- getPosition
- getEnclosingColumnNumber/getEnclosingLineNumber
- isAsync
- accessing Error.stack should call prepareStackTrace
still broken:
- isEval: often returns false when it should return true
- isToplevel: often returns true when it should return false
Refs: https://v8.dev/docs/stack-trace-api
Refs: v8/src/objects/call-site-info.cc
Fixes: https://github.com/oven-sh/bun/issues/2883
|
|
|
|
|
|
* fix flush
* remove logs
* add HTTP/1.1 eventsource
* fix parse spec
* multiple data in one event
* get lastEventId for reconnection
* fix parsing add reconnect
* fix reconnection retry
* add retry option
* move eventsource to builtins
* remove duplicate interface on globals.d.ts
* move test to TS
* fmt
* allow no Content-Length or Transfer Encoding
* udpate builtins
* hardcoded
* merge
* revert /src/out
* updated
* Update .gitignore
* Make the tests fail
* Cleanup EventSource getter
* fixup
* fixup TS
* fmt
* update builtins
* fix tests
* Clear existing timeouts
* Add `ref` and `unref` methods
* Use `super` to make prototype pollution slightly harder
* Reduce test timeout
* Regenerate builtins
* prettier + ref/unref
* Outdated
* forgot to commit this
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
|
|
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
|
|
|
|
* Fix crash in CJS
* Add std.heap.ArenaAllocator
* Use our arena allocator
* Reduce JS parser memory usage and make HMR faster
* Write some comments
* fix test failure & clean up this code
* Update javascript.zig
* make arena usage safer
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
|
|
* Fix `make headers`
* [JS parser] Fix bug with printing non-ascii import paths in ascii mode
* Introduce `bun.String`
* Add test for non-ascii imports & entry points
* Add comment
* Fix build issue
* Support HTTP server
* Make it print the same
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
|
|
* `toMatchObject` progress
* add `expect.stringContaining()`
* add `expect.stringMatching()`
* print asymmetric matchers
* cleanup
* return before printing if constructor value isn't there
* move matcher logic to cpp
* pretty format and tests
* fix formatting for snapshots
* format `stringContaining` and `stringMatching` like jest
* better test
* remove commented tests
* remove old property matcher code
* add types
* make sure all props are matched in arrays
* add `Bun.deepMatch`
|
|
* wip
* wip
* most of the code for mocks in bun:test
* finishing up
* Implement `toHaveBeenCalled` and `toHaveBeenCalledTimes(1)`
* Test
* visit
* results, not returnValues
* exact
* Update jest.zig
* A couple more tests
* Add jest.fn
* support resetting mocks
* Implement spyOn
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
|
|
* Bun.passwordSync -> Bun.password.{method}Sync
* Update jsdoc
* Updates
|
|
* Implement `Bun.password.{verify, hash}` and `Bun.passwordSync.{verify, hash}`
* flip the booleans
* delete unused
* Add `cost` for `"bcrypt"`, add `"memoryCost"` and `"timeCost'` for argon2, use SHA512
* Update bun.zig
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
|
|
* Implement `__dirname` and `__filename`, allow direct eval in CommonJS
* Fixup dirname and add test
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
|
|
* 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>
|
|
* 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>
|
|
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
|
|
* 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>
|
|
* 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
|
|
* [bun:test] Support timeouts in `test`
* make this test more resilient
* :scissors:
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
|
|
|
|
* feat: begin implementing node:vm Script object
* refactor: clean up and address review comments
* refactor: rename Script to VMModuleScript
* fix: expose VMModuleScript.prototype
also oops I forgot to commit the new files last time
* feat(vm): Implement contexts and scripts
* feat(vm): implement globalThis
* feat(vm): expose node:vm module with global helper functions
* refactor(vm): rename VMModuleScript to NodeVMScript
* feat: implement script options
* doc: add TODOs for runIn*Context options
|
|
Fixes memory leak with private data never being cleared
Fixes a case where a ResolveError could actually be a BuildError
|
|
|
|
- We don't need to make `Bun__fetch` exported in every C++ header file
- We shouldn't return JSObjectRef, its an unnecessary wrapper
- The version of `fetch` on the Bun global should be non-configurable so that it is safe for anyone who wants to use that without a user-modifiable one
|
|
* patch fetch function inheritance
* fmt
* fix reserveCapacity and number of arguments for fetch
* change Bun.fetch to use Fetch.jsFunction
* merge Fetch.jsFunction and Fetch.call
* remove commented code
|
|
|
|
|
|
onResolve plugins (#2739)
* its 2023
* WIP `onResolve` plugins
* more progress
* it compiles
* Lots of small fixes
* Seems to work excluding entry points
* Update BundlerPluginBuiltins.cpp
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
|
|
* wip
* Implement `onLoad` plugins
* Support exceptions and async `onLoad` plugins
* Fix filtering
* Handle empty files
* Fix JSON loader
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
|
|
* Missing export
* Regenerate builtins
* Fix crash in require()
* Various breaking JSC changes
* hopefully speed up C++ compilation a little
* Skip failing test fo rnow
* Update WebKit
* Add a comment
* Fix error in postinstall
* Update WebKit
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
|
|
* fix valid status code range
* update path
* highwatermark option
* throw DOMException
* remove extra transpiler output
* more transpiler tests
* comment
* get index not quickly
* replace with `getDirectIndex`
* update abort test
* throw out of range status code
* promisify test fix
* move stdio test instance files
* working crypto tests
* allow duplicate set-cookie headers
* different formatting
* revert, fix will be in different pr
* it is called
* use min buffer size
* fix url tests
* null origin for other protocols
* remove overload
* add very large file test
* await
* coerce to int64
* 64
* no cast
* add todo blob url tests
* use `tryConvertToInt52`
|
|
Example usage:
BUN_JSC_logGC=1 bun file.js
|
|
|
|
|
|
and `setImmediate`
Fixes #2129 #880
|
|
|
|
* 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
|
|
|
|
* 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>
|
|
|
|
|
|
|
|
|
|
|
|
This is a breaking change because the default is `Buffer`, but previously the default was `Uint8Array`. While `Buffer` is a subclass of `Uint8Array`, it still technically is a breaking change because `slice` in `Uint8Array` is not semantically identical to `slice` in `Buffer`
cc @colinhacks, the .d.ts changes I made here aren't great.
|
|
|
|
|
|
* initial steps to create generic resolve
* add soa
* add naptr
* add naptr
* add mx and fix naptr
* add resolve caa
* fix Caa test
* fix toJS from caa
* add resolveNs
* add resolvePtr
* fix resolvePtr test
* add resolveCname
* add resolve rrtype options (still missing ANY)
* fix Naptr
* fix drainPendingCares
|