@graphql-eslint/eslint-plugin 4.0.0-alpha-20220821140530-e968cfc → 4.0.0-alpha-20230801163310-8bc4340
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/LICENSE +21 -0
- package/README.md +13 -253
- package/cjs/cache.d.ts +12 -0
- package/cjs/cache.js +62 -0
- package/cjs/configs/index.d.ts +148 -0
- package/cjs/configs/index.js +49 -0
- package/cjs/configs/operations-all.d.ts +22 -0
- package/cjs/configs/operations-all.js +27 -0
- package/cjs/configs/operations-recommended.d.ts +52 -0
- package/{configs/operations-recommended.json → cjs/configs/operations-recommended.js} +16 -14
- package/cjs/configs/relay.d.ts +12 -0
- package/{configs/relay.json → cjs/configs/relay.js} +6 -4
- package/cjs/configs/schema-all.d.ts +19 -0
- package/cjs/configs/schema-all.js +21 -0
- package/cjs/configs/schema-recommended.d.ts +49 -0
- package/{configs/schema-recommended.json → cjs/configs/schema-recommended.js} +19 -20
- package/cjs/documents.d.ts +6 -0
- package/cjs/documents.js +81 -0
- package/cjs/estree-converter/converter.d.ts +8 -0
- package/cjs/estree-converter/converter.js +83 -0
- package/cjs/estree-converter/index.d.ts +8 -0
- package/cjs/estree-converter/index.js +26 -0
- package/cjs/estree-converter/types.d.ts +42 -0
- package/cjs/estree-converter/types.js +16 -0
- package/cjs/estree-converter/utils.d.ts +18 -0
- package/cjs/estree-converter/utils.js +135 -0
- package/cjs/flat-configs.d.ts +260 -0
- package/cjs/flat-configs.js +60 -0
- package/cjs/graphql-config.d.ts +13 -0
- package/cjs/graphql-config.js +86 -0
- package/cjs/index.d.ts +22 -0
- package/cjs/index.js +49 -0
- package/cjs/parser.d.ts +12 -0
- package/cjs/parser.js +103 -0
- package/cjs/processor.d.ts +9 -0
- package/cjs/processor.js +127 -0
- package/cjs/rules/alphabetize.d.ts +84 -0
- package/cjs/rules/alphabetize.js +395 -0
- package/cjs/rules/description-style.d.ts +28 -0
- package/cjs/rules/description-style.js +109 -0
- package/cjs/rules/graphql-js-validation.d.ts +12 -0
- package/cjs/rules/graphql-js-validation.js +669 -0
- package/cjs/rules/index.d.ts +125 -0
- package/cjs/rules/index.js +99 -0
- package/cjs/rules/input-name.d.ts +43 -0
- package/cjs/rules/input-name.js +170 -0
- package/cjs/rules/lone-executable-definition.d.ts +34 -0
- package/cjs/rules/lone-executable-definition.js +119 -0
- package/cjs/rules/match-document-filename.d.ts +80 -0
- package/cjs/rules/match-document-filename.js +282 -0
- package/cjs/rules/naming-convention.d.ts +107 -0
- package/cjs/rules/naming-convention.js +434 -0
- package/cjs/rules/no-anonymous-operations.d.ts +12 -0
- package/cjs/rules/no-anonymous-operations.js +98 -0
- package/cjs/rules/no-case-insensitive-enum-values-duplicates.d.ts +12 -0
- package/cjs/rules/no-case-insensitive-enum-values-duplicates.js +96 -0
- package/cjs/rules/no-deprecated.d.ts +12 -0
- package/cjs/rules/no-deprecated.js +157 -0
- package/cjs/rules/no-duplicate-fields.d.ts +12 -0
- package/cjs/rules/no-duplicate-fields.js +146 -0
- package/cjs/rules/no-hashtag-description.d.ts +13 -0
- package/cjs/rules/no-hashtag-description.js +140 -0
- package/cjs/rules/no-one-place-fragments.d.ts +12 -0
- package/cjs/rules/no-one-place-fragments.js +113 -0
- package/cjs/rules/no-root-type.d.ts +33 -0
- package/cjs/rules/no-root-type.js +113 -0
- package/cjs/rules/no-scalar-result-type-on-mutation.d.ts +12 -0
- package/cjs/rules/no-scalar-result-type-on-mutation.js +100 -0
- package/cjs/rules/no-typename-prefix.d.ts +12 -0
- package/cjs/rules/no-typename-prefix.js +98 -0
- package/cjs/rules/no-unreachable-types.d.ts +12 -0
- package/cjs/rules/no-unreachable-types.js +199 -0
- package/cjs/rules/no-unused-fields.d.ts +12 -0
- package/cjs/rules/no-unused-fields.js +157 -0
- package/cjs/rules/relay-arguments.d.ts +29 -0
- package/cjs/rules/relay-arguments.js +149 -0
- package/cjs/rules/relay-connection-types.d.ts +13 -0
- package/cjs/rules/relay-connection-types.js +142 -0
- package/cjs/rules/relay-edge-types.d.ts +39 -0
- package/cjs/rules/relay-edge-types.js +212 -0
- package/cjs/rules/relay-page-info.d.ts +12 -0
- package/cjs/rules/relay-page-info.js +121 -0
- package/cjs/rules/require-deprecation-date.d.ts +26 -0
- package/cjs/rules/require-deprecation-date.js +164 -0
- package/cjs/rules/require-deprecation-reason.d.ts +12 -0
- package/cjs/rules/require-deprecation-reason.js +93 -0
- package/cjs/rules/require-description.d.ts +23 -0
- package/cjs/rules/require-description.js +205 -0
- package/cjs/rules/require-field-of-type-query-in-mutation-result.d.ts +12 -0
- package/cjs/rules/require-field-of-type-query-in-mutation-result.js +102 -0
- package/cjs/rules/require-id-when-available.d.ts +44 -0
- package/cjs/rules/require-id-when-available.js +241 -0
- package/cjs/rules/require-import-fragment.d.ts +12 -0
- package/cjs/rules/require-import-fragment.js +166 -0
- package/cjs/rules/require-nullable-fields-with-oneof.d.ts +12 -0
- package/cjs/rules/require-nullable-fields-with-oneof.js +92 -0
- package/cjs/rules/require-nullable-result-in-root.d.ts +12 -0
- package/cjs/rules/require-nullable-result-in-root.js +109 -0
- package/cjs/rules/require-type-pattern-with-oneof.d.ts +12 -0
- package/cjs/rules/require-type-pattern-with-oneof.js +91 -0
- package/cjs/rules/selection-set-depth.d.ts +36 -0
- package/cjs/rules/selection-set-depth.js +175 -0
- package/cjs/rules/strict-id-in-types.d.ts +65 -0
- package/cjs/rules/strict-id-in-types.js +186 -0
- package/cjs/rules/unique-fragment-name.d.ts +13 -0
- package/cjs/rules/unique-fragment-name.js +118 -0
- package/cjs/rules/unique-operation-name.d.ts +12 -0
- package/cjs/rules/unique-operation-name.js +95 -0
- package/cjs/schema.d.ts +12 -0
- package/cjs/schema.js +65 -0
- package/cjs/siblings.d.ts +8 -0
- package/cjs/siblings.js +136 -0
- package/cjs/types-8d5f4ae0.d.ts +107 -0
- package/cjs/types.d.ts +8 -0
- package/cjs/types.js +16 -0
- package/cjs/utils.d.ts +44 -0
- package/cjs/utils.js +205 -0
- package/esm/cache.d.mts +12 -0
- package/esm/cache.js +29 -0
- package/esm/chunk-BMTV3EA2.js +8 -0
- package/esm/configs/index.d.mts +148 -0
- package/esm/configs/index.js +16 -0
- package/esm/configs/operations-all.d.mts +22 -0
- package/esm/configs/operations-all.js +34 -0
- package/esm/configs/operations-recommended.d.mts +52 -0
- package/esm/configs/operations-recommended.js +59 -0
- package/esm/configs/relay.d.mts +12 -0
- package/esm/configs/relay.js +18 -0
- package/esm/configs/schema-all.d.mts +19 -0
- package/esm/configs/schema-all.js +28 -0
- package/esm/configs/schema-recommended.d.mts +49 -0
- package/esm/configs/schema-recommended.js +55 -0
- package/esm/documents.d.mts +6 -0
- package/esm/documents.js +48 -0
- package/esm/estree-converter/converter.d.mts +8 -0
- package/esm/estree-converter/converter.js +65 -0
- package/esm/estree-converter/index.d.mts +8 -0
- package/esm/estree-converter/index.js +3 -0
- package/esm/estree-converter/types.d.mts +42 -0
- package/esm/estree-converter/types.js +0 -0
- package/esm/estree-converter/utils.d.mts +18 -0
- package/esm/estree-converter/utils.js +114 -0
- package/esm/flat-configs.d.mts +260 -0
- package/esm/flat-configs.js +37 -0
- package/esm/graphql-config.d.mts +13 -0
- package/esm/graphql-config.js +55 -0
- package/esm/index.d.mts +22 -0
- package/esm/index.js +18 -0
- package/esm/package.json +1 -0
- package/esm/parser.d.mts +12 -0
- package/esm/parser.js +70 -0
- package/esm/processor.d.mts +9 -0
- package/esm/processor.js +106 -0
- package/esm/rules/alphabetize.d.mts +84 -0
- package/esm/rules/alphabetize.js +364 -0
- package/esm/rules/description-style.d.mts +28 -0
- package/esm/rules/description-style.js +86 -0
- package/esm/rules/graphql-js-validation.d.mts +12 -0
- package/esm/rules/graphql-js-validation.js +658 -0
- package/esm/rules/index.d.mts +125 -0
- package/esm/rules/index.js +76 -0
- package/esm/rules/input-name.d.mts +43 -0
- package/esm/rules/input-name.js +149 -0
- package/esm/rules/lone-executable-definition.d.mts +34 -0
- package/esm/rules/lone-executable-definition.js +96 -0
- package/esm/rules/match-document-filename.d.mts +80 -0
- package/esm/rules/match-document-filename.js +263 -0
- package/esm/rules/naming-convention.d.mts +107 -0
- package/esm/rules/naming-convention.js +417 -0
- package/esm/rules/no-anonymous-operations.d.mts +12 -0
- package/esm/rules/no-anonymous-operations.js +75 -0
- package/esm/rules/no-case-insensitive-enum-values-duplicates.d.mts +12 -0
- package/esm/rules/no-case-insensitive-enum-values-duplicates.js +73 -0
- package/esm/rules/no-deprecated.d.mts +12 -0
- package/esm/rules/no-deprecated.js +134 -0
- package/esm/rules/no-duplicate-fields.d.mts +12 -0
- package/esm/rules/no-duplicate-fields.js +123 -0
- package/esm/rules/no-hashtag-description.d.mts +13 -0
- package/esm/rules/no-hashtag-description.js +116 -0
- package/esm/rules/no-one-place-fragments.d.mts +12 -0
- package/esm/rules/no-one-place-fragments.js +90 -0
- package/esm/rules/no-root-type.d.mts +33 -0
- package/esm/rules/no-root-type.js +90 -0
- package/esm/rules/no-scalar-result-type-on-mutation.d.mts +12 -0
- package/esm/rules/no-scalar-result-type-on-mutation.js +77 -0
- package/esm/rules/no-typename-prefix.d.mts +12 -0
- package/esm/rules/no-typename-prefix.js +75 -0
- package/esm/rules/no-unreachable-types.d.mts +12 -0
- package/esm/rules/no-unreachable-types.js +171 -0
- package/esm/rules/no-unused-fields.d.mts +12 -0
- package/esm/rules/no-unused-fields.js +134 -0
- package/esm/rules/relay-arguments.d.mts +29 -0
- package/esm/rules/relay-arguments.js +126 -0
- package/esm/rules/relay-connection-types.d.mts +13 -0
- package/esm/rules/relay-connection-types.js +118 -0
- package/esm/rules/relay-edge-types.d.mts +39 -0
- package/esm/rules/relay-edge-types.js +194 -0
- package/esm/rules/relay-page-info.d.mts +12 -0
- package/esm/rules/relay-page-info.js +98 -0
- package/esm/rules/require-deprecation-date.d.mts +26 -0
- package/esm/rules/require-deprecation-date.js +141 -0
- package/esm/rules/require-deprecation-reason.d.mts +12 -0
- package/esm/rules/require-deprecation-reason.js +70 -0
- package/esm/rules/require-description.d.mts +23 -0
- package/esm/rules/require-description.js +186 -0
- package/esm/rules/require-field-of-type-query-in-mutation-result.d.mts +12 -0
- package/esm/rules/require-field-of-type-query-in-mutation-result.js +79 -0
- package/esm/rules/require-id-when-available.d.mts +44 -0
- package/esm/rules/require-id-when-available.js +231 -0
- package/esm/rules/require-import-fragment.d.mts +12 -0
- package/esm/rules/require-import-fragment.js +133 -0
- package/esm/rules/require-nullable-fields-with-oneof.d.mts +12 -0
- package/esm/rules/require-nullable-fields-with-oneof.js +69 -0
- package/esm/rules/require-nullable-result-in-root.d.mts +12 -0
- package/esm/rules/require-nullable-result-in-root.js +86 -0
- package/esm/rules/require-type-pattern-with-oneof.d.mts +12 -0
- package/esm/rules/require-type-pattern-with-oneof.js +68 -0
- package/esm/rules/selection-set-depth.d.mts +36 -0
- package/esm/rules/selection-set-depth.js +142 -0
- package/esm/rules/strict-id-in-types.d.mts +65 -0
- package/esm/rules/strict-id-in-types.js +169 -0
- package/esm/rules/unique-fragment-name.d.mts +13 -0
- package/esm/rules/unique-fragment-name.js +94 -0
- package/esm/rules/unique-operation-name.d.mts +12 -0
- package/esm/rules/unique-operation-name.js +72 -0
- package/esm/schema.d.mts +12 -0
- package/esm/schema.js +32 -0
- package/esm/siblings.d.mts +8 -0
- package/esm/siblings.js +116 -0
- package/esm/types-ace77d86.d.ts +107 -0
- package/esm/types.d.mts +8 -0
- package/esm/types.js +0 -0
- package/esm/utils.d.mts +44 -0
- package/esm/utils.js +155 -0
- package/package.json +47 -34
- package/configs/base.json +0 -4
- package/configs/operations-all.json +0 -24
- package/configs/schema-all.json +0 -26
- package/docs/README.md +0 -75
- package/docs/custom-rules.md +0 -148
- package/docs/deprecated-rules.md +0 -21
- package/docs/parser-options.md +0 -85
- package/docs/parser.md +0 -49
- package/docs/rules/alphabetize.md +0 -178
- package/docs/rules/description-style.md +0 -54
- package/docs/rules/executable-definitions.md +0 -17
- package/docs/rules/fields-on-correct-type.md +0 -17
- package/docs/rules/fragments-on-composite-type.md +0 -17
- package/docs/rules/input-name.md +0 -76
- package/docs/rules/known-argument-names.md +0 -17
- package/docs/rules/known-directives.md +0 -44
- package/docs/rules/known-fragment-names.md +0 -69
- package/docs/rules/known-type-names.md +0 -17
- package/docs/rules/lone-anonymous-operation.md +0 -17
- package/docs/rules/lone-schema-definition.md +0 -17
- package/docs/rules/match-document-filename.md +0 -156
- package/docs/rules/naming-convention.md +0 -300
- package/docs/rules/no-anonymous-operations.md +0 -39
- package/docs/rules/no-case-insensitive-enum-values-duplicates.md +0 -43
- package/docs/rules/no-deprecated.md +0 -85
- package/docs/rules/no-duplicate-fields.md +0 -65
- package/docs/rules/no-fragment-cycles.md +0 -17
- package/docs/rules/no-hashtag-description.md +0 -59
- package/docs/rules/no-root-type.md +0 -53
- package/docs/rules/no-scalar-result-type-on-mutation.md +0 -37
- package/docs/rules/no-typename-prefix.md +0 -39
- package/docs/rules/no-undefined-variables.md +0 -17
- package/docs/rules/no-unreachable-types.md +0 -49
- package/docs/rules/no-unused-fields.md +0 -62
- package/docs/rules/no-unused-fragments.md +0 -17
- package/docs/rules/no-unused-variables.md +0 -17
- package/docs/rules/one-field-subscriptions.md +0 -17
- package/docs/rules/overlapping-fields-can-be-merged.md +0 -17
- package/docs/rules/possible-fragment-spread.md +0 -17
- package/docs/rules/possible-type-extension.md +0 -15
- package/docs/rules/provided-required-arguments.md +0 -17
- package/docs/rules/relay-arguments.md +0 -57
- package/docs/rules/relay-connection-types.md +0 -42
- package/docs/rules/relay-edge-types.md +0 -56
- package/docs/rules/relay-page-info.md +0 -32
- package/docs/rules/require-deprecation-date.md +0 -56
- package/docs/rules/require-deprecation-reason.md +0 -47
- package/docs/rules/require-description.md +0 -115
- package/docs/rules/require-field-of-type-query-in-mutation-result.md +0 -47
- package/docs/rules/require-id-when-available.md +0 -88
- package/docs/rules/scalar-leafs.md +0 -17
- package/docs/rules/selection-set-depth.md +0 -76
- package/docs/rules/strict-id-in-types.md +0 -130
- package/docs/rules/unique-argument-names.md +0 -17
- package/docs/rules/unique-directive-names-per-location.md +0 -17
- package/docs/rules/unique-directive-names.md +0 -17
- package/docs/rules/unique-enum-value-names.md +0 -15
- package/docs/rules/unique-field-definition-names.md +0 -17
- package/docs/rules/unique-fragment-name.md +0 -51
- package/docs/rules/unique-input-field-names.md +0 -17
- package/docs/rules/unique-operation-name.md +0 -55
- package/docs/rules/unique-operation-types.md +0 -17
- package/docs/rules/unique-type-names.md +0 -17
- package/docs/rules/unique-variable-names.md +0 -17
- package/docs/rules/value-literals-of-correct-type.md +0 -17
- package/docs/rules/variables-are-input-types.md +0 -17
- package/docs/rules/variables-in-allowed-position.md +0 -17
- package/estree-converter/converter.d.ts +0 -3
- package/estree-converter/index.d.ts +0 -3
- package/estree-converter/types.d.ts +0 -40
- package/estree-converter/utils.d.ts +0 -13
- package/graphql-config.d.ts +0 -3
- package/index.d.ts +0 -16
- package/index.js +0 -4653
- package/index.mjs +0 -4641
- package/parser.d.ts +0 -2
- package/processor.d.ts +0 -7
- package/rules/alphabetize.d.ts +0 -16
- package/rules/description-style.d.ts +0 -6
- package/rules/graphql-js-validation.d.ts +0 -2
- package/rules/index.d.ts +0 -41
- package/rules/input-name.d.ts +0 -9
- package/rules/match-document-filename.d.ts +0 -18
- package/rules/naming-convention.d.ts +0 -37
- package/rules/no-anonymous-operations.d.ts +0 -3
- package/rules/no-case-insensitive-enum-values-duplicates.d.ts +0 -3
- package/rules/no-deprecated.d.ts +0 -3
- package/rules/no-duplicate-fields.d.ts +0 -3
- package/rules/no-hashtag-description.d.ts +0 -3
- package/rules/no-root-type.d.ts +0 -7
- package/rules/no-scalar-result-type-on-mutation.d.ts +0 -3
- package/rules/no-typename-prefix.d.ts +0 -3
- package/rules/no-unreachable-types.d.ts +0 -3
- package/rules/no-unused-fields.d.ts +0 -3
- package/rules/relay-arguments.d.ts +0 -6
- package/rules/relay-connection-types.d.ts +0 -5
- package/rules/relay-edge-types.d.ts +0 -8
- package/rules/relay-page-info.d.ts +0 -3
- package/rules/require-deprecation-date.d.ts +0 -5
- package/rules/require-deprecation-reason.d.ts +0 -3
- package/rules/require-description.d.ts +0 -11
- package/rules/require-field-of-type-query-in-mutation-result.d.ts +0 -3
- package/rules/require-id-when-available.d.ts +0 -6
- package/rules/selection-set-depth.d.ts +0 -7
- package/rules/strict-id-in-types.d.ts +0 -11
- package/rules/unique-fragment-name.d.ts +0 -6
- package/rules/unique-operation-name.d.ts +0 -3
- package/schema.d.ts +0 -3
- package/sibling-operations.d.ts +0 -21
- package/testkit.d.ts +0 -27
- package/types.d.ts +0 -79
- package/utils.d.ts +0 -39
package/cjs/parser.js
ADDED
@@ -0,0 +1,103 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __create = Object.create;
|
3
|
+
var __defProp = Object.defineProperty;
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
8
|
+
var __export = (target, all) => {
|
9
|
+
for (var name in all)
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
11
|
+
};
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
14
|
+
for (let key of __getOwnPropNames(from))
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
17
|
+
}
|
18
|
+
return to;
|
19
|
+
};
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
26
|
+
mod
|
27
|
+
));
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
29
|
+
var parser_exports = {};
|
30
|
+
__export(parser_exports, {
|
31
|
+
parseForESLint: () => parseForESLint
|
32
|
+
});
|
33
|
+
module.exports = __toCommonJS(parser_exports);
|
34
|
+
var import_utils = require("@graphql-tools/utils");
|
35
|
+
var import_debug = __toESM(require("debug"));
|
36
|
+
var import_graphql = require("graphql");
|
37
|
+
var import_estree_converter = require("./estree-converter/index.js");
|
38
|
+
var import_graphql_config = require("./graphql-config.js");
|
39
|
+
var import_schema = require("./schema.js");
|
40
|
+
var import_siblings = require("./siblings.js");
|
41
|
+
var import_utils2 = require("./utils.js");
|
42
|
+
const debug = (0, import_debug.default)("graphql-eslint:parser");
|
43
|
+
debug("cwd %o", import_utils2.CWD);
|
44
|
+
function parseForESLint(code, options) {
|
45
|
+
var _a, _b;
|
46
|
+
try {
|
47
|
+
const { filePath } = options;
|
48
|
+
options.documents || (options.documents = options.operations);
|
49
|
+
const { document } = (0, import_utils.parseGraphQLSDL)(filePath, code, {
|
50
|
+
...options.graphQLParserOptions,
|
51
|
+
noLocation: false
|
52
|
+
});
|
53
|
+
const gqlConfig = (0, import_graphql_config.loadGraphQLConfig)(options);
|
54
|
+
const realFilepath = filePath.replace(import_utils2.VIRTUAL_DOCUMENT_REGEX, "");
|
55
|
+
const project = gqlConfig.getProjectForFile(realFilepath);
|
56
|
+
let schema = null;
|
57
|
+
try {
|
58
|
+
schema = project ? (0, import_schema.getSchema)(project, options.schemaOptions) : typeof options.schema === "string" ? (0, import_graphql.buildSchema)(options.schema) : null;
|
59
|
+
} catch (error) {
|
60
|
+
if (error instanceof Error) {
|
61
|
+
error.message = `Error while loading schema: ${error.message}`;
|
62
|
+
}
|
63
|
+
throw error;
|
64
|
+
}
|
65
|
+
const rootTree = (0, import_estree_converter.convertToESTree)(document, schema);
|
66
|
+
return {
|
67
|
+
services: {
|
68
|
+
schema,
|
69
|
+
siblingOperations: (0, import_siblings.getSiblings)(project, options.documents)
|
70
|
+
},
|
71
|
+
ast: {
|
72
|
+
comments: (0, import_estree_converter.extractComments)(document.loc),
|
73
|
+
tokens: (0, import_estree_converter.extractTokens)(filePath, code),
|
74
|
+
loc: rootTree.loc,
|
75
|
+
range: rootTree.range,
|
76
|
+
type: "Program",
|
77
|
+
sourceType: "script",
|
78
|
+
body: [rootTree]
|
79
|
+
}
|
80
|
+
};
|
81
|
+
} catch (error) {
|
82
|
+
if (error instanceof Error) {
|
83
|
+
error.message = `[graphql-eslint] ${error.message}`;
|
84
|
+
}
|
85
|
+
if (error instanceof import_graphql.GraphQLError) {
|
86
|
+
const location = (_a = error.locations) == null ? void 0 : _a[0];
|
87
|
+
const eslintError = {
|
88
|
+
index: (_b = error.positions) == null ? void 0 : _b[0],
|
89
|
+
...location && {
|
90
|
+
lineNumber: location.line,
|
91
|
+
column: location.column - 1
|
92
|
+
},
|
93
|
+
message: error.message
|
94
|
+
};
|
95
|
+
throw eslintError;
|
96
|
+
}
|
97
|
+
throw error;
|
98
|
+
}
|
99
|
+
}
|
100
|
+
// Annotate the CommonJS export names for ESM import in node:
|
101
|
+
0 && (module.exports = {
|
102
|
+
parseForESLint
|
103
|
+
});
|
package/cjs/processor.js
ADDED
@@ -0,0 +1,127 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
+
};
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
+
for (let key of __getOwnPropNames(from))
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
+
}
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
+
var processor_exports = {};
|
20
|
+
__export(processor_exports, {
|
21
|
+
processor: () => processor
|
22
|
+
});
|
23
|
+
module.exports = __toCommonJS(processor_exports);
|
24
|
+
var import_path = require("path");
|
25
|
+
var import_graphql_tag_pluck = require("@graphql-tools/graphql-tag-pluck");
|
26
|
+
var import_utils = require("@graphql-tools/utils");
|
27
|
+
var import_graphql_config2 = require("./graphql-config.js");
|
28
|
+
var import_utils2 = require("./utils.js");
|
29
|
+
const blocksMap = /* @__PURE__ */ new Map();
|
30
|
+
let onDiskConfig;
|
31
|
+
let onDiskConfigLoaded = false;
|
32
|
+
const RELEVANT_KEYWORDS = ["gql", "graphql", "GraphQL"];
|
33
|
+
const processor = {
|
34
|
+
supportsAutofix: true,
|
35
|
+
preprocess(code, filePath) {
|
36
|
+
if (!onDiskConfigLoaded) {
|
37
|
+
onDiskConfig = (0, import_graphql_config2.loadOnDiskGraphQLConfig)(filePath);
|
38
|
+
onDiskConfigLoaded = true;
|
39
|
+
}
|
40
|
+
let keywords = RELEVANT_KEYWORDS;
|
41
|
+
const pluckConfig = onDiskConfig == null ? void 0 : onDiskConfig.getProjectForFile(filePath).extensions.pluckConfig;
|
42
|
+
if (pluckConfig) {
|
43
|
+
const {
|
44
|
+
modules = [],
|
45
|
+
globalGqlIdentifierName = ["gql", "graphql"],
|
46
|
+
gqlMagicComment = "GraphQL"
|
47
|
+
} = pluckConfig;
|
48
|
+
keywords = [
|
49
|
+
...new Set(
|
50
|
+
[
|
51
|
+
...modules.map(({ identifier }) => identifier),
|
52
|
+
...(0, import_utils.asArray)(globalGqlIdentifierName),
|
53
|
+
gqlMagicComment
|
54
|
+
].filter(import_utils2.truthy)
|
55
|
+
)
|
56
|
+
];
|
57
|
+
}
|
58
|
+
if (keywords.every((keyword) => !code.includes(keyword))) {
|
59
|
+
return [code];
|
60
|
+
}
|
61
|
+
try {
|
62
|
+
const sources = (0, import_graphql_tag_pluck.gqlPluckFromCodeStringSync)(filePath, code, {
|
63
|
+
skipIndent: true,
|
64
|
+
...pluckConfig
|
65
|
+
});
|
66
|
+
const blocks = sources.map((item) => ({
|
67
|
+
filename: "document.graphql",
|
68
|
+
text: item.body,
|
69
|
+
lineOffset: item.locationOffset.line - 1,
|
70
|
+
// @ts-expect-error -- `index` field exist but show ts error
|
71
|
+
offset: item.locationOffset.index + 1
|
72
|
+
}));
|
73
|
+
blocksMap.set(filePath, blocks);
|
74
|
+
return [
|
75
|
+
...blocks,
|
76
|
+
code
|
77
|
+
/* source code must be provided and be last */
|
78
|
+
];
|
79
|
+
} catch (error) {
|
80
|
+
if (error instanceof Error) {
|
81
|
+
error.message = `[graphql-eslint] Error while preprocessing "${(0, import_path.relative)(
|
82
|
+
import_utils2.CWD,
|
83
|
+
filePath
|
84
|
+
)}" file
|
85
|
+
|
86
|
+
${error.message}`;
|
87
|
+
}
|
88
|
+
console.error(error);
|
89
|
+
return [code];
|
90
|
+
}
|
91
|
+
},
|
92
|
+
postprocess(messages, filePath) {
|
93
|
+
const blocks = blocksMap.get(filePath) || [];
|
94
|
+
for (let i = 0; i < blocks.length; i += 1) {
|
95
|
+
const { lineOffset, offset } = blocks[i];
|
96
|
+
for (const message of messages[i] || []) {
|
97
|
+
const isVueOrSvelte = /\.(vue|svelte)$/.test(filePath);
|
98
|
+
if (isVueOrSvelte) {
|
99
|
+
delete message.endLine;
|
100
|
+
delete message.endColumn;
|
101
|
+
delete message.fix;
|
102
|
+
delete message.suggestions;
|
103
|
+
Object.assign(message, import_utils2.REPORT_ON_FIRST_CHARACTER);
|
104
|
+
continue;
|
105
|
+
}
|
106
|
+
message.line += lineOffset;
|
107
|
+
if (typeof message.endLine === "number") {
|
108
|
+
message.endLine += lineOffset;
|
109
|
+
}
|
110
|
+
if (message.fix) {
|
111
|
+
message.fix.range[0] += offset;
|
112
|
+
message.fix.range[1] += offset;
|
113
|
+
}
|
114
|
+
for (const suggestion of message.suggestions || []) {
|
115
|
+
const [start, end] = suggestion.fix.range;
|
116
|
+
suggestion.fix.range = [start + offset, end + offset];
|
117
|
+
}
|
118
|
+
}
|
119
|
+
}
|
120
|
+
const result = messages.flat();
|
121
|
+
return result.sort((a, b) => a.line - b.line || a.column - b.column);
|
122
|
+
}
|
123
|
+
};
|
124
|
+
// Annotate the CommonJS export names for ESM import in node:
|
125
|
+
0 && (module.exports = {
|
126
|
+
processor
|
127
|
+
});
|
@@ -0,0 +1,84 @@
|
|
1
|
+
import { FromSchema } from 'json-schema-to-ts';
|
2
|
+
import { f as GraphQLESLintRule } from '../types-8d5f4ae0.js';
|
3
|
+
import '@graphql-tools/utils';
|
4
|
+
import 'eslint';
|
5
|
+
import 'estree';
|
6
|
+
import 'graphql';
|
7
|
+
import 'graphql-config';
|
8
|
+
import '../estree-converter/types.js';
|
9
|
+
|
10
|
+
declare const schema: {
|
11
|
+
readonly type: "array";
|
12
|
+
readonly minItems: 1;
|
13
|
+
readonly maxItems: 1;
|
14
|
+
readonly items: {
|
15
|
+
readonly type: "object";
|
16
|
+
readonly additionalProperties: false;
|
17
|
+
readonly minProperties: 1;
|
18
|
+
readonly properties: {
|
19
|
+
readonly fields: {
|
20
|
+
readonly items: {
|
21
|
+
readonly enum: ("ObjectTypeDefinition" | "InterfaceTypeDefinition" | "InputObjectTypeDefinition")[];
|
22
|
+
};
|
23
|
+
readonly description: "Fields of `type`, `interface`, and `input`.";
|
24
|
+
readonly type: "array";
|
25
|
+
readonly uniqueItems: true;
|
26
|
+
readonly minItems: 1;
|
27
|
+
};
|
28
|
+
readonly values: {
|
29
|
+
readonly items: {
|
30
|
+
readonly enum: ["EnumTypeDefinition"];
|
31
|
+
};
|
32
|
+
readonly description: "Values of `enum`.";
|
33
|
+
readonly type: "array";
|
34
|
+
readonly uniqueItems: true;
|
35
|
+
readonly minItems: 1;
|
36
|
+
};
|
37
|
+
readonly selections: {
|
38
|
+
readonly items: {
|
39
|
+
readonly enum: ("OperationDefinition" | "FragmentDefinition")[];
|
40
|
+
};
|
41
|
+
readonly description: "Selections of `fragment` and operations `query`, `mutation` and `subscription`.";
|
42
|
+
readonly type: "array";
|
43
|
+
readonly uniqueItems: true;
|
44
|
+
readonly minItems: 1;
|
45
|
+
};
|
46
|
+
readonly variables: {
|
47
|
+
readonly items: {
|
48
|
+
readonly enum: ["OperationDefinition"];
|
49
|
+
};
|
50
|
+
readonly description: "Variables of operations `query`, `mutation` and `subscription`.";
|
51
|
+
readonly type: "array";
|
52
|
+
readonly uniqueItems: true;
|
53
|
+
readonly minItems: 1;
|
54
|
+
};
|
55
|
+
readonly arguments: {
|
56
|
+
readonly items: {
|
57
|
+
readonly enum: ("Field" | "Directive" | "FieldDefinition" | "DirectiveDefinition")[];
|
58
|
+
};
|
59
|
+
readonly description: "Arguments of fields and directives.";
|
60
|
+
readonly type: "array";
|
61
|
+
readonly uniqueItems: true;
|
62
|
+
readonly minItems: 1;
|
63
|
+
};
|
64
|
+
readonly definitions: {
|
65
|
+
readonly type: "boolean";
|
66
|
+
readonly description: "Definitions – `type`, `interface`, `enum`, `scalar`, `input`, `union` and `directive`.";
|
67
|
+
readonly default: false;
|
68
|
+
};
|
69
|
+
readonly groups: {
|
70
|
+
readonly minItems: 2;
|
71
|
+
readonly description: "Custom order group. Example: `['id', '*', 'createdAt', 'updatedAt']` where `*` says for everything else.";
|
72
|
+
readonly type: "array";
|
73
|
+
readonly uniqueItems: true;
|
74
|
+
readonly items: {
|
75
|
+
readonly type: "string";
|
76
|
+
};
|
77
|
+
};
|
78
|
+
};
|
79
|
+
};
|
80
|
+
};
|
81
|
+
type RuleOptions = FromSchema<typeof schema>;
|
82
|
+
declare const rule: GraphQLESLintRule<RuleOptions>;
|
83
|
+
|
84
|
+
export { RuleOptions, rule };
|