Skip to content

Commit 59254d9

Browse files
committed
- Upgraded dependencies
- Removed depricated enum model generation - Fixed issue with "null" value inside comments for OpenAPI v2 enums - Fixed issue with compatibility for latest version of Axios (0.27.x)
1 parent 33c1ff5 commit 59254d9

File tree

11 files changed

+3261
-3152
lines changed

11 files changed

+3261
-3152
lines changed

CHANGELOG.md

+8
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
# Changelog
22
All notable changes to this project will be documented in this file.
33

4+
## [0.22.0] - 2022-04-26
5+
### Fixed
6+
- Upgraded dependencies
7+
- Fixed issue with `null` value inside comments for OpenAPI v2 enums
8+
- Fixed issue with compatibility for latest version of Axios (0.27.x)
9+
### Removed
10+
- Removed deprecated enum model generation
11+
412
## [0.21.0] - 2022-04-06
513
### Fixed
614
- Return `undefined` to match `noImplicitReturns` rule

package-lock.json

+3,195-2,896
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+33-33
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "openapi-typescript-codegen",
3-
"version": "0.21.0",
3+
"version": "0.22.0",
44
"description": "Library that generates Typescript clients based on the OpenAPI specification.",
55
"author": "Ferdi Koomen",
66
"homepage": "https://github.com/ferdikoomen/openapi-typescript-codegen",
@@ -60,63 +60,63 @@
6060
},
6161
"dependencies": {
6262
"camelcase": "^6.3.0",
63-
"commander": "^9.0.0",
63+
"commander": "^9.2.0",
6464
"handlebars": "^4.7.7",
6565
"json-schema-ref-parser": "^9.0.9"
6666
},
6767
"devDependencies": {
68-
"@angular-devkit/build-angular": "13.2.5",
69-
"@angular/animations": "13.2.4",
70-
"@angular/cli": "13.2.5",
71-
"@angular/common": "13.2.4",
72-
"@angular/compiler": "13.2.4",
73-
"@angular/compiler-cli": "13.2.4",
74-
"@angular/core": "13.2.4",
75-
"@angular/forms": "13.2.4",
76-
"@angular/platform-browser": "13.2.4",
77-
"@angular/platform-browser-dynamic": "13.2.4",
78-
"@angular/router": "13.2.4",
68+
"@angular-devkit/build-angular": "13.3.3",
69+
"@angular/animations": "13.3.4",
70+
"@angular/cli": "13.3.3",
71+
"@angular/common": "13.3.4",
72+
"@angular/compiler": "13.3.4",
73+
"@angular/compiler-cli": "13.3.4",
74+
"@angular/core": "13.3.4",
75+
"@angular/forms": "13.3.4",
76+
"@angular/platform-browser": "13.3.4",
77+
"@angular/platform-browser-dynamic": "13.3.4",
78+
"@angular/router": "13.3.4",
7979
"@babel/cli": "7.17.6",
80-
"@babel/core": "7.17.8",
80+
"@babel/core": "7.17.9",
8181
"@babel/preset-env": "7.16.11",
8282
"@babel/preset-typescript": "7.16.7",
83-
"@rollup/plugin-commonjs": "21.0.3",
84-
"@rollup/plugin-node-resolve": "13.1.3",
85-
"@rollup/plugin-typescript": "8.3.1",
83+
"@rollup/plugin-commonjs": "22.0.0",
84+
"@rollup/plugin-node-resolve": "13.2.1",
85+
"@rollup/plugin-typescript": "8.3.2",
8686
"@types/cross-spawn": "6.0.2",
8787
"@types/express": "4.17.13",
8888
"@types/glob": "7.2.0",
8989
"@types/jest": "27.4.1",
90-
"@types/node": "17.0.21",
90+
"@types/node": "17.0.27",
9191
"@types/node-fetch": "2.6.1",
9292
"@types/qs": "6.9.7",
93-
"@typescript-eslint/eslint-plugin": "5.18.0",
94-
"@typescript-eslint/parser": "5.17.0",
93+
"@typescript-eslint/eslint-plugin": "5.21.0",
94+
"@typescript-eslint/parser": "5.21.0",
9595
"abort-controller": "3.0.0",
96-
"axios": "0.26.1",
96+
"axios": "0.27.1",
9797
"codecov": "3.8.3",
9898
"cross-spawn": "7.0.3",
99-
"eslint": "8.10.0",
99+
"eslint": "8.14.0",
100100
"eslint-config-prettier": "8.5.0",
101101
"eslint-plugin-prettier": "4.0.0",
102102
"eslint-plugin-simple-import-sort": "7.0.0",
103-
"express": "4.17.3",
103+
"express": "4.18.0",
104104
"form-data": "4.0.0",
105-
"glob": "7.2.0",
106-
"jest": "27.5.1",
107-
"jest-cli": "27.5.1",
105+
"glob": "8.0.1",
106+
"jest": "28.0.1",
107+
"jest-cli": "28.0.1",
108108
"node-fetch": "2.6.7",
109-
"prettier": "2.5.1",
110-
"puppeteer": "13.5.2",
109+
"prettier": "2.6.2",
110+
"puppeteer": "13.6.0",
111111
"qs": "6.10.3",
112112
"rimraf": "3.0.2",
113-
"rollup": "2.68.0",
113+
"rollup": "2.70.2",
114114
"rollup-plugin-node-externals": "4.0.0",
115115
"rollup-plugin-terser": "7.0.2",
116116
"rxjs": "7.5.5",
117-
"ts-node": "10.5.0",
118-
"tslib": "2.3.1",
119-
"typescript": "4.5.5",
120-
"zone.js": "0.11.4"
117+
"ts-node": "10.7.0",
118+
"tslib": "2.4.0",
119+
"typescript": "4.6.3",
120+
"zone.js": "0.11.5"
121121
}
122122
}

src/openApi/v2/parser/extendEnum.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export const extendEnum = (enumerators: Enum[], definition: WithEnumExtension):
1414

1515
return enumerators.map((enumerator, index) => ({
1616
name: names?.[index] || enumerator.name,
17-
description: JSON.stringify(descriptions?.[index] || enumerator.description),
17+
description: descriptions?.[index] || enumerator.description,
1818
value: enumerator.value,
1919
type: enumerator.type,
2020
}));

src/openApi/v2/parser/getEnumFromDescription.ts

-39
This file was deleted.

src/openApi/v2/parser/getModel.ts

-12
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import type { OpenApi } from '../interfaces/OpenApi';
44
import type { OpenApiSchema } from '../interfaces/OpenApiSchema';
55
import { extendEnum } from './extendEnum';
66
import { getEnum } from './getEnum';
7-
import { getEnumFromDescription } from './getEnumFromDescription';
87
import { getModelComposition } from './getModelComposition';
98
import { getModelProperties } from './getModelProperties';
109
import { getType } from './getType';
@@ -69,17 +68,6 @@ export const getModel = (
6968
}
7069
}
7170

72-
if ((definition.type === 'int' || definition.type === 'integer') && definition.description) {
73-
const enumerators = getEnumFromDescription(definition.description);
74-
if (enumerators.length) {
75-
model.export = 'enum';
76-
model.type = 'number';
77-
model.base = 'number';
78-
model.enum.push(...enumerators);
79-
return model;
80-
}
81-
}
82-
8371
if (definition.type === 'array' && definition.items) {
8472
if (definition.items.$ref) {
8573
const arrayItems = getType(definition.items.$ref);

src/openApi/v2/parser/getOperationParameter.ts

-13
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import type { OpenApiParameter } from '../interfaces/OpenApiParameter';
55
import type { OpenApiSchema } from '../interfaces/OpenApiSchema';
66
import { extendEnum } from './extendEnum';
77
import { getEnum } from './getEnum';
8-
import { getEnumFromDescription } from './getEnumFromDescription';
98
import { getModel } from './getModel';
109
import { getOperationParameterDefault } from './getOperationParameterDefault';
1110
import { getOperationParameterName } from './getOperationParameterName';
@@ -70,18 +69,6 @@ export const getOperationParameter = (openApi: OpenApi, parameter: OpenApiParame
7069
}
7170
}
7271

73-
if ((parameter.type === 'int' || parameter.type === 'integer') && parameter.description) {
74-
const enumerators = getEnumFromDescription(parameter.description);
75-
if (enumerators.length) {
76-
operationParameter.export = 'enum';
77-
operationParameter.type = 'number';
78-
operationParameter.base = 'number';
79-
operationParameter.enum.push(...enumerators);
80-
operationParameter.default = getOperationParameterDefault(parameter, operationParameter);
81-
return operationParameter;
82-
}
83-
}
84-
8572
if (parameter.type === 'array' && parameter.items) {
8673
const items = getType(parameter.items.type, parameter.items.format);
8774
operationParameter.export = 'array';

src/openApi/v3/parser/getEnumFromDescription.ts

-39
This file was deleted.

src/openApi/v3/parser/getModel.ts

-13
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import type { OpenApi } from '../interfaces/OpenApi';
44
import type { OpenApiSchema } from '../interfaces/OpenApiSchema';
55
import { extendEnum } from './extendEnum';
66
import { getEnum } from './getEnum';
7-
import { getEnumFromDescription } from './getEnumFromDescription';
87
import { getModelComposition } from './getModelComposition';
98
import { getModelDefault } from './getModelDefault';
109
import { getModelProperties } from './getModelProperties';
@@ -72,18 +71,6 @@ export const getModel = (
7271
}
7372
}
7473

75-
if ((definition.type === 'int' || definition.type === 'integer') && definition.description) {
76-
const enumerators = getEnumFromDescription(definition.description);
77-
if (enumerators.length) {
78-
model.export = 'enum';
79-
model.type = 'number';
80-
model.base = 'number';
81-
model.enum.push(...enumerators);
82-
model.default = getModelDefault(definition, model);
83-
return model;
84-
}
85-
}
86-
8774
if (definition.type === 'array' && definition.items) {
8875
if (definition.items.$ref) {
8976
const arrayItems = getType(definition.items.$ref);

src/templates/core/axios/sendRequest.hbs

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ const sendRequest = async <T>(
2323
try {
2424
return await axios.request(requestConfig);
2525
} catch (error) {
26-
const axiosError = error as AxiosError;
26+
const axiosError = error as AxiosError<T>;
2727
if (axiosError.response) {
2828
return axiosError.response;
2929
}

0 commit comments

Comments
 (0)