aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js (follow)
AgeCommit message (Collapse)AuthorFilesLines
2023-06-26Tweak the ramSize setting because /= 1024 is causing CI to fail on arm64 ↵Gravatar Jarred Sumner 1-1/+7
when there's only 8 GB of ram
2023-06-26change the text from "error" to "warn"Gravatar Jarred Sumner 1-5/+7
2023-06-26Fix .rejectsGravatar Jarred Sumner 1-14/+7
2023-06-26`.randomInt()` support (#3357)Gravatar Silas Rech 3-1/+22
* Add initial .randomInt() fallback * Add basic .randomInt() test * Attempt creating a native implementation * Switch to JSC.wrapWithHasContainer * Switch to .jsNumberFromUint64(), it seems like using just .jsNumber() causes the number to overflow in some cases * Regenerate out folder after rebasing
2023-06-26Runtime support for `__esModule` annotations (#3393)Gravatar Jarred Sumner 5-12/+131
* Runtime support for `__esModule` annotations * Ignore `__esModule` annotation when `"type": "module"` is set --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-26Implement writev & readv (#3419)Gravatar Jarred Sumner 4-4/+435
* [node:fs] Implement `writev` and `readv` * writev & readv tests * cast to const type * woops * cast --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-26implement `_nodeModulePaths` and `require.main.paths` (#3411)Gravatar Dylan Conway 3-11/+36
* tests in progress * add `require.main.paths`, add every dir up to root * remove imports
2023-06-25Fix test failures in import.meta (#3403)Gravatar Jarred Sumner 5-93/+150
* Fix test failures in import.meta * regenerate * Use bound functions for `import.meta.require` and `import.meta.require.resolve` and `Module.createRequire` --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-25Fixes #3334 (#3401)Gravatar Jarred Sumner 1-34/+63
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-25Use bun.String in mkdir (#3404)Gravatar Jarred Sumner 1-13/+19
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-25Update WebKitGravatar Jarred Sumner 1-0/+0
2023-06-25chore: update lol-html version (#3356)Gravatar Brúnó Salomon 1-0/+7
* chore: update lol-html version * add tests --------- Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2023-06-25fixupGravatar Jarred Sumner 1-2/+2
2023-06-25Support reading embedded files in compiled executables (#3405)Gravatar Jarred Sumner 5-16/+80
* Support reading embedded files in compiled executables * :nail_care: --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-25[fs.watch] fix reference/deinit (#3396)Gravatar Ciro Spaciari 9-250/+295
* fix js reference * fix close oops * refactor + hasPendingActivity * fmt * fix race conditions * fixup * add test calling close on error event * fix close inside close + test * cleanup
2023-06-25Add `process.mainModule`Gravatar Jarred Sumner 1-0/+12
2023-06-25Revert "make these strings lazy"Gravatar Jarred Sumner 1-37/+26
This reverts commit 777f98bd1068239033718c44bdcfca87e58a91d5.
2023-06-25make these strings lazyGravatar Jarred Sumner 1-26/+37
2023-06-25Reliability bugfix for `WebSocket` (#3394)Gravatar Jarred Sumner 2-20998/+25297
* Rewrite elementLengthLatin1IntoUTF8 * Update SIMDUTF * Make `elementLengthLatin1IntoUTF8` faster --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-24Rewrite Bun's runtime CommonJS loader (#3379)Gravatar Jarred Sumner 21-799/+1391
* wip changes for CommonJS * this rewrite is almost complete * even more code * wip * Remove usages of `import.meta.require` from builtins * Remove usages of require * Regenerate * :scissors: builtin rewrite commonjs in printer * Use lazy custom getters for import.meta * fixups * Remove depd * ugh * still crashing * fixup undici * comment out import.meta.require.resolve temporarily not a real solution but it stops the crashes * Redo import.meta.primordials * Builtins now have a `builtin://` protocol in source origin * Seems to work? * Finsih getting rid of primordials * switcharoo * No more function * just one more bug * Update launch.json * Implement `require.main` * :scissors: * Bump WebKit * Fixup import cycles * Fixup improt cycles * export more things * Implement `createCommonJSModule` builtin * More exports * regenerate * i broke some stuff * some of these tests work now * We lost the encoding * Sort of fix zlib * Sort of fix util * Update events.js * bump * bump * bump * Fix missing export in fs * fix some bugs with builtin esm modules (stream, worker_threads, events). its not perfect yet. * fix some other internal module bugs * oops * fix some extra require default stuff * uncomment this file but it crsahes on my machine * tidy code here * fixup tls exports * make simdutf happier * Add hasPrefix binding * Add test for `require.main` * Fix CommonJS evaluation order race condition * Make node:http load faster * Add missing exports to tls.js * Use the getter * Regenerate builtins * Fix assertion failure in Bun.write() * revamp dotEnv parser (#3347) - fixes `strings.indexOfAny()` - fixes OOB array access fixes #411 fixes #2823 fixes #3042 * fix tests for `expect()` (#3384) - extend test job time-out for `darwin-aarch64` * `expect().resolves` and `expect().rejects` (#3318) * Move expect and snapshots to their own files * expect().resolves and expect().rejects * Fix promise being added to unhandled rejection list * Handle timeouts in expect(<promise>) * wip merge * Fix merge issue --------- Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> * fixup min/memcopy (#3388) * Fix crash in builtins * Don't attempt to evaluate modules with no source code * Update WebCoreJSBuiltins.cpp * Update WebCoreJSBuiltins.cpp * Update WebCoreJSBuiltins.cpp * Fix crash * cleanup * Fix test cc @paperdave * Fixup Undici * Fix issue in node:http * Create util-deprecate.mjs * Fix several bugs * Use the identifier * Support error.code in `util.deprecate` * make the CJs loader slightly more resilient * Update WebCoreJSBuiltins.cpp * Fix macros --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Co-authored-by: dave caruso <me@paperdave.net> Co-authored-by: Alex Lam S.L <alexlamsl@gmail.com> Co-authored-by: Ashcon Partovi <ashcon@partovi.net> Co-authored-by: Ciro Spaciari <ciro.spaciari@gmail.com>
2023-06-23[feat] fs.watch (#3249)Gravatar Ciro Spaciari 20-10/+2084
* initial support * add types * fix comment * fix types * bigfix up * more fixes * fix some encoding support for watch * fix rename event * fixup * fix latin1 * add fs_events, still failing some tests * fixuup * remove unecesary check * readd tests ops * this is necessary? just testing CI/CD weird errors * just use dupe here * cleanup and fix deinit * fix zig upgrade
2023-06-23Add vi.spyOn and clean up some mock function binding calls (#3376)Gravatar dave caruso 2-20/+17
* Add vi.spyOn and clean up some binding calls * add vi.restoreAllMocks * remove junk file --------- Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2023-06-22`expect().resolves` and `expect().rejects` (#3318)Gravatar Ashcon Partovi 12-3836/+3720
* Move expect and snapshots to their own files * expect().resolves and expect().rejects * Fix promise being added to unhandled rejection list * Handle timeouts in expect(<promise>) * wip merge * Fix merge issue --------- Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-22revamp dotEnv parser (#3347)Gravatar Alex Lam S.L 1-4/+4
- fixes `strings.indexOfAny()` - fixes OOB array access fixes #411 fixes #2823 fixes #3042
2023-06-21upgrade zig to `v0.11.0-dev.3737+9eb008717` (#3374)Gravatar Dylan Conway 34-446/+454
* progress * finish `@memset/@memcpy` update * Update build.zig * change `@enumToInt` to `@intFromEnum` and friends * update zig versions * it was 1 * add link to issue * add `compileError` reminder * fix merge * format * upgrade to llvm 16 * Revert "upgrade to llvm 16" This reverts commit cc930ceb1c5b4db9614a7638596948f704544ab8. --------- Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-21finish implementing JSMockFunction prototype + lots of expect test ↵Gravatar dave caruso 7-275/+499
organizing (#3304) * mock tests * fix mistake * stuff * partially implement mock return promises * lot of housecleaning on jest tests * document / rename internalFields in jsmockfunction * finish implementing JSMockFunction prototype * cleanup * more progress * everything is done * remove demo.test.js * finish rebase * requested changes * fix compile error
2023-06-20Update WebKitGravatar Jarred Sumner 1-0/+0
2023-06-20enable asymmetric matchers in `expect.toEqual`, `expect.toStrictEqual`, and ↵Gravatar Dylan Conway 7-147/+261
`expect.toHaveProperty` (#3367) * add asymmetric matchers to `deepEquals` * fix comparison of a few jstypes * clean up and tests * fix merge * improve `expect.any` for primitives
2023-06-20[JSTranspiler] Make `scan` and `scanImports` more careful with GCGravatar Jarred Sumner 1-26/+24
2023-06-20Clone SourceOrigin stringGravatar Jarred Sumner 1-2/+3
2023-06-20Cleanup fs.utimesSync (#3363)Gravatar Jarred Sumner 5-22/+73
* Fix UB in fs.utimesSync when passing a number with an integer greater than i32 * Fix make headers --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-19implement more of V8's stack trace API (#3359)Gravatar Keyhan Vakil 7-39/+80
- 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-19feat(bun/test): Impl. "toBeArray", "toBeArrayOfSize" & "toBeTypeOf" (#3316)Gravatar Tiramify (A.K. Daniel) 4-0/+295
* Implement toBeArray, toBeArrayOfSize, toBeTypeOf * fix typos/variable names * Add testcases for regex and dates * little fix * i didn't paste that...
2023-06-19Move this code up a bitGravatar Jarred Sumner 1-24/+17
2023-06-18Press the secret "use less RAM" buttonGravatar Jarred Sumner 1-0/+72
2023-06-18Add missing ucs2 aliasGravatar Jarred Sumner 1-0/+1
2023-06-18Fix a bunch of bugs (#3352)Gravatar Jarred Sumner 12-127/+424
* Fix a bunch of bugs * undo that one * Fix crash in readdir() * woops * woops * Add comment * :scissors: * 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-17[eventsource] SSE Client (#3074)Gravatar Ciro Spaciari 1-0/+51
* fix flush * remove logs * add HTTP/1.1 eventsource * fix parse spec * multiple data in one event * get lastEventId for reconnection * fix parsing add reconnect * fix reconnection retry * add retry option * move eventsource to builtins * remove duplicate interface on globals.d.ts * move test to TS * fmt * allow no Content-Length or Transfer Encoding * udpate builtins * hardcoded * merge * revert /src/out * updated * Update .gitignore * Make the tests fail * Cleanup EventSource getter * fixup * fixup TS * fmt * update builtins * fix tests * Clear existing timeouts * Add `ref` and `unref` methods * Use `super` to make prototype pollution slightly harder * Reduce test timeout * Regenerate builtins * prettier + ref/unref * Outdated * forgot to commit this --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-15Tweak CommonJS output (#3320)Gravatar Jarred Sumner 3-262/+249
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-14[Bun.serve] fix `Bun.serve` argument check (#3314)Gravatar Ciro Spaciari 2-10/+16
* fixup checks * throw when tls is not a object also fix socket * fix error message * null or undefined on tls option in Bun.serve or sockets should not throw * add tests * fix tests and socket validation * remove unnecessary check * add listen tests
2023-06-14Make `Bun.argv` the same as `process.argv` (#3310)Gravatar Jarred Sumner 2-23/+8
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-14Remove redudant putGravatar Jarred Sumner 1-1/+0
2023-06-14Prepare to support webkit debug build assertionsGravatar Jarred Sumner 9-58/+26
2023-06-13Fix crash in CJS (#3294)bun-v0.6.9Gravatar Jarred Sumner 20-228/+349
* Fix crash in CJS * Add std.heap.ArenaAllocator * Use our arena allocator * Reduce JS parser memory usage and make HMR faster * Write some comments * fix test failure & clean up this code * Update javascript.zig * make arena usage safer --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-12Make mocks use FunctionPrototype (#3291)Gravatar Jarred Sumner 1-19/+90
* Make mocks use FunctionPrototype * Fix static methods * Fix types * Update JSMockFunction.cpp --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-11Support using `WTF::StringImpl` from Zig (#3279)Gravatar Jarred Sumner 27-373/+812
* Fix `make headers` * [JS parser] Fix bug with printing non-ascii import paths in ascii mode * Introduce `bun.String` * Add test for non-ascii imports & entry points * Add comment * Fix build issue * Support HTTP server * Make it print the same --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-10Fixes #3250 (#3269)Gravatar Jarred Sumner 2-12/+47
* Fixes #3250 We must call `EVP_MD_CTX_cleanup` because `EVP_MD_CTX` containers pointers inside to allocated memory * Fix leak * Update sha.zig --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-09`toMatchObject` and some asymmetric matchers (#3260)Gravatar Dylan Conway 18-117/+1428
* `toMatchObject` progress * add `expect.stringContaining()` * add `expect.stringMatching()` * print asymmetric matchers * cleanup * return before printing if constructor value isn't there * move matcher logic to cpp * pretty format and tests * fix formatting for snapshots * format `stringContaining` and `stringMatching` like jest * better test * remove commented tests * remove old property matcher code * add types * make sure all props are matched in arrays * add `Bun.deepMatch`
2023-06-09Implement mocks in bun:test (#3252)Gravatar Jarred Sumner 10-7/+1374
* wip * wip * most of the code for mocks in bun:test * finishing up * Implement `toHaveBeenCalled` and `toHaveBeenCalledTimes(1)` * Test * visit * results, not returnValues * exact * Update jest.zig * A couple more tests * Add jest.fn * support resetting mocks * Implement spyOn --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-09Fix missing JSC.markBindingGravatar Ashcon Partovi 1-0/+1