diff --git a/.changeset/swift-hairs-jam.md b/.changeset/swift-hairs-jam.md new file mode 100644 index 00000000000..8b597bff861 --- /dev/null +++ b/.changeset/swift-hairs-jam.md @@ -0,0 +1,5 @@ +--- +'@graphql-eslint/eslint-plugin': patch +--- + +fix(naming-convention): fix issues with numeric values diff --git a/packages/plugin/src/rules/naming-convention.ts b/packages/plugin/src/rules/naming-convention.ts index c1fffa5e28f..de519f859fd 100644 --- a/packages/plugin/src/rules/naming-convention.ts +++ b/packages/plugin/src/rules/naming-convention.ts @@ -4,8 +4,8 @@ import { GraphQLESLintRule } from '../types'; const formats = { camelCase: /^[a-z][^_]*$/g, PascalCase: /^[A-Z][^_]*$/g, - snake_case: /^[a-z_]*$/g, - UPPER_CASE: /^[A-Z_]*$/g, + snake_case: /^[a-z_][a-z0-9_]*$/g, + UPPER_CASE: /^[A-Z_][A-Z0-9_]*$/g, }; const acceptedStyles: ['camelCase', 'PascalCase', 'snake_case', 'UPPER_CASE'] = [ diff --git a/packages/plugin/tests/naming-convention.spec.ts b/packages/plugin/tests/naming-convention.spec.ts index f54e973acb2..99f2bad40cd 100644 --- a/packages/plugin/tests/naming-convention.spec.ts +++ b/packages/plugin/tests/naming-convention.spec.ts @@ -36,6 +36,14 @@ ruleTester.runGraphQLTests('naming-convention', rule, { code: 'type B { test: String }', options: [{ ObjectTypeDefinition: 'PascalCase' }], }, + { + code: 'type my_test_6_t { test: String }', + options: [{ ObjectTypeDefinition: 'snake_case' }], + }, + { + code: 'type MY_TEST_6_T { test: String }', + options: [{ ObjectTypeDefinition: 'UPPER_CASE' }], + }, { code: 'type B { test: String }', options: [{ leadingUnderscore: 'forbid', trailingUnderscore: 'forbid' }],