UNPKG

@graphql-tools/node-require

Version:

A set of utils for faster development of GraphQL tools

28 lines (27 loc) 1.2 kB
"use strict"; /* eslint-disable @typescript-eslint/triple-slash-reference */ /* eslint-disable spaced-comment */ Object.defineProperty(exports, "__esModule", { value: true }); exports.registerGraphQLExtensions = exports.handleModule = void 0; ///<reference path="declarations.d.ts" /> const graphql_1 = require("graphql"); const graphql_file_loader_1 = require("@graphql-tools/graphql-file-loader"); const load_1 = require("@graphql-tools/load"); const utils_1 = require("@graphql-tools/utils"); const VALID_EXTENSIONS = ['graphql', 'graphqls', 'gql', 'gqls']; function handleModule(m, filename) { const sources = (0, load_1.loadTypedefsSync)(filename, { loaders: [new graphql_file_loader_1.GraphQLFileLoader()], }); const documents = sources.map(source => source.document).filter(utils_1.isSome); const mergedDoc = (0, graphql_1.concatAST)(documents); m.exports = mergedDoc; } exports.handleModule = handleModule; function registerGraphQLExtensions(nodeRequire) { for (const ext of VALID_EXTENSIONS) { nodeRequire.extensions[`.${ext}`] = handleModule; } } exports.registerGraphQLExtensions = registerGraphQLExtensions; registerGraphQLExtensions(require);