@graphql-inspector/validate-command 2.9.0 → 3.1.0

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.
@@ -236,4 +236,3 @@ function renderErrors(sourceName, errors, isError = false) {
236
236
 
237
237
  exports.default = index;
238
238
  exports.handler = handler;
239
- //# sourceMappingURL=index.cjs.js.map
@@ -232,4 +232,3 @@ function renderErrors(sourceName, errors, isError = false) {
232
232
 
233
233
  export default index;
234
234
  export { handler };
235
- //# sourceMappingURL=index.esm.js.map
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@graphql-inspector/validate-command",
3
- "version": "2.9.0",
3
+ "version": "3.1.0",
4
4
  "description": "Validate Documents in GraphQL Inspector",
5
5
  "sideEffects": false,
6
6
  "peerDependencies": {
7
- "graphql": "^0.13.0 || ^14.0.0 || ^15.0.0"
7
+ "graphql": "^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
8
8
  },
9
9
  "dependencies": {
10
- "@graphql-inspector/commands": "2.9.0",
11
- "@graphql-inspector/core": "2.9.0",
12
- "@graphql-inspector/logger": "2.9.0",
10
+ "@graphql-inspector/commands": "3.1.0",
11
+ "@graphql-inspector/core": "3.1.0",
12
+ "@graphql-inspector/logger": "3.1.0",
13
13
  "tslib": "^2.0.0"
14
14
  },
15
15
  "repository": {
@@ -29,10 +29,20 @@
29
29
  "url": "https://github.com/kamilkisiela"
30
30
  },
31
31
  "license": "MIT",
32
- "main": "index.cjs.js",
33
- "module": "index.esm.js",
32
+ "main": "index.js",
33
+ "module": "index.mjs",
34
34
  "typings": "index.d.ts",
35
35
  "typescript": {
36
36
  "definition": "index.d.ts"
37
+ },
38
+ "exports": {
39
+ ".": {
40
+ "require": "./index.js",
41
+ "import": "./index.mjs"
42
+ },
43
+ "./*": {
44
+ "require": "./*.js",
45
+ "import": "./*.mjs"
46
+ }
37
47
  }
38
48
  }
package/index.cjs.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../dist/commands/validate/src/index.js"],"sourcesContent":["import { __awaiter } from \"tslib\";\nimport { createCommand, parseGlobalArgs, } from '@graphql-inspector/commands';\nimport { Logger, bolderize, chalk } from '@graphql-inspector/logger';\nimport { validate as validateDocuments, } from '@graphql-inspector/core';\nimport { relative } from 'path';\nimport { writeFileSync } from 'fs';\nimport { Source, print } from 'graphql';\nexport function handler({ schema, documents, strictFragments, maxDepth, apollo, keepClientFields, failOnDeprecated, filter, onlyErrors, relativePaths, output, silent, }) {\n let invalidDocuments = validateDocuments(schema, documents.map((doc) => new Source(print(doc.document), doc.location)), {\n strictFragments,\n maxDepth,\n apollo,\n keepClientFields,\n });\n if (!invalidDocuments.length) {\n Logger.success('All documents are valid');\n }\n else {\n if (failOnDeprecated) {\n invalidDocuments = moveDeprecatedToErrors(invalidDocuments);\n }\n if (relativePaths) {\n invalidDocuments = useRelativePaths(invalidDocuments);\n }\n const errorsCount = countErrors(invalidDocuments);\n const deprecated = countDeprecated(invalidDocuments);\n const shouldFailProcess = errorsCount > 0;\n if (errorsCount) {\n if (!silent) {\n Logger.log(`\\nDetected ${errorsCount} invalid document${errorsCount > 1 ? 's' : ''}:\\n`);\n }\n printInvalidDocuments(useFilter(invalidDocuments, filter), 'errors', true, silent);\n }\n else {\n Logger.success('All documents are valid');\n }\n if (deprecated && !onlyErrors) {\n if (!silent) {\n Logger.info(`\\nDetected ${deprecated} document${deprecated > 1 ? 's' : ''} with deprecated fields:\\n`);\n }\n printInvalidDocuments(useFilter(invalidDocuments, filter), 'deprecated', false, silent);\n }\n if (output) {\n writeFileSync(output, JSON.stringify({\n status: !shouldFailProcess,\n documents: useFilter(invalidDocuments, filter),\n }, null, 2), {\n encoding: 'utf-8',\n });\n }\n if (shouldFailProcess) {\n process.exit(1);\n }\n }\n}\nfunction moveDeprecatedToErrors(docs) {\n return docs.map((doc) => {\n var _a, _b;\n return ({\n source: doc.source,\n errors: [...((_a = doc.errors) !== null && _a !== void 0 ? _a : []), ...((_b = doc.deprecated) !== null && _b !== void 0 ? _b : [])],\n deprecated: [],\n });\n });\n}\nfunction useRelativePaths(docs) {\n return docs.map((doc) => {\n doc.source.name = relative(process.cwd(), doc.source.name);\n return doc;\n });\n}\nfunction useFilter(docs, patterns) {\n if (!patterns || !patterns.length) {\n return docs;\n }\n return docs.filter((doc) => patterns.some((filepath) => doc.source.name.includes(filepath)));\n}\nexport default createCommand((api) => {\n const { loaders } = api;\n return {\n command: 'validate <documents> <schema>',\n describe: 'Validate Fragments and Operations',\n builder(yargs) {\n return yargs\n .positional('schema', {\n describe: 'Point to a schema',\n type: 'string',\n demandOption: true,\n })\n .positional('documents', {\n describe: 'Point to documents',\n type: 'string',\n demandOption: true,\n })\n .options({\n deprecated: {\n alias: 'd',\n describe: 'Fail on deprecated usage',\n type: 'boolean',\n default: false,\n },\n noStrictFragments: {\n describe: 'Do not fail on duplicated fragment names',\n type: 'boolean',\n default: false,\n },\n maxDepth: {\n describe: 'Fail on deep operations',\n type: 'number',\n },\n apollo: {\n describe: 'Support Apollo directives',\n type: 'boolean',\n default: false,\n },\n keepClientFields: {\n describe: 'Keeps the fields with @client, but removes @client directive from them',\n type: 'boolean',\n default: false,\n },\n filter: {\n describe: 'Show results only from a list of files (or file)',\n array: true,\n type: 'string',\n },\n ignore: {\n describe: 'Ignore and do not load these files (supports glob)',\n array: true,\n type: 'string',\n },\n onlyErrors: {\n describe: 'Show only errors',\n type: 'boolean',\n default: false,\n },\n relativePaths: {\n describe: 'Show relative paths',\n type: 'boolean',\n default: false,\n },\n silent: {\n describe: 'Do not print results',\n type: 'boolean',\n default: false,\n },\n output: {\n describe: 'Output JSON file',\n type: 'string',\n },\n });\n },\n handler(args) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const { headers, token } = parseGlobalArgs(args);\n const apollo = args.apollo || false;\n const aws = args.aws || false;\n const apolloFederation = args.federation || false;\n const method = ((_a = args.method) === null || _a === void 0 ? void 0 : _a.toUpperCase()) || 'POST';\n const maxDepth = args.maxDepth || undefined;\n const strictFragments = !args.noStrictFragments;\n const keepClientFields = args.keepClientFields || false;\n const failOnDeprecated = args.deprecated;\n const output = args.output;\n const silent = args.silent || false;\n const relativePaths = args.relativePaths || false;\n const onlyErrors = args.onlyErrors || false;\n const ignore = args.ignore || [];\n const schema = yield loaders.loadSchema(args.schema, {\n headers,\n token,\n method,\n }, apolloFederation, aws);\n const documents = yield loaders.loadDocuments(args.documents, {\n ignore,\n });\n return handler({\n schema,\n documents,\n apollo,\n maxDepth,\n strictFragments,\n keepClientFields,\n failOnDeprecated,\n filter: args.filter,\n silent,\n output,\n relativePaths,\n onlyErrors,\n });\n });\n },\n };\n});\nfunction countErrors(invalidDocuments) {\n if (invalidDocuments.length) {\n return invalidDocuments.filter((doc) => doc.errors && doc.errors.length)\n .length;\n }\n return 0;\n}\nfunction countDeprecated(invalidDocuments) {\n if (invalidDocuments.length) {\n return invalidDocuments.filter((doc) => doc.deprecated && doc.deprecated.length).length;\n }\n return 0;\n}\nfunction printInvalidDocuments(invalidDocuments, listKey, isError = false, silent = false) {\n if (silent) {\n return;\n }\n invalidDocuments.forEach((doc) => {\n if (doc.errors.length) {\n renderErrors(doc.source.name, doc[listKey], isError).forEach((line) => {\n Logger.log(line);\n });\n }\n });\n}\nfunction renderErrors(sourceName, errors, isError = false) {\n const errorsAsString = errors\n .map((e) => ` - ${bolderize(e.message)}`)\n .join('\\n');\n return [\n isError ? chalk.redBright('error') : chalk.yellowBright('warn'),\n `in ${sourceName}:\\n\\n`,\n errorsAsString,\n '\\n\\n',\n ];\n}\n//# sourceMappingURL=index.js.map"],"names":["validateDocuments","Source","print","Logger","writeFileSync","relative","createCommand","__awaiter","parseGlobalArgs","bolderize","chalk"],"mappings":"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"}
package/index.esm.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../dist/commands/validate/src/index.js"],"sourcesContent":["import { __awaiter } from \"tslib\";\nimport { createCommand, parseGlobalArgs, } from '@graphql-inspector/commands';\nimport { Logger, bolderize, chalk } from '@graphql-inspector/logger';\nimport { validate as validateDocuments, } from '@graphql-inspector/core';\nimport { relative } from 'path';\nimport { writeFileSync } from 'fs';\nimport { Source, print } from 'graphql';\nexport function handler({ schema, documents, strictFragments, maxDepth, apollo, keepClientFields, failOnDeprecated, filter, onlyErrors, relativePaths, output, silent, }) {\n let invalidDocuments = validateDocuments(schema, documents.map((doc) => new Source(print(doc.document), doc.location)), {\n strictFragments,\n maxDepth,\n apollo,\n keepClientFields,\n });\n if (!invalidDocuments.length) {\n Logger.success('All documents are valid');\n }\n else {\n if (failOnDeprecated) {\n invalidDocuments = moveDeprecatedToErrors(invalidDocuments);\n }\n if (relativePaths) {\n invalidDocuments = useRelativePaths(invalidDocuments);\n }\n const errorsCount = countErrors(invalidDocuments);\n const deprecated = countDeprecated(invalidDocuments);\n const shouldFailProcess = errorsCount > 0;\n if (errorsCount) {\n if (!silent) {\n Logger.log(`\\nDetected ${errorsCount} invalid document${errorsCount > 1 ? 's' : ''}:\\n`);\n }\n printInvalidDocuments(useFilter(invalidDocuments, filter), 'errors', true, silent);\n }\n else {\n Logger.success('All documents are valid');\n }\n if (deprecated && !onlyErrors) {\n if (!silent) {\n Logger.info(`\\nDetected ${deprecated} document${deprecated > 1 ? 's' : ''} with deprecated fields:\\n`);\n }\n printInvalidDocuments(useFilter(invalidDocuments, filter), 'deprecated', false, silent);\n }\n if (output) {\n writeFileSync(output, JSON.stringify({\n status: !shouldFailProcess,\n documents: useFilter(invalidDocuments, filter),\n }, null, 2), {\n encoding: 'utf-8',\n });\n }\n if (shouldFailProcess) {\n process.exit(1);\n }\n }\n}\nfunction moveDeprecatedToErrors(docs) {\n return docs.map((doc) => {\n var _a, _b;\n return ({\n source: doc.source,\n errors: [...((_a = doc.errors) !== null && _a !== void 0 ? _a : []), ...((_b = doc.deprecated) !== null && _b !== void 0 ? _b : [])],\n deprecated: [],\n });\n });\n}\nfunction useRelativePaths(docs) {\n return docs.map((doc) => {\n doc.source.name = relative(process.cwd(), doc.source.name);\n return doc;\n });\n}\nfunction useFilter(docs, patterns) {\n if (!patterns || !patterns.length) {\n return docs;\n }\n return docs.filter((doc) => patterns.some((filepath) => doc.source.name.includes(filepath)));\n}\nexport default createCommand((api) => {\n const { loaders } = api;\n return {\n command: 'validate <documents> <schema>',\n describe: 'Validate Fragments and Operations',\n builder(yargs) {\n return yargs\n .positional('schema', {\n describe: 'Point to a schema',\n type: 'string',\n demandOption: true,\n })\n .positional('documents', {\n describe: 'Point to documents',\n type: 'string',\n demandOption: true,\n })\n .options({\n deprecated: {\n alias: 'd',\n describe: 'Fail on deprecated usage',\n type: 'boolean',\n default: false,\n },\n noStrictFragments: {\n describe: 'Do not fail on duplicated fragment names',\n type: 'boolean',\n default: false,\n },\n maxDepth: {\n describe: 'Fail on deep operations',\n type: 'number',\n },\n apollo: {\n describe: 'Support Apollo directives',\n type: 'boolean',\n default: false,\n },\n keepClientFields: {\n describe: 'Keeps the fields with @client, but removes @client directive from them',\n type: 'boolean',\n default: false,\n },\n filter: {\n describe: 'Show results only from a list of files (or file)',\n array: true,\n type: 'string',\n },\n ignore: {\n describe: 'Ignore and do not load these files (supports glob)',\n array: true,\n type: 'string',\n },\n onlyErrors: {\n describe: 'Show only errors',\n type: 'boolean',\n default: false,\n },\n relativePaths: {\n describe: 'Show relative paths',\n type: 'boolean',\n default: false,\n },\n silent: {\n describe: 'Do not print results',\n type: 'boolean',\n default: false,\n },\n output: {\n describe: 'Output JSON file',\n type: 'string',\n },\n });\n },\n handler(args) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const { headers, token } = parseGlobalArgs(args);\n const apollo = args.apollo || false;\n const aws = args.aws || false;\n const apolloFederation = args.federation || false;\n const method = ((_a = args.method) === null || _a === void 0 ? void 0 : _a.toUpperCase()) || 'POST';\n const maxDepth = args.maxDepth || undefined;\n const strictFragments = !args.noStrictFragments;\n const keepClientFields = args.keepClientFields || false;\n const failOnDeprecated = args.deprecated;\n const output = args.output;\n const silent = args.silent || false;\n const relativePaths = args.relativePaths || false;\n const onlyErrors = args.onlyErrors || false;\n const ignore = args.ignore || [];\n const schema = yield loaders.loadSchema(args.schema, {\n headers,\n token,\n method,\n }, apolloFederation, aws);\n const documents = yield loaders.loadDocuments(args.documents, {\n ignore,\n });\n return handler({\n schema,\n documents,\n apollo,\n maxDepth,\n strictFragments,\n keepClientFields,\n failOnDeprecated,\n filter: args.filter,\n silent,\n output,\n relativePaths,\n onlyErrors,\n });\n });\n },\n };\n});\nfunction countErrors(invalidDocuments) {\n if (invalidDocuments.length) {\n return invalidDocuments.filter((doc) => doc.errors && doc.errors.length)\n .length;\n }\n return 0;\n}\nfunction countDeprecated(invalidDocuments) {\n if (invalidDocuments.length) {\n return invalidDocuments.filter((doc) => doc.deprecated && doc.deprecated.length).length;\n }\n return 0;\n}\nfunction printInvalidDocuments(invalidDocuments, listKey, isError = false, silent = false) {\n if (silent) {\n return;\n }\n invalidDocuments.forEach((doc) => {\n if (doc.errors.length) {\n renderErrors(doc.source.name, doc[listKey], isError).forEach((line) => {\n Logger.log(line);\n });\n }\n });\n}\nfunction renderErrors(sourceName, errors, isError = false) {\n const errorsAsString = errors\n .map((e) => ` - ${bolderize(e.message)}`)\n .join('\\n');\n return [\n isError ? chalk.redBright('error') : chalk.yellowBright('warn'),\n `in ${sourceName}:\\n\\n`,\n errorsAsString,\n '\\n\\n',\n ];\n}\n//# sourceMappingURL=index.js.map"],"names":["validateDocuments"],"mappings":"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"}