@graphql-markdown/docusaurus
Version:
Docusaurus plugin for generating Markdown documentation from a GraphQL schema.
49 lines (48 loc) • 2.06 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createMDXFormatter = void 0;
exports.default = pluginGraphQLDocGenerator;
const utils_1 = require("@docusaurus/utils");
const cli_1 = require("@graphql-markdown/cli");
const logger_1 = __importDefault(require("@graphql-markdown/logger"));
const NAME = "docusaurus-graphql-doc-generator";
const LOGGER_MODULE = "@docusaurus/logger";
const MDX_PACKAGE = "@graphql-markdown/docusaurus/mdx";
/**
* Docusaurus plugin wrapper that wires GraphQL-Markdown into the build,
* optionally running the CLI during `docusaurus build` and registering
* the `graphql-to-doc` command on the local CLI.
*
* @param _ - Load context (unused).
* @param options - GraphQL-Markdown CLI options plus Docusaurus plugin options.
* @returns A configured Docusaurus plugin instance.
*/
async function pluginGraphQLDocGenerator(_, options) {
await (0, logger_1.default)(LOGGER_MODULE);
return {
name: NAME,
/**
* Extends Docusaurus CLI with GraphQL Documentation generator command.
* This method adds a custom command to generate GraphQL documentation
* using the configured options.
*
* @param cli - The Docusaurus CLI instance to extend
* @returns void
*/
extendCli(cli) {
cli.addCommand((0, cli_1.getGraphQLMarkdownCli)({
...options,
docOptions: {
generatorFrameworkName: "docusaurus",
generatorFrameworkVersion: utils_1.DOCUSAURUS_VERSION,
...options.docOptions,
},
}, LOGGER_MODULE, options.formatter ?? options.mdxParser ?? MDX_PACKAGE));
},
};
}
var mdx_1 = require("./mdx");
Object.defineProperty(exports, "createMDXFormatter", { enumerable: true, get: function () { return mdx_1.createMDXFormatter; } });