graphdoc-plugin-erase

GraphQL schema HTML documentation generation, erasing unwanted types using graphdoc

Usage no npm install needed!

<script type="module">
  import graphdocPluginErase from 'https://cdn.skypack.dev/graphdoc-plugin-erase';
</script>

README


GraphQL schema HTML documentation generation, erasing unwanted types using graphdoc

graphdoc-plugin-erase graphdoc-plugin-erase  License   Github repo Gitlab repo


Quick Start

1 . Add dependencies:

package.json:

  "devDependencies": {
    "@2fd/graphdoc": "2.4.0",
    "graphdoc-plugin-erase": "1.1.0",

2 . If default options are not suitable, then Configure graphdoc-plugin-erase:

package.json:

{
  "graphdoc-plugin-erase": {
    "eraseByNameRegex": "\\w*No",
    "eraseByDescriptionRegex": "@RemoveFromDocumentation",
    "eraseByKindRegex": "(?:UNION|SCALAR)"
  }
}

3 Use graphdoc-plugin-erase:

package.json:

  "scripts": {
    "doc": "graphdoc -p graphdoc/../../graphdoc-plugin-erase -p graphdoc/plugins/default -s ./schema.graphql -o ./build/documentation"
  }

or if using graphdoc-plugin-flexible instead of graphdoc default plugins

  "scripts": {
    "doc": "graphdoc -p graphdoc/../../graphdoc-plugin-erase -p graphdoc/../../graphdoc-plugin-flexible -s ./schema.graphql -o ./build/documentation"
  }

graphdoc/../../ this is required to get external plugins working in graphdoc.


Goals

graphdoc-plugin-erase provides a way to use graphdoc and remove some types that are not required in the documentation, e.g. __Directive, __EnumValue, __DirectiveLocation, etc.

Options

package.json:

(default values)

{
  "graphdoc-plugin-erase": {
    "eraseByNameRegex": "^__",
    "eraseByDescriptionRegex": "^quot;,
    "eraseByKindRegex": "^quot;
  }
}
  • eraseByNameRegex: Regular Expression to be used to remove types, based on name.
  • eraseByDescriptionRegex: Regular Expression to be used to remove types, based on description.
  • eraseByKindRegex: Regular Expression to be used to remove types, based on kind.

graphdoc-plugin-erase plugin should be add before the plugins we want to have filtered types.

Online Examples


Prerequisites

graphdoc can work with older versions of GraphQL (description syntax: #), and new versions (description syntax: """), How to configure graphdoc.


Documentation

Contributing

License

MIT License


Remember

  • Use code style verification tools => Encourages Best Practices, Efficiency, Readability and Learnability.
  • Code Review everything => Encourages Functional suitability, Performance Efficiency and Teamwork.
  • If viable, Start testing early => Encourages Reliability and Maintainability.

Additional words

Don't forget:

  • Love what you do.
  • Learn everyday.
  • Learn yourself.
  • Share your knowledge.
  • Think different!.
  • Learn from the past, dream on the future, live and enjoy the present to the max!.
  • Enjoy and Value the Quest (It's where you learn and grow).

At life:

  • Let's act, not complain.
  • Be flexible.

At work:

  • Let's give solutions, not questions.
  • Aim to simplicity not intellectualism.