Commit Graph

1117 Commits

Author SHA1 Message Date
Jarred Sumner
f1b1dbf5cd prettier 2023-06-20 00:02:14 -07:00
Keyhan Vakil
bdbb637b3d implement more of V8's stack trace API (#3359)
- 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
2023-06-19 23:28:40 -07:00
Jarred Sumner
fdb7940c4e Fix a bunch of bugs (#3352)
* Fix a bunch of bugs

* undo that one

* Fix crash in readdir()

* woops

* woops

* Add comment

* ✂️

* Make `readlink()` and `realpath` use much less memory

* Update BunString.cpp

* woopsie

* Unnecessary

* Don't commit these

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-18 10:47:42 -07:00
Jarred Sumner
bac7526c03 Make Bun.argv the same as process.argv (#3310)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-14 04:01:28 -07:00
Jarred Sumner
b93bdbb124 Add test 2023-06-13 07:29:02 -07:00
Jarred Sumner
0c11762c31 [node:vm] Fix crash when new ArrayBuffer() is returned 2023-06-05 17:17:48 -07:00
Jarred Sumner
59d7c47e3f Fix crash with path parse in win32 (#3187)
* Update CommonJSModuleRecord.cpp

* smaller

* [node:path] Fix crash, mark TODO

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-03 00:14:27 -07:00
dave caruso
cfd73cec81 fixes with hardcoded modules (#3182)
* fixes with hardcoded modules

* add make hardcoded to make dev

* adjust this message

* remove debugging logs

* this

* restore2
2023-06-02 21:36:05 -07:00
dave caruso
4df1d37ddc Bundle and minify .exports.js files. (#3036)
* move all exports.js into src/js

* finalize the sort of this

* and it works

* add test.ts to gitignore

* okay

* convert some to ts just to show

* finish up

* fixup makefile

* minify syntax in dev

* finish rebase

* dont minify all modules

* merge

* finish rebase merge

* flaky test that hangs
2023-06-01 18:16:47 -07:00
dave caruso
42d8b7183c random fixes that help vite/sveltekit (#3140)
* existsSync with invalid paths should return false

* partially support file urls (does not do percent encoding)

* add utf16 support for Path.isAbsoluteString

* Update src/resolver/resolver.zig

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

* fixups

* revert

* prettier format

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2023-06-01 16:48:37 -07:00
dave caruso
4378ef8e97 mark currently known test fails as .todo (#3052)
* start this

* commit

* mark all failing tests as todo

* fasdfad

* bundler tests

* tests

* adjust failing tests to todo

* comment out some more tests

* png as test
2023-06-01 14:37:35 -07:00
dave caruso
2c1694f63b Fix streams breaking on reverted EventEmitter / Make Discord.js work (#2913)
* Revert "Revert "use a lazyily initialized stream for `node:crypto` `createHash` (#2652)""

This reverts commit 613bb4822e.

* Revert "Revert "implement `node:events` in javascript (#2604)""

This reverts commit a4d0a1961a.

* oops

* fix entrypoints stuff

* fix hash copy

* use native events for node streams and crypto

* requested changes

* oops

* make discord.js work

* fix webkit hash

* headers tojson
2023-06-01 14:31:36 -07:00
Jarred Sumner
a73a4d1e0b Fix test failure due to cloudflare changing dns ttl 2023-05-31 23:19:32 -07:00
Jarred Sumner
457f325773 slightly clean up this test 2023-05-31 23:18:58 -07:00
Ciro Spaciari
58fcb60831 fix(path) fix parse behavior (#3134) 2023-05-31 12:07:52 -07:00
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
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
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
Jarred Sumner
e869fc092f [node:buffer] Add missing inspect function
cc @paperdave
2023-05-22 13:53:24 -07:00
Jarred Sumner
0b6a32269f ensure unused variable is not eliminated 2023-05-19 19:36:27 -07:00
Ashcon Partovi
386ac374d5 Add tests for node:vm 2023-05-19 18:40:01 -07:00
Jarred Sumner
bf0f5c9b3d Make node-fetch polyfill better (#2962)
* Make `node-fetch` polyfill better

* fixup

* Test using localhost

* Add comment

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-19 12:12:54 -07:00
Jarred Sumner
17c258eb34 Update fs.test.ts 2023-05-17 20:51:38 -07:00
Jarred Sumner
4f7198f780 Fixes https://github.com/oven-sh/bun/issues/2931 2023-05-17 20:19:31 -07:00
dave caruso
7f25aa9e08 windows path compatibility (#2869)
* winndows path compatibility

* change * to "star" and fix import

---------

Co-authored-by: cirospaciari <ciro.spaciari@gmail.com>
2023-05-12 17:39:28 -03:00
Dylan Conway
02cad591f8 fix child process tests (#2584)
* always handle exit on next tick

* emit spawn immediately
2023-05-11 14:39:44 -07:00
Ciro Spaciari
bc7d0adcf9 fix(fs) mkdtemp and mkdtempSync errors (#2851)
* fix mkdtemp

* fmt

* fix errno
2023-05-11 14:23:33 -07:00
Ciro Spaciari
9c166a1bdf add support for { all: true } option on dns.lookup (#2846) 2023-05-11 02:30:20 -07:00
Jarred Sumner
e125ed2aa3 Report timings for failing tests too 2023-05-11 01:16:46 -07:00
Jarred Sumner
3ee22065f0 💅 2023-04-27 07:51:30 -07:00
Silver
0060e49923 fix: make node:crypto Hash.copy work correctly (#2761)
This commit will also:
- add a CryptoHasher.copy function
- make CryptoHasher.digest reset the hasher so it can be reused

Resolves #2651
2023-04-27 07:45:32 -07:00
Jarred Sumner
dc55e11714 Keep the node crypt otest 2023-04-21 07:25:51 -07:00
Jarred Sumner
613bb4822e Revert "use a lazyily initialized stream for node:crypto createHash (#2652)"
This reverts commit 3a2fd65f20.
2023-04-21 07:18:32 -07:00
Jarred Sumner
a4d0a1961a Revert "implement node:events in javascript (#2604)"
This reverts commit 96a2ed1040.
2023-04-21 07:16:23 -07:00
dave caruso
96a2ed1040 implement node:events in javascript (#2604)
* initial event emitter reimplementation

* implement most of node:events. tests passing

* work on emitter

* fix importing node:events

* work on event emitter tests

* event work

* event work

* event stuff and experimenting with a lazy createHash

* cleanup crypto stuff i had on this branch

* finish event stuff up

* fix error monitor

* validate listeners are functions

* changes requested
2023-04-18 14:59:51 -07:00
Jarred Sumner
9e1745ee1f Fixes #2676 2023-04-17 20:07:08 -07:00
Jarred Sumner
983d9428a6 Get axios working (#2673)
* Revive node:http tests

* Fix a couple bugs in node:http

* possibly breaking: use `"browser"` exports condition last

* Make URL validation error better

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-04-17 07:13:01 -07:00
dave caruso
3a2fd65f20 use a lazyily initialized stream for node:crypto createHash (#2652)
* lazy hash

* finish up crypto stuff

* remove lockfiles

* ok

* add pipe test

* update this lockfile

* remove unrelated crypto benchmark from this file
2023-04-13 21:55:01 -07:00
Ciro Spaciari
041231d7ca fix node-net-test hang (#2649)
* fix tests

* fix fmt

* fix fmt
2023-04-13 15:14:58 -07:00
Jarred Sumner
aeb3bb949b Upgrade WebKit (#2643)
* 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>
2023-04-13 04:11:12 -07:00
Ciro Spaciari
108c54134c fix types and add more reliable tests (#2621) 2023-04-12 18:41:40 -07:00
Dylan Conway
4b9b648f8a could include /private/ on macos 2023-04-12 15:22:04 -07:00
Ciro Spaciari
6baedd27bc feat(tls.Server) basic support (cert, key, rejectUnauthorized, requestCert, ca) #2412 (#2552)
* cherry picked

* add StringOrBuffer parameter

* Format and adds types

* update uws

* fix tests

* more types

* fix typing

* add timeouts, clean some stuff

* move tests to describe

* fixes SSL hostname when Host is provided

* cleanup on tests

* change 127.0.0.1 to 0.0.0.0

* try another listening parameter

* test timings and update uws

* remove unnecessary comment

* move listening event around

* always await Bun.connect

* do not fail if the tests already passed when using Bun.connect

* regenerate classes

* undo generated classes

* generate classes

* fix merge

---------

Co-authored-by: cirospaciari <cirospaciari@MiWiFi-RA82-srv.cirospaciari>
2023-04-07 04:02:05 -07:00
dave caruso
e4e81bc49e fix: export constants from fs/promises (#2567)
* fix: export `constants` from `fs/promises`

* fix type tests

* third time's the charm fixing the typedef

* run fmt

* remove injected constant from fs, re-exporting from fs/promises
2023-04-06 15:55:23 -07:00
dave caruso
f788519263 bun-types: infer strict Subprocess from Bun.spawn() options, part 2 (#2573) 2023-04-06 13:59:06 -07:00
Jarred Sumner
65d646bc68 Prettier 2023-04-05 18:27:02 -07:00
hiroki osame
fd5bb6b201 fix: modules to have null prototype (#2561) 2023-04-05 00:31:58 -07:00
Jarred Sumner
a369fc8c89 Implement import.meta.main (#2556)
* Implement `import.meta.main`

* Update main-test-1.js

* Update fs.test.ts

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-04-04 16:49:33 -07:00
Jarred Sumner
54d6f95f43 Dylan/fix some failing tests (#2544)
* handle `umask()` invalid arguments

* move `bktree-fast` to test root, fix postinstall

* fix fs test

* could be baseline

* handle different timezones

* accidentally deleted tests

* fix hang in `AbortSignal.timeout`

* bring abort tests back

* Revert "bring abort tests back"

This reverts commit 0ff2ad5bf4.

* bunx node-gyp

* bun x

* fix typecheck

* test

* Update inspect.test.js

---------

Co-authored-by: Dylan Conway <dylan.conway567@gmail.com>
2023-04-04 16:47:57 -07:00
Jarred Sumner
fcd8b82864 Add stubs for missing node builtins (#2534)
* Stub `node:v8`

* Stub `node:trace_events`

* Stub `node:repl`

* Stub `node:inspector`

* Stub `node:http2`

* Stub `node:diagnostics_channel`

* Stub `node:dgram`

* Stub `node:cluster`

* Link stubs

* cleanup

* Clean up the test

* Implement `node:vm` stub

* Cleanup `v8` module stub

* Add missing `promises` export to node:stream

* Implement `node:stream/promise`

* Implement `node:assert/strict`

* cleanup

* better errors

* Increaase timeout

* Update inspector.exports.js

* Make the version consistent

* Implement `process.binding("constants")`

* Update runner.node.mjs

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-04-01 21:13:27 -07:00