diff --git a/packages/plugins/typescript/operations/CHANGELOG.md b/packages/plugins/typescript/operations/CHANGELOG.md index 9c87944a3fd..10161e07836 100644 --- a/packages/plugins/typescript/operations/CHANGELOG.md +++ b/packages/plugins/typescript/operations/CHANGELOG.md @@ -1,5 +1,14 @@ # @graphql-codegen/typescript-operations +## 6.0.4 + +### Patch Changes + +- [#10806](https://github.com/dotansimha/graphql-code-generator/pull/10806) + [`16b9529`](https://github.com/dotansimha/graphql-code-generator/commit/16b95293c36046ed9328bab629c9a2baf4430f5f) + Thanks [@vinassefranche](https://github.com/vinassefranche)! - Fix Array used instead of + ReadonlyArray while immutableTypes config is true + ## 6.0.3 ### Patch Changes diff --git a/packages/plugins/typescript/operations/package.json b/packages/plugins/typescript/operations/package.json index 8007b703cf3..d2b1941596c 100644 --- a/packages/plugins/typescript/operations/package.json +++ b/packages/plugins/typescript/operations/package.json @@ -1,6 +1,6 @@ { "name": "@graphql-codegen/typescript-operations", - "version": "6.0.3", + "version": "6.0.4", "type": "module", "description": "GraphQL Code Generator plugin for generating TypeScript types for GraphQL queries, mutations, subscriptions and fragments", "repository": { diff --git a/packages/plugins/typescript/operations/src/visitor.ts b/packages/plugins/typescript/operations/src/visitor.ts index 6b9e7d3eb95..8f8461b0210 100644 --- a/packages/plugins/typescript/operations/src/visitor.ts +++ b/packages/plugins/typescript/operations/src/visitor.ts @@ -327,7 +327,8 @@ export class TypeScriptDocumentsVisitor extends BaseDocumentsVisitor< } if (typeNode.type === 'ListType') { - typePart = `Array<${typePart}>`; + const listModifier = this.config.immutableTypes ? 'ReadonlyArray' : 'Array'; + typePart = `${listModifier}<${typePart}>`; if (!typeNode.isNonNullable) { typePart = printTypeScriptMaybeType({ type: typePart, diff --git a/packages/plugins/typescript/operations/tests/ts-documents.standalone.input.spec.ts b/packages/plugins/typescript/operations/tests/ts-documents.standalone.input.spec.ts index 9654ad5955f..b4ef422bd22 100644 --- a/packages/plugins/typescript/operations/tests/ts-documents.standalone.input.spec.ts +++ b/packages/plugins/typescript/operations/tests/ts-documents.standalone.input.spec.ts @@ -241,10 +241,10 @@ describe('TypeScript Operations Plugin - Input', () => { readonly to?: Date | null | undefined; readonly timezone?: unknown; readonly role?: UserRole | null | undefined; - readonly ageRange1?: Array | null | undefined; - readonly ageRange2: Array; - readonly ageRange3?: Array | null | undefined; - readonly ageRange4: Array; + readonly ageRange1?: ReadonlyArray | null | undefined; + readonly ageRange2: ReadonlyArray; + readonly ageRange3?: ReadonlyArray | null | undefined; + readonly ageRange4: ReadonlyArray; readonly bestFriend?: UsersBestFriendInput | null | undefined; readonly nestedInput?: UsersInput | null | undefined; };