OpenAPITools / OpenAPITools/openapi-generator-cli
[Feature request, Documentation] self-contained (npx) script with a selection of generator version as a CLI parameter
@kay-schecker ya está trabajando en esto.
Desde el 13/7/2021.
- Lenguaje dominante
- TypeScript
- Estrellas
- 2k
- Forks
- 208
- Merge medio
- 7 h 12 min
- PR fusionados (30 d)
- 6
Descripción
Current documentation only describes how to install the generator CLI globally (which is very impractical for any collaborative projects, especially when it comes to updating) or as a part of the project (note: you also forgot to add -D in a Locally (recommended) step).
There is also a new openapitools.json file introduced without describing any steps how we can avoid using it, especially if we intend to just accept its defaults anyway. When it comes to selecting the version of generator, documentation only provides a separate openapi-generator-cli version-manager set 4.0.0 command, but there doesn't seem to be an option to generate directly with a specified version without configuring it globally.
- Does this mean we have to 1. backup any old
openapitools.json, 2. set the version, 3. run the generator, 4. delete theopenapitools.json, and (optionally) 5. restore any oldopenapitools.jsonif we want to make this process self-contained? - For example, https://github.com/OpenAPITools/openapi-generator-cli/issues/386 describes a common default lazy setup that most developers will use without worrying about consequences, where we don't define any version, so the latest one is used automatically, and the
openapitools.jsongets created for no reason during the CI process.
Motivation: The main use-case (other than being unwilling to bloat the project) would be having multiple schemas in a larger project where we want to update the version of each script individually instead of controlling them all using the same openapitools.json file. (Sometimes we can't afford to impact someone else's code by our upgrade, as we need to quickly add a schema while keeping the project maintainable by keeping scripts compatible with CI instead of just copying the generated code, making us waste hours as we come up with workarounds.) We may also want to avoid installing this CLI to the project altogether, which is what npx is generally used for; especially if we want to run an encapsulated npm script from an environment that doesn't perform a full npm i. Also it makes it easier to always use latest CLI, only specifying version of the generator. There are many perspectives where "just running the generator" is the most preferable step, which is now difficult to do if we don't always want to use the latest version (including scenario when a private npm repo used by CI hasn't approved and mirrored new update yet).
Context: I had been using npx @openapitools/openapi-generator-cli@cli-4.3.1 generate as part of custom npm scripts. However, in the latest versions I'm unable to use npx @openapitools/openapi-generator-cli@cli-5.2.0 generate anymore.
Suggested solution: Add the following switches to generate command:
--standalone- skip using or generatingopenapitools.jsonfor this run (also fixes #386 if properly documented in context of CI). Use default; but maybe an option to override individual parameters via CLI could also replace the need for a second switch, e.g. as--standalone={"generator-cli":{"version":"5.2.0"}}--use-generator-cli-version- overridegenerator-cli.versionconfiguration for this run only
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Evaluación
Este issue todavía no se ha evaluado.