snapshot transform allows applying snapshot for development usage.
The snapshot transform writes the responses of your remote data source to your file system and then uses it instead of re-fetching it every time. It's also helpful because you can easily manipulate your data manually and see how your API mesh responds.
To get started with this transform, install it:
yarn add @graphql-mesh/transform-snapshot
pnpm add @graphql-mesh/transform-snapshot
npm install @graphql-mesh/transform-snapshot
How to use?#
Add the following configuration to your Mesh config file:
transforms: - snapshot: if: "process.env.NODE_ENV != 'production'" apply: - Query.* outputDir: __snapshots__
The following snapshot will work if you are in a development environment (see the
To modify your snapshots and change the responses, go to
__snapshots__ and modify the responses under those files.
You can check out our example that uses SOAP Handler with snapshot transform.
Config API Reference#
if- - Expression for when to activate this extension. Value can be a valid JS expression string or a boolean One of:
Array of String, required) - Resolver to be applied For example; apply:
- Query.* <- * will apply this extension to all fields of Query type
String, required) - Path to the directory of the generated snapshot files
Boolean) - Take snapshots by respecting the requested selection set. This might be needed for the handlers like Postgraphile or OData that rely on the incoming GraphQL operation.