New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

routing-controllers-openapi

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

routing-controllers-openapi - npm Package Compare versions

Comparing version

to
2.0.0-rc1

5

__tests__/index.test.ts
// tslint:disable:no-implicit-dependencies no-submodule-imports
import { defaultMetadataStorage } from 'class-transformer/storage'
import { getFromContainer, MetadataStorage } from 'class-validator'
import { validationMetadatasToSchemas } from 'class-validator-jsonschema'

@@ -33,5 +32,3 @@ import * as _ from 'lodash'

// Include component schemas parsed with class-validator-jsonschema:
const metadatas = (getFromContainer(MetadataStorage) as any)
.validationMetadatas
const schemas = validationMetadatasToSchemas(metadatas, {
const schemas = validationMetadatasToSchemas({
classTransformerMetadataStorage: defaultMetadataStorage,

@@ -38,0 +35,0 @@ refPointerPrefix: '#/components/schemas/'

12

build/decorators.js

@@ -26,3 +26,3 @@ "use strict";

...getOpenAPIMetadata(action.target),
...getOpenAPIMetadata(action.target.prototype, action.method)
...getOpenAPIMetadata(action.target.prototype, action.method),
];

@@ -61,3 +61,3 @@ return openAPIParams.reduce((acc, oaParam) => {

const reference = {
$ref: `#/components/schemas/${responseSchemaName}`
$ref: `#/components/schemas/${responseSchemaName}`,
};

@@ -71,7 +71,7 @@ const schema = isArray

[contentType]: {
schema
}
schema,
},
},
description
}
description,
},
};

@@ -78,0 +78,0 @@ return _.merge({}, source, { responses });

@@ -24,3 +24,3 @@ "use strict";

...getPathParams(route),
...getQueryParams(route)
...getQueryParams(route),
],

@@ -30,3 +30,3 @@ requestBody: getRequestBody(route) || undefined,

summary: getSummary(route),
tags: getTags(route)
tags: getTags(route),
};

@@ -42,6 +42,6 @@ const cleanedOperation = _.omitBy(operation, _.isEmpty);

function getPaths(routes) {
const routePaths = routes.map(route => ({
const routePaths = routes.map((route) => ({
[getFullPath(route)]: {
[route.action.type]: getOperation(route)
}
[route.action.type]: getOperation(route),
},
}));

@@ -54,3 +54,3 @@ return _.merge(...routePaths);

.filter({ type: 'header' })
.map(headerMeta => {
.map((headerMeta) => {
const schema = getParamSchema(headerMeta);

@@ -61,3 +61,3 @@ return {

required: isRequired(headerMeta, route),
schema
schema,
};

@@ -73,3 +73,3 @@ })

required: isRequired(headersMeta, route),
schema
schema,
});

@@ -91,3 +91,3 @@ }

required: !token.optional,
schema: { type: 'string' }
schema: { type: 'string' },
};

@@ -110,3 +110,3 @@ if (token.pattern && token.pattern !== '[^\\/]+?') {

.filter({ type: 'query' })
.map(queryMeta => {
.map((queryMeta) => {
const schema = getParamSchema(queryMeta);

@@ -117,3 +117,3 @@ return {

required: isRequired(queryMeta, route),
schema
schema,
};

@@ -129,3 +129,3 @@ })

required: isRequired(queriesMeta, route),
schema
schema,
});

@@ -137,3 +137,3 @@ }

function getRequestBody(route) {
const bodyParamMetas = route.params.filter(d => d.type === 'body-param');
const bodyParamMetas = route.params.filter((d) => d.type === 'body-param');
const bodyParamsSchema = bodyParamMetas.length > 0

@@ -144,3 +144,3 @@ ? bodyParamMetas.reduce((acc, d) => (Object.assign(Object.assign({}, acc), { properties: Object.assign(Object.assign({}, acc.properties), { [d.name]: getParamSchema(d) }), required: isRequired(d, route)

: null;
const bodyMeta = route.params.find(d => d.type === 'body');
const bodyMeta = route.params.find((d) => d.type === 'body');
if (bodyMeta) {

@@ -154,7 +154,7 @@ const bodySchema = getParamSchema(bodyMeta);

? { allOf: [bodySchema, bodyParamsSchema] }
: bodySchema
}
: bodySchema,
},
},
description: _.last(_.split($ref, '/')),
required: isRequired(bodyMeta, route)
required: isRequired(bodyMeta, route),
};

@@ -164,3 +164,3 @@ }

return {
content: { 'application/json': { schema: bodyParamsSchema } }
content: { 'application/json': { schema: bodyParamsSchema } },
};

@@ -189,4 +189,4 @@ }

content: { [contentType]: {} },
description: 'Successful response'
}
description: 'Successful response',
},
};

@@ -200,3 +200,3 @@ }

openapi: '3.0.0',
paths: getPaths(routes)
paths: getPaths(routes),
};

@@ -216,3 +216,3 @@ }

return tokens
.map(d => (_.isString(d) ? d : `${d.prefix}{${d.name}}`))
.map((d) => (_.isString(d) ? d : `${d.prefix}{${d.name}}`))
.join('');

@@ -253,2 +253,2 @@ }

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVTcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2dlbmVyYXRlU3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDRCQUEyQjtBQUUzQiwrQ0FBOEM7QUFDOUMsNEJBQXlCO0FBR3pCLDZDQUFvRDtBQUlwRCxTQUFnQixrQkFBa0IsQ0FBQyxLQUFhO0lBQzlDLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQTtJQUM3QyxPQUFPLENBQ0wsQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUMzQixDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3hCLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FDckIsQ0FBQTtBQUNILENBQUM7QUFQRCxnREFPQztBQUtELFNBQWdCLFdBQVcsQ0FBQyxLQUFhO0lBQ3ZDLE9BQU8sb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUN4RCxDQUFDO0FBRkQsa0NBRUM7QUFLRCxTQUFnQixZQUFZLENBQUMsS0FBYTtJQUN4QyxNQUFNLFNBQVMsR0FBdUI7UUFDcEMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFDbEMsVUFBVSxFQUFFO1lBQ1YsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDO1lBQ3pCLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUN2QixHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUM7U0FDekI7UUFDRCxXQUFXLEVBQUUsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLFNBQVM7UUFDL0MsU0FBUyxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDOUIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDMUIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUM7S0FDckIsQ0FBQTtJQUVELE1BQU0sZ0JB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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVTcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2dlbmVyYXRlU3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDRCQUEyQjtBQUUzQiwrQ0FBOEM7QUFDOUMsNEJBQXlCO0FBR3pCLDZDQUFvRDtBQUlwRCxTQUFnQixrQkFBa0IsQ0FBQyxLQUFhO0lBQzlDLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQTtJQUM3QyxPQUFPLENBQ0wsQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUMzQixDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3hCLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FDckIsQ0FBQTtBQUNILENBQUM7QUFQRCxnREFPQztBQUtELFNBQWdCLFdBQVcsQ0FBQyxLQUFhO0lBQ3ZDLE9BQU8sb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUN4RCxDQUFDO0FBRkQsa0NBRUM7QUFLRCxTQUFnQixZQUFZLENBQUMsS0FBYTtJQUN4QyxNQUFNLFNBQVMsR0FBdUI7UUFDcEMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFDbEMsVUFBVSxFQUFFO1lBQ1YsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDO1lBQ3pCLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUN2QixHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUM7U0FDekI7UUFDRCxXQUFXLEVBQUUsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLFNBQVM7UUFDL0MsU0FBUyxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDOUIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDMUIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUM7S0FDckIsQ0FBQTtJQUVELE1BQU0sZ0JB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

@@ -5,13 +5,13 @@ "use strict";

function parseRoutes(storage, options = {}) {
return storage.actions.map(action => ({
return storage.actions.map((action) => ({
action,
controller: _.find(storage.controllers, {
target: action.target
target: action.target,
}),
options,
params: _.sortBy(storage.filterParamsWithTargetAndMethod(action.target, action.method), 'index'),
responseHandlers: storage.filterResponseHandlersWithTargetAndMethod(action.target, action.method)
responseHandlers: storage.filterResponseHandlersWithTargetAndMethod(action.target, action.method),
}));
}
exports.parseRoutes = parseRoutes;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VNZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJzZU1ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsNEJBQTJCO0FBd0IzQixTQUFnQixXQUFXLENBQ3pCLE9BQTRCLEVBQzVCLFVBQXFDLEVBQUU7SUFFdkMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEMsTUFBTTtRQUNOLFVBQVUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDdEMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1NBQ3RCLENBQTJCO1FBQzVCLE9BQU87UUFDUCxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FDZCxPQUFPLENBQUMsK0JBQStCLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQ3JFLE9BQU8sQ0FDUjtRQUNELGdCQUFnQixFQUFFLE9BQU8sQ0FBQyx5Q0FBeUMsQ0FDakUsTUFBTSxDQUFDLE1BQU0sRUFDYixNQUFNLENBQUMsTUFBTSxDQUNkO0tBQ0YsQ0FBQyxDQUFDLENBQUE7QUFDTCxDQUFDO0FBbkJELGtDQW1CQyJ9
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VNZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJzZU1ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsNEJBQTJCO0FBd0IzQixTQUFnQixXQUFXLENBQ3pCLE9BQTRCLEVBQzVCLFVBQXFDLEVBQUU7SUFFdkMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0QyxNQUFNO1FBQ04sVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRTtZQUN0QyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07U0FDdEIsQ0FBMkI7UUFDNUIsT0FBTztRQUNQLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUNkLE9BQU8sQ0FBQywrQkFBK0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFDckUsT0FBTyxDQUNSO1FBQ0QsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLHlDQUF5QyxDQUNqRSxNQUFNLENBQUMsTUFBTSxFQUNiLE1BQU0sQ0FBQyxNQUFNLENBQ2Q7S0FDRixDQUFDLENBQUMsQ0FBQTtBQUNMLENBQUM7QUFuQkQsa0NBbUJDIn0=

@@ -7,2 +7,6 @@ # Changelog

## [2.0.0-rc1] - 2020-05-01
### Changed
- Bump `class-validator` peer dependency to `^0.12.0` - meaning we're no longer compatible with pre-0.12 versions of `class-validator`!
## [1.8.1] - 2020-04-10

@@ -9,0 +13,0 @@ ### Fixed

{
"name": "routing-controllers-openapi",
"version": "1.8.1",
"version": "2.0.0-rc1",
"description": "Runtime OpenAPI v3 spec generation for routing-controllers",

@@ -20,4 +20,5 @@ "keywords": [

"format": "prettier --write {src,test}/**/*.ts",
"test:format": "prettier --check {src,test}/**/*.ts",
"lint": "tslint --project . src/**/*.ts",
"prepare": "install-self-peers -- --ignore-scripts && yarn build",
"prepare": "install-self-peers -- --frozen-lockfile --ignore-scripts && yarn build",
"send-coverage": "codecov -f coverage/*.json",

@@ -40,20 +41,20 @@ "test": "jest --coverage",

"@team-griffin/install-self-peers": "^1.1.1",
"@types/jest": "^24.0.23",
"@types/lodash": "^4.14.149",
"@types/node": "^12.12.14",
"@types/prettier": "^1.19.0",
"@types/jest": "^25.2.1",
"@types/lodash": "^4.14.150",
"@types/node": "^13.13.4",
"@types/prettier": "^2.0.0",
"@types/reflect-metadata": "^0.1.0",
"@types/rimraf": "^2.0.3",
"@types/rimraf": "^3.0.0",
"class-transformer": "^0.2.3",
"class-validator": "^0.11.0",
"class-validator-jsonschema": "^1.3.0",
"class-validator": "^0.12.2",
"class-validator-jsonschema": "^2.0.0-rc1",
"codecov": "^3.6.1",
"jest": "^24.9.0",
"prettier": "^1.19.1",
"rimraf": "^3.0.0",
"ts-jest": "^24.2.0",
"tslint": "^5.20.1",
"jest": "^25.5.3",
"prettier": "^2.0.5",
"rimraf": "^3.0.2",
"ts-jest": "^25.4.0",
"tslint": "^6.1.2",
"tslint-config-prettier": "^1.18.0",
"tslint-config-standard": "^9.0.0",
"typescript": "^3.7.2"
"typescript": "^3.8.3"
},

@@ -60,0 +61,0 @@ "peerDependencies": {

@@ -138,3 +138,3 @@ # routing-controllers-openapi

const schemas = validationMetadatasToSchemas(metadatas, {
const schemas = validationMetadatasToSchemas({
refPointerPrefix: '#/components/schemas/'

@@ -141,0 +141,0 @@ })

import 'reflect-metadata'
import { getFromContainer, MetadataStorage } from 'class-validator' // tslint:disable-line
import { validationMetadatasToSchemas } from 'class-validator-jsonschema'

@@ -20,4 +19,3 @@ import { Express } from 'express'

// Parse class-validator classes into JSON Schema:
const metadatas = (getFromContainer(MetadataStorage) as any).validationMetadatas
const schemas = validationMetadatasToSchemas(metadatas, {
const schemas = validationMetadatasToSchemas({
refPointerPrefix: '#/components/schemas/'

@@ -24,0 +22,0 @@ })

@@ -16,7 +16,7 @@ {

"body-parser": "^1.18.3",
"class-validator": "^0.11.0",
"class-validator-jsonschema": "^1.3.0",
"class-validator": "^0.12.2",
"class-validator-jsonschema": "^2.0.0-rc1",
"express": "^4.16.3",
"reflect-metadata": "^0.1.13",
"routing-controllers": "^0.8.0",
"routing-controllers": "^0.8.1",
"routing-controllers-openapi": "../.."

@@ -23,0 +23,0 @@ },

@@ -6,3 +6,3 @@ import * as _ from 'lodash'

ResponsesObject,
SchemaObject
SchemaObject,
} from 'openapi3-ts'

@@ -53,3 +53,3 @@ import 'reflect-metadata'

...getOpenAPIMetadata(action.target),
...getOpenAPIMetadata(action.target.prototype, action.method)
...getOpenAPIMetadata(action.target.prototype, action.method),
]

@@ -115,3 +115,3 @@

const reference: ReferenceObject = {
$ref: `#/components/schemas/${responseSchemaName}`
$ref: `#/components/schemas/${responseSchemaName}`,
}

@@ -125,7 +125,7 @@ const schema: SchemaObject = isArray

[contentType]: {
schema
}
schema,
},
},
description
}
description,
},
}

@@ -132,0 +132,0 @@

@@ -37,3 +37,3 @@ // tslint:disable:no-submodule-imports

...getPathParams(route),
...getQueryParams(route)
...getQueryParams(route),
],

@@ -43,3 +43,3 @@ requestBody: getRequestBody(route) || undefined,

summary: getSummary(route),
tags: getTags(route)
tags: getTags(route),
}

@@ -62,6 +62,6 @@

export function getPaths(routes: IRoute[]): oa.PathObject {
const routePaths = routes.map(route => ({
const routePaths = routes.map((route) => ({
[getFullPath(route)]: {
[route.action.type]: getOperation(route)
}
[route.action.type]: getOperation(route),
},
}))

@@ -79,3 +79,3 @@

.filter({ type: 'header' })
.map(headerMeta => {
.map((headerMeta) => {
const schema = getParamSchema(headerMeta) as oa.SchemaObject

@@ -86,3 +86,3 @@ return {

required: isRequired(headerMeta, route),
schema
schema,
}

@@ -99,3 +99,3 @@ })

required: isRequired(headersMeta, route),
schema
schema,
})

@@ -125,3 +125,3 @@ }

required: !token.optional,
schema: { type: 'string' }
schema: { type: 'string' },
}

@@ -150,3 +150,3 @@

.filter({ type: 'query' })
.map(queryMeta => {
.map((queryMeta) => {
const schema = getParamSchema(queryMeta) as oa.SchemaObject

@@ -157,3 +157,3 @@ return {

required: isRequired(queryMeta, route),
schema
schema,
}

@@ -170,3 +170,3 @@ })

required: isRequired(queriesMeta, route),
schema
schema,
})

@@ -182,3 +182,3 @@ }

export function getRequestBody(route: IRoute): oa.RequestBodyObject | void {
const bodyParamMetas = route.params.filter(d => d.type === 'body-param')
const bodyParamMetas = route.params.filter((d) => d.type === 'body-param')
const bodyParamsSchema: oa.SchemaObject | null =

@@ -191,7 +191,7 @@ bodyParamMetas.length > 0

...acc.properties,
[d.name!]: getParamSchema(d)
[d.name!]: getParamSchema(d),
},
required: isRequired(d, route)
? [...(acc.required || []), d.name!]
: acc.required
: acc.required,
}),

@@ -202,3 +202,3 @@ { properties: {}, required: [], type: 'object' }

const bodyMeta = route.params.find(d => d.type === 'body')
const bodyMeta = route.params.find((d) => d.type === 'body')

@@ -215,11 +215,11 @@ if (bodyMeta) {

? { allOf: [bodySchema, bodyParamsSchema] }
: bodySchema
}
: bodySchema,
},
},
description: _.last(_.split($ref, '/')),
required: isRequired(bodyMeta, route)
required: isRequired(bodyMeta, route),
}
} else if (bodyParamsSchema) {
return {
content: { 'application/json': { schema: bodyParamsSchema } }
content: { 'application/json': { schema: bodyParamsSchema } },
}

@@ -259,4 +259,4 @@ }

content: { [contentType]: {} },
description: 'Successful response'
}
description: 'Successful response',
},
}

@@ -273,3 +273,3 @@ }

openapi: '3.0.0',
paths: getPaths(routes)
paths: getPaths(routes),
}

@@ -298,3 +298,3 @@ }

return tokens
.map(d => (_.isString(d) ? d : `${d.prefix}{${d.name}}`))
.map((d) => (_.isString(d) ? d : `${d.prefix}{${d.name}}`))
.join('')

@@ -301,0 +301,0 @@ }

@@ -5,3 +5,3 @@ import * as _ from 'lodash'

MetadataArgsStorage,
RoutingControllersOptions
RoutingControllersOptions,
} from 'routing-controllers'

@@ -8,0 +8,0 @@

@@ -5,3 +5,3 @@ // tslint:disable:no-submodule-imports

MetadataArgsStorage,
RoutingControllersOptions
RoutingControllersOptions,
} from 'routing-controllers'

@@ -31,6 +31,6 @@ import { ActionMetadataArgs } from 'routing-controllers/metadata/args/ActionMetadataArgs'

): IRoute[] {
return storage.actions.map(action => ({
return storage.actions.map((action) => ({
action,
controller: _.find(storage.controllers, {
target: action.target
target: action.target,
}) as ControllerMetadataArgs,

@@ -45,4 +45,4 @@ options,

action.method
)
),
}))
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet