OpenAPITools / OpenAPITools/openapi-generator-cli

[Feature request, Documentation] self-contained (npx) script with a selection of generator version as a CLI parameter

Đang mở
#417 1 bình luận 5 reaction 1 người được giao Xem trên GitHub

@kay-schecker đang làm issue này rồi.

Từ ngày 13/7/2021.

bug
Ngôn ngữ chính
TypeScript
Star
2k
Fork
208
Merge trung bình
7 giờ 12 phút
Pull request đã merge (30 ngày)
6

Mô tả

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 the openapitools.json, and (optionally) 5. restore any old openapitools.json if 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.json gets 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 generating openapitools.json for 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 - override generator-cli.version configuration for this run only

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.