Skip to content

mjackson/remix-the-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9e2beeb · Mar 16, 2025
Nov 27, 2024
Dec 21, 2024
Feb 7, 2025
Dec 12, 2024
Dec 3, 2024
Nov 27, 2024
Aug 28, 2024
Dec 6, 2024
Aug 28, 2024
Jan 31, 2025
Mar 16, 2025
Feb 6, 2025
Feb 6, 2025

Repository files navigation

This is a collection of packages for use with Remix, or any web framework you choose.

It is laying the foundation for the next major release of Remix.

Philosophy

Each package in this repository has a single responsibility.

To maximize interoperability between packages, we build on web standards. Where standards are missing or incomplete, we augment them in unobtrusive ways to minimize the chance of incompatibility.

A few examples of web APIs that we use on the server include:

You get the idea. The benefit of writing JavaScript like this is that it's portable between various runtimes. Unless explicitly noted, all packages in this repository work on any JavaScript runtime you might be using: Node.js, Bun, Deno, Cloudflare Workers, etc.

The goal is that these packages should be useful for anyone who is building for the web. If you're using Remix, we've designed it from the start to work with web standards. If you're using some other framework, you should easily be able to integrate these tools into your workflow as well without going full-blown Remix. If you're building your own framework, we hope you'll be able to build on this foundation as well.

Packages

We currently publish the following packages:

  • fetch-proxy: Easily build HTTP proxies using the fetch() API
  • file-storage: Key/value storage for JavaScript File objects
  • form-data-parser: A request.formData() wrapper with streaming file upload handling
  • headers: A toolkit for working with HTTP headers in JavaScript
  • lazy-file: Lazy, streaming Blobs and Files for JavaScript
  • multipart-parser: Fast, streaming parser for multipart messages
  • node-fetch-server: Build HTTP servers for Node.js using the web fetch() API
  • tar-parser: Fast, streaming parser for tar archives

Using with Remix v2

If you're trying to use these libraries with Remix v2, you'll need to enable "Single Fetch" first. This tells Remix to use Node's built-in fetch primitives (Request, Response, Headers, etc.) instead of a broken polyfill we shipped in earlier versions of Remix.

License

See LICENSE