aboutsummaryrefslogtreecommitdiff
path: root/src/bun_js.zig (follow)
AgeCommit message (Collapse)AuthorFilesLines
2022-12-03`process.stdout` and `process.stderr`Gravatar Jarred Sumner 1-1/+1
2022-11-29import everything from "bun" where possibleGravatar Jarred Sumner 1-5/+5
2022-11-19Introduce `BUN_GARBAGE_COLLECTOR_LEVEL` debug environment variableGravatar Jarred Sumner 1-6/+1
2022-11-18Fix crash in process.env.FOO = bar that happened sometimesGravatar Jarred Sumner 1-1/+1
2022-11-06Automatically install npm packages when running a script in Bun's runtime ↵Gravatar Jarred Sumner 1-1/+14
(#1459) * Update bundler.zig * WIP * Update README.md * Update README.md * wip * Support running scripts without package.json * Add `--no-auto-install` and `--prefer-offline` flags * WIP * wip * Update headers-handwritten.h * WIP * Build fixes * Fix UAF * Update install.zig * Must call .allocate() * Micro-optimization: only call .timestamp() once per tick when installing packages * Support progress bar * Extend the timestamp for package staleness checks to 1 day * Add `--prefer-latest`, `-i` CLI Flags * Fix crash * Support line text manually being set on an Error instance * Add a few more fields for error messages * Fix bug when counting 8 character strings in string builder * Implement error handling for automatic package installs! * Fix crash * Make it say module when there's a slash * Update module_loader.zig * Ban dependency versions in import specifiers when a package.json is present * Remove unused field * Update README.md * Update README.md * Update README.md * Update README.md Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2022-10-27Allow overriding node polyfills via `BUN_OVERRIDE_MODULE_PATH`Gravatar Jarred Sumner 1-0/+6
2022-10-06Add simple Hot Module Reloading to bun's runtimeGravatar Jarred Sumner 1-0/+3
2022-10-05Add abstraction for ticking async event loopGravatar Jarred Sumner 1-4/+1
2022-10-02Fix test failuresGravatar Jarred Sumner 1-1/+1
2022-09-28Outer event loop tweaksGravatar Jarred Sumner 1-28/+21
2022-09-221 event loop per thread. Instead of 3.Gravatar Jarred Sumner 1-1/+1
uWebSockets and uSockets will need to be upgraded to match the changes. Previously: - Bun had a separate kqueue/eventfd just for async wakeups. - Bun had a separate kqueue/epoll just for reading files non-blocking in the same thread This commit unifies it into one event loop per thread
2022-09-19Pass through arguments unmodified after `bun run <script>` or `bun <script>`Gravatar Jarred Sumner 1-2/+1
Fixes https://github.com/oven-sh/bun/issues/231
2022-09-16Make new HTTP client more stableGravatar Jarred Sumner 1-4/+11
2022-08-28More reliable macOS event loop (#1166)Gravatar Jarred Sumner 1-6/+14
* More reliable macOS event loop * Reduce CPU usage of idling * Add another implementation * Add benchmark Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2022-08-13fixupsGravatar Jarred Sumner 1-1/+1
2022-08-13Improve event loop reliability on LinuxGravatar Jarred SUmner 1-1/+1
2022-07-10Remove unnecessary `Output.flush`s before `Global.exit` and `Global.crash` ↵Gravatar r00ster91 1-2/+0
(#535) * fix: add missing newline * refactor: std.process.exit -> Global.exit * fix: std.os.abort -> Global.exit I'm not sure about this one. Please verify. * cleanup: remove unnecessary `Output.flush`s
2022-07-02Rename `defaultErrorHandler` to `runErrorHandler`Gravatar Jarred Sumner 1-1/+1
2022-06-22change the directory structurejarred/renameGravatar Jarred Sumner 1-2/+2
2022-06-07Web Streams API (#176)Gravatar Jarred Sumner 1-2/+3
* [bun.js] `WritableStream`, `ReadableStream`, `TransformStream`, `WritableStreamDefaultController`, `ReadableStreamDefaultController` & more * Implement `Blob.stream()` * Update streams.test.js * Fix sourcemaps crash * [TextEncoder] 3x faster in hot loops * reading almost works * start to implement native streams * Implement `Blob.stream()` * Implement `Bun.file(pathOrFd).stream()` * Add an extra function * [fs.readFile] Improve performance * make jsc bindings a little easier to work with * fix segfault * faster async/await + readablestream optimizations * WebKit updates * More WebKit updates * Add releaseWEakrefs binding * `bun:jsc` * More streams * Update streams.test.js * Update Makefile * Update mimalloc * Update WebKit * Create bun-jsc.test.js * Faster ReadableStream * Fix off by one & exceptions * Handle empty files/blobs * Update streams.test.js * Move streams to it's own file * temp * impl #1 * take two * good enough for now * Implement `readableStreamToArray`, `readableStreamToArrayBuffer`, `concatArrayBuffers` * jsxOptimizationInlining * Fix crash * Add `jsxOptimizationInline` to Bun.Transpiler * Update Transpiler types * Update js_ast.zig * Automatically choose production mode when NODE_ENV="production" * Update cli.zig * [jsx] Handle defaultProps when inlining * Update transpiler.test.js * uncomment some tests Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2022-05-05it can call functionsGravatar Jarred Sumner 1-0/+2
2022-05-05cleanup hookGravatar Jarred Sumner 1-0/+2
2022-04-04fix bug with io sometimes sleeping permanetlyGravatar Jarred SUmner 1-1/+0
2022-03-20the events, they loopGravatar Jarred Sumner 1-6/+2
2022-03-15higher max http requests for bun.jsGravatar Jarred Sumner 1-0/+29
2022-03-08rename _global -> bunGravatar Jarred Sumner 1-10/+10
2022-03-08Fix https://github.com/Jarred-Sumner/bun/issues/122Gravatar Jarred Sumner 1-1/+3
2022-03-02mark more things as unreachableGravatar Jarred Sumner 1-0/+1
2022-03-01[bun.js] Implement `setTimeout`, `setInterval`, `clearTimeout`, `clearInterval`Gravatar Jarred Sumner 1-1/+24
2022-02-27WASMGravatar Jarred Sumner 1-1/+1
2022-02-11`std.os.`exit -> `Global.exit` so stderr is always flushedGravatar Jarred Sumner 1-4/+4
2022-01-27[bunfig] Implement config file formatGravatar Jarred Sumner 1-0/+5
2022-01-19`fs.*Sync()`, `bun wiptest`, and More ™ (#106)Gravatar Jarred Sumner 1-5/+11
* very very wip * almost ready to fix the errors * Update identity_context.zig * Update base.zig * [bun test] It runs successfully * Remove unnecessary call * [Bun.js] Improve JS <> Zig unicode string interop This fixes longstanding unicode bugs with `console.log` & `fetch`. I believe @evanwashere reported this first awhile ago * [Bun.js] Implement `Object.is()` binding and a way to set a timeout for script execution * Update PLCrashReport.zig * [Bun.js] Make `console.log` more closely match Node.js and Deno * [Bun.js] Implement formatting specifier for console.* * Implement `console.clear()` * bug fix * Support console.clear() * Buffer stderr * [bun test] Begin implementing Node.js `fs` * Update darwin_c.zig * Implement more of `fs` * `mkdir`, `mkdir` recursive, `mkdtemp` * `open`, `read` (and pread) * Move some things into more files * Implement readdir * `readFile`, `readLink`, and `realpath` * `writeFile`, `symlink`, `chown`, `rename`, `stat`, `unlink`, `truncate` * `lutimes` * Implement `SystemError` and begin wiring up the `fs` module * `"fs"` - Most of the arguments / validation * `fs` - Rest of the arguments / validations * Begin wiring up the `fs` module * Fix all the build errors * support printing typed arrays in console.log * It...works? * Support `require("fs")`, `import fs from 'fs';`, `import * as fs from 'fs'` * Fix a couple bugs * get rid of the crash reporter for now * Update fs.exports.js * [bun.js] slight improvement to startup time * [bun.js] Improve error message printing * [Bun.js] Add `Bun.gc()` to run the garbage collector manually and report heap size * [Bun.js] Add Bun.generateHeapSnapshot to return what JS types are using memory * [Bun.js] Add `Bun.shrink()` to tell JSC to shrink the VM size * Improve encoding reader * [bun.js] Improve callback & microtask performance * Update node_fs.zig * Implement `console.assert` * simple test * [Bun.js] Prepare for multiple globals/realms to support testing * Create callbacks-overhead.mjs * Update http.zig * [Bun.js] Implement `queueMicrotask` * Add test for queueMicrotask * :sleepy: * [Bun.js] Implement `process.versions`, `process.pid`, `process.ppid`, `process.nextTick`, `process.versions`, * Implement `process.env.toJSON()` * [Bun.js] Improve performance of `fs.existsSync` * :nail_care: * [Bun.js] Implement `process.chdir(str)` and `process.cwd()`, support up to 4 args in `process.nextTick` * Make creating Zig::Process lazy * Split processi nto separte file * [Bun.js] Node.js Streams - Part 1/? * [Bun.js] Node.js streams 2/? * WIP streams * fix crash * Reduce allocations in many places * swap * Make `bun` start 2ms faster * Always use an apiLock() * libBacktrace doesn't really work yet * Fix crash in the upgrade checker * Clean up code for importing the runtime when not bundling * :camera: * Update linker.zig * 68! * backtrace * no, really backtrace * Fix * Linux fixes * Fixes on Linux * Update mimalloc * [bun test] Automatically scan for {.test,_test,.spec,_spec}.{jsx,tsx,js,cts,mts,ts,cjs}
2022-01-04noramlize some errorsGravatar Jarred Sumner 1-0/+1
2022-01-03dead codeGravatar Jarred Sumner 1-2/+0
2021-12-30Upgrade to latest Zig, remove dependency on patched version of Zig (#96)Gravatar Jarred Sumner 1-4/+13
* Prepare to upgrade zig * zig fmt * AllocGate * Update data_url.zig * wip * few files * just headers now? * I think everything works? * Update mimalloc * Update hash_map.zig * Perf improvements to compensate for Allocgate * Bump * :camera: * Update bun.lockb * Less branching * [js parser] Slightly reduce memory usage * Update js_parser.zig * WIP remove unused * [JS parser] WIP support for `with` keyword * Remove more dead code * Fix all the build errors! * cleanup * Move `network_thread` up * Bump peechy * Update README.md
2021-12-27Prepare to run unit tests & remove some dead code (#92)Gravatar Jarred Sumner 1-1/+0
* Remove some dead code * :skull: code * Fix the zig tests * [JS Printer] Print integers faster & less scientific notation on decimals * :skull: dead code * skip * Run all the unit tests
2021-12-17👶event loopGravatar Jarred Sumner 1-3/+2
2021-11-01[CLI] Add zsh completions and auto-install completionsGravatar Jarred Sumner 1-2/+4
2021-10-30[Bun.js] Call JSCInitialize() before startingGravatar Jarred Sumner 1-0/+2
2021-10-29[bun run] Support running JavaScript, TypeScript, JSX, and TSX files using ↵Gravatar Jarred Sumner 1-0/+93
Bun.js