2.6.1 • Published 8 months ago

openapi-connect v2.6.1

Weekly downloads
584
License
ISC
Repository
-
Last release
8 months ago

Base for microservices around OpenAPI/Swagger

  • Use Swagger 2.0 (OpenAPI in feature) specification as source of trues about all aspects of service like security/validation/routing/etc (thanks swagger-tools)
  • Support OpenID/OAuth
  • Support request logging
  • Base implementation for service health checking
  • Base graceful shutdown implementation

Almost all middleware like (OAuth/CORS/request logging/etc) can be overridden through options.

Steps to use

  • According to API first approach write OpenAPI/Swagger specification for your service and save it to something like ./api/public.yaml
  • npm i openapi-connect to install
  • Write intex.ts or index.js as
import server, { IOptions } from 'openapi-connect'

const options: IOptions = {
  basePath: env.BASE_PATH,
  port: env.PORT, 
  logger: getLogger(), // instance of logger implemented contract from loggerism package
  router: {
    controllers: './bin/controllers' // path to folder where we request handlers can be found or object like { [operationName: string]: RequestHandler }
  },
  // in case OpenID/OAuth required
  oauth: {
    enable: true,
    url: env.OAUTH_SERVICE_URL,
    audience: env.OAUTH_AUDIENCE // optional
  },
  swaggerUI: { enable: env.ENABLE_SWAGGER_UI } // optional
}

server('./api/public.yaml', options)

TODO

  • Use semantic-release
  • Add monitoring/instrumentation with OpenTracing compatibility like @risingstack/opentracing-auto or appmetrics
  • Move to GitHub and use Travis CI for better opportunity to force open source.
2.6.1-ci.2

8 months ago

2.6.1

8 months ago

2.6.0

9 months ago

2.6.0-ci.8

9 months ago

2.5.7

1 year ago

2.6.0-ci.6

1 year ago

2.5.7-alpha

1 year ago

2.5.5-ci.2

2 years ago

2.5.6

2 years ago

2.4.12

2 years ago

2.4.6

2 years ago

2.5.1-ci.2

2 years ago

2.5.0

2 years ago

2.5.2

2 years ago

2.5.1

2 years ago

2.5.4

2 years ago

2.5.3

2 years ago

2.4.4-ci.2

2 years ago

2.4.4-rc-4

2 years ago

2.4.5

2 years ago

2.4.4

2 years ago

2.4.4-rc.2

2 years ago

2.4.4-rc.3

2 years ago

2.4.4-rc.5

2 years ago

2.4.4-rc.1

2 years ago

2.4.4-rc.6

2 years ago

2.4.4-rc.7

2 years ago

2.4.4-rc.8

2 years ago

2.4.4-rc.9

2 years ago

2.4.4-rc.10

2 years ago

2.4.1

2 years ago

2.4.0

2 years ago

2.4.3

2 years ago

2.4.2

2 years ago

2.4.3-ci.2

2 years ago

2.4.2-test

2 years ago

2.3.1

2 years ago

2.3.0-rc.2

3 years ago

2.3.0-rc.4

3 years ago

2.3.0-rc.3

3 years ago

2.3.0-rc

3 years ago

2.3.0

2 years ago

2.2.2

4 years ago

2.2.1

4 years ago

2.2.0

4 years ago

2.1.7

4 years ago

2.1.6

5 years ago

2.1.5

5 years ago

2.1.4

5 years ago

2.1.2

5 years ago

2.1.3

5 years ago

2.1.1

5 years ago

2.1.0

5 years ago

2.0.0

5 years ago

1.2.0-rc.1

5 years ago

1.1.0

5 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

7 years ago

0.7.6

7 years ago

0.7.5

7 years ago

0.7.4

7 years ago

0.7.3

7 years ago

0.7.2

7 years ago

0.7.1

7 years ago

0.7.0

7 years ago

0.6.5

7 years ago

0.6.4

8 years ago

0.6.3

8 years ago

0.6.2

8 years ago

0.6.1

8 years ago

0.6.0

8 years ago

0.5.2

8 years ago

0.5.1

8 years ago

0.5.0

8 years ago

0.4.1

8 years ago

0.4.0

8 years ago

0.3.1

8 years ago

0.3.0

8 years ago

0.2.1

8 years ago

0.2.0

8 years ago

0.1.0

8 years ago

0.0.7

8 years ago

0.0.6

8 years ago

0.0.5

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago