{"id":47641,"library":"fetch-readablestream","title":"fetch-readablestream","description":"Compatibility layer for efficient streaming of binary data using WHATWG Streams. Current stable version is 0.2.0, with no recent releases or cadence. It provides a consistent cross-browser API to stream HTTP responses as ReadableStream, falling back to XMLHttpRequest with moz-chunked-arraybuffer in Firefox, and TextEncoder in other browsers. Differentiates from native fetch by enabling streaming in older browsers, unlike stream-http which uses callbacks.","status":"active","version":"0.2.0","language":"javascript","source_language":"en","source_url":"https://github.com/jonnyreeves/fetch-readablestream","tags":["javascript","xhr","fetch","polyfill","readablestream"],"install":[{"cmd":"npm install fetch-readablestream","lang":"bash","label":"npm"},{"cmd":"yarn add fetch-readablestream","lang":"bash","label":"yarn"},{"cmd":"pnpm add fetch-readablestream","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Package is ESM-only; CommonJS require will fail.","wrong":"const fetchStream = require('fetch-readablestream')","symbol":"fetchStream","correct":"import fetchStream from 'fetch-readablestream'"},{"note":"Global usage via dist bundle, no import needed.","wrong":"","symbol":"fetchStream (global)","correct":"<!-- script src='fetch-readablestream.js' -->\nwindow.fetchStream('...')"}],"quickstart":{"code":"import fetchStream from 'fetch-readablestream';\n\nasync function streamResponse(url) {\n  const response = await fetchStream(url);\n  const reader = response.body.getReader();\n  const decoder = new TextDecoder();\n  let result = '';\n  while (true) {\n    const { done, value } = await reader.read();\n    if (done) break;\n    result += decoder.decode(value, { stream: true });\n  }\n  decoder.decode(); // flush\n  return result;\n}\n\nstreamResponse('https://example.com').then(console.log);","lang":"javascript","description":"Demonstrates streaming a response body as text using fetchStream and a ReadableStream reader."},"warnings":[{"fix":"Use native fetch or XMLHttpRequest for POST.","message":"fetchStream only supports GET requests; POST not implemented.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Include abortcontroller-polyfill if targeting older browsers.","message":"AbortController support is limited; need polyfill in many environments.","severity":"deprecated","affected_versions":">=0.1.0"},{"fix":"Guard with if (response.body) before calling getReader().","message":"Response.body may be null if not streaming; always check before reading.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"search_vec":"'0.2.0':19 'api':33 'arraybuff':48 'back':41 'binari':10 'browser':32,55,65 'cadenc':25 'callback':72 'chunk':47 'compat':4 'consist':29 'cross':31 'cross-brows':30 'current':15 'data':11 'differenti':56 'effici':7 'enabl':61 'fall':40 'fetch':2,59,75 'fetch-readablestream':1 'firefox':50 'http':36,69 'javascript':73 'layer':5 'moz':46 'moz-chunked-arraybuff':45 'nativ':58 'older':64 'polyfil':76 'provid':27 'readablestream':3,39,77 'recent':22 'releas':23 'respons':37 'stabl':16 'stream':8,14,35,62,68 'stream-http':67 'textencod':52 'unlik':66 'use':12,71 'version':17 'whatwg':13 'xhr':74 'xmlhttprequest':43","created_at":"2026-06-07T16:52:32.985615+00:00","updated_at":"2026-06-07T16:52:32.985615+00:00","problems":[{"fix":"Use import fetchStream from 'fetch-readablestream'","cause":"CommonJS require used instead of ESM import.","error":"TypeError: fetchStream is not a function"},{"fix":"Close reader after use with reader.releaseLock() or let stream cancel.","cause":"Multiple concurrent reads on same stream without releasing reader.","error":"TypeError: Failed to execute 'getReader' on 'ReadableStream': reader is already active."}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/jonnyreeves/fetch-readablestream#readme","github":"https://github.com/jonnyreeves/fetch-readablestream","docs":null,"changelog":null,"pypi":null,"npm":"fetch-readablestream","openapi_spec":null,"status_page":null,"smithery":null,"categories":["storage"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}