@graphql-eslint/eslint-plugin 3.12.0-alpha-20220929103858-c00a837 → 3.12.0-alpha-20220929104135-4ef9ac0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -776,6 +776,14 @@ const rule = {
776
776
  description: 'Definitions – `type`, `interface`, `enum`, `scalar`, `input`, `union` and `directive`.',
777
777
  default: false,
778
778
  },
779
+ ignorePrefix: {
780
+ type: 'array',
781
+ default: [],
782
+ },
783
+ ignoreSuffix: {
784
+ type: 'array',
785
+ default: [],
786
+ },
779
787
  },
780
788
  },
781
789
  },
@@ -834,6 +842,18 @@ const rule = {
834
842
  const prevName = ('alias' in prevNode && ((_c = prevNode.alias) === null || _c === void 0 ? void 0 : _c.value)) ||
835
843
  ('name' in prevNode && ((_d = prevNode.name) === null || _d === void 0 ? void 0 : _d.value));
836
844
  if (prevName) {
845
+ if ((opts.ignorePrefix || []).length > 0) {
846
+ const shouldSkipIgnorePrefix = opts.ignorePrefix.some(prefix => prefix === prevName || prefix === currName || prevName.startsWith(prefix) || currName.startsWith(prefix));
847
+ if (shouldSkipIgnorePrefix) {
848
+ continue;
849
+ }
850
+ }
851
+ if ((opts.ignoreSuffix || []).length > 0) {
852
+ const shouldSkipIgnoreSuffix = opts.ignoreSuffix.some(suffix => suffix === prevName || suffix === currName || prevName.endsWith(suffix) || currName.endsWith(suffix));
853
+ if (shouldSkipIgnoreSuffix) {
854
+ continue;
855
+ }
856
+ }
837
857
  // Compare with lexicographic order
838
858
  const compareResult = prevName.localeCompare(currName);
839
859
  const shouldSort = compareResult === 1;
@@ -1212,32 +1232,6 @@ const rule$3 = {
1212
1232
  fullName
1213
1233
  }
1214
1234
  }
1215
- `,
1216
- },
1217
- {
1218
- title: 'Correct',
1219
- usage: [{ fragment: { style: 'kebab-case', suffix: 'Mutation', prefix: 'mutation.' } }],
1220
- name: 'mutation.add-alert.graphql',
1221
- code: /* GraphQL */ `
1222
- # mutation.add-alert.graphql
1223
- mutation addAlert($input: AddAlertInput!) {
1224
- addAlert(input: $input) {
1225
- ...AlertFields
1226
- }
1227
- }
1228
- `,
1229
- },
1230
- {
1231
- title: 'Correct',
1232
- usage: [{ fragment: { prefix: 'query.' } }],
1233
- name: 'query.me.graphql',
1234
- code: /* GraphQL */ `
1235
- # query.me.graphql
1236
- query me {
1237
- me {
1238
- ...UserFields
1239
- }
1240
- }
1241
1235
  `,
1242
1236
  },
1243
1237
  ],
@@ -1267,7 +1261,6 @@ const rule$3 = {
1267
1261
  properties: {
1268
1262
  style: { enum: CASE_STYLES },
1269
1263
  suffix: { type: 'string' },
1270
- prefix: { type: 'string' },
1271
1264
  },
1272
1265
  },
1273
1266
  },
@@ -1333,13 +1326,13 @@ const rule$3 = {
1333
1326
  option = { style: option };
1334
1327
  }
1335
1328
  const expectedExtension = options.fileExtension || fileExtension;
1336
- let expectedFilename = option.prefix || '';
1329
+ let expectedFilename;
1337
1330
  if (option.style) {
1338
1331
  expectedFilename =
1339
1332
  option.style === 'matchDocumentStyle' ? docName : convertCase(option.style, docName);
1340
1333
  }
1341
1334
  else {
1342
- expectedFilename += filename;
1335
+ expectedFilename = filename;
1343
1336
  }
1344
1337
  expectedFilename += (option.suffix || '') + expectedExtension;
1345
1338
  const filenameWithExtension = filename + expectedExtension;
package/index.mjs CHANGED
@@ -770,6 +770,14 @@ const rule = {
770
770
  description: 'Definitions – `type`, `interface`, `enum`, `scalar`, `input`, `union` and `directive`.',
771
771
  default: false,
772
772
  },
773
+ ignorePrefix: {
774
+ type: 'array',
775
+ default: [],
776
+ },
777
+ ignoreSuffix: {
778
+ type: 'array',
779
+ default: [],
780
+ },
773
781
  },
774
782
  },
775
783
  },
@@ -828,6 +836,18 @@ const rule = {
828
836
  const prevName = ('alias' in prevNode && ((_c = prevNode.alias) === null || _c === void 0 ? void 0 : _c.value)) ||
829
837
  ('name' in prevNode && ((_d = prevNode.name) === null || _d === void 0 ? void 0 : _d.value));
830
838
  if (prevName) {
839
+ if ((opts.ignorePrefix || []).length > 0) {
840
+ const shouldSkipIgnorePrefix = opts.ignorePrefix.some(prefix => prefix === prevName || prefix === currName || prevName.startsWith(prefix) || currName.startsWith(prefix));
841
+ if (shouldSkipIgnorePrefix) {
842
+ continue;
843
+ }
844
+ }
845
+ if ((opts.ignoreSuffix || []).length > 0) {
846
+ const shouldSkipIgnoreSuffix = opts.ignoreSuffix.some(suffix => suffix === prevName || suffix === currName || prevName.endsWith(suffix) || currName.endsWith(suffix));
847
+ if (shouldSkipIgnoreSuffix) {
848
+ continue;
849
+ }
850
+ }
831
851
  // Compare with lexicographic order
832
852
  const compareResult = prevName.localeCompare(currName);
833
853
  const shouldSort = compareResult === 1;
@@ -1206,32 +1226,6 @@ const rule$3 = {
1206
1226
  fullName
1207
1227
  }
1208
1228
  }
1209
- `,
1210
- },
1211
- {
1212
- title: 'Correct',
1213
- usage: [{ fragment: { style: 'kebab-case', suffix: 'Mutation', prefix: 'mutation.' } }],
1214
- name: 'mutation.add-alert.graphql',
1215
- code: /* GraphQL */ `
1216
- # mutation.add-alert.graphql
1217
- mutation addAlert($input: AddAlertInput!) {
1218
- addAlert(input: $input) {
1219
- ...AlertFields
1220
- }
1221
- }
1222
- `,
1223
- },
1224
- {
1225
- title: 'Correct',
1226
- usage: [{ fragment: { prefix: 'query.' } }],
1227
- name: 'query.me.graphql',
1228
- code: /* GraphQL */ `
1229
- # query.me.graphql
1230
- query me {
1231
- me {
1232
- ...UserFields
1233
- }
1234
- }
1235
1229
  `,
1236
1230
  },
1237
1231
  ],
@@ -1261,7 +1255,6 @@ const rule$3 = {
1261
1255
  properties: {
1262
1256
  style: { enum: CASE_STYLES },
1263
1257
  suffix: { type: 'string' },
1264
- prefix: { type: 'string' },
1265
1258
  },
1266
1259
  },
1267
1260
  },
@@ -1327,13 +1320,13 @@ const rule$3 = {
1327
1320
  option = { style: option };
1328
1321
  }
1329
1322
  const expectedExtension = options.fileExtension || fileExtension;
1330
- let expectedFilename = option.prefix || '';
1323
+ let expectedFilename;
1331
1324
  if (option.style) {
1332
1325
  expectedFilename =
1333
1326
  option.style === 'matchDocumentStyle' ? docName : convertCase(option.style, docName);
1334
1327
  }
1335
1328
  else {
1336
- expectedFilename += filename;
1329
+ expectedFilename = filename;
1337
1330
  }
1338
1331
  expectedFilename += (option.suffix || '') + expectedExtension;
1339
1332
  const filenameWithExtension = filename + expectedExtension;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graphql-eslint/eslint-plugin",
3
- "version": "3.12.0-alpha-20220929103858-c00a837",
3
+ "version": "3.12.0-alpha-20220929104135-4ef9ac0",
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];