SdkgenRuntime

sdkgen is a tool to help design, implement and maintain good APIs with minimal effort

Showing:

Popularity

Downloads/wk

0

GitHub Stars

58

Maintenance

Last Commit

3d ago

Contributors

34

Package

Dependencies

3

License

MIT

Categories

Readme

sdkgen

test status badge telegram badge

Getting Started

Installing sdkgen

First of all you need Node.js 12.17 or newer on your machine. We recommend using the latest LTS version, check for it here: https://nodejs.org/en/download/.

Install the global CLI:

npm i -g @sdkgen/cli

Creating an API description

Create an api.sdkgen to describe your API. For example:

type Post {
    id: uuid
    title: string
    body: string
    createdAt: datetime
    author: {
        name: string
    }
}

fn getPost(id: uuid): Post?

You can then generate the TypeScript source for this description with sdkgen api.sdkgen -o api.ts -t typescript_nodeserver.

Creating base project

Let's start a new project with TypeScript:

npm init -y
npm i --save-dev typescript
npm i @sdkgen/node-runtime
npx tsc --init -t esnext

Then create a main.ts file:

// Import sdkgen's runtime and the generated file
import { SdkgenHttpServer } from "@sdkgen/node-runtime";
import { api } from "./api";

// Every endpoint described must receive some implementation
api.fn.getPost = async (ctx, {id}) => {
    return {
        id,
        title: "Getting Started",
        author: {
            name: "John Doe"
        },
        body: "Lorem ipsum",
        createdAt: new Date(),
    };
};

// Start a HTTP server for the API
const server = new SdkgenHttpServer(api, {});
server.listen(8000);

Run the project

Build and run it:

npx tsc
node main.js

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100