@graphql-markdown/docusaurus
Version:
Docusaurus plugin for generating Markdown documentation from a GraphQL schema.
48 lines (47 loc) • 1.66 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
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";
/**
*
*/
async function pluginGraphQLDocGenerator(_, options) {
await (0, logger_1.default)(LOGGER_MODULE);
return {
name: NAME,
/**
* @experimental
*/
async loadContent() {
if (options.runOnBuild !== true) {
return;
}
await (0, cli_1.runGraphQLMarkdown)(options, {}, LOGGER_MODULE);
},
/**
* 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,
},
}, LOGGER_MODULE, MDX_PACKAGE));
},
};
}