aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/streams.exports.js (follow)
AgeCommit message (Collapse)AuthorFilesLines
2023-06-01Bundle and minify `.exports.js` files. (#3036)Gravatar dave caruso 1-5656/+0
* 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-01Fix streams breaking on reverted EventEmitter / Make Discord.js work (#2913)Gravatar dave caruso 1-4/+4
* Revert "Revert "use a lazyily initialized stream for `node:crypto` `createHash` (#2652)"" This reverts commit 613bb4822ee8f4fbfd78aef391e2db8f07659a6f. * Revert "Revert "implement `node:events` in javascript (#2604)"" This reverts commit a4d0a1961abe0c6073e15cc6f7c0601b74f2e3f7. * 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-04-01Add stubs for missing node builtins (#2534)Gravatar Jarred Sumner 1-0/+1
* 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-03-22A couple bug fixes (#2458)Gravatar Dylan Conway 1-1/+1
* fix valid status code range * update path * highwatermark option * throw DOMException * remove extra transpiler output * more transpiler tests * comment * get index not quickly * replace with `getDirectIndex` * update abort test * throw out of range status code * promisify test fix * move stdio test instance files * working crypto tests * allow duplicate set-cookie headers * different formatting * revert, fix will be in different pr * it is called * use min buffer size * fix url tests * null origin for other protocols * remove overload * add very large file test * await * coerce to int64 * 64 * no cast * add todo blob url tests * use `tryConvertToInt52`
2023-02-22feat(undici): add `undici.request` (#2136)Gravatar Derrick Farris 1-0/+4
* wip(undici): get basic requests working * wip(undici): implement most request params, add tests * fix(undici): get tests passing for `undici.request` * test(undici): test headers in `undici.request`
2023-01-31Re-run prettier after changesGravatar Jarred Sumner 1-901/+275
2023-01-08feat(node:readline): add node:readline and node:readline/promises (#1738)Gravatar Derrick Farris 1-1/+1
* feat(readline): WIP: add readline * test(helpers): add deepStrictEqual helper * feat(readline): add readline & readline/promises to loader * fix(node:events): emit newListener on new listener added * feat(readline): finish readline cb interface, add tests * fix(stream): fix Transform.end() * fix(node-test-helpers): correct throws behavior, improve how all asserts work * feat(readline/promises): add readline/promises * feat(assert): add assert.match * test(readline): uncomment more tests * fix(readline): MaxCeil -> MathCeil 🤦 * fix(readline): export promises from node:readline * fix(readline): temp fix for circular dependency * cleanup(readline): remove console.log * fix(readline): change true -> 0 for CommonJS export * perf(readline): micro-optimizations with some getters * perf(readline): lazy load isWritable * cleanup(readline): rename debug flag env var to BUN_JS_DEBUG
2023-01-04Fix default export for streamGravatar Jarred Sumner 1-11/+4
cc @alexlamsl
2023-01-03[streams] speed up `Readable` in some cases (#1708)Gravatar Alex Lam S.L 1-1/+3
If `encoding` is set, no `Buffer`s would be exposed thus `Uint8Array` can be used directly. - fix data corruption in `BufferList.concat()` - fix segfaults in `BufferList.join()`
2022-12-15fix(stream): make Readable.read work w/o _construct implemented (#1613)Gravatar Derrick Farris 1-11/+0
* fix(stream): put Readable._readableState.constructed default in spec (true, not false) * cleanup(readable): remove unnecessary _construct methods * test(stream): add test for Readable w/o _construct method
2022-12-13Don't call debug streams getter when not in debugGravatar Jarred Sumner 1-93/+115
2022-12-12fix(stream): Fix Readable.pipe() (#1606)Gravatar Derrick Farris 1-10/+14
* fix(stream): fix some debug logs that were breaking .pipe * fix(stream): another debug fix * test(stream): add test for .pipe
2022-12-07fix(stream): Fix Transform class constructor fn (#1583)Gravatar Derrick Farris 1-4/+29
* fix(stream): fix ReadableFromWeb class, fix Transform * test(stream): add tests for .call on stream constructors
2022-12-06cleanup/fix(stdio,child_process): bug fixes, refactoring, etc. (#1574)Gravatar Derrick Farris 1-854/+211
* fix(stream): add back call to Error.captureStackTrace, remove stray garbage * cleanup(streams): remove unnecessary checks on Promise.then * fix(child_process): WrappedFileSink -> NativeWritable for ChildProcess stdio * cleanup(child_process): remove debug id * fix(child_process): fix process.nextTick not working in onExit, fail to flush stdio * refactor(streams): revert stream impls to functions from classes * fix(child_process): revert runOnNextTick to process.nextTick
2022-12-05fix for double free and undefined thisGravatar Dylan Conway 1-1/+0
2022-12-02feat(process): add process.{stdin, stdout, stderr} support (#1495)Gravatar Derrick Farris 1-88/+1023
* fix(stream): get Duplex working * feat(process): add stdin,stdout,stderr in a semi-broken state (pipes??) * test(NodeTestHelpers): fix test names * test(NodeTestHelpers): add test for createDoneDotAll done called w error * test(NodeTestHelpers): remove stray console.log * fix(stream): fix bug in Duplex, Readable * test(process.stdio): rename test * fix(process.stdio): change onData listener to onReadable * refactor(streams): add file-wide debug fn, destructure opts * fix(child_process): check isCallable on promise * fix: get stdio streams mostly working (mostly) * fix(child_process): wait until stream is drained before calling end? * fix(child_process): change to result?.then * debug(child_process,streams): add EE id tracking, add shim for stdio after handle is dead * test(child_process): fix double pipe test, temp fix for ChildProcess.kill() return val * fix(child_process): remove immediate emit of exit on kill * debug(streams): add more debug log * debug(streams): add more debug logs part 2 * feat(streams,fs): add NativeWritable, adapt fs.WriteStream and fs.ReadStream to native
2022-11-23possibly more reliable Bun.spawn (#1547)Gravatar Jarred Sumner 1-1/+11
* 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-16Make `node:http`.createServer work betterGravatar Jarred Sumner 1-1/+6
2022-11-15Never resize on closeGravatar Jarred Sumner 1-2/+6
2022-11-14Bugfixes and perf improvements to child_processGravatar Jarred SUmner 1-26/+46
2022-11-13Make node streams faster (#1502)Gravatar Jarred Sumner 1-54/+334
* Make node streams faster * Fix for macOS, improve performance, handle ref and unref Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2022-11-09Add bun-types, add typechecking, add `child_process` types (#1475)Gravatar Colin McDonnell 1-94/+94
* Add bun-types to packages * Improve typing * Fix types in tests * Fix dts tests * Run formatter * Fix all type errors * Add strict mode, fix type errors * Add ffi changes * Move workflows to root * Add workflows * Remove labeler * Add child_process types * Fix synthetic defaults issue * Remove docs * Move scripts * Run prettier * Include examples in typechecking * captureStackTrace types * moved captureStackTrace types to globals * Address reviews Co-authored-by: Colin McDonnell <colinmcd@alum.mit.edu> Co-authored-by: Dylan Conway <dylan.conway567@gmail.com>
2022-11-08handle undefined betterGravatar Jarred Sumner 1-7/+7
2022-11-06feat(child_process): add node:child_process polyfill (#1424)Gravatar Derrick Farris 1-2/+197
* feat(child_process): beginning of child_process, add ChildProcess and spawn base case * fix(child_process): remove invalid single arg array syntax (thanks Copilot) * refactor(child_process): unhack Readable.on, move stuff into node:stream * feat(child_process): add more params for spawn, refactor, add fromWeb() to Readable * feat(child_process): finish rest of exports (minus fork), refactor, add tests * cleanup(streams): remove a bunch of unnecessary stuff * cleanup(child_process): remove dead refs * fix(child_process): fix stdio * fix(child_process): change stdio to bunStdio * test(child_process): uncomment timeout test * test(child_process): fix hanging tests * test(child_process): remove stray console.log * test(child_process): fix cwd test for linux * refactor(child_process): divide paths for encoded vs raw execFile stdio * fix(child_process): fix logic for execFile slow path
2022-10-21Make Node Streams work better in BunGravatar Jarred Sumner 1-140/+214
2022-09-09Fix segfault due to GC and some more helper functions (#1221)Gravatar Zilin Zhu 1-38/+5
* Fix segfault due to GC and some more helper functions * fix upon reviews * add visitChildren
2022-09-08Add native helper functions for Readable and convert ReadableState ↵Gravatar Zilin Zhu 1-52/+7
properties to getter/setter (#1218)
2022-09-06Loosen-up the streams polyfillGravatar Jarred Sumner 1-21/+10
2022-09-06Add native ReadableState (#1210)Gravatar Zilin Zhu 1-63/+5
* use functionSpace for JSStringDecoderConstructor and fix console.log on prototype * Add native ReadableState * move kPaused to class property
2022-08-25Add native BufferList (#1146)Gravatar Zilin Zhu 1-164/+8
* add simple methods * add native BufferList * use RopeBuilder * use Deque
2022-08-22Don't transpile `readable-stream`Gravatar Jarred Sumner 1-0/+5666