0.65.2 • Published 7 days ago

@dzangolab/fastify-mercurius v0.65.2

Weekly downloads
-
License
MIT
Repository
github
Last release
7 days ago

@dzangolab/fastify-mercurius

A Fastify plugin that provides an easy integration of mercurius graphql server in a fastify API.

The plugin is a thin wrapper around the mercurius plugin.

Requirements

  • @dzangolab/fastify-config
  • @dzangolab/fastify-slonik
  • graphql
  • mercurius
  • mercurius-codegen
  • slonik

Installation

In a simple repo:

npm install @dzangolab/fastify-mercurius graphql mercurius mercurius-codegen

If using in a monorepo with pnpm:

pnpm add --filter "myrepo" @dzangolab/fastify-mercurius graphql mercurius mercurius-codegen

Usage

Add a mercurius block to your config:

import { parse } from "@dzangolab/fastify-config";
import dotenv from "dotenv";

import { resolvers, schema } from "path/to/graphql";

import type { ApiConfig } from "@dzangolab/fastify-config";

dotenv.config();

const config: ApiConfig = {
  ...
  mercurius: {
    enabled: parse(process.env.MERCURIUS_GRAPHQL_ENABLED, true) as boolean,
    graphiql: parse(process.env.MERCURIUS_GRAPHIQL_ENABLED, false) as boolean,
    path: parse(process.env.GRAPHQL_PATH, "/graphql") as string,
    resolvers,
    schema,
  },
  ...
};

export default config;

Register the plugin with your Fastify instance:

import configPlugin from "@dzangolab/fastify-config";
import mercuriusPlugin from "@dzangolab/fastify-mercurius";
import fastify from "fastify";

import config from "./config";

import type { ApiConfig } from "@dzangolab/fastify-config";
import type { FastifyInstance } from "fastify";

// Create fastify instance
const fastify = Fastify({
  logger: config.logger,
});

// Register fastify-config plugin
fastify.register(configPlugin, { config });

// Register fastify-mercurius plugin
fastify.register(mercuriusPlugin);

await fastify.listen({
  port: config.port,
  host: "0.0.0.0",
 });

Configuration

The mercurius block in the ApiConfig supports all of the original mercurius plugin's options.

An additional enabled (boolean) option allows you to disable the graphql server.

Context

The fastify-mercurius plugin will generate a graphql context on every request that will include the following attributes:

AttributeTypeDescription
configApiConfigThe fastify servers' config (as per @dzangolab/fastify-config)
databaseDatabaseThe fastify server's slonik instance (as per @dzangolab/fastify-slonik)
sqlSqlTaggedTemplateThe fastify server's sql tagged template from slonik
0.65.2

7 days ago

0.65.1

10 days ago

0.65.0

15 days ago

0.64.2

1 month ago

0.64.1

1 month ago

0.64.0

2 months ago

0.63.0

2 months ago

0.62.4

2 months ago

0.62.3

2 months ago

0.62.2

2 months ago

0.62.1

3 months ago

0.62.0

3 months ago

0.61.1

3 months ago

0.61.0

3 months ago

0.59.0

4 months ago

0.60.0

4 months ago

0.58.0

4 months ago

0.57.1

4 months ago

0.57.0

4 months ago

0.56.0

5 months ago

0.55.2

5 months ago

0.55.1

5 months ago

0.55.0

5 months ago

0.54.0

5 months ago

0.53.4

5 months ago

0.53.3

5 months ago

0.43.0

8 months ago

0.36.2

10 months ago

0.36.1

10 months ago

0.36.0

10 months ago

0.51.0

6 months ago

0.51.1

6 months ago

0.48.0

8 months ago

0.48.1

8 months ago

0.44.0

8 months ago

0.40.2

9 months ago

0.40.0

9 months ago

0.40.1

9 months ago

0.37.1

9 months ago

0.37.0

9 months ago

0.52.1

6 months ago

0.52.0

6 months ago

0.49.0

7 months ago

0.45.0

8 months ago

0.41.0

9 months ago

0.38.0

9 months ago

0.53.2

6 months ago

0.34.0

10 months ago

0.53.0

6 months ago

0.53.1

6 months ago

0.46.0

8 months ago

0.42.0

9 months ago

0.39.1

9 months ago

0.39.0

9 months ago

0.35.0

10 months ago

0.50.1

6 months ago

0.50.0

7 months ago

0.47.0

8 months ago

0.33.0

11 months ago

0.20.0

1 year ago

0.32.8

11 months ago

0.19.0

1 year ago

0.32.7

11 months ago

0.32.6

11 months ago

0.32.5

12 months ago

0.32.4

12 months ago

0.32.3

12 months ago

0.32.2

12 months ago

0.32.1

1 year ago

0.32.9

11 months ago

0.32.0

1 year ago

0.30.0

1 year ago

0.29.0

1 year ago

0.27.1

1 year ago

0.25.3

1 year ago

0.27.0

1 year ago

0.25.2

1 year ago

0.25.1

1 year ago

0.25.0

1 year ago

0.23.0

1 year ago

0.32.10

11 months ago

0.21.0

1 year ago

0.18.1

1 year ago

0.18.2

1 year ago

0.18.3

1 year ago

0.31.3

1 year ago

0.31.2

1 year ago

0.18.0

1 year ago

0.31.1

1 year ago

0.31.0

1 year ago

0.26.3

1 year ago

0.28.0

1 year ago

0.26.2

1 year ago

0.26.1

1 year ago

0.26.0

1 year ago

0.24.0

1 year ago

0.22.1

1 year ago

0.22.0

1 year ago

0.17.1

1 year ago

0.17.0

1 year ago

0.16.0

1 year ago

0.15.2

1 year ago

0.15.1

1 year ago

0.15.0

1 year ago

0.14.1

1 year ago

0.14.0

1 year ago

0.13.0

1 year ago

0.12.3

1 year ago

0.12.2

1 year ago

0.12.1

1 year ago

0.12.0

1 year ago

0.11.2

1 year ago

0.11.1

1 year ago

0.11.0

1 year ago

0.10.8

1 year ago

0.10.7

1 year ago

0.10.6

1 year ago

0.10.5

1 year ago

0.10.4

1 year ago

0.10.3

1 year ago

0.10.2

1 year ago

0.10.1

1 year ago

0.10.0

1 year ago

0.9.2

1 year ago

0.9.1

1 year ago

0.9.0

1 year ago

0.8.6

1 year ago

0.8.5

1 year ago

0.8.4

1 year ago

0.8.3

1 year ago

0.8.2

1 year ago