Skip to content

Commit 225b640

Browse files
committed
fix: do not generate types tree by default if services are enabled as it is unused
1 parent 5425177 commit 225b640

File tree

38 files changed

+16
-7589
lines changed

38 files changed

+16
-7589
lines changed

.changeset/short-suits-hunt.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@hey-api/openapi-ts': patch
3+
---
4+
5+
fix: do not generate types tree by default if services are enabled as it is unused

packages/openapi-ts/src/index.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -180,13 +180,16 @@ const getServices = (userConfig: ClientConfig): Config['services'] => {
180180
return services;
181181
};
182182

183-
const getTypes = (userConfig: ClientConfig): Config['types'] => {
183+
const getTypes = (
184+
userConfig: ClientConfig,
185+
services: Config['services'],
186+
): Config['types'] => {
184187
let types: Config['types'] = {
185188
dates: false,
186189
enums: false,
187190
export: true,
188191
name: 'preserve',
189-
tree: true,
192+
tree: !services.export,
190193
};
191194
if (typeof userConfig.types === 'boolean') {
192195
types.export = userConfig.types;
@@ -273,7 +276,7 @@ const initConfigs = async (userConfig: UserConfig): Promise<Config[]> => {
273276
const plugins = getPlugins(userConfig);
274277
const schemas = getSchemas(userConfig);
275278
const services = getServices(userConfig);
276-
const types = getTypes(userConfig);
279+
const types = getTypes(userConfig, services);
277280

278281
output.path = path.resolve(process.cwd(), output.path);
279282

packages/openapi-ts/test/__snapshots__/test/generated/v2/types.gen.ts.snap

Lines changed: 1 addition & 270 deletions
Original file line numberDiff line numberDiff line change
@@ -755,273 +755,4 @@ export type NonAsciiæøåÆøÅöôêÊ字符串Data = {
755755
nonAsciiParamæøåÆøÅöôêÊ: number;
756756
};
757757

758-
export type NonAsciiæøåÆøÅöôêÊ字符串Response = NonAsciiStringæøåÆØÅöôêÊ字符串;
759-
760-
export type $OpenApiTs = {
761-
'/api/v{api-version}/body': {
762-
post: {
763-
req: PostApiBodyData;
764-
res: {
765-
/**
766-
* OK
767-
*/
768-
200: response_PostActivityResponse;
769-
/**
770-
* Bad Request
771-
*/
772-
400: failure_Failure;
773-
/**
774-
* Internal Server Error
775-
*/
776-
500: failure_Failure;
777-
};
778-
};
779-
};
780-
'/api/v{api-version}/descriptions/': {
781-
post: {
782-
req: CallWithDescriptionsData;
783-
};
784-
};
785-
'/api/v{api-version}/parameters/{parameterPath}': {
786-
post: {
787-
req: CallWithParametersData;
788-
};
789-
};
790-
'/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}': {
791-
post: {
792-
req: CallWithWeirdParameterNamesData;
793-
};
794-
};
795-
'/api/v{api-version}/defaults': {
796-
get: {
797-
req: CallWithDefaultParametersData;
798-
};
799-
post: {
800-
req: CallWithDefaultOptionalParametersData;
801-
};
802-
put: {
803-
req: CallToTestOrderOfParamsData;
804-
};
805-
};
806-
'/api/v{api-version}/no-content': {
807-
get: {
808-
res: {
809-
/**
810-
* Success
811-
*/
812-
204: void;
813-
};
814-
};
815-
};
816-
'/api/v{api-version}/multiple-tags/response-and-no-content': {
817-
get: {
818-
res: {
819-
/**
820-
* Response is a simple number
821-
*/
822-
200: unknown;
823-
/**
824-
* Success
825-
*/
826-
204: void;
827-
};
828-
};
829-
};
830-
'/api/v{api-version}/response': {
831-
get: {
832-
res: {
833-
/**
834-
* Message for default response
835-
*/
836-
default: ModelWithString;
837-
};
838-
};
839-
post: {
840-
res: {
841-
/**
842-
* Message for 201 response
843-
*/
844-
201: ModelWithString;
845-
/**
846-
* Message for 202 response
847-
*/
848-
202: ModelWithString;
849-
/**
850-
* Message for 500 error
851-
*/
852-
500: ModelWithStringError;
853-
/**
854-
* Message for 501 error
855-
*/
856-
501: ModelWithStringError;
857-
/**
858-
* Message for 502 error
859-
*/
860-
502: ModelWithStringError;
861-
/**
862-
* Message for default response
863-
*/
864-
default: ModelWithString;
865-
};
866-
};
867-
put: {
868-
res: {
869-
/**
870-
* Message for 200 response
871-
*/
872-
200: {
873-
readonly '@namespace.string'?: string;
874-
readonly '@namespace.integer'?: number;
875-
readonly value?: Array<ModelWithString>;
876-
};
877-
/**
878-
* Message for 201 response
879-
*/
880-
201: ModelThatExtends;
881-
/**
882-
* Message for 202 response
883-
*/
884-
202: ModelThatExtendsExtends;
885-
/**
886-
* Message for 500 error
887-
*/
888-
500: ModelWithStringError;
889-
/**
890-
* Message for 501 error
891-
*/
892-
501: ModelWithStringError;
893-
/**
894-
* Message for 502 error
895-
*/
896-
502: ModelWithStringError;
897-
/**
898-
* Message for default response
899-
*/
900-
default: ModelWithString;
901-
};
902-
};
903-
};
904-
'/api/v{api-version}/multiple-tags/a': {
905-
get: {
906-
res: {
907-
/**
908-
* Success
909-
*/
910-
204: void;
911-
};
912-
};
913-
};
914-
'/api/v{api-version}/multiple-tags/b': {
915-
get: {
916-
res: {
917-
/**
918-
* Success
919-
*/
920-
204: void;
921-
};
922-
};
923-
};
924-
'/api/v{api-version}/collectionFormat': {
925-
get: {
926-
req: CollectionFormatData;
927-
};
928-
};
929-
'/api/v{api-version}/types': {
930-
get: {
931-
req: TypesData;
932-
res: {
933-
/**
934-
* Response is a simple number
935-
*/
936-
200: number;
937-
/**
938-
* Response is a simple string
939-
*/
940-
201: string;
941-
/**
942-
* Response is a simple boolean
943-
*/
944-
202: boolean;
945-
/**
946-
* Response is a simple object
947-
*/
948-
203: unknown;
949-
};
950-
};
951-
};
952-
'/api/v{api-version}/complex': {
953-
get: {
954-
req: ComplexTypesData;
955-
res: {
956-
/**
957-
* Successful response
958-
*/
959-
200: Array<ModelWithString>;
960-
/**
961-
* 400 server error
962-
*/
963-
400: unknown;
964-
/**
965-
* 500 server error
966-
*/
967-
500: unknown;
968-
};
969-
};
970-
};
971-
'/api/v{api-version}/header': {
972-
post: {
973-
res: {
974-
/**
975-
* Successful response
976-
*/
977-
200: string;
978-
/**
979-
* 400 server error
980-
*/
981-
400: unknown;
982-
/**
983-
* 500 server error
984-
*/
985-
500: unknown;
986-
};
987-
};
988-
};
989-
'/api/v{api-version}/error': {
990-
post: {
991-
req: TestErrorCodeData;
992-
res: {
993-
/**
994-
* Custom message: Successful response
995-
*/
996-
200: unknown;
997-
/**
998-
* Custom message: Internal Server Error
999-
*/
1000-
500: unknown;
1001-
/**
1002-
* Custom message: Not Implemented
1003-
*/
1004-
501: unknown;
1005-
/**
1006-
* Custom message: Bad Gateway
1007-
*/
1008-
502: unknown;
1009-
/**
1010-
* Custom message: Service Unavailable
1011-
*/
1012-
503: unknown;
1013-
};
1014-
};
1015-
};
1016-
'/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串': {
1017-
post: {
1018-
req: NonAsciiæøåÆøÅöôêÊ字符串Data;
1019-
res: {
1020-
/**
1021-
* Successful response
1022-
*/
1023-
200: NonAsciiStringæøåÆØÅöôêÊ字符串;
1024-
};
1025-
};
1026-
};
1027-
};
758+
export type NonAsciiæøåÆøÅöôêÊ字符串Response = NonAsciiStringæøåÆØÅöôêÊ字符串;

0 commit comments

Comments
 (0)