UNPKG

@graphql-eslint/eslint-plugin

Version:
49 lines (48 loc) 1.57 kB
import "./chunk-BMTV3EA2.js"; import { resolve } from "path"; import debugFactory from "debug"; import fg from "fast-glob"; import { ModuleCache } from "./cache.js"; const debug = debugFactory("graphql-eslint:operations"); const operationsCache = new ModuleCache(); const handleVirtualPath = (documents) => { const filepathMap = /* @__PURE__ */ Object.create(null); return documents.map((source) => { var _a; const location = source.location; if ([".gql", ".graphql"].some((extension) => location.endsWith(extension))) { return source; } (_a = filepathMap[location]) != null ? _a : filepathMap[location] = -1; const index = filepathMap[location] += 1; return { ...source, location: resolve(location, `${index}_document.graphql`) }; }); }; const getDocuments = (project) => { const documentsKey = project.documents; if (!documentsKey) { return []; } let siblings = operationsCache.get(documentsKey); if (!siblings) { debug("Loading operations from %o", project.documents); const documents = project.loadDocumentsSync(project.documents, { skipGraphQLImport: true, pluckConfig: project.extensions.pluckConfig }); if (debug.enabled) { debug("Loaded %d operations", documents.length); const operationsPaths = fg.sync(project.documents, { absolute: true }); debug("Operations pointers %O", operationsPaths); } siblings = handleVirtualPath(documents); operationsCache.set(documentsKey, siblings); } return siblings; }; export { getDocuments };