Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add some type of plugin to allow dynamic definition of extensions or config files #1551

Open
marianobntz opened this issue May 9, 2024 · 2 comments

Comments

@marianobntz
Copy link

I have a use case where I run different validations on the files depending on their "state": draft, development, stable or deprecated.

I have 4 different config files for each, but I would like a plugin with a function that would receive the root element and based on the information I decide I can return an extends line or something like that.

I cannot use per-api definitions because I would have to sync the main redocly with the actual state of the files...

Do you have a way to do this?

Thanks! The tool is great and I intend to use it extensively.

@lornajane
Copy link
Collaborator

I didn't understand your remark about why per-api definitions wouldn't work but there are a few different approaches you could try:

  • write a separate config file for each of the different validations you want to use, and then supply it with --config when you run the lint command (it sounds like you are doing it this way already, and I think it's a good approach)
  • use custom plugin configuration to define easily reusable rulesets

Write an external function to work out which ruleset to use, and then use redocly to do the linting. Let us know how you get on?

@marianobntz
Copy link
Author

Hello, sorry for the late response... 😃
What I want to achieve is:

  • Depending of a specific value INSIDE the json file (info.x-state) (draft,development,stable,deprecated) I want to run different validations.
  • In my validation script I read the value from the file and use different config files
  • In the Visual Studio Code plugin there is a single redocly.yaml file with a single definition, so I cannot run any script...
  • Built-in validations do not support adding a where clause, so I cannot change them dynamically (fixing this could be a solution)

What I was suggesting is to allow some plugin extension to define a list of extensions by running some js code. This way I could use a single initial config that would run different extends based on the file.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants