Skip to content

Releases: ardatan/graphql-mesh

May 14, 2024

14 May 00:28
04cf1b7
Compare
Choose a tag to compare

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

May 08, 2024

08 May 12:22
7dd57b9
Compare
Choose a tag to compare

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

  • Updated dependencies
    [fb59244]:
    • @graphql-mes...
Read more

May 08, 2024

08 May 11:30
4446a4b
Compare
Choose a tag to compare

@graphql-mesh/[email protected]

Patch Changes

[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Minor Changes

  • #6911
    532c935
    Thanks @EmrysMyrddin! - Adds a cache for metrics definition
    (Summary, Histogram and Counter).

    Fixes an issue preventing this plugin to be initialized multiple times, leading to metrics
    duplication error (#6545).

    Behavior Breaking Change:

    Due to Prometheus client API limitations, a metric is only defined once for a given registry. This
    means that if the configuration of the metrics, it will be silently ignored on plugin
    re-initialization.

    This is to avoid potential loss of metrics data produced between the plugin re-initialization and
    the last pull by the prometheus agent.

    If you need to be sure metrics configuration is up to date after a plugin re-initialization, you
    can either:

    • restart the whole node process instead of just recreating a graphql server at runtime
    • clear the registry using registry.clear() before plugin re-initialization:
      function usePrometheusWithReset() {
        registry.clear()
        return usePrometheus({ ... })
      }
    • use a new registry for each plugin instance:
      function usePrometheusWithRegistry() {
        const registry = new Registry()
        return usePrometheus({
          registry,
          ...
        })
      }

    Keep in mind that this implies potential data loss in pull mode.

    New configuration options

    Each metrics can now be fully customized. You can use the new factories createHistogram,
    createCounter and createSummary to provide your own configuration for each metrics.

    Example:

    import { usePrometheus, createHistogram, createCounter, createSummary } from '@graphql-mesh/plugin-prometheus'
    import { Registry } from 'prom-client'
    
    const registry = new Registry()
    
    usePrometheus({
      registry,
      parse: createHistogram({
        registry: registry // make sure to add your custom registry, if you are not using the default one
        histogram: new Histogram({
          name: 'my_custom_name',
          help: 'HELP ME',
          labelNames: ['opText'] as const,
        }),
        fillLabelsFn: params => {
          // if you wish to fill your `labels` with metadata, you can use the params in order to get access to things like DocumentNode, operationName, operationType, `error` (for error metrics) and `info` (for resolvers metrics)
          return {
            opText: print(params.document)
          }
        }
      })
    })

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

April 30, 2024

30 Apr 18:04
2f8b2c9
Compare
Choose a tag to compare

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

Read more

April 30, 2024

30 Apr 13:01
01a3901
Compare
Choose a tag to compare

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

April 29, 2024

29 Apr 23:08
d150268
Compare
Choose a tag to compare

@graphql-mesh/[email protected]

Patch Changes

@omnigraph/[email protected]

Patch Changes

  • #6910
    9f41ea8
    Thanks @ardatan! - When a custom mime type provided in
    operationHeaders, it sets all the fields as generic JSON scalar. Fixes
    #4460

April 29, 2024

29 Apr 12:46
385b69c
Compare
Choose a tag to compare

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

Read more

April 29, 2024

29 Apr 10:49
5710d69
Compare
Choose a tag to compare

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

  • #6903
    6044b7f
    Thanks @ardatan! - Previously GraphQL Yoga also had a health check
    endpoint in /health path while Mesh's health check endpoint is /healthcheck. Now they are both
    aligned. Also now you can customize the health check endpoint within Mesh Configuration using
    serve.healthCheckEndpoint key. Default value is `/healthcheck.

    serve:
      healthCheckEndpoint: /health

    Action Required: If you are using GraphQL Yoga's endpoint /health, instead of
    /healthcheck, you should update your health check endpoint to /health in the configuration
    like above to keep the behavior.

  • Updated dependencies
    [6044b7f]:

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

  • #6903
    6044b7f
    Thanks @ardatan! - Previously GraphQL Yoga also had a health check
    endpoint in /health path while Mesh's health check endpoint is /healthcheck. Now they are both
    aligned. Also now you can customize the health check endpoint within Mesh Configuration using
    serve.healthCheckEndpoint key. Default value is `/healthcheck.

    serve:
      healthCheckEndpoint: /health

    Action Required: If you are using GraphQL Yoga...

Read more

April 26, 2024

26 Apr 17:05
122c7c2
Compare
Choose a tag to compare

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Minor Changes

  • #6862
    31828ad
    Thanks @enisdenjo! - Better CLI, supporting arguments and adding
    help in the shell

  • #6862
    31828ad
    Thanks @enisdenjo! - Rename target option to output in order
    to be more clear that it's the output file.

    import { GraphQLObjectType, GraphQLSchema, GraphQLString } from 'graphql';
    import { defineConfig } from '@graphql-mesh/compose-cli';
    
    export const composeConfig = defineConfig({
    - target: 'fusiongraph.graphql',
    + output: 'fusiongraph.graphql',
      subgraphs: [
        {
          sourceHandler: () => ({
            name: 'helloworld',
            schema$: new GraphQLSchema({
              query: new GraphQLObjectType({
                name: 'Query',
                fields: {
                  hello: {
                    type: GraphQLString,
                    resolve: () => 'world',
                  },
                },
              }),
            }),
          }),
        },
      ],
    });
  • #6779
    6399add
    Thanks @enisdenjo! - use tsx node loader instead of ts-node

  • #6862
    31828ad
    Thanks @enisdenjo! - Rename runComposeCLI to just run and
    change the supported options

  • #6779
    6399add
    Thanks @enisdenjo! - write composed schema to stdout by default
    when no target is specified

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

Read more

April 01, 2024

01 Apr 10:07
c4086dc
Compare
Choose a tag to compare

@graphql-mesh/[email protected]

Patch Changes