Skip to content

fix: improve error message for missing exports in file routes#3718

Merged
bartlomieju merged 2 commits into
mainfrom
fix/improve-fs-route-error-message
Mar 29, 2026
Merged

fix: improve error message for missing exports in file routes#3718
bartlomieju merged 2 commits into
mainfrom
fix/improve-fs-route-error-message

Conversation

@bartlomieju
Copy link
Copy Markdown
Contributor

Summary

  • Improves the unhelpful error message when a file-system route file has no recognized exports
  • Now shows specific hints based on file type (middleware vs route) with code examples

Before:

Error: Expected a route, middleware, layout or error template, but couldn't find relevant exports in: routes/_middleware.ts

After (middleware):

Error: Could not find relevant exports in: routes/_middleware.ts

Middleware files must have a default export (function or array of functions).

  Example:
    export default define.middleware(async (ctx) => {
      return await ctx.next();
    });

After (route):

Error: Could not find relevant exports in: routes/api/users.ts

Route files must export a default component, a "handler" or "handlers" export, or a "config" export.

  Example:
    export const handler = define.handlers({ GET(ctx) { ... } });
    export default define.page((props) => <h1>Hello</h1>);

Test plan

  • deno test -A packages/fresh/src/fs_routes_test.tsx — 55 passed

Closes #3652

🤖 Generated with Claude Code

bartlomieju and others added 2 commits March 28, 2026 09:44
The old message "Expected a route, middleware, layout or error template,
but couldn't find relevant exports" was unhelpful — users didn't know
what exports were expected. Now shows specific hints based on file type:

- Middleware files: shows export default define.middleware(...) example
- Route files: shows handler/handlers and default component examples

Common mistakes this helps catch:
- Forgetting to export middleware (no export keyword)
- Using export default for handlers instead of export const handler

Closes #3652

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bartlomieju bartlomieju merged commit 059183b into main Mar 29, 2026
9 checks passed
@bartlomieju bartlomieju deleted the fix/improve-fs-route-error-message branch March 29, 2026 18:18
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.

Improve error message when file system route files have no exports

1 participant