Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sius/swagger-nodegen-cli
A convenience node package to make the swagger-codegen-cli.jar availabe in the node/npm environment
https://github.com/sius/swagger-nodegen-cli
Last synced: about 2 months ago
JSON representation
A convenience node package to make the swagger-codegen-cli.jar availabe in the node/npm environment
- Host: GitHub
- URL: https://github.com/sius/swagger-nodegen-cli
- Owner: sius
- License: apache-2.0
- Created: 2017-10-07T07:37:40.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-16T13:14:14.000Z (almost 2 years ago)
- Last Synced: 2024-11-06T18:16:22.840Z (about 2 months ago)
- Language: JavaScript
- Homepage:
- Size: 104 MB
- Stars: 12
- Watchers: 1
- Forks: 6
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# swagger-nodegen-cli
A convenience package for the **node/npm** environment that wraps the Java library
**swagger-codegen-cli**## Prerequisites
The following dependencies would need to be installed on your machine before running the Swagger Codegen.
- Java, version 7 or higher
- The Java execution path must be on your environment variable `PATH`## Important Note
The current version of **swagger-codegen-cli-3.x.x** supports **fewer languages** than the older versions (**2.x.x**):```console
Available languages: [dart, aspnetcore, csharp, csharp-dotnet2,
go, go-server, dynamic-html, html, html2, java,
jaxrs-cxf-client, jaxrs-cxf, inflector, jaxrs-cxf-cdi, jaxrs-spec, jaxrs-jersey, jaxrs-di, jaxrs-resteasy-eap, jaxrs-resteasy, micronaut, spring, nodejs-server, openapi, openapi-yaml, kotlin-client, kotlin-server, php, python, python-flask, r, ruby, scala, scala-akka-http-server, swift3, swift4, swift5, typescript-angular, typescript-axios, typescript-fetch, javascript]
```## Installation
### Npm package for use with [swagger-codegen-cli-3.0.35.jar](https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.35/swagger-codegen-cli-3.0.35.jar)
`npm install -g swagger-nodegen-cli`
### Npm package for use with [swagger-codegen-cli-2.4.4.jar](http://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.4/swagger-codegen-cli-2.4.4.jar)
`npm install -g [email protected]`
## Usage
Same as **swagger-codegen-cli.jar** without `java -jar ...`
The main command is **sc**, **swagger-codegen-cli** or **swagger-nodegen-cli** (under Windows **sc** is in conflict with `sc.exe`)`usage: swagger-codegen-cli []`
`usage: swagger-nodegen-cli []`
`usage: sc []` (under windows `sc` is in conflicts with `sc.exe`)
- Version 2.4.4 ([Version 2.4.4](https://www.npmjs.com/package/swagger-nodegen-cli/v/2.4.4))
## Examples
### Display help, extended help, version and available languages
```console
# help, extended help
swagger-codegen-cli -h
swagger-codegen-cli generate -h# Version
swagger-codegen-cli version# Available languages
swagger-codegen-cli
swagger-codegen-cli langs```
### Display detailed generation config options for a specific language
```console
swagger-codegen-cli config-help -l typescript-angular
```### Generate openapi.json (v3) from swagger.json (v2) or openapi.yaml (v3)
```console
swagger-codegen-cli generate -l openapi -i -o```
### Generate openapi.yaml (v3) from swagger.json (v2) or openapi.json (v3)
```console
swagger-codegen-cli generate -l openapi-yaml -i -o```
### Generate a typescript-angular service from an Open API V2 (`swagger`)/V3 - JSON or YML file
#### Features
- Generates an Angular service per defined swagger resource
- Generates models with custom property name flavours: camelCase, PascalCase, snake_case ... (see `swagger-codegen-cli config-help -l typescript-angular`)
- Base path injection with InjectionToken```console
swagger-codegen-cli generate -i swagger.json -l typescript-angular -o src/services
swagger-codegen-cli generate -i open-api.yml -l typescript-angular -o src/services
```#### Integration into an Angular application
```tree
|-- angular-application
|-- src
| |-- app
| | |-- app.component.html
| | |-- app.component.ts
| | |-- app.component.css
| | |-- app.module.ts
| `-- services
| |-- ...```
`./src/app/app.module.ts`
```typescript
import { NgModule } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { ApiModule, BASE_PATH } from '../services';@NgModule({
imports: [
BrowserModule,
HttpClientModule,
ApiModule
],
declarations: [
AppComponent
],
providers: [
{ provide: BASE_PATH, useValue: 'http://localhost:10010' }
],
bootstrap: [ AppComponent ]
})
export class AppModule { }
```### Generate a nodjs-server skelton from an Open API V2 (`swagger`)/V3 - JSON or YML file
```console
swagger-codegen-cli generate -i swagger.json -l nodejs-server -o my-server
swagger-codegen-cli generate -i open-api.yml -l nodejs-server -o my-server```
## Links
- [swagger-codegen](https://github.com/swagger-api/swagger-codegen)
- [swagger-tools](https://swagger.io/docs/swagger-tools/)