Jarred Sumner
ba0b5baee4
[WebSocket] Implement headers support
...
Fixes https://github.com/oven-sh/bun/issues/1676
2022-12-28 18:39:19 -08:00
Jarred Sumner
66234d9d57
Move some code up
2022-12-28 04:24:07 -08:00
Jarred Sumner
c0dd284136
Upgrade to latest Zig ( #1610 )
...
* @min and @max
* builtins and some trivial ones
* Most of them
* more
* more!
* More Progress
* wip
* Update tagged_pointer.zig
* Update http_client_async.zig
* Most of the iterable dir changes
* alright
* Remove usages of deprecated formatters
* 📷
* fmt
* Update shimmer.zig
* wip
* wip
* wip
* progress
* more
* Latest
* stuck on error
* latest
* workaround stage2
* wip
* Update string_immutable.zig
* wip
* Migrate `Dirent` and `require("fs')` to use JSC<>Zig bindings
* Fix build errors
* Fixup most of the test failures
* Fix `make headers`
* Fix "outside package path" error
* Fixup aligned alloc
* Add missing file
* linux
* More linux fixes
* use latest peechy
* Fix transpiler test failure
* Forgot about these
* Fixup test failure
* Update node-timers.test.ts
* [node:htt] Fix `undefined is not an object` error
Fixes https://github.com/oven-sh/bun/issues/1618
* Update http.exports.js
* Make this test less flaky
* fix hashes
* Fix hex formatting and zls issues
* Download zig version
* Update Dockerfile
* Update Dockerfile
* Update uws
* Update Dockerfile
* Set llvm version
* Update README.md
* Update uws
* Update Dockerfile
* Update io_linux.zig
* Update bun.zig
* Log output
* workaround strange @cInclude error
* Make ffi tests better
* Don't use cImport
* Update c.zig
* Update c-bindings.cpp
* call setOutputDir
* Update Dockerfile
* Use a longer name
* latest
* Update serve.test.ts
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
Co-authored-by: Veikka Tuominen <git@vexu.eu >
2022-12-28 00:51:22 -08:00
Jarred Sumner
a98e0adc7d
[web] Support multiple arguments in setTimeout, setInterval, and setImmediate
2022-12-20 22:05:47 -08:00
Jarred Sumner
feea8824f1
Delete Oniguruma ( #1625 )
...
* Update .gitmodules
* Delete oniguruma
* Delete Oniguruma
* Make this test less flaky
* ✂️
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2022-12-17 15:41:47 -08:00
Jarred Sumner
3ea983578f
[node:process] Implement process.argv0, process.execPath
...
Fixes https://github.com/oven-sh/bun/issues/1599
2022-12-15 17:31:18 -08:00
Jarred Sumner
27e40b0836
Update WebKit
...
cc @cirospaciari you will need to re-download the precompiled WebKit build from the releases page https://github.com/oven-sh/WebKit/releases/tag/dec11 because there is one small WebKit API change. LMK if you have any trouble with that
2022-12-11 16:14:53 -08:00
Jarred Sumner
0ea8de4087
Make console an AsyncIterable
2022-12-05 11:35:34 -08:00
Jarred Sumner
bddf523ac9
Reduce memory usage in Bun.serve() by up to 3x ( #1569 )
...
* Update WebKit
* Use 5x less memory in Bun.serve()
* Update Dockerfile.devcontainer
* Update async-overhead.mjs
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2022-12-01 02:34:15 -08:00
Jarred Sumner
e75ce84c37
Remove some dead bindings code
2022-11-29 23:49:11 -08:00
Jarred Sumner
b631ea7d72
import everything from "bun" where possible
2022-11-29 02:42:56 -08:00
Jarred Sumner
1d9c982488
[console.log] Fix printing latin1 supplement characters at runtime
...
Fixes https://github.com/oven-sh/bun/issues/1031#issuecomment-1236092120
2022-11-27 07:28:30 -08:00
Jarred Sumner
0e900c8ca9
Upgrade WebKit
2022-11-25 00:10:31 -08:00
Jarred Sumner
ac36ea51cf
possibly more reliable Bun.spawn ( #1547 )
...
* wip
* wip
* Fix bug with stdin
* zig fmt
* seems to work!
* Update streams.test.js
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2022-11-23 07:14:33 -08:00
Jarred Sumner
948fdfe482
Fix spurious rejected promise handler calls
2022-11-20 14:33:57 -08:00
Jarred Sumner
897d7bd564
Add way to explicitly coercion object to int32
2022-11-06 17:59:32 -08:00
Jarred Sumner
280c45c269
Upgrade WebKit
2022-10-28 18:57:33 -07:00
Jarred Sumner
02c920f4fd
TCP & TLS Socket API ( #1374 )
...
* TCP Socket API
* Wip
* Add snippet for StringDecoder
* Rename `close` to `stop`, replace `close` with `end`
* Add a tcp echo server test
* Some docs
* Update README.md
* Fix build
* Update README.md
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2022-10-25 00:44:25 -07:00
zhiyuan
210ae2ffb2
Fix Bun.serve error handler error param ( #1359 )
2022-10-20 01:40:58 -07:00
Dylan Conway
8e1b2ba32e
add oniguruma for regex with variable length lookbehinds ( #1329 )
...
* added pcre2 submodule
* pcre2 regex boilerplate
* tests for pcre2 regex
* flag validation, getters, construct and compile mostly working
* string escaping for source and toString(), exec, more tests
* flag sorting, match, matchAll, search, split, replace
* remove lib link
* add destructor to PCRE2RegExp
* header include
* removed ternary
* switched to oniguruma for regex library
* revert sql changes
* fix indices flag, add tests
* revert settings
* working error messages
* more tests for lastIndex, fix logic for compile and lastIndex
* move oniguruma lib to deps out dir
2022-10-17 22:37:18 -07:00
Jarred Sumner
cdff2697ef
Implement sendText, sendBinary, publishText, publishBinary
2022-10-17 06:53:18 -07:00
Jarred Sumner
4b5af13ac0
WebSocket Server support
2022-10-15 03:06:41 -07:00
Jarred Sumner
9294ef73b7
Update WebKit
2022-10-09 02:02:46 -07:00
Jarred Sumner
2c762f47c9
Add simple Hot Module Reloading to bun's runtime
2022-10-06 00:47:03 -07:00
Jarred Sumner
1777e9d0b1
Add abstraction for ticking async event loop
2022-10-05 18:07:41 -07:00
Jarred Sumner
bee72be733
Increase test coverage for request body streaming
...
There is still one memory issue to address
2022-10-01 01:13:27 -07:00
Jarred Sumner
16929129f0
Clean up some of the event loop code
2022-09-28 23:34:03 -07:00
Jarred Sumner
71ea4a2c9b
Fix several bugs with Request body streaming + store small response bodies without an extra memory allocation
2022-09-28 00:11:15 -07:00
Jarred Sumner
24a9bc23b7
[Web Streams] Add body to Response and Request ( #1255 )
...
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2022-09-26 20:04:28 -07:00
Jarred Sumner
2c1926993b
Faster Blob + begin to implement FileSink
2022-09-22 23:45:02 -07:00
Jarred Sumner
7bfa302b75
Make crypto.getRandomValues() faster + fix > 1 byte/element typed arrays
...
Fix crypto.getRandomValues() with > 1 byte element typed arrays
Fixes https://github.com/oven-sh/bun/issues/1237
2022-09-14 04:12:32 -07:00
Jarred Sumner
f496740c19
[bun:ffi] Add f32, f64, i64, u64 to read`
2022-09-09 18:10:36 -07:00
Jarred Sumner
e9c456ff5c
[breaking][bun:ffi] Change the pointer representation to be a 52-bit integer
...
Storing the pointer this way enables DOMJIT to be used with a new API in `bun:ffi` that lets you efficiently read values from a pointer without creating a new `DataView`
```js
import {read} from 'bun:ffi';
const myPtr = myFunctionThatReturnsAPtr();
// new:
const value = read.u32(myPtr, 0);
// old:
const view = new DataView(toArrayBuffer(myPtr));
const otherValue = view.getUint32(0, true);
```
cc @bwasti this might be a breaking change for that call to `napi_add_finalizer`
2022-09-09 03:12:03 -07:00
Jarred Sumner
206820d27a
[bun:ffi] Implement read.{u8,i8,i16,i32,u16,u32,ptr,intptr}
...
`read` in `bun:ffi` lets you read data from a pointer without creating a new DataView/ArrayBufferView
```
import {read} from 'bun:ffi';
expect(read.i8(ptr_, i)).toBe(view.getInt8(i, true));
expect(read.i16(ptr_, i)).toBe(view.getInt16(i, true));
expect(read.i32(ptr_, i)).toBe(view.getInt32(i, true));
expect(read.u8(ptr_, i)).toBe(view.getUint8(i, true));
expect(read.u16(ptr_, i)).toBe(view.getUint16(i, true));
expect(read.u32(ptr_, i)).toBe(view.getUint32(i, true));
}
```
2022-09-08 23:29:30 -07:00
Jarred Sumner
af5c4dedca
Update WebKit ( #1165 )
...
* Update WebKit
* Fix `DataView` and non-8 bit sized typed arrays with TextDecoder
* New WebKit
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2022-08-27 23:46:05 -07:00
Hyro
7a734e0a28
feat: implement native os module ( #1115 )
...
* feat: implement os module
* revert(bun-error): package-lock.json
* feat: implement EOL
* feat: implement EOL
* feat: implement arch function
* feat: implement homedir function
* add comptime to homedir if
* feat: add platform function
* feat: implement type function
* feat: add hostname (not sure iff works on all platforms)
* chore: make requested changes
* fix: change toValueGC into toValue in arch function
* add EOL, devNull constant variables
* fix: store only string
* feat: add tests
* feat: add endianness
* ususe toValue for devNull & EOL
* feat: implement endianness & fix release
* revert javascript.zig fix
* feat: implement tmpdir
* feat: implement totalmem, freemem, uptime
* feat: loadavg
* feat: implement version
* feat: add userInfo
* feat: implement totalmem for macos
* feat: add getPriority (not finished, waiting for dc response)
* feat: finish userInfo implementation
* feat: implement cpus, not done
* feat: finish getPriority implementation & stats cpus()
* feat: implement setPriority
* reemove test.c
* feat: implement constants.dlope.xn, constants.priority.x, constants.UV_UDP_REUSEADDR
* feat: implement signals, errno
* updated cpus function, stilldoesnt work
* increase object length
* feat: add t more ests
* feat: add cpus()
* remov some files
* fix: handle empty array
* started working on interface addresses (in C)
ill use C++ after it work
* fix interface_addresses
* Improved getCpuInfo code, decreased ram usage, increased speed
* getCpuTime optimizations
* started working on networkInterfaces
* feat: networkInterfaces implementation
* delete unnecessary files
* add benchs & fix code
* add tests
* add missing benchs
* Increased buffer of getCpuInfo to 2048, it should skip few iterations
* remove hardcoded constants
* feat: implement errno constants
* fix getWindowsErrorConstant
* feat: add signal constants
* feat: implement priority constants
* remove duplications
* fix: change value to ?i16
* fix(__defineConstant): make some parameters comptime, change value to ?i32
* fix: add E to ERRNO constants, add SIG to SIG constants
* feat: add dlopen constants
* change functions to private
* feat: add UV_UDP_REUSEADDR
* fix typo
* simplify functions
* rename functions in bindings
* feat: implement loadavg for darwin
* feat: implement system uptime
* feat: implement get free memory for darwin
* fix system memory bindings
* feat: implement network interfaces for darwin
* code cleanup
* feat: support for macos version & release
* some fixes
* MacOS support for CpuInfo
* Fixed minor mistake in getCpuInfo_B
* Delete test.zig
* Update c_cpp_properties.json
* Update tasks.json
* feat: implement scopeid
* feat: implement cidr 🚀
* remove unnecesarry changes
* remove unnecesarry changes
* chore: requested changes
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
* chore: requested changes
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
* chore: requested changes
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
* chore: requested changes
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
* chore: requested changes
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
* chore: requested changes
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
* chore: requested changes
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
* fix: import string
* fix: change IPV6 to IPv6
* fix some things
* chore: make requested changes
* revert: launch.json
* fix test
* Fixed few memory leaks
* testing
* again
* added len
* another test
* improved parsing
* added small check
* Bonk
* FINISH 🚀 🚀 🚀 🚀 🚀 🚀
* Update tasks.json
* NetworkInterface test
* FINISH 🚀 🚀 🚀
Co-authored-by: Fire-The-Fox <gajdos.jan77@gmail.com >
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
2022-08-25 19:38:28 -07:00
Jarred Sumner
6a65631cbd
[bun:ffi] Improve ptr() performance and implement code generation for DOMJIT
2022-08-17 07:36:35 -07:00
Jarred Sumner
f90c09d715
wip SyntheticModule
2022-08-13 18:18:05 -07:00
Jarred Sumner
4df0385c23
Update WebKit
2022-08-12 18:28:32 -07:00
Jarred Sumner
5c1ca0cc47
[bun.js] up to 60% faster TextEncoder.encodeInto and ~3% faster TextEncoder.encode
2022-08-12 01:18:31 -07:00
Jarred Sumner
f09e7ac630
improve reliability of WebSocket
...
- Fix GC not keeping WebSocket alive
- Fix ignoring messages sent immediately after upgrade
Fixes https://github.com/oven-sh/bun/issues/521
2022-08-10 17:40:17 -07:00
sno2
f5d896542a
fix: update build files to latest Zig version
2022-07-09 18:25:25 -07:00
Alexander
7d1c9fa1a4
Migrate to Zig v0.10.0
2022-07-09 05:09:16 -07:00
Jarred Sumner
500e5ed949
[streams] Rename drain() -> flush()
2022-07-02 01:36:04 -07:00
Jarred Sumner
b686003710
[stremas] Regenerate JSSInk
2022-07-01 04:03:32 -07:00
Jarred Sumner
95c1785271
begin adding react-ssr tests
2022-06-27 06:44:39 -07:00
Jarred Sumner
cf4ec2b109
Handle when there are no headers to send
2022-06-27 05:33:27 -07:00
Jarred Sumner
77a0f335cb
wip ReadableStream for HTTP(s) Server
2022-06-26 06:01:22 -07:00
Jarred Sumner
729d445b68
change the directory structure
2022-06-22 23:21:48 -07:00