JSPM

juou-openapi-generator-cli

2.6.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q16246F
  • License Apache-2.0

A npm package wrapper for OpenAPI Generator (https://github.com/OpenAPITools/openapi-generator), generates which API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (juou-openapi-generator-cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    这是一个克隆包,包含7.0.0.jar

    使用时在项目根目录创建文件 openapitools.json

    {
      "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json",
      "spaces": 2,
      "generator-cli": {
        "version": "7.0.0"
      }
    }
    

    @openapitools/openapi-generator-cli

    Join the Slack chat room

    Build Renovate enabled semantic-release

    OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (both 2.0 and 3.0 are supported). Please see OpenAPITools/openapi-generator.

    The OpenAPI Generator is a Java project. openapi-generator-cli will download the approprate JAR file and invoke the java executable to run the OpenAPI Generator. You must have the java binary executable available on your PATH for this to work.


    Version 2.x.x

    [update] The command has been renamed

    You need to execute openapi-generator-cli instead of openapi-generator from now on.

    [added] semver support! 🎉

    To make that happen, a version management was added to the package. The first time you run the command openapi-generator-cli the last stable version of OpenAPITools/openapi-generator is downloaded by default.

    That version is saved in the file openapitools.json. Therefore you should include this file in your version control, to ensure that the correct version is being used next time you call the command.

    If you would like to use a different version of the OpenAPITools/openapi-generator, you could change it by using one of the following commands:

    • openapi-generator-cli version-manager list
    • openapi-generator-cli version-manager set <versionTags...>

    [added] generator config

    You will now be able to configure the code generation in openapitools.json. This makes it more convenient to generate code for every file that matches the given glob expression. For more information, please check out the configuration documentation below.

    Installation

    npm install @openapitools/openapi-generator-cli

    or using yarn

    yarn add @openapitools/openapi-generator-cli

    After the installation has finished you can run npx openapi-generator-cli or add a script like this:

    {
      "name": "my-cool-package",
      "version": "0.0.0",
      "scripts": {
        "my-awesome-script-name": "openapi-generator-cli generate -i docs/openapi.yaml -g typescript-angular -o generated-sources/openapi --additional-properties=ngVersion=6.1.7,npmName=restClient,supportsES6=true,npmVersion=6.9.0,withInterfaces=true",
      }
    }

    Note the whitespace sensitivity when using multiple additional-properties:

    --additional-properties=ngVersion=6.1.7,npmName=restClient,supportsES6=true,npmVersion=6.9.0,withInterfaces=true

    Globally

    npm install -g @openapitools/openapi-generator-cli

    or using yarn

    yarn global add @openapitools/openapi-generator-cli

    After the installation has finished you can run openapi-generator-cli

    Usage

    Mac/Linux:

    openapi-generator-cli generate -g ruby -i https://raw.githubusercontent.com/OpenAPITools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml -o /var/tmp/ruby-client

    Windows:

    openapi-generator-cli generate -g ruby -i https://raw.githubusercontent.com/OpenAPITools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml -o C:\temp\ruby-client

    Configuration

    If you have installed the package locally and executed the command openapi-generator-cli at least once, you will find a new file called openapitools.json along with the package.json. Please add this file to your VCS.

    Initially the file has the following content:

    {
      "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json",
      "spaces": 2,
      "generator-cli": {
        "version": "4.3.1" // or the current latest version ;)
      }
    }

    This configuration indicates the following:

    • the json file shall be formatted using 2 spaces
    • the jar files shall be downloaded to ./my/custom/storage/dir
    • the generator-cli version 4.3.1 is used

    Further it is also possible to configure generators, for example:

    {
      "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json",
      "spaces": 2,
      "generator-cli": {
        "version": "4.3.1",
        "storageDir": "~/my/custom/storage/dir", // optional
        "generators": { // optional
          "v2.0": { // any name you like (just printed to the console log or reference it using --generator-key) 
            "generatorName": "typescript-angular",
            "output": "#{cwd}/output/v2.0/#{ext}/#{name}",
            "glob": "examples/v2.0/{json,yaml}/*.{json,yaml}",
            "additionalProperties": {
              "ngVersion": "6.1.7",
              "npmName": "restClient",
              "supportsES6": "true",
              "npmVersion": "6.9.0",
              "withInterfaces": true
            }
          },
          "v3.0": { // any name you like (just printed to the console log or reference it using --generator-key) 
            "generatorName": "typescript-fetch",
            "output": "#{cwd}/output/v3.0/#{ext}/#{name}",
            "glob": "examples/v3.0/petstore.{json,yaml}"
          }
        }
      }
    }

    If openapi-generator-cli generate is called without further arguments, then the configuration is automatically used to generate your code. 🎉

    Available placeholders
    placeholder description example
    name just file name auth
    Name just file name, but starting with a capital letter Auth
    cwd the current cwd /Users/some-user/projects/some-project
    base file name and extension auth.yaml
    path full path and filename /Users/some-user/projects/some-project/docs/auth.yaml
    dir path without the filename /Users/some-user/projects/some-project/docs
    relDir directory name of file relative to the glob provided docs
    relPath file name and extension of file relative to the glob provided docs/auth.yaml
    ext just file extension yaml

    Using custom / private maven registry

    If you're using a private maven registry you can configure the downloadUrl and queryUrl like this:

    {
      "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json",
      "spaces": 2,
      "generator-cli": {
        "version": "5.3.0",
        "repository": {
          "queryUrl": "https://private.maven.intern/solrsearch/select?q=g:${group.id}+AND+a:${artifact.id}&core=gav&start=0&rows=200",
          "downloadUrl": "https://private.maven.intern/maven2/${groupId}/${artifactId}/${versionName}/${artifactId}-${versionName}.jar"
        }
      }
    }

    If the version property param is set it is not necessary to configure the queryUrl.

    Run specific generators

    cmd v3.0 runs v2.0 runs
    openapi-generator-cli generate --generator-key v3.0 yes no
    openapi-generator-cli generate --generator-key v3.0 v2.0 yes yes
    openapi-generator-cli generate --generator-key foo no no

    Use Docker instead of running java locally

    {
      "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json",
      "spaces": 2,
      "generator-cli": {
        "useDocker": true
      }
    }

    Custom Generators

    Custom generators can be used by passing the --custom-generator=/my/custom-generator.jar argument.

    Further Documentation

    Please refer to the official openapi-generator docs for more information about the possible arguments and a detailed usage manual of the command line interface.

    Install previous version

    npm install @openapitools/openapi-generator-cli@previous
    npm i @openapitools/openapi-generator-cli@1.0.18-4.3.1                                         

    or using yarn

    yarn add @openapitools/openapi-generator-cli@previous
    yarn add @openapitools/openapi-generator-cli@1.0.18-4.3.1

    You like the package?

    Please leave a star.