UNPKG

@graphql-inspector/action

Version:

GraphQL Inspector functionality for GitHub Actions

46 lines (45 loc) 1.27 kB
// Right now everything is hardcoded for better UX but this may change in future. // It's just easier to leave it this way import { __awaiter } from "tslib"; export const availableCommands = [ 'coverage', 'diff', 'docs', 'introspect', 'serve', 'similar', 'validate', ]; export const availableLoaders = ['code', 'git', 'github', 'graphql', 'json', 'url']; export function useConfig() { return __awaiter(this, void 0, void 0, function* () { return { loaders: ensureList(discoverLoaders(availableLoaders), 'loaders'), commands: ensureList(discoverCommands(availableCommands), 'commands'), }; }); } function moduleExists(name) { try { require.resolve(name); return true; } catch (error) { return false; } } function discoverLoaders(loaders) { return loaders.filter(name => moduleExists(`@graphql-inspector/${name}-loader`)); } function discoverCommands(commands) { return commands.filter(name => moduleExists(`@graphql-inspector/${name}-command`)); } function ensureList(list, path) { if (!list) { return []; } if (Array.isArray(list)) { return list; } throw new Error(`Value of ${path} expected to be a list`); }