fastify-autoload
fastify-autoload copied to clipboard
autoPrefix overwrites directory path set by dirNameRoutePrefix
Prerequisites
- [X] I have written a descriptive issue title
- [X] I have searched existing issues to ensure the issue has not already been raised
Issue
Hi,
Using the example from README
plugins
│ ├── hooked-plugin
│ │ ├── autohooks.js // req.hookOne = 'yes' # CJS syntax
│ │ ├── routes.js
│ │ └── children
│ │ ├── old-routes.js
│ │ ├── new-routes.js
│ │ └── grandchildren
│ │ ├── autohooks.mjs // req.hookTwo = 'yes' # ESM syntax
│ │ └── routes.mjs
│ └── standard-plugin
│ └── routes.js
Say new-routes.js has a route with fastify.patch('/entity', ...
That is available at http://.../hooked-plugin/children/entity , as by default dirNameRoutePrefix is set. So far so good.
In new-routes.js, I've set
export const autoPrefix = '/batch'
I would have expected the route to be now at http://.../hooked-plugin/children/batch/entity but instead is at
http://.../hooked-plugin/batch/entity
If this is intended behavior, would you please mention in README for autoPrefix that it overwrites, not appends, to folder structure path?
This isn't consistent with When setting both options.prefix and plugin.autoPrefix they will be concatenated., but at least it's documented.
Thanks!
Sorry for the radio silence. It seems no one is available to triage this. I'm going to tag this as "good first issue" to give some visibility.
(I encourage you to experiment and look into the code).
Chiming in because I'm interested in 'fixing' this, but it seems like a considerable breaking change. The document is correct: when set, the prefix option passed to fastify.register() and the autoPrefix set in a plugin will be concatted. OP is asking that you also concat the prefix sourced from the directory name, which is currently overridden whenever autoPrefix is set: https://github.com/fastify/fastify-autoload/blob/master/index.js#L248.
I took a crack at it, but some tests are failing and I don't understand what the expected behavior will always be: https://github.com/fastify/fastify-autoload/pull/214/files.
Any update on this?
Any update on this?
Would you like to send a Pull Request to address this issue? Remember to add unit tests.