Experimental Nitro preset to export a Nitro server as middleware for fastify
@augu/fastify-nitro is my little preset for building Nitro applications that expose a fastify server or middleware export.
Note: Why did you create this?
I made this library to easily integrate fastify with Nitro (or Nuxt 3) so I can have other handlers bound to fastify and I don't really like how server middleware works or is defined, I rather just do it at the application level, not at the meta-framework level.
$ npm i --save-dev @augu/fastify-nitro
$ yarn add -D @augu/fastify-nitro
nitro.config.ts
import { defineNitroConfig } from 'nitropack';
export default defineNitroConfig({
preset: '@augu/fastify-nitro'
});
To use this plugin with Nuxt 3, you just need to use NITRO_PRESET=@augu/fastify-nitro
or add it in your Nuxt configuration:
export default defineNuxtConfig({
nitro: {
preset: '@augu/fastify-nitro'
}
});
This preset respects the baseURL option in the Nitropack configuration. You will need to set the prefix
to be usuable so fastify knows how to use it!
nitro.config.ts
import { defineNitroConfig } from 'nitropack';
export default defineNitroConfig({
preset: '@augu/fastify-nitro',
baseURL: '/some-url'
});
server.js
const nitroPlugin = await import('./.output/server/index.mjs');
app.register(nitroPlugin, {
// It has to be the same as `baseURL` in nitro.config.ts or it will
// error.
prefix: '/some-url'
});
Thanks for considering contributing to @augu/fastify-nitro! Before you boop your heart out on your keyboard ✧ ─=≡Σ((( つ•̀ω•́)つ, we recommend you to do the following:
- Read the Code of Conduct
- Read the Contributing Guide
If you read both if you're a new time contributor, now you can do the following:
- Fork me! **♡( ⁎ᵕᴗᵕ⁎ )
- Clone your fork on your machine:
git clone https://github.com/your-username/fastify-nitro
- Create a new branch:
git checkout -b some-branch-name
- Run
corepack enable
and useyarn
for this project - BOOP THAT KEYBOARD!!!! ♡┉ˏ͛ (❛ 〰 ❛)ˊˎ┉♡
- Commit your changes onto your branch:
git commit -am "add features (。>‿‿<。 )"
- Push it to the fork you created:
git push -u origin some-branch-name
- Submit a Pull Request and then cry! 。・゚゚・(థ Д థ。)・゚゚・。
@augu/nitro-preset is released under the MIT License with love by Noel! 🐻❄️💜