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!

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.0.4
    8
    • latest

Version History

Package Sidebar

Install

npm i graphql-tag-loader-register

Weekly Downloads

8

Version

1.0.4

License

MIT

Unpacked Size

3.91 kB

Total Files

8

Last publish

Collaborators

  • jonjaques