swagger-to-angular

1.1.12 • Public • Published

Swagger to Angular Services Generator

A command-line interface (CLI) tool that generates Angular services from Swagger or OpenAPI definition files.

Installation

This is a Node.js module available through the npm registry. Install it globally using npm:

npm install -g swagger-to-angular

It can be installed only on project scope using npm:

npm install swagger-to-angular

Usage

swagger-to-angular -i /path/to/swagger_or_openapi_file -o /path/to/angular_project

Where:

/path/to/swagger_or_openapi_file is the path to your Swagger or OpenAPI definition file (.json or .yaml).

/path/to/angular_project is the path to your Angular project directory where the services will be created.

This command generates an Angular service for each operation defined in the Swagger/OpenAPI file, and a base service that all other services extend.

In case unit-test .spec files need to be generated, adding -t or --test parameter will make the library to generate a spec file for each service generated.

Example

Let's say you have an OpenAPI definition file at /home/user/api.yaml, and an Angular project at /home/user/my-angular-project. You can generate services using the following command:

swagger-to-angular -i /home/user/api.yaml -o /home/user/my_angular_project/services_directory

After running this command, you will find a .ts file for each operation defined in api.yaml inside your Angular project directory, along with a base.service.ts file.

In this previous example, if unit-test spec files are required:

swagger-to-angular -i /home/user/api.yaml -o /home/user/my_angular_project/services_directory -t

Note

This script assumes that the Swagger/OpenAPI file is well-formed and may not handle all edge cases. It's a good starting point, but for production usage, you would likely need to extend and harden this script according to your specific needs.

Changelog

  • v1.1.12
    • Removed swagger-js-codegen dependency
  • v1.1.11
    • Minor bug fixed
    • Updated documentation
  • v1.1.10
    • Now in case the specified output directory does not exist, the library will create it
  • v1.1.9
    • Minor bug fixed
  • v1.1.8
    • Minor bug fixed
  • v1.1.7
    • Refactored for more consistent arguments handling ('-i' or '--input' for input file, '-o' or '--output' for output directory, and '-t' or '--test' for enabling unit test generation)
    • Unit test generation capabilities added
  • v1.1.6
    • Minor bug fixed
  • v1.1.5
    • Minor bug fixed
  • v1.1.4
    • More verbose output, writing to console the generated services' names, and total time spent
  • v1.1.3
    • Added capability to override base url property per whole path found on swagger file if it contains 'server' properties block. If per-method base url is provided under 'server' block, it will prevail over path-specific one
  • v1.1.2
    • Added capability to override base url property per path operation found on swagger file if it contains 'server' properties block
  • v1.1.1
    • Minor change to consider undefined server.url property on swagger v3
  • v1.1.0
    • Added swagger v2 vs v3 discerning capabilities
    • Now it tries to automatically detect base url and adds it to generated base service
  • v1.0.0
    • Initial release

Package Sidebar

Install

npm i swagger-to-angular

Weekly Downloads

17

Version

1.1.12

License

ISC

Unpacked Size

10.3 kB

Total Files

3

Last publish

Collaborators

  • alexgf