2.5.6 • Published 5 months ago

openapi-connect v2.5.6

Weekly downloads
584
License
ISC
Repository
-
Last release
5 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.5.5-ci.2

6 months ago

2.5.5-medium-snyk

6 months ago

2.5.6

5 months ago

2.4.12

6 months ago

2.4.6

7 months ago

2.5.1-ci.2

6 months ago

2.5.0

6 months ago

2.5.2

6 months ago

2.5.1

6 months ago

2.5.4

6 months ago

2.5.3

6 months ago

2.4.4-ci.2

8 months ago

2.4.4-rc-4

8 months ago

2.4.5

8 months ago

2.4.4

8 months ago

2.4.4-rc.2

8 months ago

2.4.4-rc.3

8 months ago

2.4.4-rc.5

8 months ago

2.4.4-rc.1

8 months ago

2.4.4-rc.6

8 months ago

2.4.4-rc.7

8 months ago

2.4.4-rc.8

8 months ago

2.4.4-rc.9

8 months ago

2.4.4-rc.10

8 months ago

2.4.1

12 months ago

2.4.0

12 months ago

2.4.3

9 months ago

2.4.2

9 months ago

2.4.3-ci.2

9 months ago

2.4.2-test

9 months ago

2.3.1

1 year ago

2.3.0-rc.2

1 year ago

2.3.0-rc.4

1 year ago

2.3.0-rc.3

1 year ago

2.3.0-rc

1 year ago

2.3.0

1 year ago

2.2.2

3 years ago

2.2.1

3 years ago

2.2.0

3 years ago

2.1.7

3 years ago

2.1.6

4 years ago

2.1.5

4 years ago

2.1.4

4 years ago

2.1.2

4 years ago

2.1.3

4 years ago

2.1.1

4 years ago

2.1.0

4 years ago

2.0.0

4 years ago

1.2.0-rc.1

4 years ago

1.1.0

4 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

6 years ago

0.7.6

6 years ago

0.7.5

6 years ago

0.7.4

6 years ago

0.7.3

6 years ago

0.7.2

6 years ago

0.7.1

6 years ago

0.7.0

6 years ago

0.6.5

6 years ago

0.6.4

6 years ago

0.6.3

6 years ago

0.6.2

6 years ago

0.6.1

6 years ago

0.6.0

6 years ago

0.5.2

7 years ago

0.5.1

7 years ago

0.5.0

7 years ago

0.4.1

7 years ago

0.4.0

7 years ago

0.3.1

7 years ago

0.3.0

7 years ago

0.2.1

7 years ago

0.2.0

7 years ago

0.1.0

7 years ago

0.0.7

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago