aboutsummaryrefslogtreecommitdiff
path: root/src/jsc.zig (follow)
AgeCommit message (Collapse)AuthorFilesLines
2023-01-07Implement DNS module (#1691)Gravatar Jarred Sumner 1-0/+1
* Boilerplate for DNS stuff * Add c-ares * lookup * make * Implement dns.lookup * Create c-ares * wip * normalize * repro * Revert "repro" This reverts commit 8b93e0c295b335b8882a9601da47720348549beb. * Implement macOS `getaddrinfo_async_start` * embiggen * Update string_immutable.zig * Update Makefile * alright * Update .gitignore * Add types * more ccache * Update Dockerfile * Update Dockerfile * Update Dockerfile * Update bun.d.ts Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2022-11-23possibly more reliable Bun.spawn (#1547)Gravatar Jarred Sumner 1-1/+0
* wip * wip * Fix bug with stdin * zig fmt * seems to work! * Update streams.test.js Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2022-11-22Introduce `Bun.FileSystemRouter` APIGravatar Jarred Sumner 1-1/+2
2022-11-12Redo how we poll pipes (#1496)Gravatar Jarred Sumner 1-0/+1
* Fix pipe * Handle unregistered * Fix failing test
2022-11-06Automatically install npm packages when running a script in Bun's runtime ↵Gravatar Jarred Sumner 1-0/+1
(#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-25TCP & TLS Socket API (#1374)Gravatar Jarred Sumner 1-1/+4
* TCP Socket API * Wip * Add snippet for StringDecoder * Rename `close` to `stop`, replace `close` with `end` * Add a tcp echo server test * Some docs * Update README.md * Fix build * Update README.md Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2022-10-15Disable some loggingGravatar Jarred Sumner 1-1/+1
2022-10-15add more loggingGravatar Jarred Sumner 1-1/+6
2022-10-15WebSocket Server supportGravatar Jarred Sumner 1-0/+1
2022-09-25wipGravatar Jarred Sumner 1-0/+1
2022-08-25feat: implement native os module (#1115)Gravatar Hyro 1-0/+1
* feat: implement os module * revert(bun-error): package-lock.json * feat: implement EOL * feat: implement EOL * feat: implement arch function * feat: implement homedir function * add comptime to homedir if * feat: add platform function * feat: implement type function * feat: add hostname (not sure iff works on all platforms) * chore: make requested changes * fix: change toValueGC into toValue in arch function * add EOL, devNull constant variables * fix: store only string * feat: add tests * feat: add endianness * ususe toValue for devNull & EOL * feat: implement endianness & fix release * revert javascript.zig fix * feat: implement tmpdir * feat: implement totalmem, freemem, uptime * feat: loadavg * feat: implement version * feat: add userInfo * feat: implement totalmem for macos * feat: add getPriority (not finished, waiting for dc response) * feat: finish userInfo implementation * feat: implement cpus, not done * feat: finish getPriority implementation & stats cpus() * feat: implement setPriority * reemove test.c * feat: implement constants.dlope.xn, constants.priority.x, constants.UV_UDP_REUSEADDR * feat: implement signals, errno * updated cpus function, stilldoesnt work * increase object length * feat: add t more ests * feat: add cpus() * remov some files * fix: handle empty array * started working on interface addresses (in C) ill use C++ after it work * fix interface_addresses * Improved getCpuInfo code, decreased ram usage, increased speed * getCpuTime optimizations * started working on networkInterfaces * feat: networkInterfaces implementation * delete unnecessary files * add benchs & fix code * add tests * add missing benchs * Increased buffer of getCpuInfo to 2048, it should skip few iterations * remove hardcoded constants * feat: implement errno constants * fix getWindowsErrorConstant * feat: add signal constants * feat: implement priority constants * remove duplications * fix: change value to ?i16 * fix(__defineConstant): make some parameters comptime, change value to ?i32 * fix: add E to ERRNO constants, add SIG to SIG constants * feat: add dlopen constants * change functions to private * feat: add UV_UDP_REUSEADDR * fix typo * simplify functions * rename functions in bindings * feat: implement loadavg for darwin * feat: implement system uptime * feat: implement get free memory for darwin * fix system memory bindings * feat: implement network interfaces for darwin * code cleanup * feat: support for macos version & release * some fixes * MacOS support for CpuInfo * Fixed minor mistake in getCpuInfo_B * Delete test.zig * Update c_cpp_properties.json * Update tasks.json * feat: implement scopeid * feat: implement cidr 🚀 * remove unnecesarry changes * remove unnecesarry changes * chore: requested changes Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> * chore: requested changes Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> * chore: requested changes Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> * chore: requested changes Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> * chore: requested changes Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> * chore: requested changes Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> * chore: requested changes Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> * fix: import string * fix: change IPV6 to IPv6 * fix some things * chore: make requested changes * revert: launch.json * fix test * Fixed few memory leaks * testing * again * added len * another test * improved parsing * added small check * Bonk * FINISH 🚀🚀🚀🚀🚀🚀 * Update tasks.json * NetworkInterface test * FINISH 🚀🚀🚀 Co-authored-by: Fire-The-Fox <gajdos.jan77@gmail.com> Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2022-08-17New Zig <> C++ bindings generator. +20% faster HTTP serverGravatar Jarred Sumner 1-0/+2
2022-06-26wip ReadableStream for HTTP(s) ServerGravatar Jarred Sumner 1-0/+2
2022-06-22change the directory structurejarred/renameGravatar Jarred Sumner 1-33/+33
2022-06-12Fix build issueGravatar Jarred Sumner 1-0/+3
2022-06-07Web Streams API (#176)Gravatar Jarred Sumner 1-0/+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-05MoreGravatar Jarred Sumner 1-0/+1
2022-04-29commit moreGravatar Jarred Sumner 1-0/+1
2022-04-18[node] Add more fs constants (#144)Gravatar wangao 1-0/+1
Move fs constants to node_fs_constants.zig, and we static append the constants definition to fs.export.js. Issue: #130
2022-03-25[bun.js] configuration and error handling for HTTP serverGravatar Jarred Sumner 1-0/+3
2022-03-24Implement error page for HTTP serverGravatar Jarred Sumner 1-0/+1
2022-03-20the events, they loopGravatar Jarred Sumner 1-0/+2
2022-03-17Move `Bun` to JSC.APIGravatar Jarred Sumner 1-0/+2
2022-03-17query_string_map -> urlGravatar Jarred Sumner 1-0/+1
2022-03-12[Bun.js] Implement `HTMLRewriter`Gravatar Jarred Sumner 1-0/+6
https://developers.cloudflare.com/workers/runtime-apis/html-rewriter
2022-03-11skeletonGravatar Jarred Sumner 1-0/+4
2022-03-02add is_bindgen stubGravatar Jarred Sumner 1-0/+2
2022-02-27Update jsc.zigGravatar Jarred Sumner 1-0/+3
2022-02-24[Web Platform] Implement TextEncoder & TextDecoderGravatar Jarred Sumner 1-1/+1
2022-01-19`fs.*Sync()`, `bun wiptest`, and More ™ (#106)Gravatar Jarred Sumner 1-0/+7
* 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}
2021-12-30Upgrade to latest Zig, remove dependency on patched version of Zig (#96)Gravatar Jarred Sumner 1-0/+7
* 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