UNPKG

gqlpq

Version:

Utility to parse GraphQL files from your client and generate list of persisted queries.

59 lines 1.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const yargs = require("yargs"); const apollo_utilities_1 = require("apollo-utilities"); const io_1 = require("./io"); const pq_1 = require("./pq"); const log_1 = require("./log"); const defaultInput = "."; const defaultOutput = "gqlpq.json"; const defaultFilter = new RegExp("((\.graphql)|(\.gql))$", "i"); class App { main() { const config = this.parseArgs(); const parser = new pq_1.Parser(); if (config.typename) { parser.addTransformer(apollo_utilities_1.addTypenameToDocument); } let filter = defaultFilter; try { if (config.filter) { filter = new RegExp(config.filter, 'i'); } } catch (err) { log_1.logger.error(`parsing filter regexp: ${err.message}`); } try { io_1.InputReader.loadFiles(config.input, filter, parser); } catch (err) { log_1.logger.error(`parsing graphql files: ${err.message}`); return 1; } try { io_1.OutputWriter.write(config.output, parser.getQueries()); } catch (err) { log_1.logger.error(`writing persisted queries file: ${err.message}`); return 1; } return 0; } parseArgs() { const parg = yargs.options({ input: { type: 'string', default: defaultInput }, output: { type: 'string', default: defaultOutput }, typename: { type: 'boolean', default: true }, filter: { type: 'string', default: null }, }).argv; return { input: parg.input, output: parg.output, typename: parg.typename, filter: parg.filter, }; } } new App().main(); //# sourceMappingURL=index.js.map