UNPKG

@graphql-markdown/cli

Version:

NodeJS CLI for generating Markdown documentation from a GraphQL schema.

44 lines (43 loc) 1.45 kB
#!/usr/bin/env node "use strict"; /** * Entry point for the GraphQL Markdown CLI. * Loads configuration from graphql-config and sets up command-line interface. * @module */ Object.defineProperty(exports, "__esModule", { value: true }); exports.graphQLConfigExtension = exports.EXTENSION_NAME = void 0; const commander_1 = require("commander"); const graphql_config_1 = require("graphql-config"); const _1 = require("."); /** * Name of the GraphQL Markdown extension for graphql-config */ exports.EXTENSION_NAME = "graphql-markdown"; /** * GraphQL config extension declaration for GraphQL Markdown * @returns Extension configuration object */ const graphQLConfigExtension = () => { return { name: exports.EXTENSION_NAME }; }; exports.graphQLConfigExtension = graphQLConfigExtension; void (async () => { const config = await (0, graphql_config_1.loadConfig)({ extensions: [exports.graphQLConfigExtension], throwOnMissing: true, throwOnEmpty: true, }); const program = new commander_1.Command(); const projects = config?.projects ? Object.keys(config.projects) : ["default"]; // build commands for each project declared in graphql-config file for (const project of projects) { const cmd = (0, _1.getGraphQLMarkdownCli)({ id: project, }, undefined, true); program.addCommand(cmd); } await program.parseAsync(process.argv); })();