Skip to content

fix(middleware): apply Fastify logging hooks to parent routes - #50

Open
Erfouni wants to merge 1 commit into
Logixia:mainfrom
Erfouni:fix/fastify-plugin-scope
Open

Erfouni wants to merge 1 commit into
Logixia:mainfrom
Erfouni:fix/fastify-plugin-scope

Conversation

@Erfouni

@Erfouni Erfouni commented Oct 18, 2026

Copy link
Copy Markdown

What and why

I reproduced this with the documented Fastify setup: routes registered on the parent instance never reached the logging hooks. The plugin now shares the registering scope, so those routes and routes in child plugins are logged as expected.

The response hook also respects the skip decision, so skipped requests stay out of both completion logs and slow request warnings. The new integration tests use a real Fastify instance and cover both route scopes, skipping, custom error levels, slow requests, and silent request start logging.

Fastify is only added for development. Its injection helper is pinned within the supported range to keep the tests compatible with Jest on Node 18, 20, and 22.

Closes #32

How I tested it

The new tests reproduce the original failure and pass with the fix. All 945 tests pass on Linux with Node 22 using npm test -- --runInBand, along with npm run typecheck, npm run lint, npm run format:check, and npm run build. The middleware's 11 tests also pass separately on Node 18, 20, and 22. I checked the test file with strict TypeScript settings as well.

Checklist

  • PR title follows Conventional Commits (feat: ..., fix(transport): ..., docs: ...). It becomes the squash commit and drives the release.
  • npm run typecheck && npm run lint && npm test pass locally
  • Tests added or updated for behaviour changes
  • README or examples updated if the public API changed. Not applicable here; this restores the documented registration without changing the public API.

@Erfouni

Erfouni commented Oct 18, 2026

Copy link
Copy Markdown
Author

One CI note: Dependency Review reports that it isn't available for this repository and asks for Dependency graph to be enabled. The tests, quality, build and CodeQL checks are green. Could you check that setting when you have a moment? Thanks for taking a look.

This branch has not been deployed

No deployments
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.

fix(middleware): createFastifyPlugin hooks don't apply to routes outside the plugin

1 participant