Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/AugustArchive/fastify-nitro
:polar_bear:⚗️ Experimental Nitro (unjs/nitro) preset to export a Nitro server as middleware for fastify
https://github.com/AugustArchive/fastify-nitro
fastify nitro nitro-preset nodejs unjs
Last synced: 16 days ago
JSON representation
:polar_bear:⚗️ Experimental Nitro (unjs/nitro) preset to export a Nitro server as middleware for fastify
- Host: GitHub
- URL: https://github.com/AugustArchive/fastify-nitro
- Owner: AugustArchive
- License: mit
- Archived: true
- Created: 2023-01-26T20:10:51.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-06-29T13:59:05.000Z (6 months ago)
- Last Synced: 2024-12-06T04:35:16.662Z (17 days ago)
- Topics: fastify, nitro, nitro-preset, nodejs, unjs
- Language: TypeScript
- Homepage: https://npm.im/@augu/fastify-nitro
- Size: 8.9 MB
- Stars: 16
- Watchers: 1
- Forks: 3
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# 🐻❄️⚗️ @augu/fastify-nitro
> _Experimental [Nitro](https://nitro.unjs.io) preset to export a Nitro server as middleware for fastify_
**@augu/fastify-nitro** is my little preset for building [Nitro](https://nitro.unjs.io) applications that expose a [fastify](https://fastify.io) 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.## Usage
```shell
$ npm i --save-dev @augu/fastify-nitro
$ yarn add -D @augu/fastify-nitro
```> **nitro.config.ts**
```ts
import { defineNitroConfig } from 'nitropack';export default defineNitroConfig({
preset: '@augu/fastify-nitro'
});
```## Nuxt Usage
To use this plugin with Nuxt 3, you just need to use `NITRO_PRESET=@augu/fastify-nitro` or add it in your Nuxt configuration:
```ts
export default defineNuxtConfig({
nitro: {
preset: '@augu/fastify-nitro'
}
});
```## Base URL
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**
```ts
import { defineNitroConfig } from 'nitropack';export default defineNitroConfig({
preset: '@augu/fastify-nitro',
baseURL: '/some-url'
});
```> **server.js**
```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'
});
```## Contributing
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](./.github/CODE_OF_CONDUCT.md)
- Read the [Contributing Guide](./.github/CONTRIBUTING.md)If you read both if you're a new time contributor, now you can do the following:
- [Fork me! *\*♡( ⁎ᵕᴗᵕ⁎ )](https://github.com/auguwu/nitro-preset/fork)
- 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 use `yarn` 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! 。・゚゚・(థ Д థ。)・゚゚・。## License
**@augu/nitro-preset** is released under the **MIT License** with love by [Noel](https://floofy.dev)! :polar_bear::purple_heart: