@graphql-inspector/core
Advanced tools
@@ -1,2 +0,2 @@ | ||
| import { GraphQLInputType, GraphQLOutputType, GraphQLNamedType } from 'graphql'; | ||
| import { GraphQLInputType, GraphQLOutputType, GraphQLNamedType, GraphQLSchema, GraphQLError, DocumentNode } from 'graphql'; | ||
| export declare function safeChangeForField(oldType: GraphQLOutputType, newType: GraphQLOutputType): boolean; | ||
@@ -7,1 +7,2 @@ export declare function safeChangeForInputValue(oldType: GraphQLInputType, newType: GraphQLInputType): boolean; | ||
| export declare function isForIntrospection(type: GraphQLNamedType | string): boolean; | ||
| export declare function findDeprecatedUsages(schema: GraphQLSchema, ast: DocumentNode): Array<GraphQLError>; |
@@ -65,2 +65,30 @@ "use strict"; | ||
| exports.isForIntrospection = isForIntrospection; | ||
| function findDeprecatedUsages(schema, ast) { | ||
| var errors = []; | ||
| var typeInfo = new graphql_1.TypeInfo(schema); | ||
| graphql_1.visit(ast, graphql_1.visitWithTypeInfo(typeInfo, { | ||
| Field: function (node) { | ||
| var fieldDef = typeInfo.getFieldDef(); | ||
| if (fieldDef && fieldDef.isDeprecated) { | ||
| var parentType = typeInfo.getParentType(); | ||
| if (parentType) { | ||
| var reason = fieldDef.deprecationReason; | ||
| errors.push(new graphql_1.GraphQLError("The field '" + parentType.name + "." + fieldDef.name + "' is deprecated." + (reason ? ' ' + reason : ''), [node])); | ||
| } | ||
| } | ||
| }, | ||
| EnumValue: function (node) { | ||
| var enumVal = typeInfo.getEnumValue(); | ||
| if (enumVal && enumVal.isDeprecated) { | ||
| var type = graphql_1.getNamedType(typeInfo.getInputType()); | ||
| if (type) { | ||
| var reason = enumVal.deprecationReason; | ||
| errors.push(new graphql_1.GraphQLError("The enum value '" + type.name + "." + enumVal.name + "' is deprecated." + (reason ? ' ' + reason : ''), [node])); | ||
| } | ||
| } | ||
| }, | ||
| })); | ||
| return errors; | ||
| } | ||
| exports.findDeprecatedUsages = findDeprecatedUsages; | ||
| //# sourceMappingURL=graphql.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../src/utils/graphql.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../src/utils/graphql.ts"],"names":[],"mappings":"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"} |
@@ -5,3 +5,4 @@ import { GraphQLSchema, GraphQLError, Source } from 'graphql'; | ||
| errors: GraphQLError[]; | ||
| deprecated: GraphQLError[]; | ||
| } | ||
| export declare function validate(schema: GraphQLSchema, sources: Source[]): InvalidDocument[]; |
@@ -5,2 +5,3 @@ "use strict"; | ||
| var document_1 = require("../ast/document"); | ||
| var graphql_2 = require("../utils/graphql"); | ||
| function validate(schema, sources) { | ||
@@ -22,6 +23,8 @@ var invalidDocuments = []; | ||
| graphql_1.parse("\n " + doc.source.body + "\n\n " + fragments.map(graphql_1.print).join('\n\n') + "\n ")); | ||
| if (errors) { | ||
| var deprecated = graphql_2.findDeprecatedUsages(schema, graphql_1.parse(doc.source.body)); | ||
| if (errors || deprecated) { | ||
| invalidDocuments.push({ | ||
| source: doc.source, | ||
| errors: errors, | ||
| deprecated: deprecated, | ||
| }); | ||
@@ -28,0 +31,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validate/index.ts"],"names":[],"mappings":";;AAAA,mCAQiB;AAEjB,4CAA6C;AAO7C,SAAgB,QAAQ,CACtB,MAAqB,EACrB,OAAiB;IAEjB,IAAM,gBAAgB,GAAsB,EAAE,CAAC;IAC/C,iBAAiB;IACjB,IAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAY,CAAC,CAAC;IAC5C,2BAA2B;IAC3B,IAAM,SAAS,GAA6B,EAAE,CAAC;IAE/C,SAAS,CAAC,OAAO,CAAC,UAAA,GAAG;QACnB,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,UAAA,QAAQ;YAC5B,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,OAAO,CAAC,UAAA,GAAG;QACnB,IAAM,MAAM,GAAG,kBAAgB,CAC7B,MAAM;QACN,gDAAgD;QAChD,+BAA+B;QAC/B,eAAK,CAAC,iBACA,GAAG,CAAC,MAAM,CAAC,IAAI,sBAEf,SAAS,CAAC,GAAG,CAAC,eAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eACpC,CAAC,CACa,CAAC;QAEpB,IAAI,MAAM,EAAE;YACV,gBAAgB,CAAC,IAAI,CAAC;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,QAAA;aACP,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AArCD,4BAqCC"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validate/index.ts"],"names":[],"mappings":";;AAAA,mCAQiB;AAEjB,4CAA6C;AAC7C,4CAAsD;AAQtD,SAAgB,QAAQ,CACtB,MAAqB,EACrB,OAAiB;IAEjB,IAAM,gBAAgB,GAAsB,EAAE,CAAC;IAC/C,iBAAiB;IACjB,IAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAY,CAAC,CAAC;IAC5C,2BAA2B;IAC3B,IAAM,SAAS,GAA6B,EAAE,CAAC;IAE/C,SAAS,CAAC,OAAO,CAAC,UAAA,GAAG;QACnB,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,UAAA,QAAQ;YAC5B,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,OAAO,CAAC,UAAA,GAAG;QACnB,IAAM,MAAM,GAAG,kBAAgB,CAC7B,MAAM;QACN,gDAAgD;QAChD,+BAA+B;QAC/B,eAAK,CAAC,iBACA,GAAG,CAAC,MAAM,CAAC,IAAI,sBAEf,SAAS,CAAC,GAAG,CAAC,eAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eACpC,CAAC,CACa,CAAC;QACpB,IAAM,UAAU,GAAG,8BAAoB,CAAC,MAAM,EAAE,eAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAExE,IAAI,MAAM,IAAI,UAAU,EAAE;YACxB,gBAAgB,CAAC,IAAI,CAAC;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,QAAA;gBACN,UAAU,YAAA;aACX,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAvCD,4BAuCC"} |
+1
-1
| { | ||
| "name": "@graphql-inspector/core", | ||
| "version": "0.6.2", | ||
| "version": "0.6.3", | ||
| "description": "Tooling for GraphQL. Compare GraphQL Schemas, check documents, find breaking changes, find similar types.", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
133067
2.24%1626
2.07%