@graphql-eslint/eslint-plugin
Version:
GraphQL plugin for ESLint
66 lines (65 loc) • 3.29 kB
JavaScript
;
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: !0 });
}, __copyProps = (to, from, except, desc) => {
if (from && typeof from == "object" || typeof from == "function")
for (let key of __getOwnPropNames(from))
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
mod
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
var graphql_config_exports = {};
__export(graphql_config_exports, {
loadGraphQLConfig: () => loadGraphQLConfig,
loadOnDiskGraphQLConfig: () => loadOnDiskGraphQLConfig
});
module.exports = __toCommonJS(graphql_config_exports);
var import_node_path = __toESM(require("node:path")), import_code_file_loader = require("@graphql-tools/code-file-loader"), import_debug = __toESM(require("debug")), import_graphql_config = require("graphql-config");
const debug = (0, import_debug.default)("graphql-eslint:graphql-config");
let graphQLConfig;
function loadOnDiskGraphQLConfig(filePath) {
return (0, import_graphql_config.loadConfigSync)({
// load config relative to the file being linted
rootDir: import_node_path.default.dirname(filePath),
throwOnMissing: !1,
extensions: [codeFileLoaderExtension]
});
}
function loadGraphQLConfig({
graphQLConfig: config,
filePath
}) {
if (graphQLConfig)
return graphQLConfig;
debug("parserOptions.graphQLConfig: %o", config);
const onDiskConfig = !config && loadOnDiskGraphQLConfig(filePath);
onDiskConfig && debug("GraphQL-Config path %o", onDiskConfig.filepath);
const configOptions = config && ("projects" in config || "schemaPath" in config) ? config : {
// if `schema` is `undefined` will throw error `Project 'default' not found`
schema: config?.schema ?? "",
...config
};
return graphQLConfig = onDiskConfig || new import_graphql_config.GraphQLConfig({ config: configOptions, filepath: "" }, [codeFileLoaderExtension]), graphQLConfig;
}
const codeFileLoaderExtension = (api) => {
const { schema, documents } = api.loaders;
return schema.register(new import_code_file_loader.CodeFileLoader()), documents.register(new import_code_file_loader.CodeFileLoader()), { name: "code-file-loaders" };
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
loadGraphQLConfig,
loadOnDiskGraphQLConfig
});