Commit Graph

7920 Commits

Author SHA1 Message Date
nxzq
1496681297 Update workspaces.md (#6673) 2023-10-23 23:16:42 -07:00
Liz
3906d17165 add new repo (#6676) 2023-10-23 23:16:13 -07:00
Yam Borodetsky
f297b95436 docs: fix react.md typos (#6656)
* docs: fix react.md typos

* docs: fix one more typo
2023-10-23 13:48:45 -07:00
Jarred Sumner
fafd9368f5 Backport uWS & usockets changes (#6649)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-10-22 13:44:08 -07:00
Ai Hoshino
1836ecd2ed fix(node:buffer): fix Buffer.write stuck (#6651) 2023-10-22 13:42:05 -07:00
Jarred Sumner
4cdaabd433 Dump as json 2023-10-21 16:27:11 -07:00
Jarred Sumner
4a74a46780 Add require builtins snippet 2023-10-21 16:18:18 -07:00
Dylan Conway
b62c010e95 fix bun link in workspace package (#6631)
* link workspace package

* add test

* more complete test
2023-10-20 22:38:46 -07:00
Pedro Nogueira
074534b292 revert: back the test/README.md file (#6626)
Co-authored-by: pedromdsn <pedromdsn@hotmail.com>
2023-10-20 16:38:06 -07:00
Dylan Conway
b0393fba62 Update InternalModuleRegistryConstants.h bun-v1.0.7 2023-10-20 14:15:05 -07:00
Dmitry Nourell
7166fe10b5 Fixes IV calculation for AES-GCM mode (#6590)
* fix(crypto): fix the error in IV calculation for AES-GCM mode

* chore(crypto): add basic unit tests for Cipher & Decipher
2023-10-20 14:01:58 -07:00
chandi Langecker
2890ad53c4 fix(napi): incorrect refCount with napi_wrap() (#6598)
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.

7e0182df8c/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

378385ba60/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.
2023-10-20 13:02:35 -07:00
Paula Burghelea
01e3474600 Update quickstart.md - removed the part for editing compilerOptions… (#6620)
* Update quickstart.md - removed the part for editing `compilerOptions` in `tsconfig.json`

The line is already added to `compilerOptions` in `tsconfig.json` so there is no need to edit the file.

    "types": [
      "bun-types" // add Bun global
    ]

This was already added when the project initialized it seems.

* Typescript section

---------

Co-authored-by: Colin McDonnell <colinmcd94@gmail.com>
2023-10-20 11:26:19 -07:00
Jarred Sumner
756eee087a Sort list of dependencies and fix test (#6616)
* fix findBestMatch so it finds the best match and not the first match

* update complex-workspaces to include lines-and-columns ^1.1.6

* PR feedback

* PR feedback

* This test doesn't reproduce the original issue

* Support pre release versions the same way

* Add a test that reproduces the original issue

* Sort the list of package versions before serializing to disk

* Remove test that didnt reproduce it

* Fix the count

* Fix 0 and 1 and sorting order

* Fix assertions and ordering

---------

Co-authored-by: Dylan Greene <dgreene@medallia.com>
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-10-20 03:55:40 -07:00
Dylan Conway
4b2cdc4fc1 respect optional peer dependencies and update docs (#6615)
* update docs

* optional peer dependencies

* rename offset variable name, cache invalidation time

* Update install.zig

* install more peer dependencies
2023-10-20 03:27:10 -07:00
Dylan Greene
184528e4eb fix findBestMatch so it finds the best match and not the first match (#6611)
* fix findBestMatch so it finds the best match and not the first match

* update complex-workspaces to include lines-and-columns ^1.1.6

* PR feedback

* PR feedback
2023-10-20 02:18:37 -07:00
Jarred Sumner
8cf7d6157a Fix missing function names in console.log and Bun.inspect (#6612)
* 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>
2023-10-19 22:38:05 -07:00
Vladimir Vlach
68324daf78 String response for lambda function - no need to strinfigy string (#6208) 2023-10-19 22:27:36 -07:00
Liz
66debb1ce4 fix: support custom file type in Bun.file (#6512)
* 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
2023-10-19 22:26:27 -07:00
Ashcon Partovi
d5d9fc4684 Fix websocket upgrade (#6564)
* Remove ancient changelog

* Fix `Host` header excluding port in WebSocket upgrade

* `byteSlice()`

* Revert `byteSlice()`
2023-10-19 22:24:45 -07:00
Liz
f6b694ee2c fix(install): dont replace git urls when already present (#6607)
* fix: dont replace git urls when already present

* fix: set request e_string

* test: add test for git url duplication
2023-10-19 21:28:59 -07:00
Dylan Conway
bb623196a3 fix install add (#6609)
* fix add package

* update test

* initWithCLI once

* skip searching for workspaces if package json was created
2023-10-19 19:17:38 -07:00
nygma
e9948f1291 Add append content to a file guide (#6581)
* Add append content guide

Resolve #6559

* Update guide

---------

Co-authored-by: Colin McDonnell <colinmcd94@gmail.com>
2023-10-19 17:29:31 -07:00
Jarred Sumner
378385ba60 Bump Zig 2023-10-19 00:19:21 -07:00
Ai Hoshino
ef5930e8bc fix(serve): When IPv6 is not enabled, attempt to bind to IPv4 address under the same hostname. (#6533)
* fix(serve): When IPv6 configuration is incorrect, attempt to bind to IPv4 address under the same hostname.
Close: #5315

* fix review

* fix review again

---------

Co-authored-by: Ashcon Partovi <ashcon@partovi.net>
Co-authored-by: Dylan Conway <35280289+dylan-conway@users.noreply.github.com>
2023-10-18 17:40:26 -07:00
Ai Hoshino
0173571b19 fix(node:buffer): fix the behavior of totalLength in Buffer.concat (#6574)
* 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>
2023-10-18 14:30:53 -07:00
Dawid Sowa
35259c0c1d fix: change --no-scripts to --ignore-scripts (#6587) 2023-10-18 14:00:04 -07:00
Mountain/\Ash
e7cba822e4 fix: online docs moved (#6579) 2023-10-18 12:57:46 -07:00
Kevin Latka
0d34e7a141 Fix minimum kernel version in docs (#6153)
* Fix minimum kernel version in docs

* Update install.md

* Update install.md

* Update install.md

---------

Co-authored-by: Colin McDonnell <colinmcd94@gmail.com>
2023-10-18 11:49:09 -07:00
Dylan Conway
aedc8c0ead build-id++ 2023-10-18 11:02:44 -07:00
Liz
9c0cd5c030 fix(web): stub performance.getEntriesByName (#6542) 2023-10-18 10:04:45 -07:00
Dylan Conway
2f10398c74 update root package variable 2023-10-17 23:10:10 -07:00
Ashcon Partovi
49ef5bccec Fix missing {port: 0} causing flaky test 2023-10-17 21:23:13 -07:00
Dylan Conway
dcbcf9803a test changes in usockets in ci 2023-10-17 19:38:13 -07:00
Pierre CM
e731eff382 fix #4766 (#6563) 2023-10-17 16:56:27 -07:00
Dylan Conway
a57d7ecb5b Update ZigGeneratedClasses.cpp 2023-10-17 16:46:31 -07:00
Dylan Conway
d187563d36 use npm alias in dependencies (#6545)
* aliased package in dependencies

* other buf

* make sure version works

* make sure overrides don't override alias

* tests

* update

* comments
2023-10-17 16:34:03 -07:00
Ai Hoshino
e91436e524 fix(node:http): fix server.address() (#6442)
Closes #6413, #5850
2023-10-17 13:18:14 -07:00
Aral Roca Gomez
bbc2e96090 docs: fix ws.publish (#6558)
In this example there is no server variable in the context, and here it makes more sense to use ws.publish. It is explained below that once the serve is done, the server.publish can be used.
2023-10-17 09:23:10 -07:00
Mikhail
f53eb7cd59 perf(bun-types): remove needless some call (#6550) 2023-10-17 08:59:05 -07:00
dave caruso
98d19fa624 fix(runtime): make some things more stable (partial jsc debug build) (#5881)
* 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>
2023-10-16 21:22:43 -07:00
dave caruso
a3958190e8 fix(runtime): improve IPC reliability + organization pass on that code (#6475)
* 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>
2023-10-16 20:01:24 -07:00
Mikhail
6504bfef74 Simplify getting Set of extentions (#4975) 2023-10-16 17:16:10 -07:00
Ashcon Partovi
220cb0eb94 Fix formatting 2023-10-16 17:11:04 -07:00
Igor Shapiro
01e04e3341 fix(test): when tests run with --only the nested describe blocks `.on… (#5616) 2023-10-16 16:33:02 -07:00
Yannik Schröder
0853e19f53 perf(node:events): optimize emit(...) function (#5485) 2023-10-16 16:18:40 -07:00
Liz
a9b8e3ecc8 fix: don't remove content-encoding header from header table (#5743)
Closes #5668
2023-10-16 16:11:44 -07:00
Hugo Galan
bec6161dce fix(sqlite) Insert .all() does not return an array #5872 (#5946)
* fixing #5872

* removing useless comment
2023-10-16 16:08:58 -07:00
Ashcon Partovi
8c580e6764 Fix formatting 2023-10-16 16:02:11 -07:00
Chris Toshok
c5354951ba Fix Response.statusText (#6151) 2023-10-16 15:57:16 -07:00