Socket
Book a DemoInstallSign in
Socket

@mcansh/remix-fastify

Package Overview
Dependencies
Maintainers
1
Versions
79
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@mcansh/remix-fastify

Fastify server request handler for Remix and React Router

latest
Source
npmnpm
Version
4.1.2
Version published
Weekly downloads
21K
69.74%
Maintainers
1
Weekly downloads
 
Created
Source

Remix Fastify

Use Remix with Fastify

Quick Start

These are the currently available templates that you can get jump started with:

  • Using the Remix Vite plugin (recommended)

    npx create-remix@latest --template mcansh/remix-fastify/examples/vite
    
  • The basic example using the old Remix compiler

    npx create-remix@latest --template mcansh/remix-fastify/examples/basic
    

Get started with an existing boilerplate that integrates React Router 7 & Fastify:

Add to existing remix vite app

Install dependencies

pnpm add @mcansh/remix-fastify fastify source-map-support get-port chalk @fastify/{middie,static}

Install dev dependencies

pnpm add -D @types/source-map-support tsx

in the root of your project create a server directory and add index.ts server/index.ts

import chalk from "chalk";
import { remixFastify } from "@mcansh/remix-fastify";
import { fastify } from "fastify";
import sourceMapSupport from "source-map-support";
import getPort, { portNumbers } from "get-port";

sourceMapSupport.install();

let app = fastify();

await app.register(remixFastify);

let host = process.env.HOST || "127.0.0.1";
let desiredPort = Number(process.env.PORT) || 3000;
let portToUse = await getPort({
  port: portNumbers(desiredPort, desiredPort + 100),
});

let address = await app.listen({ port: portToUse, host });

if (portToUse !== desiredPort) {
  console.warn(
    chalk.yellow(
      `⚠️ Port ${desiredPort} is not available, using ${portToUse} instead.`,
    ),
  );
}

console.log(chalk.green(`✅ app ready: ${address}`));

Update the package.json dev, start and build commands

"build": "remix vite:build && tsc --project ./tsconfig.server.json",
"dev": "cross-env NODE_ENV=development tsx --watch-path ./server/index.ts ./server/index.ts",
"start": "cross-env NODE_ENV=production node ./server/index.js",

Add the tsconfig.server.json file to the root of the project

{
  "$schema": "https://json.schemastore.org/tsconfig",
  "extends": "./tsconfig.json",
  "include": ["./server/**/*.ts"],
  "exclude": ["node_modules"],
  "compilerOptions": {
    "noEmit": false,
    "outDir": "./server"
  }
}

run pnpm dev to test that the server starts

Keywords

remix

FAQs

Package last updated on 04 Sep 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts