@graphql-eslint/eslint-plugin 3.11.0-alpha-20220822143702-ea4e67a → 3.11.0-alpha-20220828112016-ee5ae70

Sign up to get free protection for your applications and to get access to all the features.
package/index.js CHANGED
@@ -705,6 +705,14 @@ const rule = {
705
705
  description: 'Definitions – `type`, `interface`, `enum`, `scalar`, `input`, `union` and `directive`.',
706
706
  default: false,
707
707
  },
708
+ ignorePrefix: {
709
+ type: 'array',
710
+ default: [],
711
+ },
712
+ ignoreSuffix: {
713
+ type: 'array',
714
+ default: [],
715
+ },
708
716
  },
709
717
  },
710
718
  },
@@ -759,6 +767,24 @@ const rule = {
759
767
  const prevNode = nodes[i - 1];
760
768
  const prevName = ('alias' in prevNode && ((_c = prevNode.alias) === null || _c === void 0 ? void 0 : _c.value)) || ('name' in prevNode && ((_d = prevNode.name) === null || _d === void 0 ? void 0 : _d.value));
761
769
  if (prevName) {
770
+ if (opts.ignorePrefix.length > 0) {
771
+ const shouldSkipIgnorePrefix = opts.ignorePrefix.some(prefix => prefix === prevName || prefix === currName || prevName.startsWith(prefix) || currName.startsWith(prefix));
772
+ if (shouldSkipIgnorePrefix) {
773
+ continue;
774
+ }
775
+ if (!shouldSkipIgnorePrefix) {
776
+ console.error(`${opts.ignorePrefix} is not match to "${prevName}" or "${currName}"`);
777
+ }
778
+ }
779
+ if (opts.ignoreSuffix.length > 0) {
780
+ const shouldSkipIgnoreSuffix = opts.ignoreSuffix.some(suffix => suffix === prevName || suffix === currName || prevName.endsWith(suffix) || currName.endsWith(suffix));
781
+ if (shouldSkipIgnoreSuffix) {
782
+ continue;
783
+ }
784
+ if (!shouldSkipIgnoreSuffix) {
785
+ console.error(`${opts.ignoreSuffix} is not match to "${prevName}" or "${currName}"`);
786
+ }
787
+ }
762
788
  // Compare with lexicographic order
763
789
  const compareResult = prevName.localeCompare(currName);
764
790
  const shouldSort = compareResult === 1;
@@ -1128,32 +1154,6 @@ const rule$3 = {
1128
1154
  fullName
1129
1155
  }
1130
1156
  }
1131
- `,
1132
- },
1133
- {
1134
- title: 'Correct',
1135
- usage: [{ fragment: { style: 'kebab-case', suffix: 'Mutation', prefix: 'mutation.' } }],
1136
- name: 'mutation.add-alert.graphql',
1137
- code: /* GraphQL */ `
1138
- # mutation.add-alert.graphql
1139
- mutation addAlert($input: AddAlertInput!) {
1140
- addAlert(input: $input) {
1141
- ...AlertFields
1142
- }
1143
- }
1144
- `,
1145
- },
1146
- {
1147
- title: 'Correct',
1148
- usage: [{ fragment: { prefix: 'query.' } }],
1149
- name: 'query.me.graphql',
1150
- code: /* GraphQL */ `
1151
- # query.me.graphql
1152
- query me {
1153
- me {
1154
- ...UserFields
1155
- }
1156
- }
1157
1157
  `,
1158
1158
  },
1159
1159
  ],
@@ -1183,7 +1183,6 @@ const rule$3 = {
1183
1183
  properties: {
1184
1184
  style: { enum: CASE_STYLES },
1185
1185
  suffix: { type: 'string' },
1186
- prefix: { type: 'string' },
1187
1186
  },
1188
1187
  },
1189
1188
  },
@@ -1249,12 +1248,12 @@ const rule$3 = {
1249
1248
  option = { style: option };
1250
1249
  }
1251
1250
  const expectedExtension = options.fileExtension || fileExtension;
1252
- let expectedFilename = option.prefix || '';
1251
+ let expectedFilename;
1253
1252
  if (option.style) {
1254
- expectedFilename += option.style === 'matchDocumentStyle' ? docName : convertCase(option.style, docName);
1253
+ expectedFilename = option.style === 'matchDocumentStyle' ? docName : convertCase(option.style, docName);
1255
1254
  }
1256
1255
  else {
1257
- expectedFilename += filename;
1256
+ expectedFilename = filename;
1258
1257
  }
1259
1258
  expectedFilename += (option.suffix || '') + expectedExtension;
1260
1259
  const filenameWithExtension = filename + expectedExtension;
package/index.mjs CHANGED
@@ -699,6 +699,14 @@ const rule = {
699
699
  description: 'Definitions – `type`, `interface`, `enum`, `scalar`, `input`, `union` and `directive`.',
700
700
  default: false,
701
701
  },
702
+ ignorePrefix: {
703
+ type: 'array',
704
+ default: [],
705
+ },
706
+ ignoreSuffix: {
707
+ type: 'array',
708
+ default: [],
709
+ },
702
710
  },
703
711
  },
704
712
  },
@@ -753,6 +761,24 @@ const rule = {
753
761
  const prevNode = nodes[i - 1];
754
762
  const prevName = ('alias' in prevNode && ((_c = prevNode.alias) === null || _c === void 0 ? void 0 : _c.value)) || ('name' in prevNode && ((_d = prevNode.name) === null || _d === void 0 ? void 0 : _d.value));
755
763
  if (prevName) {
764
+ if (opts.ignorePrefix.length > 0) {
765
+ const shouldSkipIgnorePrefix = opts.ignorePrefix.some(prefix => prefix === prevName || prefix === currName || prevName.startsWith(prefix) || currName.startsWith(prefix));
766
+ if (shouldSkipIgnorePrefix) {
767
+ continue;
768
+ }
769
+ if (!shouldSkipIgnorePrefix) {
770
+ console.error(`${opts.ignorePrefix} is not match to "${prevName}" or "${currName}"`);
771
+ }
772
+ }
773
+ if (opts.ignoreSuffix.length > 0) {
774
+ const shouldSkipIgnoreSuffix = opts.ignoreSuffix.some(suffix => suffix === prevName || suffix === currName || prevName.endsWith(suffix) || currName.endsWith(suffix));
775
+ if (shouldSkipIgnoreSuffix) {
776
+ continue;
777
+ }
778
+ if (!shouldSkipIgnoreSuffix) {
779
+ console.error(`${opts.ignoreSuffix} is not match to "${prevName}" or "${currName}"`);
780
+ }
781
+ }
756
782
  // Compare with lexicographic order
757
783
  const compareResult = prevName.localeCompare(currName);
758
784
  const shouldSort = compareResult === 1;
@@ -1122,32 +1148,6 @@ const rule$3 = {
1122
1148
  fullName
1123
1149
  }
1124
1150
  }
1125
- `,
1126
- },
1127
- {
1128
- title: 'Correct',
1129
- usage: [{ fragment: { style: 'kebab-case', suffix: 'Mutation', prefix: 'mutation.' } }],
1130
- name: 'mutation.add-alert.graphql',
1131
- code: /* GraphQL */ `
1132
- # mutation.add-alert.graphql
1133
- mutation addAlert($input: AddAlertInput!) {
1134
- addAlert(input: $input) {
1135
- ...AlertFields
1136
- }
1137
- }
1138
- `,
1139
- },
1140
- {
1141
- title: 'Correct',
1142
- usage: [{ fragment: { prefix: 'query.' } }],
1143
- name: 'query.me.graphql',
1144
- code: /* GraphQL */ `
1145
- # query.me.graphql
1146
- query me {
1147
- me {
1148
- ...UserFields
1149
- }
1150
- }
1151
1151
  `,
1152
1152
  },
1153
1153
  ],
@@ -1177,7 +1177,6 @@ const rule$3 = {
1177
1177
  properties: {
1178
1178
  style: { enum: CASE_STYLES },
1179
1179
  suffix: { type: 'string' },
1180
- prefix: { type: 'string' },
1181
1180
  },
1182
1181
  },
1183
1182
  },
@@ -1243,12 +1242,12 @@ const rule$3 = {
1243
1242
  option = { style: option };
1244
1243
  }
1245
1244
  const expectedExtension = options.fileExtension || fileExtension;
1246
- let expectedFilename = option.prefix || '';
1245
+ let expectedFilename;
1247
1246
  if (option.style) {
1248
- expectedFilename += option.style === 'matchDocumentStyle' ? docName : convertCase(option.style, docName);
1247
+ expectedFilename = option.style === 'matchDocumentStyle' ? docName : convertCase(option.style, docName);
1249
1248
  }
1250
1249
  else {
1251
- expectedFilename += filename;
1250
+ expectedFilename = filename;
1252
1251
  }
1253
1252
  expectedFilename += (option.suffix || '') + expectedExtension;
1254
1253
  const filenameWithExtension = filename + expectedExtension;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graphql-eslint/eslint-plugin",
3
- "version": "3.11.0-alpha-20220822143702-ea4e67a",
3
+ "version": "3.11.0-alpha-20220828112016-ee5ae70",
4
4
  "description": "GraphQL plugin for ESLint",
5
5
  "sideEffects": false,
6
6
  "peerDependencies": {
@@ -11,6 +11,8 @@ export declare type AlphabetizeConfig = {
11
11
  variables?: typeof variablesEnum;
12
12
  arguments?: typeof argumentsEnum;
13
13
  definitions?: boolean;
14
+ ignorePrefix?: string[];
15
+ ignoreSuffix?: string[];
14
16
  };
15
17
  declare const rule: GraphQLESLintRule<[AlphabetizeConfig]>;
16
18
  export default rule;
@@ -5,7 +5,6 @@ declare const ACCEPTED_EXTENSIONS: ['.gql', '.graphql'];
5
5
  declare type PropertySchema = {
6
6
  style?: CaseStyle;
7
7
  suffix?: string;
8
- prefix?: string;
9
8
  };
10
9
  export declare type MatchDocumentFilenameRuleConfig = {
11
10
  fileExtension?: typeof ACCEPTED_EXTENSIONS[number];