Skip to content

Conversation

@pi0
Copy link
Member

@pi0 pi0 commented Nov 3, 2025

This PR makes Nitro filesystem routing (and other scan features like server/middleware, etc) opt-in by default behind a new serverDir: string | false config replacing srcDir and defaulting to false.

Opting-in to filesystem features:

nitro.config.ts:

import { defineNitroConfig } from "nitro/config";

export default defineNitroConfig({
  serverDir: "./server"
});

vite.config.ts:

import { defineConfig } from "vite";
import { nitro } from "nitro/vite";

export default defineConfig({
  plugins: [nitro()],
  nitro: { serverDir: true },
});

Note

Routing system is always available without filesystem. Together with #3718, defining routes via config is more convinient now using simple routes: {} object.

All internal resolutions for relative paths now consistantly happen from rootDir.

Some special files will be scanned from rootDir (priority):

  • index.html template
  • entry-server (vite SSR entry)
  • public/ dir
  • server.[ext]

@vercel
Copy link

vercel bot commented Nov 3, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
nitro.build Ready Ready Preview Comment Nov 3, 2025 2:21pm

@pi0 pi0 changed the title feat: introduce serverDir defaulting to "server" feat: introduce serverDir Nov 3, 2025
@pi0 pi0 changed the title feat: introduce serverDir feat: opt-in filesystem routing using serverDir Nov 3, 2025
@pi0 pi0 changed the title feat: opt-in filesystem routing using serverDir feat: opt-in filesystem routing using serverDir config Nov 3, 2025
@pi0 pi0 marked this pull request as ready for review November 3, 2025 14:18
@pkg-pr-new
Copy link

pkg-pr-new bot commented Nov 3, 2025

Open in StackBlitz

npm i https://pkg.pr.new/nitrojs/nitro@3719

commit: fb6fd7c

@pi0 pi0 merged commit 4494570 into main Nov 3, 2025
7 checks passed
@pi0 pi0 deleted the feat/serverDir branch November 3, 2025 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants