nuxt3-apollo-module icon indicating copy to clipboard operation
nuxt3-apollo-module copied to clipboard

No way to pass options to InMemoryCache constructor

Open rejifald opened this issue 3 years ago • 0 comments

Problem There is no way to neither pass cache options nor pass custom cache.

Scenario In my particular scenario I need to pass possibleTypes to cache constructor.

Proposed solutions

  1. Allow user to pass path to the config file. For example:
export default defineNuxtConfig({
  apollo: {
        clientConfigs: {
            default: "@/apollo.client.js"
        }
  }
})

Where apollo.client.js file exports a function that returns client options see https://www.apollographql.com/docs/react/api/core/ApolloClient/#the-apolloclient-constructor.

For example:

import {InMemoryCache} from "@apollo/client";
import possibleTypes from "./possibleTypes.json"

export default () => ({cache: new InMemoryCache({ possibleTypes })})
  1. Allow to pass options into cache constructor. For example in your nuxt.config.js
{
       apollo: {
        clientConfigs: {
            default: {
                uri: "http://localhost:3000/api",
                // These options will be passed into InMemoryCache constructor
                cache: {
                   possibleTypes
                }
            },
}

rejifald avatar Sep 04 '22 09:09 rejifald