Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ardatan/graphql-import-node
Import 'graphql' files in NodeJS
https://github.com/ardatan/graphql-import-node
graphql graphql-import javascript node nodejs typescript
Last synced: 6 days ago
JSON representation
Import 'graphql' files in NodeJS
- Host: GitHub
- URL: https://github.com/ardatan/graphql-import-node
- Owner: ardatan
- Created: 2018-11-17T18:43:02.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-07-11T23:38:32.000Z (over 1 year ago)
- Last Synced: 2024-12-07T17:51:33.448Z (16 days ago)
- Topics: graphql, graphql-import, javascript, node, nodejs, typescript
- Language: JavaScript
- Homepage:
- Size: 79.1 KB
- Stars: 80
- Watchers: 5
- Forks: 14
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GraphQL Import Node
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.
## Usage with Node (JavaScript)
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:
```js
// CommonJS
require('graphql-import-node/register');
``````js
// ES2016
import 'graphql-import-node';
```Now you should be able to do:
```js
const schema = require('./schema.graphql');
```## Usage with TypeScript
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;
```ts
import 'graphql-import-node';
```Now you should be able to do:
```ts
import * as schema from './schema.graphql';
```## Usage with Jest
If you are running a test environment like Jest, you should add the following configuration to your Jest config:
```json
{
"transform": {
"^.+\\.graphql$": "graphql-import-node/jest"
}
}
```