Commit Graph

8286 Commits

Author SHA1 Message Date
Jarred Sumner
77e6b946f4 Support using bultin functions in macros (#7113)
* `zig fmt`

* Support using macros in builtins

* Make fetch work a little better in macros

* Delete a bunch of code

* Update macro-test.test.ts

* Update macro-test.test.ts

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-11-15 18:25:27 -08:00
Colin McDonnell
31814934f3 CLI flags (#6395)
* WIP

* WIP

* Improve helptext

* WIP

* WIP

* WIP

* WIP

* Clean up, implement warn_on_unrecognized_flag

* Fix struct

* Tweaks

* Fix bunx test

* Address reviews

* Init and create

* Updates

* bunx

* Tweaks

* Lockfile

* tweak

* tweak

* tweak

* tweak

* Remove comments

* Add back origin and port

* Remove logging

* Updates

* fmt

* fix rebasing mistakes

* bruh

* expose node builtins for -e

* add tests and fix it on windows

* a

* lol

* okay

* finish things up

* Update src/deps/zig-clap/clap/streaming.zig

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>

---------

Co-authored-by: dave caruso <me@paperdave.net>
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2023-11-15 18:15:10 -08:00
Jarred Sumner
b43a8b54cf Implement expect.unreachable(msg?: string | Error) (#7131)
* Implement `expect.unreachable`

* UIse expect.unreachable() in some tests

* Use more unreachable

* More unreachable

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-11-15 16:14:13 -08:00
Pierre-Mike
a165306fd9 Update gitignore-for-init removing duplicate .cache pattern (#7133)
'.cache' pattern is defined more than once
2023-11-15 09:19:12 -08:00
Hanaasagi
056d45cf6b fix(install): fix the case that package scope contains tilde. (#7049)
* fix(install): fix the case that package name contains tilde.
Close: #7045

* add tests

* emm, let me know why test failed

* overwrite registry config

* check more chars

* remove $
2023-11-15 01:31:31 -08:00
Dylan Conway
46955e95ef migration without resolved properties (#7123)
* packages without `resolved` properties

* test

* free more

* find registry scope
2023-11-14 23:17:59 -08:00
Jarred Sumner
e6e4ffb4ae Fixes #6789 (#7129)
* `zig fmt`

* Fixes #6879

* Update bun-test.d.ts

* More tests

* Bump WebKit

* [autofix.ci] apply automated fixes

* woops

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-14 21:00:28 -08:00
Jarred Sumner
5946e13e27 Fixes #7035 2023-11-14 20:18:04 -08:00
Anton Golub
8f3e278ab9 Add stubs for zlib.brotli* (#7096) 2023-11-14 08:52:42 -08:00
Ashcon Partovi
547ed6d74d Add workflow that fixes PRs that do not match formatting (#7098) 2023-11-14 08:51:19 -08:00
Jarred Sumner
d4628992d8 Fixes #6929 (#7059)
* Fixes #6929

* TIL macOS symbols are case insensitive

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-11-14 02:14:11 -08:00
Jarred Sumner
24b4b2c16d Remove unnecessary unprotect() call causing assertion failure 2023-11-14 02:06:40 -08:00
Jarred Sumner
35bac672bb Make globalThis.crypto.subtle = 123 do nothing 2023-11-14 01:46:46 -08:00
Jarred Sumner
20d9e25ae2 Fix hang introduced in #6991 (#7104)
This causes keep-alive to be disabled for HTTP status codes that do not support bodies, leading to many HTTP client hangs.

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-11-14 01:14:56 -08:00
Jarred Sumner
89c76f2b45 Fixes #6604 2023-11-14 00:55:19 -08:00
Jarred Sumner
7a4e0158d6 Lots of stuff (#7027)
* Use debug mode by default

* Enable build with assertions enabled

* Update cli.zig

* Update bun-linux-build.yml

* Fixes

* Fix `ASSERT_ENABLED`

* try this

* Update Dockerfile

* mimalloc debug

* Update CMakeLists.txt

* `Bun.deepMatch` - fix assertion failures

cc @dylan-conway, looks like we need to use `putDirectMayBeIndex` and check for `isCell` more carefully.

* Object.create support in code generator and callbacks wrapper

* Remove unused file

* zig upgrade

* zls

* Fix various errors

* Support `BuiltinAccessor` in create_hash_table script

* Fix assertion failure in `process.mainModule`

* Fix assertion failure in `onerror`

* Fix assertion failure when creating a Worker

* Fix asssertion failure when loading lots of files in bun test

* Fix assertion failure when termating a `Worker`

* Add helper for converting BunString to a WTFString

* Fix assertion failure in notifyNeedTermination

* Add more debug logs in `bun test`

* Fix compiler warning in usockets

* Fix assertion failure with `Worker` termination (another)

* Fix assertion failure in `coerceToInt64`

* Fix assertion failure in `BroadcastChannel`

* Fix assertion failure in `Headers.prototype.getAll`

* Fixes #7067

* Add heap analyzer label for CommonJS modules

* Fix assertion failure in module.require && module.require.resolve

* Remove unused code

* Fix assertion failure in debugger

* Fix crash in debugger

* Fix assertion failures in bun:sqlite

* Bump zig

* Bump WebKit

* Fix assertion failure in JSPromise::reject && JSInternalPromise::reject

* Fix assertion failure in ReadableStream::cancel

* Fix assertion failure in AsyncContextFrame::create

* Fix assertion failure in bun:sqlite

* Fix assertion failure in mocks

* Fix assertion failure in ServerWebSocket.close

* Fix assertion failure in N-API with subclasses

* [napi] Make promises cheaper

* undo

* Don't check for exceptions in ObjectInitializationScope

* Add separate entry point for test runner that doesn't generate code

* Don't deref builtin code

* Fix preload test

* Fix assertion failure in memoryUsage()

* Fix preload test, part 2

* Ensure that the env map for a Worker is empty after it is used

* The pointer for the Arena allocator used in parsing should not change

* Terminate thread on exit

* Start to implement scriptExecutionStatus

* Update worker.test.ts

* Fix Dirent.name setter

* Update settings.json

* Fix assertion failure in node:http

* Use correct value for `JSFinalObject::maxInlineCapacity`

* JSFinalObject::maxInlineCapacity x2

* Don't strip when assertions are enabled

* Make `m_wasTerminated` atomic

* Preserve directives in the transpiler

cc @ctjlewis

* Workaround assertion failure in ServerWebSocket.sendBinary and ServerWebSocket.sendText

* windows

* Buffer lockfile serialization in-memory

* PR feedback

* PR feedback

* PR feedback

* Windows

* quotes

* Update CMakeLists.txt

* Update bun-linux-build.yml

* Update bun-linux-build.yml

* Move this code to BunString.cpp

* Update BunString.cpp

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-11-13 22:10:09 -08:00
Ashcon Partovi
45e1bc3a21 Revert "Stop swallowing errors from create_hash_table during the build (#7086)" (#7097)
This reverts commit e1489d4fe3.
2023-11-13 14:42:25 -08:00
Mike Dotty
e1489d4fe3 Stop swallowing errors from create_hash_table during the build (#7086)
If src/codegen/create_hash_table can't be run due to some reason
(e.g. due to missing Math::BigInt Perl module) the build continues
but fails later, during bindings compilation, because the generated
files are empty.

Fix it by handling the failure to run create_hash_table properly.

Closes #7074
2023-11-13 13:46:20 -08:00
Ciro Spaciari
273f612c77 fix(async_hooks) fix disable and disable test (#7090)
* fix disable

* test should fail on exception

* oops
2023-11-13 13:21:27 -08:00
Otger Rogla
a82b2b2d04 support import.meta.env (#7094) 2023-11-13 12:37:20 -08:00
Juan A
1db1941577 Remove bad escaping from .gitignore in bun init (#7056)
Closes #7036
2023-11-13 09:37:42 -08:00
Jarred Sumner
6d666da4b9 Update schema after env file change (#7061)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-11-11 21:08:08 -08:00
Jarred Sumner
feca0c2647 Delete unused files (#7060)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-11-11 21:07:56 -08:00
Jarred Sumner
c49a5a7d7d When getting properties, treat undefined the same as though the property was not defined (#7048)
It works this way in JS.

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-11-11 05:06:24 -08:00
Otger Rogla
450397a277 Fix fetch response skipping body if no content-length (#6932) (#6991)
* Fix fetch response skipping body if no content-length (#6932)

* Fix timeout on status 1xx/204/304 without content-length, tests changes

* Fix test that was wrong

* fix fetch response without content-length not disabling keep-alive

---------

Co-authored-by: Ashcon Partovi <ashcon@partovi.net>
2023-11-11 02:22:05 -08:00
Otger Rogla
eaa9ba99fa add support for --env-file arg to bun run to load custom env files (#7032) 2023-11-11 02:10:47 -08:00
Ashcon Partovi
f0cbc79d8b Implement server.url (#7043)
* Implement `server.url`

* Fix memory leak
2023-11-10 23:00:27 -08:00
Lorenzo Donadio
01e0136d7c fixed small typo in allow_in_out_variance_annotations (#7030) 2023-11-10 15:17:08 -08:00
Meghan Denny
84414f8fe8 fix fs.read being passed to util.promisify (#6999)
* fix fs.read being passed to util.promisify

* Update test/js/node/fs/fs.test.ts

* Update test/js/node/fs/fs.test.ts

* Update src/js/node/fs.js

* Fix write, add more tests, clean up the code

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-11-09 20:00:41 -08:00
Ciro Spaciari
046d197519 fix asyncLocalStorage disabled (#7015) 2023-11-09 17:51:49 -08:00
Dylan Conway
1250655ddb check for empty in JSValue.jsType (#7000)
* check for empty

* better comment

* move empty check to before `jsType()`

* Update src/bun.js/test/jest.zig

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2023-11-09 14:17:22 -08:00
dave caruso
29b1a4f61b fix(ffi): fix ffi with large uint32_t values (#7009)
* fix(ffi): fix ffi with large uint32_t values

* clean up
2023-11-09 12:02:20 -08:00
Ciro Spaciari
2d5698c719 fix(node-fetch) Set-Cookie key on node-fetch.raw() should be set-cookie instead of Set-Cookie to match nodejs behavior (#7011)
* fix set-cookie header name

* add test

* fix test

* fix test to match nodejs behavior

* oops
2023-11-09 11:59:20 -08:00
Meghan Denny
c08e8a76ef don't pass script flags to pre- or post- scripts (#6997) 2023-11-08 17:44:15 -08:00
Dylan Conway
f7f6233ea8 fix semver edge cases and buffer used for prerelease comparisons (#6981)
* use different buf for group and manifest versions

* tests

* tests for installs that should fail

* allow `<=<prerelease-version`

* `Bun.semver.satisfies`

* one

* stringify

* symbol tests

* deinit

* arena

* more tests

* fix test

* version always on the left

* `Bun.semver.order`

* handle more edge cases, more tests

* whitespace

* more
2023-11-08 03:36:17 -08:00
Jarred Sumner
6d5c513195 Fixes #6200 (#6983)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-11-08 03:28:57 -08:00
Jarred Sumner
131b96bbba Fix debug build crash 2023-11-07 23:26:22 -08:00
Jarred Sumner
b7587b76e0 Revert "fix: correctly prepend system path to relative urls on pathToFileURL (#6472)"
This reverts commit 8130d9f3e1.

This fixes https://github.com/oven-sh/bun/issues/6953
2023-11-07 19:04:25 -08:00
Jarred Sumner
9082193568 Add missing raw method to node-fetch polyfill (#6976)
* Add missing `raw` method to node-fetch polyfill

* Update node-fetch.ts

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-11-07 16:58:48 -08:00
Jarred Sumner
b52e503ce4 Fixes #6973 (#6975)
Fixes #6973

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-11-07 16:42:25 -08:00
Jarred Sumner
4fbde727d2 Revert d1244c8b1f
This fixes #6954 and adds a test. `DOMAttribute` ensures the `this` value of getters are always set.
2023-11-07 04:22:44 -08:00
Jarred Sumner
990ca9cb9d the real fix 2023-11-07 13:19:58 +01:00
Jarred Sumner
21e32c042e Speculative fix for #6951 2023-11-07 13:19:58 +01:00
Dylan Conway
d85bd49d87 remove error 2023-11-07 07:55:01 +01:00
Dylan Conway
c0853959c2 cleanup tests 2023-11-07 07:55:01 +01:00
Dylan Conway
fef7920b17 Revert "split('||'), fix up tests"
This reverts commit 5fd09153cd.
2023-11-07 07:55:01 +01:00
Dylan Conway
b5a04827e1 split('||'), fix up tests 2023-11-07 07:55:01 +01:00
Dylan Conway
bb5d6fff77 count might be zero for alias 2023-11-07 07:55:01 +01:00
Dylan Conway
75aa963fef test for invalid version 2023-11-07 07:55:01 +01:00
Dylan Conway
b0126b5962 remove &, mark skip tests as todo 2023-11-07 07:55:01 +01:00