Remove the ESLint compatibility layer - #8211
Conversation
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Differences in type declarationsWe detected differences in the type declarations generated by Typescript for this branch compared to the baseline ('main' branch). Please, review them to ensure they are backward-compatible. Here are some important things to keep in mind:
New type declarationsWe found no new type declarations in this PR Existing type declarationspackages/cli-kit/dist/cli/api/graphql/admin/generated/find_development_theme_by_name.d.ts@@ -5,12 +5,12 @@ export type FindDevelopmentThemeByNameQueryVariables = Types.Exact<{
}>;
export type FindDevelopmentThemeByNameQuery = {
themes?: {
- nodes: {
+ nodes: Array<{
id: string;
name: string;
role: Types.ThemeRole;
processing: boolean;
- }[];
+ }>;
} | null;
};
export declare const FindDevelopmentThemeByName: DocumentNode<FindDevelopmentThemeByNameQuery, FindDevelopmentThemeByNameQueryVariables>;
\ No newline at end of file
packages/cli-kit/dist/cli/api/graphql/admin/generated/get_theme_file_bodies.d.ts@@ -3,12 +3,12 @@ import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/
export type GetThemeFileBodiesQueryVariables = Types.Exact<{
id: Types.Scalars['ID']['input'];
after?: Types.InputMaybe<Types.Scalars['String']['input']>;
- filenames?: Types.InputMaybe<Types.Scalars['String']['input'][] | Types.Scalars['String']['input']>;
+ filenames?: Types.InputMaybe<Array<Types.Scalars['String']['input']> | Types.Scalars['String']['input']>;
}>;
export type GetThemeFileBodiesQuery = {
theme?: {
files?: {
- nodes: {
+ nodes: Array<{
filename: string;
size: unknown;
checksumMd5?: string | null;
@@ -22,11 +22,11 @@ export type GetThemeFileBodiesQuery = {
__typename: 'OnlineStoreThemeFileBodyUrl';
url: string;
};
- }[];
- userErrors: {
+ }>;
+ userErrors: Array<{
filename: string;
code: Types.OnlineStoreThemeFileResultType;
- }[];
+ }>;
pageInfo: {
hasNextPage: boolean;
endCursor?: string | null;
packages/cli-kit/dist/cli/api/graphql/admin/generated/get_theme_file_checksums.d.ts@@ -7,15 +7,15 @@ export type GetThemeFileChecksumsQueryVariables = Types.Exact<{
export type GetThemeFileChecksumsQuery = {
theme?: {
files?: {
- nodes: {
+ nodes: Array<{
filename: string;
size: unknown;
checksumMd5?: string | null;
- }[];
- userErrors: {
+ }>;
+ userErrors: Array<{
filename: string;
code: Types.OnlineStoreThemeFileResultType;
- }[];
+ }>;
pageInfo: {
hasNextPage: boolean;
endCursor?: string | null;
packages/cli-kit/dist/cli/api/graphql/admin/generated/get_themes.d.ts@@ -5,12 +5,12 @@ export type GetThemesQueryVariables = Types.Exact<{
}>;
export type GetThemesQuery = {
themes?: {
- nodes: {
+ nodes: Array<{
id: string;
name: string;
role: Types.ThemeRole;
processing: boolean;
- }[];
+ }>;
pageInfo: {
hasNextPage: boolean;
endCursor?: string | null;
packages/cli-kit/dist/cli/api/graphql/admin/generated/metafield_definitions_by_owner_type.d.ts@@ -5,7 +5,7 @@ export type MetafieldDefinitionsByOwnerTypeQueryVariables = Types.Exact<{
}>;
export type MetafieldDefinitionsByOwnerTypeQuery = {
metafieldDefinitions: {
- nodes: {
+ nodes: Array<{
key: string;
name: string;
namespace: string;
@@ -14,7 +14,7 @@ export type MetafieldDefinitionsByOwnerTypeQuery = {
category: string;
name: string;
};
- }[];
+ }>;
};
};
export declare const MetafieldDefinitionsByOwnerType: DocumentNode<MetafieldDefinitionsByOwnerTypeQuery, MetafieldDefinitionsByOwnerTypeQueryVariables>;
\ No newline at end of file
packages/cli-kit/dist/cli/api/graphql/admin/generated/public_api_versions.d.ts@@ -4,9 +4,9 @@ export type PublicApiVersionsQueryVariables = Types.Exact<{
[key: string]: never;
}>;
export type PublicApiVersionsQuery = {
- publicApiVersions: {
+ publicApiVersions: Array<{
handle: string;
supported: boolean;
- }[];
+ }>;
};
export declare const PublicApiVersions: DocumentNode<PublicApiVersionsQuery, PublicApiVersionsQueryVariables>;
\ No newline at end of file
packages/cli-kit/dist/cli/api/graphql/admin/generated/theme_create.d.ts@@ -12,10 +12,10 @@ export type ThemeCreateMutation = {
name: string;
role: Types.ThemeRole;
} | null;
- userErrors: {
- field?: string[] | null;
+ userErrors: Array<{
+ field?: Array<string> | null;
message: string;
- }[];
+ }>;
} | null;
};
export declare const ThemeCreate: DocumentNode<ThemeCreateMutation, ThemeCreateMutationVariables>;
\ No newline at end of file
packages/cli-kit/dist/cli/api/graphql/admin/generated/theme_delete.d.ts@@ -6,10 +6,10 @@ export type ThemeDeleteMutationVariables = Types.Exact<{
export type ThemeDeleteMutation = {
themeDelete?: {
deletedThemeId?: string | null;
- userErrors: {
- field?: string[] | null;
+ userErrors: Array<{
+ field?: Array<string> | null;
message: string;
- }[];
+ }>;
} | null;
};
export declare const ThemeDelete: DocumentNode<ThemeDeleteMutation, ThemeDeleteMutationVariables>;
\ No newline at end of file
packages/cli-kit/dist/cli/api/graphql/admin/generated/theme_duplicate.d.ts@@ -11,10 +11,10 @@ export type ThemeDuplicateMutation = {
name: string;
role: Types.ThemeRole;
} | null;
- userErrors: {
- field?: string[] | null;
+ userErrors: Array<{
+ field?: Array<string> | null;
message: string;
- }[];
+ }>;
} | null;
};
export declare const ThemeDuplicate: DocumentNode<ThemeDuplicateMutation, ThemeDuplicateMutationVariables>;
\ No newline at end of file
packages/cli-kit/dist/cli/api/graphql/admin/generated/theme_files_delete.d.ts@@ -2,18 +2,18 @@ import * as Types from './types.js';
import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
export type ThemeFilesDeleteMutationVariables = Types.Exact<{
themeId: Types.Scalars['ID']['input'];
- files: Types.Scalars['String']['input'][] | Types.Scalars['String']['input'];
+ files: Array<Types.Scalars['String']['input']> | Types.Scalars['String']['input'];
}>;
export type ThemeFilesDeleteMutation = {
themeFilesDelete?: {
- deletedThemeFiles?: {
+ deletedThemeFiles?: Array<{
filename: string;
- }[] | null;
- userErrors: {
+ }> | null;
+ userErrors: Array<{
filename?: string | null;
code?: Types.OnlineStoreThemeFilesUserErrorsCode | null;
message: string;
- }[];
+ }>;
} | null;
};
export declare const ThemeFilesDelete: DocumentNode<ThemeFilesDeleteMutation, ThemeFilesDeleteMutationVariables>;
\ No newline at end of file
packages/cli-kit/dist/cli/api/graphql/admin/generated/theme_files_upsert.d.ts@@ -1,18 +1,18 @@
import * as Types from './types.js';
import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
export type ThemeFilesUpsertMutationVariables = Types.Exact<{
- files: Types.OnlineStoreThemeFilesUpsertFileInput[] | Types.OnlineStoreThemeFilesUpsertFileInput;
+ files: Array<Types.OnlineStoreThemeFilesUpsertFileInput> | Types.OnlineStoreThemeFilesUpsertFileInput;
themeId: Types.Scalars['ID']['input'];
}>;
export type ThemeFilesUpsertMutation = {
themeFilesUpsert?: {
- upsertedThemeFiles?: {
+ upsertedThemeFiles?: Array<{
filename: string;
- }[] | null;
- userErrors: {
+ }> | null;
+ userErrors: Array<{
filename?: string | null;
message: string;
- }[];
+ }>;
} | null;
};
export declare const ThemeFilesUpsert: DocumentNode<ThemeFilesUpsertMutation, ThemeFilesUpsertMutationVariables>;
\ No newline at end of file
packages/cli-kit/dist/cli/api/graphql/admin/generated/theme_publish.d.ts@@ -10,10 +10,10 @@ export type ThemePublishMutation = {
name: string;
role: Types.ThemeRole;
} | null;
- userErrors: {
- field?: string[] | null;
+ userErrors: Array<{
+ field?: Array<string> | null;
message: string;
- }[];
+ }>;
} | null;
};
export declare const ThemePublish: DocumentNode<ThemePublishMutation, ThemePublishMutationVariables>;
\ No newline at end of file
packages/cli-kit/dist/cli/api/graphql/admin/generated/theme_update.d.ts@@ -11,10 +11,10 @@ export type ThemeUpdateMutation = {
name: string;
role: Types.ThemeRole;
} | null;
- userErrors: {
- field?: string[] | null;
+ userErrors: Array<{
+ field?: Array<string> | null;
message: string;
- }[];
+ }>;
} | null;
};
export declare const ThemeUpdate: DocumentNode<ThemeUpdateMutation, ThemeUpdateMutationVariables>;
\ No newline at end of file
packages/cli-kit/dist/cli/api/graphql/bulk-operations/generated/bulk-operation-cancel.d.ts@@ -19,10 +19,10 @@ export type BulkOperationCancelMutation = {
type: Types.BulkOperationType;
url?: string | null;
} | null;
- userErrors: {
- field?: string[] | null;
+ userErrors: Array<{
+ field?: Array<string> | null;
message: string;
- }[];
+ }>;
} | null;
};
export declare const BulkOperationCancel: DocumentNode<BulkOperationCancelMutation, BulkOperationCancelMutationVariables>;
\ No newline at end of file
packages/cli-kit/dist/cli/api/graphql/bulk-operations/generated/bulk-operation-run-mutation.d.ts@@ -18,11 +18,11 @@ export type BulkOperationRunMutationMutation = {
status: Types.BulkOperationStatus;
url?: string | null;
} | null;
- userErrors: {
+ userErrors: Array<{
code?: Types.BulkMutationErrorCode | null;
- field?: string[] | null;
+ field?: Array<string> | null;
message: string;
- }[];
+ }>;
} | null;
};
export declare const BulkOperationRunMutation: DocumentNode<BulkOperationRunMutationMutation, BulkOperationRunMutationMutationVariables>;
\ No newline at end of file
packages/cli-kit/dist/cli/api/graphql/bulk-operations/generated/bulk-operation-run-query.d.ts@@ -16,11 +16,11 @@ export type BulkOperationRunQueryMutation = {
status: Types.BulkOperationStatus;
url?: string | null;
} | null;
- userErrors: {
+ userErrors: Array<{
code?: Types.BulkOperationUserErrorCode | null;
- field?: string[] | null;
+ field?: Array<string> | null;
message: string;
- }[];
+ }>;
} | null;
};
export declare const BulkOperationRunQuery: DocumentNode<BulkOperationRunQueryMutation, BulkOperationRunQueryMutationVariables>;
\ No newline at end of file
packages/cli-kit/dist/cli/api/graphql/bulk-operations/generated/list-bulk-operations.d.ts@@ -7,7 +7,7 @@ export type ListBulkOperationsQueryVariables = Types.Exact<{
}>;
export type ListBulkOperationsQuery = {
bulkOperations: {
- nodes: {
+ nodes: Array<{
id: string;
status: Types.BulkOperationStatus;
errorCode?: Types.BulkOperationErrorCode | null;
@@ -16,7 +16,7 @@ export type ListBulkOperationsQuery = {
completedAt?: unknown | null;
url?: string | null;
partialDataUrl?: string | null;
- }[];
+ }>;
};
};
export declare const ListBulkOperations: DocumentNode<ListBulkOperationsQuery, ListBulkOperationsQueryVariables>;
\ No newline at end of file
packages/cli-kit/dist/cli/api/graphql/bulk-operations/generated/staged-uploads-create.d.ts@@ -1,22 +1,22 @@
import * as Types from './types.js';
import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
export type StagedUploadsCreateMutationVariables = Types.Exact<{
- input: Types.StagedUploadInput[] | Types.StagedUploadInput;
+ input: Array<Types.StagedUploadInput> | Types.StagedUploadInput;
}>;
export type StagedUploadsCreateMutation = {
stagedUploadsCreate?: {
- stagedTargets?: {
+ stagedTargets?: Array<{
url?: string | null;
resourceUrl?: string | null;
- parameters: {
+ parameters: Array<{
name: string;
value: string;
- }[];
- }[] | null;
- userErrors: {
- field?: string[] | null;
+ }>;
+ }> | null;
+ userErrors: Array<{
+ field?: Array<string> | null;
message: string;
- }[];
+ }>;
} | null;
};
export declare const StagedUploadsCreate: DocumentNode<StagedUploadsCreateMutation, StagedUploadsCreateMutationVariables>;
\ No newline at end of file
|
|
This PR seems inactive. If it's still relevant, please add a comment saying so. Otherwise, take no action. |

WHY are these changes introduced?
The preceding PRs make Oxlint the primary linter and close the rule-parity gaps we can preserve. Keeping ESLint as a compatibility pass after that point retains most of its dependency and runtime cost.
Measured on warm macOS arm64 runs across the full stack:
WHAT is this pull request doing?
This intentionally drops rules Oxlint cannot currently enforce, notably Nx module boundaries, some JSDoc checks, naming/member ordering, import ordering, and deprecated stylistic rules. The earlier stack layers preserve the supported correctness, type-aware, Vitest, promise, and CLI-specific rules.
No changeset is included because this changes internal development tooling rather than shipped CLI behavior.
How to test your changes?
pnpm install --frozen-lockfilepnpm lintpnpm type-checkpnpm knippnpm testpnpm graphql-codegentwice and confirm the second run leaves no additional diff.Local validation passed 5,000 tests across 504 test files, with one skipped test. Two consecutive GraphQL codegen runs produced identical output.
Checklist