Skip to content

Commit 5d5c965

Browse files
committed
Make default scalar unknown, instead of any
1 parent cda43e2 commit 5d5c965

File tree

13 files changed

+69
-69
lines changed

13 files changed

+69
-69
lines changed

dev-test/test-schema/resolvers-federation.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export type Scalars = {
88
Boolean: { input: boolean; output: boolean };
99
Int: { input: number; output: number };
1010
Float: { input: number; output: number };
11-
_FieldSet: { input: any; output: any };
11+
_FieldSet: { input: unknown; output: unknown };
1212
};
1313

1414
export type Address = {

packages/graphql-codegen-cli/tests/codegen.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -695,7 +695,7 @@ describe('Codegen Executor', () => {
695695
Boolean: { input: boolean; output: boolean; }
696696
Int: { input: number; output: number; }
697697
Float: { input: number; output: number; }
698-
UniqueID: { input: any; output: any; }
698+
UniqueID: { input: unknown; output: unknown; }
699699
};`);
700700
});
701701
});

packages/plugins/other/visitor-plugin-common/src/base-visitor.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ export interface RawConfig {
7070
strictScalars?: boolean;
7171
/**
7272
* @description Allows you to override the type that unknown scalars will have.
73-
* @default any
73+
* @default unknown
7474
*
7575
* @exampleMarkdown
7676
* ```ts filename="codegen.ts"
@@ -82,7 +82,7 @@ export interface RawConfig {
8282
* 'path/to/file': {
8383
* // plugins...
8484
* config: {
85-
* defaultScalarType: 'unknown'
85+
* defaultScalarType: 'any'
8686
* },
8787
* },
8888
* },

packages/plugins/other/visitor-plugin-common/src/utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ export function buildScalarsFromConfig(
269269
schema: GraphQLSchema | undefined,
270270
config: RawConfig,
271271
defaultScalarsMapping: NormalizedScalarsMap = DEFAULT_SCALARS,
272-
defaultScalarType = 'any'
272+
defaultScalarType = 'unknown'
273273
): ParsedScalarsMap {
274274
return buildScalars(
275275
schema,
@@ -283,7 +283,7 @@ export function buildScalars(
283283
schema: GraphQLSchema | undefined,
284284
scalarsMapping: ScalarsMap,
285285
defaultScalarsMapping: NormalizedScalarsMap = DEFAULT_SCALARS,
286-
defaultScalarType: string | null = 'any'
286+
defaultScalarType: string | null = 'unknown'
287287
): ParsedScalarsMap {
288288
const result: ParsedScalarsMap = {};
289289

packages/plugins/typescript/operations/src/visitor.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ export class TypeScriptDocumentsVisitor extends BaseDocumentsVisitor<
269269
}
270270

271271
typePart = usedInputType.tsType; // If the schema is correct, when reversing typeNodes, the first node would be `NamedType`, which means we can safely set it as the base for typePart
272-
if (usedInputType.tsType !== 'any' && !typeNode.isNonNullable) {
272+
if (usedInputType.tsType !== 'any' && usedInputType.tsType !== 'unknown' && !typeNode.isNonNullable) {
273273
typePart += ' | null | undefined';
274274
}
275275
continue;
@@ -408,7 +408,7 @@ export class TypeScriptDocumentsVisitor extends BaseDocumentsVisitor<
408408
usedInputTypes[node.name] = {
409409
type: 'GraphQLScalarType',
410410
node,
411-
tsType: (SCALARS[node.name] || this.config.scalars?.[node.name]?.input.type) ?? 'any',
411+
tsType: (SCALARS[node.name] || this.config.scalars?.[node.name]?.input.type) ?? 'unknown',
412412
};
413413
return;
414414
}

packages/plugins/typescript/operations/tests/__snapshots__/ts-documents.spec.ts.snap

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ exports[`TypeScript Operations Plugin > Issues > #2699 - Issues with multiple in
1818
1919
2020
export type GetEntityBrandDataQuery = { node:
21-
| { __typename: 'Company', active: boolean, id: string, createdAt: any, updatedAt: any, brandData: { active: boolean, browsable: boolean, title: string, alternateTitle: string | null, description: string } | null, createdBy: { id: string, name: string } | null, updatedBy: { id: string, name: string } | null }
22-
| { __typename: 'Theater', active: boolean, id: string, createdAt: any, updatedAt: any, brandData: { active: boolean, browsable: boolean, title: string, alternateTitle: string | null, description: string } | null, createdBy: { id: string, name: string } | null, updatedBy: { id: string, name: string } | null }
23-
| { __typename: 'Movie', id: string, createdAt: any, updatedAt: any, brandData: { active: boolean, browsable: boolean, title: string, alternateTitle: string | null, description: string } | null, createdBy: { id: string, name: string } | null, updatedBy: { id: string, name: string } | null }
24-
| { __typename: 'User', id: string, createdAt: any, updatedAt: any, brandData: { active: boolean, browsable: boolean, title: string, alternateTitle: string | null, description: string } | null, createdBy: { id: string, name: string } | null, updatedBy: { id: string, name: string } | null }
21+
| { __typename: 'Company', active: boolean, id: string, createdAt: unknown, updatedAt: unknown, brandData: { active: boolean, browsable: boolean, title: string, alternateTitle: string | null, description: string } | null, createdBy: { id: string, name: string } | null, updatedBy: { id: string, name: string } | null }
22+
| { __typename: 'Theater', active: boolean, id: string, createdAt: unknown, updatedAt: unknown, brandData: { active: boolean, browsable: boolean, title: string, alternateTitle: string | null, description: string } | null, createdBy: { id: string, name: string } | null, updatedBy: { id: string, name: string } | null }
23+
| { __typename: 'Movie', id: string, createdAt: unknown, updatedAt: unknown, brandData: { active: boolean, browsable: boolean, title: string, alternateTitle: string | null, description: string } | null, createdBy: { id: string, name: string } | null, updatedBy: { id: string, name: string } | null }
24+
| { __typename: 'User', id: string, createdAt: unknown, updatedAt: unknown, brandData: { active: boolean, browsable: boolean, title: string, alternateTitle: string | null, description: string } | null, createdBy: { id: string, name: string } | null, updatedBy: { id: string, name: string } | null }
2525
};
2626
2727
type EntityBrandData_Company_Fragment = { brandData: { active: boolean, browsable: boolean, title: string, alternateTitle: string | null, description: string } | null };
@@ -39,13 +39,13 @@ export type EntityBrandDataFragment =
3939
| EntityBrandData_User_Fragment
4040
;
4141
42-
type ElementMetadata_Company_Fragment = { createdAt: any, updatedAt: any, createdBy: { id: string, name: string } | null, updatedBy: { id: string, name: string } | null };
42+
type ElementMetadata_Company_Fragment = { createdAt: unknown, updatedAt: unknown, createdBy: { id: string, name: string } | null, updatedBy: { id: string, name: string } | null };
4343
44-
type ElementMetadata_Theater_Fragment = { createdAt: any, updatedAt: any, createdBy: { id: string, name: string } | null, updatedBy: { id: string, name: string } | null };
44+
type ElementMetadata_Theater_Fragment = { createdAt: unknown, updatedAt: unknown, createdBy: { id: string, name: string } | null, updatedBy: { id: string, name: string } | null };
4545
46-
type ElementMetadata_Movie_Fragment = { createdAt: any, updatedAt: any, createdBy: { id: string, name: string } | null, updatedBy: { id: string, name: string } | null };
46+
type ElementMetadata_Movie_Fragment = { createdAt: unknown, updatedAt: unknown, createdBy: { id: string, name: string } | null, updatedBy: { id: string, name: string } | null };
4747
48-
type ElementMetadata_User_Fragment = { createdAt: any, updatedAt: any, createdBy: { id: string, name: string } | null, updatedBy: { id: string, name: string } | null };
48+
type ElementMetadata_User_Fragment = { createdAt: unknown, updatedAt: unknown, createdBy: { id: string, name: string } | null, updatedBy: { id: string, name: string } | null };
4949
5050
export type ElementMetadataFragment =
5151
| ElementMetadata_Company_Fragment
@@ -155,9 +155,9 @@ export type AaaQuery = { user:
155155
`;
156156

157157
exports[`TypeScript Operations Plugin > Selection Set > Should have valid __typename usage and split types according to that (with usage) 1`] = `
158-
"type NetRoute_Ipv4Route_Fragment = { __typename: 'IPV4Route', ipv4Address: any | null, ipv4Gateway: any | null };
158+
"type NetRoute_Ipv4Route_Fragment = { __typename: 'IPV4Route', ipv4Address: unknown | null, ipv4Gateway: unknown | null };
159159
160-
type NetRoute_Ipv6Route_Fragment = { __typename: 'IPV6Route', ipv6Address: any | null, ipv6Gateway: any | null };
160+
type NetRoute_Ipv6Route_Fragment = { __typename: 'IPV6Route', ipv6Address: unknown | null, ipv6Gateway: unknown | null };
161161
162162
export type NetRouteFragment =
163163
| NetRoute_Ipv4Route_Fragment
@@ -168,30 +168,30 @@ export type QqQueryVariables = Exact<{ [key: string]: never; }>;
168168
169169
170170
export type QqQuery = { routes: Array<
171-
| { __typename: 'IPV4Route', ipv4Address: any | null, ipv4Gateway: any | null }
172-
| { __typename: 'IPV6Route', ipv6Address: any | null, ipv6Gateway: any | null }
171+
| { __typename: 'IPV4Route', ipv4Address: unknown | null, ipv4Gateway: unknown | null }
172+
| { __typename: 'IPV6Route', ipv6Address: unknown | null, ipv6Gateway: unknown | null }
173173
> };
174174
"
175175
`;
176176

177177
exports[`TypeScript Operations Plugin > Selection Set > Should have valid __typename usage and split types according to that (with usage) 2`] = `
178-
"type NetRoute_Ipv4Route_Fragment = { __typename: 'IPV4Route', ipv4Address: any | null, ipv4Gateway: any | null };
178+
"type NetRoute_Ipv4Route_Fragment = { __typename: 'IPV4Route', ipv4Address: unknown | null, ipv4Gateway: unknown | null };
179179
180-
type NetRoute_Ipv6Route_Fragment = { __typename: 'IPV6Route', ipv6Address: any | null, ipv6Gateway: any | null };
180+
type NetRoute_Ipv6Route_Fragment = { __typename: 'IPV6Route', ipv6Address: unknown | null, ipv6Gateway: unknown | null };
181181
182182
export type NetRouteFragment =
183183
| NetRoute_Ipv4Route_Fragment
184184
| NetRoute_Ipv6Route_Fragment
185185
;
186186
187-
export type TestFragment = { ipv6Address: any | null, ipv6Gateway: any | null };
187+
export type TestFragment = { ipv6Address: unknown | null, ipv6Gateway: unknown | null };
188188
189189
export type QqQueryVariables = Exact<{ [key: string]: never; }>;
190190
191191
192192
export type QqQuery = { routes: Array<
193-
| { __typename: 'IPV4Route', ipv4Address: any | null, ipv4Gateway: any | null }
194-
| { __typename: 'IPV6Route', ipv6Address: any | null, ipv6Gateway: any | null }
193+
| { __typename: 'IPV4Route', ipv4Address: unknown | null, ipv4Gateway: unknown | null }
194+
| { __typename: 'IPV6Route', ipv6Address: unknown | null, ipv6Gateway: unknown | null }
195195
> };
196196
"
197197
`;

packages/plugins/typescript/operations/tests/extract-all-types.spec.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,13 @@ describe('extractAllFieldsToTypes: true', () => {
8484
"type UserFragment_DummyUser = {
8585
__typename: 'DummyUser',
8686
id: string,
87-
joinDate: any
87+
joinDate: unknown
8888
};
8989
9090
type UserFragment_ActiveUser = {
9191
__typename: 'ActiveUser',
9292
id: string,
93-
joinDate: any
93+
joinDate: unknown
9494
};
9595
9696
export type UserFragment =
@@ -101,13 +101,13 @@ describe('extractAllFieldsToTypes: true', () => {
101101
export type MeFragment_ActiveUser_parentUser_DummyUser = {
102102
__typename: 'DummyUser',
103103
id: string,
104-
joinDate: any
104+
joinDate: unknown
105105
};
106106
107107
export type MeFragment_ActiveUser_parentUser_ActiveUser = {
108108
__typename: 'ActiveUser',
109109
id: string,
110-
joinDate: any
110+
joinDate: unknown
111111
};
112112
113113
export type MeFragment_ActiveUser_parentUser =
@@ -118,14 +118,14 @@ describe('extractAllFieldsToTypes: true', () => {
118118
type Me_DummyUser_Fragment = {
119119
__typename: 'DummyUser',
120120
id: string,
121-
joinDate: any
121+
joinDate: unknown
122122
};
123123
124124
type Me_ActiveUser_Fragment = {
125125
__typename: 'ActiveUser',
126126
isActive: boolean,
127127
id: string,
128-
joinDate: any,
128+
joinDate: unknown,
129129
parentUser: MeFragment_ActiveUser_parentUser
130130
};
131131
@@ -137,14 +137,14 @@ describe('extractAllFieldsToTypes: true', () => {
137137
export type OverlappingFieldsMergingTestQuery_me_DummyUser = {
138138
__typename: 'DummyUser',
139139
id: string,
140-
joinDate: any
140+
joinDate: unknown
141141
};
142142
143143
export type OverlappingFieldsMergingTestQuery_me_ActiveUser = {
144144
__typename: 'ActiveUser',
145145
id: string,
146146
isActive: boolean,
147-
joinDate: any,
147+
joinDate: unknown,
148148
parentUser: MeFragment_ActiveUser_parentUser
149149
};
150150
@@ -167,14 +167,14 @@ describe('extractAllFieldsToTypes: true', () => {
167167
export type NestedOverlappingFieldsMergingTestQuery_me_DummyUser = {
168168
__typename: 'DummyUser',
169169
id: string,
170-
joinDate: any
170+
joinDate: unknown
171171
};
172172
173173
export type NestedOverlappingFieldsMergingTestQuery_me_ActiveUser = {
174174
__typename: 'ActiveUser',
175175
isActive: boolean,
176176
id: string,
177-
joinDate: any,
177+
joinDate: unknown,
178178
parentUser: MeFragment_ActiveUser_parentUser
179179
};
180180

packages/plugins/typescript/operations/tests/ts-documents.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2749,7 +2749,7 @@ export type Q2Query = { search: Array<
27492749
expect(content).toMatchInlineSnapshot(
27502750
`
27512751
"export type TestQueryQueryVariables = Exact<{
2752-
test?: any | null;
2752+
test?: unknown | null;
27532753
}>;
27542754
27552755

packages/plugins/typescript/operations/tests/ts-documents.standalone.import-types.spec.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,9 @@ describe('TypeScript Operations Plugin - Import Types', () => {
110110
/** UsersInput Description */
111111
type UsersInput = {
112112
/** UsersInput from */
113-
from?: any;
113+
from?: unknown;
114114
/** UsersInput to */
115-
to?: any;
115+
to?: unknown;
116116
role?: UserRole | null | undefined;
117117
};
118118
@@ -121,7 +121,7 @@ describe('TypeScript Operations Plugin - Import Types', () => {
121121
}>;
122122
123123
124-
export type UserQuery = { user: { id: string, name: string, role: TypeImport.UserRole, createdAt: any } | null };
124+
export type UserQuery = { user: { id: string, name: string, role: TypeImport.UserRole, createdAt: unknown } | null };
125125
126126
export type UsersQueryVariables = Exact<{
127127
input: TypeImport.UsersInput;
@@ -134,8 +134,8 @@ describe('TypeScript Operations Plugin - Import Types', () => {
134134
};
135135
136136
export type UsersWithScalarInputQueryVariables = Exact<{
137-
from: any;
138-
to?: any | null;
137+
from: unknown;
138+
to?: unknown | null;
139139
role?: TypeImport.UserRole | null;
140140
}>;
141141
@@ -254,9 +254,9 @@ describe('TypeScript Operations Plugin - Import Types', () => {
254254
/** UsersInput Description */
255255
type UsersInput = {
256256
/** UsersInput from */
257-
from?: any;
257+
from?: unknown;
258258
/** UsersInput to */
259-
to?: any;
259+
to?: unknown;
260260
role?: UserRole | null | undefined;
261261
};
262262
@@ -265,7 +265,7 @@ describe('TypeScript Operations Plugin - Import Types', () => {
265265
}>;
266266
267267
268-
export type UserQuery = { user: { id: string, name: string, role: TypeImport.UserRole, createdAt: any } | null };
268+
export type UserQuery = { user: { id: string, name: string, role: TypeImport.UserRole, createdAt: unknown } | null };
269269
270270
export type UsersQueryVariables = Exact<{
271271
input: TypeImport.UsersInput;
@@ -278,8 +278,8 @@ describe('TypeScript Operations Plugin - Import Types', () => {
278278
};
279279
280280
export type UsersWithScalarInputQueryVariables = Exact<{
281-
from: any;
282-
to?: any | null;
281+
from: unknown;
282+
to?: unknown | null;
283283
role?: TypeImport.UserRole | null;
284284
}>;
285285

packages/plugins/typescript/operations/tests/ts-documents.standalone.input.spec.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ describe('TypeScript Operations Plugin - Input', () => {
100100
from?: Date | null | undefined;
101101
/** UsersInput to */
102102
to?: Date | null | undefined;
103-
timezone?: any;
103+
timezone?: unknown;
104104
role?: UserRole | null | undefined;
105105
ageRange1?: Array<number | null | undefined> | null | undefined;
106106
ageRange2: Array<number | null | undefined>;
@@ -224,7 +224,7 @@ describe('TypeScript Operations Plugin - Input', () => {
224224
readonly from?: Date | null | undefined;
225225
/** UsersInput to */
226226
readonly to?: Date | null | undefined;
227-
readonly timezone?: any;
227+
readonly timezone?: unknown;
228228
readonly role?: UserRole | null | undefined;
229229
readonly ageRange1?: Array<number | null | undefined> | null | undefined;
230230
readonly ageRange2: Array<number | null | undefined>;
@@ -344,7 +344,7 @@ describe('TypeScript Operations Plugin - Input', () => {
344344
from: Date; to?: never; timezone?: never; role?: never; ageRange1?: never; ageRange3?: never; bestFriend?: never; nestedInput?: never; }
345345
| { from?: never; /** UsersInput to */
346346
to: Date; timezone?: never; role?: never; ageRange1?: never; ageRange3?: never; bestFriend?: never; nestedInput?: never; }
347-
| { from?: never; to?: never; timezone: any; role?: never; ageRange1?: never; ageRange3?: never; bestFriend?: never; nestedInput?: never; }
347+
| { from?: never; to?: never; timezone: unknown; role?: never; ageRange1?: never; ageRange3?: never; bestFriend?: never; nestedInput?: never; }
348348
| { from?: never; to?: never; timezone?: never; role: UserRole; ageRange1?: never; ageRange3?: never; bestFriend?: never; nestedInput?: never; }
349349
| { from?: never; to?: never; timezone?: never; role?: never; ageRange1: Array<number | null | undefined>; ageRange3?: never; bestFriend?: never; nestedInput?: never; }
350350
| { from?: never; to?: never; timezone?: never; role?: never; ageRange1?: never; ageRange3: Array<number>; bestFriend?: never; nestedInput?: never; }

0 commit comments

Comments
 (0)