@open-rpc/generator

    1.22.2 • Public • Published

    OpenRPC Generator

    CircleCI branch Dependabot status npm GitHub release GitHub commits since latest release

    A Generator tool for open-rpc APIs.

    Need help or have a question? Join us on Discord!

    Features:

    • Built in components for:
      • Clients
      • Server
      • Documentation
    • Easy to create new components

    Usage

    The generator CLI has a generate command which takes a config to run. The config specifies what components you want to make, as well as the configuration for each component.

    Using the CLI's init command, you can walk though an interactive config builder.

    Quick start

    npm install -g @open-rpc/generator
    
    open-rpc-generator init
    open-rpc-generator generate -c open-rpc-generator-config.json

    Generating an individual component

    $ open-rpc-generator-client generate
      -t client
      -l typescript
      -n petstoreClientTs
      -d https://raw.githubusercontent.com/open-rpc/examples/master/service-descriptions/petstore-openrpc.json
      -o ./generated

    Custom Component Generation Configuration

    Here for customComponent we specify the module that exports as default the type IComponentModule see custom-test-component.js as an example. It is easy to also refer to an npm package as well as a plain js file. customType is can be anything , it is not restricted to client | server | doc naming.

    {
      "openrpcDocument": "./src/awesome-custom-client_openrpc.json",
      "outDir": "generated-client",
      "components": [
          {
              "type": "custom",
              "name": "awesome-custom-client",
              "language": "typescript",
              "customComponent": "./src/custom-test-component.js",
              "customType": "client"
          } 
      ]
    }
    

    Resources

    Keywords

    none

    Install

    npm i @open-rpc/generator

    DownloadsWeekly Downloads

    105

    Version

    1.22.2

    License

    Apache-2.0

    Unpacked Size

    1.52 MB

    Total Files

    66

    Last publish

    Collaborators

    • belfordz
    • shanejonas