UNPKG

@ovrsea/graphql-detect-unused-operations

Version:

Library to check unused resolvers at Ovrsea

60 lines (41 loc) 1.78 kB
# Ovrsea GraphQL Unused Operations Detector A `GraphQL Unused Operations Detector` that reads through your codebase and compares the graphql operations (queries & mutations) and fragments used with your project's graphql `schema.json` and returns the unused operations and fragments to keep a clean codebase. ## Quickstart #### Installing `npm install @ovrsea/graphql-detect-unused-operations` #### Basic Usage ```js type FilePath = string; type Options = { cwd?: string; ignore?: FilePath | string[]; pattern?: string; verbose?: boolean; whitelist?: FilePath | string[]; }; const detectUnusedOperations = async ( schema: Schema, options: Options = {}) =>: Promise<{ unnecessarilyWhitelistedOperations: string[]; unusedFragments: string[]; unusedOperations: string[]; }> {}; ``` ## Parameters `schema`: JSON of the graphql schema `cwd`: Path to the current working directory. Defaults to `""` `ignore`: `FilePath` (`string`) to a pattern ignore or `string[]` of patterns to ignore. Defaults to file path `./.unused-operations-ignore `. An example is available in `.unused-operations-ignore.example` `pattern`: A glob pattern to the files to check. Defaults to `**/*.{ts,tsx,js} `, `verbose`: Adds more log. Defaults to `false`, `whitelist`: `FilePath` (`string`) to a whitelist of operations (queries and mutations only) or `string[]` of operations to whitelist. Defaults to `./.unused-operations-whitelist `. An example is available in `.unused-operations-whitelist.example` ## Return values ```js const detectUnusedOperations = async (...) =>: Promise<{ unnecessarilyWhitelistedOperations: string[]; unusedFragments: string[]; unusedOperations: string[]; }> {}; ``` ## License This project is [MIT licensed](./LICENSE).