This extension makes your NodeJS application able to import graphql
files. It uses require.extensions
to allow you to import/require from .graphql
files in NodeJS environment. The imported content will be a compiled version of the GraphQL string (DocumentNode
).
It needs to be installed graphql
on the project. Then, you can install it using npm or yarn;
yarn add graphql-import-node
After that, you need to load this library before anything else.
Make sure to run your NodeJS process with -r
flag:
node -r graphql-import-node/register index.js
Or, you can require it manually in your index file:
// CommonJS
require('graphql-import-node/register');
// ES2016
import 'graphql-import-node';
Now you should be able to do:
const schema = require('./schema.graphql');
If you are using TypeScript (with ts-node
or ts-node-dev
), make sure to add the same -r graphql-import-node/register
flag:
ts-node -r graphql-import-node/register index.ts
or to have typings for *.graphql
files it'd better to add the import the library like below;
import 'graphql-import-node';
Now you should be able to do:
import * as schema from './schema.graphql';
If you are running a test environment like Jest, you should add the following configuration to your Jest config:
{
"transform": {
"^.+\\.graphql$": "graphql-import-node/jest"
}
}