graphql-tag-loader-register
TypeScript icon, indicating that this package has built-in type declarations

1.0.4 • Public • Published

graphql-tag-loader-register

Require .graphql files with Node & Typescript.

You may want to add "ignore": [".graphql", ".graphqls"] to your .babelrc if you use babel@6. I hear that babel@7 fixes this by using the same dependency this module does ;)

Supports node@>=6

Usage

Install

npm i --save graphql graphql-tag graphql-tag-loader-register [@types/graphql]

Code

const register = require('graphql-tag-loader-register')
register()
 
const schema = require('./schema.graphqls')
console.log(schema) // schema document ast
 
const query = require('./query.graphql')
console.log(query) // query document ast

Also supports ES6 imports and TypeScript with a default export.

import register from 'graphql-tag-register'
register()

If using TypeScript, slightly more work is required. My only use case right now involves ts-node, and to get that to work I did the following:

// entry.js
process.env.TS_NODE_IGNORE = '\.graphqls?$'
require('ts-node/register')
 
// graphql.ts
import register from 'graphql-tag-loader-register'
register()
 
import {DocumentNode} from 'graphql'
const schema = require('schema.graphqls') as DocumentNode
const query = require('schema.graphql') as DocumentNode

If somebody can improve the module by contributing working configs or figuring out how to declare this globally or more succinctly, please do!

Readme

Keywords

none

Package Sidebar

Install

npm i graphql-tag-loader-register

Weekly Downloads

22

Version

1.0.4

License

MIT

Unpacked Size

3.91 kB

Total Files

8

Last publish

Collaborators

  • jonjaques