Last updated

Configuration bundles in plugins

You can bundle configurations under the configs key in your plugin code. These configuration bundles are useful when you declare multiple rules or decorators in your plugin, and you want to define within the plugin how to combine them. Each plugin can have multiple configuration bundles, and the user can use any of them in their redocly.yaml configuration file.

The following is an example plugin, defining two configuration bundles:

module.exports = function myLocalPlugin() {
  return {
    id: 'my-local-plugin',
    configs: {
      all: {
        rules: {
          'operation-id-not-test': 'error',
          'boolean-parameter-prefixes': 'error',
        },
      },
      minimal: {
        rules: {
          'operation-id-not-test': 'off',
          'boolean-parameter-prefixes': 'error',
        },
      },
    },
  };
};

In the example, the plugin id is my-local-plugin and the all and minimal configuration bundles are available in the user's redocly.yaml configuration file as "my-local-plugin/all" and "my-local-plugin/minimal", respectively. Use these configuration bundles by adding them under extends: in your redocly.yaml configuration file.

extends:
  - my-local-plugin/all

Plugins can include rules, decorators, and preprocessors in their configuration bundles.

Rulesets

If your configuration includes only Redocly built-in rules and decorators, try using a ruleset to achieve this (it's simpler than a plugin).