30 open-source projects similar to matthew-andrews/isomorphic-fetch, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Superagent is a cross-platform JavaScript HTTP client and Ajax library used for exchanging data between clients and servers. It provides a consistent API for making network requests that works identically across both Node.js and web browser environments. The library features a request pipeline that allows for the addition of custom behaviors to outgoing network calls. This system supports the implementation of specialized functions such as request throttling, caching, and the automatic signing of outgoing data.
This project is a JavaScript fetch polyfill and HTTP client library. It implements the Fetch API in environments that lack native browser support for web requests, providing a promise-based network wrapper for executing asynchronous HTTP calls and managing responses. The library ensures a consistent interface across different JavaScript runtimes by mapping raw network data into standardized request and response objects. It utilizes the XMLHttpRequest object to perform network operations in environments where a native fetch implementation is unavailable. The tool covers HTTP request managemen
unfetch is an isomorphic HTTP client and network library that provides a promise-based interface for performing network requests consistently across both browser and server environments. It serves as a lightweight implementation of the Fetch API for environments that lack native support for making network requests. The library enables the retrieval of web resources as text, JSON, or binary blobs while maintaining a small memory footprint. It functions as a polyfill by installing the fetch interface into the global namespace when native browser support is unavailable. The tool covers broad ca
Axios is an isomorphic, promise-based HTTP client designed for making asynchronous network requests across different JavaScript execution environments, including the browser and Node.js. It functions as a JSON API client that serializes JavaScript objects into JSON and parses server responses into structured data. The project features a system for managing reusable client instances with shared configurations, such as base URLs and default settings. It includes a mechanism for intercepting outgoing requests and incoming responses globally, allowing data to be transformed before it reaches the
node-fetch is a promise-based HTTP client library that provides a lightweight implementation of the Fetch API for the Node.js runtime. It serves as a network interface for performing asynchronous HTTP requests, handling server communication, and managing headers. The library utilizes a promise-based request lifecycle to wrap network calls, ensuring asynchronous behavior. It incorporates stream-based handling for both requests and responses to process large payloads efficiently without overloading system memory. Its capabilities cover a broad range of network communication tasks, including th
node-fetch is a lightweight HTTP client library that implements the browser-standard Fetch API for Node.js. It provides a promise-based interface for making asynchronous network requests to retrieve or send data from server-side environments. The project specializes in memory-efficient data handling by utilizing request and response streaming. This allows for the incremental processing of large network payloads through native system streams to prevent memory exhaustion. The library covers a broad range of networking capabilities, including the use of custom HTTP agents for DNS and SSL config
Axios is a promise-based HTTP client used to make asynchronous network requests in both browser and Node.js environments. It functions as a multi-environment network adapter that abstracts the transport layer to ensure consistent behavior across different runtimes. The project distinguishes itself through a request lifecycle management system that allows for the cancellation of active requests, the setting of timeouts, and the monitoring of upload and download transfer progress. It includes a mechanism for intercepting network traffic, enabling the transformation of outgoing requests and inco
All over again. Includes support for xmlHttpRequest, JSONP, CORS, and CommonJS Promises A.
supabase-js is a comprehensive client library designed to integrate frontend applications with a hosted backend-as-a-service. It provides a unified interface for interacting with a PostgreSQL database, identity management systems, cloud object storage, and real-time data synchronization. The library features an isomorphic client design that operates across both browser and server environments. It distinguishes itself through a type-safe approach, utilizing TypeScript to map database schemas directly to client-side definitions, and employs a PostgREST-based API to translate JavaScript calls in
ofetch is an HTTP client built on the native fetch API that adds automatic JSON serialization, request/response interceptors, configurable retry, and timeout handling. It provides descriptive error objects for non-OK responses and automatically parses response bodies based on their content type. The client supports creating pre-configured instances with preset base URLs, headers, and default options, enabling consistent configuration across a project. It offers full TypeScript type inference for response data and request payloads, and allows extending request options with custom properties wh
Wretch is a chainable HTTP client library and Fetch API wrapper designed to simplify network request configuration, response parsing, and error handling. It functions as a network request manager and middleware framework for managing the end-to-end lifecycle of HTTP calls. The project is distinguished by a fluent interface for request configuration and a modular extension system. It utilizes a programmable response resolver to automate parsing and a plugin-based architecture to add new capabilities to request and response objects. The library covers a broad range of operational capabilities,
🌳 Tiny & elegant JavaScript HTTP client based on the Fetch API
Dio is a cross-platform HTTP client for Dart designed to manage network requests and data communication across mobile and desktop applications. It provides a comprehensive framework for executing standard web operations while handling complex tasks such as request lifecycles, connection security, and global configuration. The library distinguishes itself through an extensible architecture that allows developers to hook into the request and response pipeline. By utilizing interceptors and custom network adapters, users can modify traffic, perform authentication, and swap underlying networking
This is a cross-platform mobile device information library for iOS and Android applications. It provides utilities to retrieve hardware specifications, operating system details, and unique device identifiers. The project specializes in unique device identification by providing hardware, software, and installation IDs, serial numbers, and build fingerprints. It also includes environment detection to distinguish between physical devices, emulators, and tablets. The library covers a broad range of system introspection capabilities, including application metadata retrieval, hardware specificatio
GraphQL Yoga is a GraphQL server framework designed for building APIs that operate across all JavaScript environments. It utilizes the WHATWG Fetch API to provide a standardized request and response interface, enabling the server to run on serverless and edge computing platforms. The framework includes a specialized server for processing file uploads via the standard GraphQL multipart request specification and a subscription server that delivers real-time data streaming through server-sent events. An extensible plugin framework allows for the injection of custom behaviors and logic into the r
Mapshaper is a tool for processing, simplifying, and converting geographic vector data, available as a command-line interface, a web browser tool, and a Node.js library. It functions as a coordinate projector, vector data converter, and web map asset optimizer designed to transform spatial datasets between different coordinate reference systems and file formats. The project is distinguished by its topology-preserving geometry simplification, which reduces vertex counts while maintaining shared boundaries to prevent gaps and overlaps. It further optimizes assets for the web through coordinate
Proton Native is a cross-platform desktop framework that compiles React code into native applications for Windows, macOS, and Linux. It enables developers to build desktop applications using the same component syntax and patterns as React Native, with the ability to reuse existing React Native components with minimal modifications. The framework integrates a flexbox layout engine for positioning native desktop widgets and embeds the Node.js runtime for direct filesystem and system-level access. The framework translates React component trees into native desktop widgets through a bidirectional
sskeychain is an Objective-C library that provides a simplified programming interface for managing secure data persistence on iOS and macOS. It serves as an object-oriented wrapper for the Apple Security framework, enabling the storage and retrieval of passwords and account credentials. The library handles the translation between low-level system APIs and high-level object interfaces to manage sensitive information. It includes mechanisms for defining keychain item accessibility levels to control when stored data is available to an application. The project provides a shared interface for man
Fly is an HTTP client library and cross-platform network wrapper that provides a unified Promise-based interface for managing network requests across diverse JavaScript runtimes and operating systems. It functions as a multi-runtime request manager, abstracting underlying HTTP engines to ensure consistent behavior between browsers and native environments. The library features a middleware system for capturing and modifying outgoing requests and incoming responses through a request interceptor pipeline. It employs adapter-based engine switching to maintain a consistent API across different pla
systray is a Go library used to create and manage icons and menus within the operating system notification area. It functions as a cross-platform GUI library that provides a persistent application entry point and a notification area menu manager. The library enables the creation of hierarchical menus and custom tray icons across different desktop operating systems. It supports the use of nested submenus and allows for the styling of individual menu entries with custom images. The toolset covers a range of interaction capabilities, including the management of menu item states through checked
This project is a collection of official plugin packages and a native integration library designed to provide a consistent interface for accessing hardware and software functionality across different mobile and desktop platforms. It serves as a native platform bridge, enabling cross-platform applications to invoke native code and manage operating system dependencies. The project utilizes a federated plugin architecture, splitting plugins into common interfaces and separate platform implementations to allow for independent development and extension. It further supports native integration throu
Superagent is an isomorphic JavaScript HTTP client for sending network requests and processing responses across both Node.js and web browser environments. It provides a fluent request builder that uses a chainable interface to construct complex network requests with custom headers, query strings, and bodies. The library functions as a runtime-agnostic request adapter, allowing a single codebase to work consistently across different environments. It includes specialized capabilities such as an HTTP/2 client for forcing the HTTP/2 protocol and a Node.js agent for managing Unix socket connection
MVVMHabit is an Android development framework and base library that implements the MVVM architecture using Android Architecture Components. It provides a pre-integrated foundation designed to decouple business logic from user interface rendering and lifecycle management. The project distinguishes itself by bundling a comprehensive set of architectural templates, including a reactive event bus for decoupled component communication, token-based data exchange between logic instances, and a single-activity fragment hosting system to reduce manifest overhead. The framework covers broad capability
Chameleon is a cross-platform application framework and component library used to develop applications for the web and various mini-app platforms from a single shared codebase. It functions as a multi-platform build pipeline that compiles source code into different target formats while providing an MVVM-based user interface system for managing application state. The framework employs a polymorphic protocol to extend custom components and APIs, allowing for platform-specific implementations while maintaining cross-end compatibility. It includes a specialized build tool for static analysis that
This project is a technical breakdown and implementation of a user interface framework's internal architecture, focusing specifically on the mechanics of the virtual DOM, reconciliation, and component lifecycles. It serves as a resource for understanding how a core logic layer manages the transition from high-level component descriptions to physical browser elements. The project distinguishes itself by providing detailed visualizations, including flowcharts and block schemes, to map the reconciliation process and code execution paths. It explores how a platform-agnostic core can be adapted fo
This library provides a unified, cross-platform interface for executing HTTP requests and managing network communication in Dart applications. It functions as a composable client library that automatically resolves platform-specific network implementations, ensuring consistent behavior across mobile, desktop, and web environments. The library distinguishes itself through a modular architecture that supports swappable transport layers and middleware, allowing developers to inject custom logic for logging, caching, or retries. It includes built-in support for resilient communication, such as co
This project is a collection of reference implementations and sample applications for desktop software development using Electron. It provides cross-platform boilerplates and practical code examples that demonstrate how to integrate web technologies with native operating system APIs. The repository serves as a feature showcase for implementing native system integrations, such as local file system access, process management, and custom window framing. It includes demonstrations for specialized capabilities like network request interception via service workers, screen and window capture, and th
NodeGUI is a framework for building native desktop applications using Qt6 widgets, controlled entirely from JavaScript and Node.js. It provides a Qt6 Node.js binding that maps native widget classes to JavaScript objects, enabling developers to create cross-platform desktop apps for Linux and Windows with full access to the Node.js ecosystem and npm modules. The framework distinguishes itself by allowing developers to style native desktop widgets with CSS and Flexbox layout rules, without relying on a web browser. It translates CSS properties and Flexbox layout into Qt stylesheet and layout ma
react-native-permissions is a cross-platform permissions library that provides a unified interface for requesting and checking system permissions across iOS, Android, and Windows. It functions as a permission status manager and device capability auditor to determine if access to sensitive data or hardware is granted, denied, or blocked. The project includes a media access controller to handle limited access to photos and contacts through system-native pickers. It also features a system settings integrator that directs users to device settings pages to manually toggle application and notificat