react-redux-api-generator
v0.1.3
Published
This plugin generates react-ready typescript classes and functions for REST API communication. All you need to have is an OpenAPI 3.0 definition file.
Downloads
3
Maintainers
Readme
React Redux API Generator :lemon:
Elegant and easy way to generate REST API actions for your project from
openapi-3.0 .yaml
file. Easily edit and generate quickly when required.
Currently supports api specification only in OpenAPI 3.0.
Installation
To install this package we advise you to use -g
to be able to use it globally. Alternatively you
can install this package locally and run the command with npm run
. To install it globally use:
$ npm install -g react-redux-api-generator
After you have installed this package, you have to be sure to have these packages installed as well to be able to use the code generated by this package:
axios
- used to create http requestslodash
- extends library for objects manipulationsredux-axios-middleware
- creates react middleware for axios clients to be able to handle http requests through reducers
After you ensured that you have installed all required packages, you can use this package to generate the API from OpenAPI specification:
$ generate-axios-api
// OR, depending whether your installation is local or not:
$ npm run generate-axios-api
The package would search for rrg-config.json
in current directory. If there is no such file it would try to use default settings.
Configure
Create a file called rrg-config.json
in your project's root directory next to your package.json
.
To find out what configurations are possible visit the Config Wiki page.
Script
You can also create a build script in the package file:
{
"scripts": {
...
"build-with-api": "npm run generate-axios-api && npm run build"
...
}
}
For the build script we recommend to install this package locally so later it can be recovered when trying to run build script. And now you can just run it from a command line and this would perform full project build with api generation:
$ npm run build-with-api
This would run full project rebuild.
License
This project is being developed and distributed under the GNU LGPL 3.0 License.
You can view the full license text here: GNU LGPL 3.0 License.