Commit Graph

4243 Commits

Author SHA1 Message Date
Ciro Spaciari
63e2d78e76 [node:net] fix createConnection options passing (#3101)
* fixup createConnection

* fix comment

* fixup comment

* also fix it on tls
2023-05-28 13:20:32 -07:00
Jarred Sumner
1388ec0d60 Fixes #2356 (#3098) 2023-05-27 23:33:47 -07:00
Tiramify (A.K. Daniel)
4ba3ed512a Implement process.env.npm_lifecycle_event (#3097)
* Update run_command.zig

* Update env.test.ts

* Add files via upload

* Update run-process-env.test.ts

* Update env.test.ts

* Update harness.ts
2023-05-27 20:43:08 -07:00
Jarred Sumner
f870f97a94 Fixes #3091 (#3092)
* Fixes #3091

* Update build-id

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-27 00:21:54 -07:00
Jarred Sumner
7094997eec Fix crash in Server.prototype.fetch() helper function
cc @cirospaciari, if you use `mimalloc-debug` it catches things like this
2023-05-26 21:18:31 -07:00
Jarred Sumner
79907fe84c Add more debug safety checks 2023-05-26 21:17:10 -07:00
Ashcon Partovi
1a30b4fe29 Implement expect().toBeEmpty() (#3060)
* 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-26 19:24:20 -07:00
Jarred Sumner
3a0735e164 Pretty formatter for Headers & URLSearchParams (#3081)
* 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 16:28:09 -07:00
Ciro Spaciari
42125b4351 [fetch] change response allocator (#3086)
* change allocator

* cleanup
2023-05-26 15:07:03 -07:00
Jarred Sumner
0f2a79b9c1 Fix crash in test.todo + remove JSC C API usages in bun:test (#3079)
* 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-26 03:32:28 -07:00
Dylan Conway
62f05ec103 avoid using null value 2023-05-25 23:07:18 -07:00
Alex Lam S.L
4c566f56c1 [install] fix .bin linking (#3067)
- causes intermittent `bun install` failures on `bun-types`
2023-05-25 21:58:30 -07:00
Dylan Conway
b395836080 jsx runtime from env (#3076)
* use `NODE_ENV` for jsx mode

* check env after `configureRouter`

* get `NODE_ENV` from `options.production`
2023-05-25 21:39:01 -07:00
Ciro Spaciari
e95f9c6daa [stream] fix flush (#3073)
* fix flush

* remove logs
2023-05-25 16:41:00 -07:00
Jarred Sumner
f02561530f Bump 2023-05-24 19:54:00 -07:00
Jarred Sumner
88d9bac5ec Support with { type: "macro"} in bun build (#3059)
* [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 19:37:57 -07:00
Jarred Sumner
63740a382b Load .env.test, set NODE_ENV=test in bun test, load .env.{test,production,development}.local (#3037)
* Support `.env.test` & `.env.{test,production,development}.local`

* Fix bug preventing inlining of process.env.NODE_ENV by default

* Update env_loader.zig

* add env tests

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Co-authored-by: dave caruso <me@paperdave.net>
2023-05-24 18:52:50 -07:00
Ciro Spaciari
ed1f62ffff [server.fetch] call when using Request object (#3051)
* patch server.fetch

* add tests and fix types
2023-05-24 18:52:13 -07:00
Dylan Conway
4972934189 fix setting jsxImportSource, jsxFactory, and jsxFragmentFactory (#3057)
* default automatic, merge jsx flags from multiple tsconfigs

* use entire package name

* some tests

* more tests
2023-05-24 18:33:28 -07:00
Ciro Spaciari
10c018df8e [bun:FileSystemRouter] add more validations on parameters (#3053)
* 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-24 16:36:20 -07:00
Jarred Sumner
29969bc130 Add comment 2023-05-24 15:45:39 -07:00
Jarred Sumner
1ea74238cd Remove that field 2023-05-24 15:44:22 -07:00
Jarred Sumner
3361814cab Fix string check 2023-05-24 15:44:02 -07:00
Jarred Sumner
cc84c689ea Fixes #3031 (#3041)
* Fixes #3031

* Leave original input in there

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-24 12:02:33 -07:00
Jarred Sumner
b3d5f37598 Implement require.cache (#3045)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-24 12:01:59 -07:00
Ashcon Partovi
c3d402ce47 Implement bun test --timeout (#3040)
You can change the default per-test timeout in `bun test`:
 > bun test --timeout 10

The default timeout is 5000.
2023-05-23 22:33:32 -07:00
Jarred Sumner
57d341f390 too noisy 2023-05-23 16:57:02 -07:00
dave caruso
5b0fea7093 fix bun init and update node vm docs (#3014) 2023-05-23 15:02:39 -07:00
Dylan Conway
21002ed405 check if key from exports can be printed as an identifier (#3032)
* check if key can be printed as an identifier

* possibly escape
2023-05-23 14:56:03 -07:00
Jarred Sumner
f71eb39b14 [bun:test] Don't schedule the GC aggressively on every file
We already run the GC automatically whenever heap size grows, so this is mostly unnecessary

In one benchmark, this is an 83% performance improvement at a cost of 9% more memory
2023-05-23 00:44:56 -07:00
Jarred Sumner
1e3476ee08 [bun:test] Fix async/done-based test.todo (#3015)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-23 00:40:41 -07:00
Jarred Sumner
5b38c55c3d Support setting a timezone with process.env.TZ and Bun.env.TZ (#3018)
* 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-23 00:40:12 -07:00
dave caruso
83e7b9e198 fix extra/ArbitraryModuleNamespaceIdentifiers2 (#3016)
* fix extra/ArbitraryModuleNamespaceIdentifiers2

* remove assert
2023-05-22 20:59:25 -07:00
Ciro Spaciari
e57dcdfcf1 fix marking requestCert (#3012) 2023-05-22 19:44:32 -07:00
Jarred Sumner
5cfa5edd63 [node:http] Fix return type for getHeader() (#3007)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-22 19:44:21 -07:00
dave caruso
fc40c690ea Write out builtins with TypeScript + Minify them (#2999)
* 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-22 18:51:05 -07:00
Ciro Spaciari
23d42dc237 443 should default to https when no protocol is informed (#3008) 2023-05-22 17:58:32 -07:00
Jarred Sumner
e869fc092f [node:buffer] Add missing inspect function
cc @paperdave
2023-05-22 13:53:24 -07:00
Jarred Sumner
2a6a5cf6d9 [node:vm] Accept undefined in createContext 2023-05-22 13:53:24 -07:00
Ciro Spaciari
eebf44c709 fixup (#3001) 2023-05-22 13:07:51 -07:00
Jarred Sumner
82e762fe2f [breaking] ServerWebSocket.publish no longer publishes to self by default
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 12:29:10 -07:00
Jarred Sumner
a5acf7bfa0 [ServerWebSocket] binaryType now defaults to "nodebuffer"
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-22 11:46:39 -07:00
Dylan Conway
3de350b24d only merge if kind is var 2023-05-22 11:33:01 -07:00
Jarred Sumner
1f0dfacc0d Fix memory leak in fetch(url) (#2989)
* Fix memory leak in `fetch(url)`

* Bump those numbers up

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-22 10:09:30 -07:00
Jarred Sumner
7e17a91a1c Update WebKit 2023-05-22 10:08:33 -07:00
Jarred Sumner
24e0c269d2 [internal] Even more logging 2023-05-21 21:30:05 -07:00
Jarred Sumner
9f935c4683 [internal] Use HiveArray instead of bespoke memory allocator in Bun.serve()
No performance or memory usage change

Just removing some duplicate code
2023-05-21 21:29:17 -07:00
Jarred Sumner
3c57911b59 Fix assertion failure 2023-05-21 21:27:33 -07:00
Jarred Sumner
1a2a52b3f3 oopsie 2023-05-21 20:13:40 -07:00
Ciro Spaciari
fd21243efd WS send with callback (#2986)
* WS send with callback

* add opts.compress support

* fmt

* compress is the only option we care

* add ws client options

* only change ws client when using blob

* fmt

* fix errors

* fixup

* fixup

* fmt
2023-05-21 19:36:42 -07:00