@apollo/federation-internals 2.5.7 → 2.6.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.
- package/dist/definitions.d.ts +1 -1
- package/dist/definitions.d.ts.map +1 -1
- package/dist/definitions.js +2 -2
- package/dist/definitions.js.map +1 -1
- package/dist/directiveAndTypeSpecification.d.ts +1 -1
- package/dist/directiveAndTypeSpecification.d.ts.map +1 -1
- package/dist/extractSubgraphsFromSupergraph.js +1 -1
- package/dist/extractSubgraphsFromSupergraph.js.map +1 -1
- package/dist/federation.d.ts +5 -2
- package/dist/federation.d.ts.map +1 -1
- package/dist/federation.js +13 -6
- package/dist/federation.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -7
- package/dist/index.js.map +1 -1
- package/dist/knownCoreFeatures.d.ts +1 -1
- package/dist/knownCoreFeatures.d.ts.map +1 -1
- package/dist/schemaUpgrader.js +1 -1
- package/dist/schemaUpgrader.js.map +1 -1
- package/dist/{authenticatedSpec.d.ts → specs/authenticatedSpec.d.ts} +0 -4
- package/dist/specs/authenticatedSpec.d.ts.map +1 -0
- package/dist/{authenticatedSpec.js → specs/authenticatedSpec.js} +2 -5
- package/dist/specs/authenticatedSpec.js.map +1 -0
- package/dist/{coreSpec.d.ts → specs/coreSpec.d.ts} +2 -2
- package/dist/specs/coreSpec.d.ts.map +1 -0
- package/dist/{coreSpec.js → specs/coreSpec.js} +8 -8
- package/dist/specs/coreSpec.js.map +1 -0
- package/dist/{federationSpec.d.ts → specs/federationSpec.d.ts} +4 -3
- package/dist/specs/federationSpec.d.ts.map +1 -0
- package/dist/{federationSpec.js → specs/federationSpec.js} +12 -6
- package/dist/specs/federationSpec.js.map +1 -0
- package/dist/{inaccessibleSpec.d.ts → specs/inaccessibleSpec.d.ts} +2 -2
- package/dist/specs/inaccessibleSpec.d.ts.map +1 -0
- package/dist/{inaccessibleSpec.js → specs/inaccessibleSpec.js} +5 -5
- package/dist/specs/inaccessibleSpec.js.map +1 -0
- package/dist/{joinSpec.d.ts → specs/joinSpec.d.ts} +2 -2
- package/dist/specs/joinSpec.d.ts.map +1 -0
- package/dist/{joinSpec.js → specs/joinSpec.js} +3 -3
- package/dist/specs/joinSpec.js.map +1 -0
- package/dist/specs/policySpec.d.ts +12 -0
- package/dist/specs/policySpec.d.ts.map +1 -0
- package/dist/specs/policySpec.js +52 -0
- package/dist/specs/policySpec.js.map +1 -0
- package/dist/{requiresScopesSpec.d.ts → specs/requiresScopesSpec.d.ts} +0 -4
- package/dist/specs/requiresScopesSpec.d.ts.map +1 -0
- package/dist/{requiresScopesSpec.js → specs/requiresScopesSpec.js} +5 -8
- package/dist/specs/requiresScopesSpec.js.map +1 -0
- package/dist/{tagSpec.d.ts → specs/tagSpec.d.ts} +2 -5
- package/dist/specs/tagSpec.d.ts.map +1 -0
- package/dist/{tagSpec.js → specs/tagSpec.js} +5 -8
- package/dist/specs/tagSpec.js.map +1 -0
- package/dist/supergraphs.d.ts +1 -1
- package/dist/supergraphs.d.ts.map +1 -1
- package/dist/supergraphs.js +2 -2
- package/dist/supergraphs.js.map +1 -1
- package/package.json +2 -2
- package/src/definitions.ts +2 -2
- package/src/directiveAndTypeSpecification.ts +1 -1
- package/src/extractSubgraphsFromSupergraph.ts +2 -2
- package/src/federation.ts +15 -6
- package/src/index.ts +7 -7
- package/src/knownCoreFeatures.ts +1 -1
- package/src/schemaUpgrader.ts +1 -1
- package/src/{authenticatedSpec.ts → specs/authenticatedSpec.ts} +2 -9
- package/src/{coreSpec.ts → specs/coreSpec.ts} +8 -8
- package/src/{federationSpec.ts → specs/federationSpec.ts} +13 -6
- package/src/{inaccessibleSpec.ts → specs/inaccessibleSpec.ts} +5 -5
- package/src/{joinSpec.ts → specs/joinSpec.ts} +4 -4
- package/src/specs/policySpec.ts +69 -0
- package/src/{requiresScopesSpec.ts → specs/requiresScopesSpec.ts} +5 -11
- package/src/{tagSpec.ts → specs/tagSpec.ts} +5 -9
- package/src/supergraphs.ts +4 -4
- package/dist/authenticatedSpec.d.ts.map +0 -1
- package/dist/authenticatedSpec.js.map +0 -1
- package/dist/coreSpec.d.ts.map +0 -1
- package/dist/coreSpec.js.map +0 -1
- package/dist/federationSpec.d.ts.map +0 -1
- package/dist/federationSpec.js.map +0 -1
- package/dist/inaccessibleSpec.d.ts.map +0 -1
- package/dist/inaccessibleSpec.js.map +0 -1
- package/dist/joinSpec.d.ts.map +0 -1
- package/dist/joinSpec.js.map +0 -1
- package/dist/requiresScopesSpec.d.ts.map +0 -1
- package/dist/requiresScopesSpec.js.map +0 -1
- package/dist/tagSpec.d.ts.map +0 -1
- package/dist/tagSpec.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requiresScopesSpec.js","sourceRoot":"","sources":["../../src/specs/requiresScopesSpec.ts"],"names":[],"mappings":";;;AAAA,qCAA4C;AAC5C,yCAMoB;AACpB,gDAAuD;AACvD,oFAA+G;AAC/G,4DAA4D;AAC5D,oFAAmF;AACnF,oCAAkC;AAElC,IAAY,sBAEX;AAFD,WAAY,sBAAsB;IAChC,yCAAe,CAAA;AACjB,CAAC,EAFW,sBAAsB,sCAAtB,sBAAsB,QAEjC;AAED,MAAa,4BAA6B,SAAQ,4BAAiB;IAKjE,YAAY,OAAuB;QACjC,KAAK,CACH,IAAI,qBAAU,CACZ,4BAA4B,CAAC,QAAQ,EACrC,4BAA4B,CAAC,aAAa,EAC1C,OAAO,CACR,CACF,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,IAAA,6DAA6B,EAAC,EAAE,IAAI,EAAE,sBAAsB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAEzF,IAAI,CAAC,iBAAiB,CAAC,IAAA,4DAA4B,EAAC;YAClD,IAAI,EAAE,4BAA4B,CAAC,aAAa;YAChD,IAAI,EAAE,CAAC;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;wBACxB,IAAA,cAAM,EAAC,OAAO,EAAE,2DAA2D,CAAC,CAAC;wBAC7E,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;wBACzE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACzC,IAAA,cAAM,EAAC,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa,SAAS,iBAAiB,CAAC,CAAC;wBACjE,OAAO,IAAI,yBAAW,CAAC,IAAI,sBAAQ,CAAC,IAAI,yBAAW,CAAC,IAAI,sBAAQ,CAAC,IAAI,yBAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClG,CAAC;oBACD,mBAAmB,EAAE,+DAA+B,CAAC,KAAK;iBAC3D,CAAC;YACF,SAAS,EAAE;gBACT,2BAAiB,CAAC,gBAAgB;gBAClC,2BAAiB,CAAC,MAAM;gBACxB,2BAAiB,CAAC,SAAS;gBAC3B,2BAAiB,CAAC,MAAM;gBACxB,2BAAiB,CAAC,IAAI;aACvB;YACD,QAAQ,EAAE,IAAI;YACd,uBAAuB,EAAE,GAAG,EAAE,CAAC,gCAAwB,CAAC,MAAM,EAAE;SACjE,CAAC,CAAC,CAAC;IACN,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,UAAU,CAAC;IACpB,CAAC;;AA3CH,oEA4CC;AA3CwB,0CAAa,GAAG,gBAAgB,CAAC;AACjC,qCAAQ,GAC7B,4BAA4B,4BAA4B,CAAC,aAAa,EAAE,CAAC;AA2ChE,QAAA,wBAAwB,GACnC,IAAI,6BAAkB,CACpB,4BAA4B,CAAC,QAAQ,CACtC,CAAC,GAAG,CAAC,IAAI,4BAA4B,CAAC,IAAI,yBAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpE,IAAA,wCAAoB,EAAC,gCAAwB,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DirectiveLocation, GraphQLError } from "graphql";
|
|
2
2
|
import { FeatureDefinition, FeatureDefinitions, FeatureVersion } from "./coreSpec";
|
|
3
|
-
import { DirectiveDefinition
|
|
4
|
-
import { DirectiveSpecification } from "
|
|
3
|
+
import { DirectiveDefinition } from "../definitions";
|
|
4
|
+
import { DirectiveSpecification } from "../directiveAndTypeSpecification";
|
|
5
5
|
export declare const tagIdentity = "https://specs.apollo.dev/tag";
|
|
6
6
|
export declare class TagSpecDefinition extends FeatureDefinition {
|
|
7
7
|
readonly tagLocations: DirectiveLocation[];
|
|
@@ -10,9 +10,6 @@ export declare class TagSpecDefinition extends FeatureDefinition {
|
|
|
10
10
|
constructor(version: FeatureVersion, minimumFederationVersion?: FeatureVersion);
|
|
11
11
|
private isV01;
|
|
12
12
|
private isV02;
|
|
13
|
-
tagDirective(schema: Schema): DirectiveDefinition<{
|
|
14
|
-
name: string;
|
|
15
|
-
}>;
|
|
16
13
|
checkCompatibleDirective(definition: DirectiveDefinition): GraphQLError | undefined;
|
|
17
14
|
}
|
|
18
15
|
export declare const TAG_VERSIONS: FeatureDefinitions<TagSpecDefinition>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tagSpec.d.ts","sourceRoot":"","sources":["../../src/specs/tagSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAc,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAe,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAgC,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAKxG,eAAO,MAAM,WAAW,iCAAiC,CAAC;AAE1D,qBAAa,iBAAkB,SAAQ,iBAAiB;IACtD,SAAgB,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClD,SAAgB,gBAAgB,EAAE,sBAAsB,CAAC;IACzD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;gBAElC,OAAO,EAAE,cAAc,EAAE,wBAAwB,CAAC,EAAE,cAAc;IAmC9E,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,KAAK;IAIb,wBAAwB,CAAC,UAAU,EAAE,mBAAmB,GAAG,YAAY,GAAG,SAAS;CAYpF;AAED,eAAO,MAAM,YAAY,uCAGwD,CAAC"}
|
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.TAG_VERSIONS = exports.TagSpecDefinition = exports.tagIdentity = void 0;
|
|
4
4
|
const graphql_1 = require("graphql");
|
|
5
5
|
const coreSpec_1 = require("./coreSpec");
|
|
6
|
-
const definitions_1 = require("
|
|
7
|
-
const directiveAndTypeSpecification_1 = require("
|
|
8
|
-
const error_1 = require("
|
|
9
|
-
const knownCoreFeatures_1 = require("
|
|
10
|
-
const types_1 = require("
|
|
6
|
+
const definitions_1 = require("../definitions");
|
|
7
|
+
const directiveAndTypeSpecification_1 = require("../directiveAndTypeSpecification");
|
|
8
|
+
const error_1 = require("../error");
|
|
9
|
+
const knownCoreFeatures_1 = require("../knownCoreFeatures");
|
|
10
|
+
const types_1 = require("../types");
|
|
11
11
|
exports.tagIdentity = 'https://specs.apollo.dev/tag';
|
|
12
12
|
class TagSpecDefinition extends coreSpec_1.FeatureDefinition {
|
|
13
13
|
constructor(version, minimumFederationVersion) {
|
|
@@ -43,9 +43,6 @@ class TagSpecDefinition extends coreSpec_1.FeatureDefinition {
|
|
|
43
43
|
isV02() {
|
|
44
44
|
return this.version.equals(new coreSpec_1.FeatureVersion(0, 2));
|
|
45
45
|
}
|
|
46
|
-
tagDirective(schema) {
|
|
47
|
-
return this.directive(schema, 'tag');
|
|
48
|
-
}
|
|
49
46
|
checkCompatibleDirective(definition) {
|
|
50
47
|
const hasUnknownArguments = Object.keys(definition.arguments()).length > 1;
|
|
51
48
|
const nameArg = definition.argument('name');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tagSpec.js","sourceRoot":"","sources":["../../src/specs/tagSpec.ts"],"names":[],"mappings":"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"}
|
package/dist/supergraphs.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DocumentNode } from "graphql";
|
|
2
2
|
import { CoreFeatures, Schema } from "./definitions";
|
|
3
|
-
import { JoinSpecDefinition } from "./joinSpec";
|
|
3
|
+
import { JoinSpecDefinition } from "./specs/joinSpec";
|
|
4
4
|
import { Subgraphs } from ".";
|
|
5
5
|
export declare const DEFAULT_SUPPORTED_SUPERGRAPH_FEATURES: Set<string>;
|
|
6
6
|
export declare function validateSupergraph(supergraph: Schema): [CoreFeatures, JoinSpecDefinition];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supergraphs.d.ts","sourceRoot":"","sources":["../src/supergraphs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,MAAM,SAAS,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,EAAc,MAAM,eAAe,CAAC;AACjE,OAAO,EAAgB,kBAAkB,EAAiB,MAAM,
|
|
1
|
+
{"version":3,"file":"supergraphs.d.ts","sourceRoot":"","sources":["../src/supergraphs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,MAAM,SAAS,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,EAAc,MAAM,eAAe,CAAC;AACjE,OAAO,EAAgB,kBAAkB,EAAiB,MAAM,kBAAkB,CAAC;AAInF,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAE9B,eAAO,MAAM,qCAAqC,aAWhD,CAAC;AAwCH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAezF;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,qBAAa,UAAU;IAMnB,QAAQ,CAAC,MAAM,EAAE,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAPjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAyC;IAE5E,OAAO,CAAC,UAAU,CAAC,CAAY;gBAGpB,MAAM,EAAE,MAAM,EACvB,iBAAiB,GAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAA4C,EAC5D,cAAc,GAAE,OAAc;IAiBjD,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,EAAE,OAAO,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE;IAe9H,iBAAiB,IAAI,SAAS;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,EAAE;IAI3D,SAAS,IAAI,SAAS;IAUtB,SAAS,IAAI,MAAM;CAGpB"}
|
package/dist/supergraphs.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Supergraph = exports.isFed1Supergraph = exports.validateSupergraph = exports.DEFAULT_SUPPORTED_SUPERGRAPH_FEATURES = void 0;
|
|
4
|
-
const coreSpec_1 = require("./coreSpec");
|
|
4
|
+
const coreSpec_1 = require("./specs/coreSpec");
|
|
5
5
|
const definitions_1 = require("./definitions");
|
|
6
|
-
const joinSpec_1 = require("./joinSpec");
|
|
6
|
+
const joinSpec_1 = require("./specs/joinSpec");
|
|
7
7
|
const buildSchema_1 = require("./buildSchema");
|
|
8
8
|
const extractSubgraphsFromSupergraph_1 = require("./extractSubgraphsFromSupergraph");
|
|
9
9
|
const error_1 = require("./error");
|
package/dist/supergraphs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supergraphs.js","sourceRoot":"","sources":["../src/supergraphs.ts"],"names":[],"mappings":";;;AACA
|
|
1
|
+
{"version":3,"file":"supergraphs.js","sourceRoot":"","sources":["../src/supergraphs.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apollo/federation-internals",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.0",
|
|
4
4
|
"description": "Apollo Federation internal utilities",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"apollo"
|
|
19
19
|
],
|
|
20
20
|
"author": "Apollo <packages@apollographql.com>",
|
|
21
|
-
"license": "
|
|
21
|
+
"license": "Elastic-2.0",
|
|
22
22
|
"engines": {
|
|
23
23
|
"node": ">=14.15.0"
|
|
24
24
|
},
|
package/src/definitions.ts
CHANGED
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
findCoreSpecVersion,
|
|
31
31
|
isCoreSpecDirectiveApplication,
|
|
32
32
|
removeAllCoreFeatures,
|
|
33
|
-
} from "./coreSpec";
|
|
33
|
+
} from "./specs/coreSpec";
|
|
34
34
|
import { assert, mapValues, MapWithCachedArrays, removeArrayElement } from "./utils";
|
|
35
35
|
import {
|
|
36
36
|
withDefaultValues,
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
argumentsEquals,
|
|
43
43
|
collectVariablesInValue
|
|
44
44
|
} from "./values";
|
|
45
|
-
import { removeInaccessibleElements } from "./inaccessibleSpec";
|
|
45
|
+
import { removeInaccessibleElements } from "./specs/inaccessibleSpec";
|
|
46
46
|
import { printDirectiveDefinition, printSchema } from './print';
|
|
47
47
|
import { sameType } from './types';
|
|
48
48
|
import { addIntrospectionFields, introspectionFieldNames, isIntrospectionName } from "./introspection";
|
|
@@ -23,7 +23,7 @@ import { valueEquals, valueToString } from "./values";
|
|
|
23
23
|
import { sameType } from "./types";
|
|
24
24
|
import { arrayEquals, assert } from "./utils";
|
|
25
25
|
import { ArgumentCompositionStrategy } from "./argumentCompositionStrategies";
|
|
26
|
-
import { FeatureDefinition, FeatureVersion } from "./coreSpec";
|
|
26
|
+
import { FeatureDefinition, FeatureVersion } from "./specs/coreSpec";
|
|
27
27
|
|
|
28
28
|
export type DirectiveSpecification = {
|
|
29
29
|
name: string,
|
|
@@ -28,8 +28,8 @@ import {
|
|
|
28
28
|
parseFieldSetArgument,
|
|
29
29
|
removeInactiveProvidesAndRequires,
|
|
30
30
|
} from "./federation";
|
|
31
|
-
import { CoreSpecDefinition, FeatureVersion } from "./coreSpec";
|
|
32
|
-
import { JoinFieldDirectiveArguments, JoinSpecDefinition, JoinTypeDirectiveArguments } from "./joinSpec";
|
|
31
|
+
import { CoreSpecDefinition, FeatureVersion } from "./specs/coreSpec";
|
|
32
|
+
import { JoinFieldDirectiveArguments, JoinSpecDefinition, JoinTypeDirectiveArguments } from "./specs/joinSpec";
|
|
33
33
|
import { FederationMetadata, Subgraph, Subgraphs } from "./federation";
|
|
34
34
|
import { assert } from "./utils";
|
|
35
35
|
import { validateSupergraph } from "./supergraphs";
|
package/src/federation.ts
CHANGED
|
@@ -49,7 +49,7 @@ import {
|
|
|
49
49
|
import { KnownTypeNamesInFederationRule } from "./validation/KnownTypeNamesInFederationRule";
|
|
50
50
|
import { buildSchema, buildSchemaFromAST } from "./buildSchema";
|
|
51
51
|
import { parseSelectionSet, SelectionSet } from './operations';
|
|
52
|
-
import { TAG_VERSIONS } from "./tagSpec";
|
|
52
|
+
import { TAG_VERSIONS } from "./specs/tagSpec";
|
|
53
53
|
import {
|
|
54
54
|
errorCodeDef,
|
|
55
55
|
ErrorCodeDefinition,
|
|
@@ -71,7 +71,7 @@ import {
|
|
|
71
71
|
CoreImport,
|
|
72
72
|
extractCoreFeatureImports,
|
|
73
73
|
CoreOrLinkDirectiveArgs,
|
|
74
|
-
} from "./coreSpec";
|
|
74
|
+
} from "./specs/coreSpec";
|
|
75
75
|
import {
|
|
76
76
|
FEDERATION_VERSIONS,
|
|
77
77
|
federationIdentity,
|
|
@@ -79,12 +79,12 @@ import {
|
|
|
79
79
|
FederationTypeName,
|
|
80
80
|
FEDERATION1_TYPES,
|
|
81
81
|
FEDERATION1_DIRECTIVES,
|
|
82
|
-
} from "./federationSpec";
|
|
82
|
+
} from "./specs/federationSpec";
|
|
83
83
|
import { defaultPrintOptions, PrintOptions as PrintOptions, printSchema } from "./print";
|
|
84
84
|
import { createObjectTypeSpecification, createScalarTypeSpecification, createUnionTypeSpecification } from "./directiveAndTypeSpecification";
|
|
85
85
|
import { didYouMean, suggestionList } from "./suggestions";
|
|
86
86
|
import { coreFeatureDefinitionIfKnown } from "./knownCoreFeatures";
|
|
87
|
-
import { joinIdentity } from "./joinSpec";
|
|
87
|
+
import { joinIdentity } from "./specs/joinSpec";
|
|
88
88
|
|
|
89
89
|
const linkSpec = LINK_VERSIONS.latest();
|
|
90
90
|
const tagSpec = TAG_VERSIONS.latest();
|
|
@@ -770,6 +770,10 @@ export class FederationMetadata {
|
|
|
770
770
|
return this.getPost20FederationDirective(FederationDirectiveName.REQUIRES_SCOPES);
|
|
771
771
|
}
|
|
772
772
|
|
|
773
|
+
policyDirective(): Post20FederationDirectiveDefinition<{scopes: string[]}> {
|
|
774
|
+
return this.getPost20FederationDirective(FederationDirectiveName.POLICY);
|
|
775
|
+
}
|
|
776
|
+
|
|
773
777
|
allFederationDirectives(): DirectiveDefinition[] {
|
|
774
778
|
const baseDirectives: DirectiveDefinition[] = [
|
|
775
779
|
this.keyDirective(),
|
|
@@ -805,6 +809,11 @@ export class FederationMetadata {
|
|
|
805
809
|
baseDirectives.push(requiresScopesDirective);
|
|
806
810
|
}
|
|
807
811
|
|
|
812
|
+
const policyDirective = this.policyDirective();
|
|
813
|
+
if (isFederationDirectiveDefinedInSchema(policyDirective)) {
|
|
814
|
+
baseDirectives.push(policyDirective);
|
|
815
|
+
}
|
|
816
|
+
|
|
808
817
|
return baseDirectives;
|
|
809
818
|
}
|
|
810
819
|
|
|
@@ -1182,9 +1191,9 @@ export function setSchemaAsFed2Subgraph(schema: Schema) {
|
|
|
1182
1191
|
|
|
1183
1192
|
// This is the full @link declaration as added by `asFed2SubgraphDocument`. It's here primarily for uses by tests that print and match
|
|
1184
1193
|
// subgraph schema to avoid having to update 20+ tests every time we use a new directive or the order of import changes ...
|
|
1185
|
-
export const FEDERATION2_LINK_WITH_FULL_IMPORTS = '@link(url: "https://specs.apollo.dev/federation/v2.
|
|
1194
|
+
export const FEDERATION2_LINK_WITH_FULL_IMPORTS = '@link(url: "https://specs.apollo.dev/federation/v2.6", import: ["@key", "@requires", "@provides", "@external", "@tag", "@extends", "@shareable", "@inaccessible", "@override", "@composeDirective", "@interfaceObject", "@authenticated", "@requiresScopes", "@policy"])';
|
|
1186
1195
|
// This is the full @link declaration that is added when upgrading fed v1 subgraphs to v2 version. It should only be used by tests.
|
|
1187
|
-
export const FEDERATION2_LINK_WITH_AUTO_EXPANDED_IMPORTS = '@link(url: "https://specs.apollo.dev/federation/v2.
|
|
1196
|
+
export const FEDERATION2_LINK_WITH_AUTO_EXPANDED_IMPORTS = '@link(url: "https://specs.apollo.dev/federation/v2.6", import: ["@key", "@requires", "@provides", "@external", "@tag", "@extends", "@shareable", "@inaccessible", "@override", "@composeDirective", "@interfaceObject"])';
|
|
1188
1197
|
|
|
1189
1198
|
/**
|
|
1190
1199
|
* Given a document that is assumed to _not_ be a fed2 schema (it does not have a `@link` to the federation spec),
|
package/src/index.ts
CHANGED
|
@@ -7,11 +7,11 @@ export * from './types';
|
|
|
7
7
|
export * from './operations';
|
|
8
8
|
export * from './utils';
|
|
9
9
|
export * from './debug';
|
|
10
|
-
export * from './coreSpec';
|
|
11
|
-
export * from './joinSpec';
|
|
12
|
-
export * from './tagSpec';
|
|
13
|
-
export * from './inaccessibleSpec';
|
|
14
|
-
export * from './federationSpec';
|
|
10
|
+
export * from './specs/coreSpec';
|
|
11
|
+
export * from './specs/joinSpec';
|
|
12
|
+
export * from './specs/tagSpec';
|
|
13
|
+
export * from './specs/inaccessibleSpec';
|
|
14
|
+
export * from './specs/federationSpec';
|
|
15
15
|
export * from './supergraphs';
|
|
16
16
|
export * from './error';
|
|
17
17
|
export * from './schemaUpgrader';
|
|
@@ -20,5 +20,5 @@ export * from './graphQLJSSchemaToAST';
|
|
|
20
20
|
export * from './directiveAndTypeSpecification';
|
|
21
21
|
export { coreFeatureDefinitionIfKnown } from './knownCoreFeatures';
|
|
22
22
|
export * from './argumentCompositionStrategies';
|
|
23
|
-
export * from './authenticatedSpec';
|
|
24
|
-
export * from './requiresScopesSpec';
|
|
23
|
+
export * from './specs/authenticatedSpec';
|
|
24
|
+
export * from './specs/requiresScopesSpec';
|
package/src/knownCoreFeatures.ts
CHANGED
package/src/schemaUpgrader.ts
CHANGED
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
} from "./federation";
|
|
34
34
|
import { assert, firstOf, MultiMap } from "./utils";
|
|
35
35
|
import { valueEquals } from "./values";
|
|
36
|
-
import { FEDERATION1_TYPES } from "./federationSpec";
|
|
36
|
+
import { FEDERATION1_TYPES } from "./specs/federationSpec";
|
|
37
37
|
|
|
38
38
|
export type UpgradeResult = UpgradeSuccess | UpgradeFailure;
|
|
39
39
|
|
|
@@ -6,9 +6,8 @@ import {
|
|
|
6
6
|
FeatureUrl,
|
|
7
7
|
FeatureVersion,
|
|
8
8
|
} from "./coreSpec";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { registerKnownFeature } from "./knownCoreFeatures";
|
|
9
|
+
import { createDirectiveSpecification } from "../directiveAndTypeSpecification";
|
|
10
|
+
import { registerKnownFeature } from "../knownCoreFeatures";
|
|
12
11
|
|
|
13
12
|
export class AuthenticatedSpecDefinition extends FeatureDefinition {
|
|
14
13
|
public static readonly directiveName = "authenticated";
|
|
@@ -38,12 +37,6 @@ export class AuthenticatedSpecDefinition extends FeatureDefinition {
|
|
|
38
37
|
}));
|
|
39
38
|
}
|
|
40
39
|
|
|
41
|
-
authenticatedDirective(
|
|
42
|
-
schema: Schema
|
|
43
|
-
): DirectiveDefinition<{ name: string }> {
|
|
44
|
-
return this.directive(schema, AuthenticatedSpecDefinition.directiveName)!;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
40
|
get defaultCorePurpose(): CorePurpose {
|
|
48
41
|
return 'SECURITY';
|
|
49
42
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { ASTNode, DirectiveLocation, GraphQLError, StringValueNode } from "graphql";
|
|
2
2
|
import { URL } from "url";
|
|
3
|
-
import { CoreFeature, Directive, DirectiveDefinition, EnumType, ErrGraphQLAPISchemaValidationFailed, ErrGraphQLValidationFailed, InputType, ListType, NamedType, NonNullType, ScalarType, Schema, SchemaDefinition, SchemaElement, sourceASTs } from "
|
|
4
|
-
import { sameType } from "
|
|
5
|
-
import { assert, findLast, firstOf, MapWithCachedArrays } from '
|
|
6
|
-
import { aggregateError, ERRORS } from "
|
|
7
|
-
import { valueToString } from "
|
|
8
|
-
import { coreFeatureDefinitionIfKnown, registerKnownFeature } from "
|
|
9
|
-
import { didYouMean, suggestionList } from "
|
|
10
|
-
import { ArgumentSpecification, createDirectiveSpecification, createEnumTypeSpecification, createScalarTypeSpecification, DirectiveCompositionSpecification, DirectiveSpecification, TypeSpecification } from "
|
|
3
|
+
import { CoreFeature, Directive, DirectiveDefinition, EnumType, ErrGraphQLAPISchemaValidationFailed, ErrGraphQLValidationFailed, InputType, ListType, NamedType, NonNullType, ScalarType, Schema, SchemaDefinition, SchemaElement, sourceASTs } from "../definitions";
|
|
4
|
+
import { sameType } from "../types";
|
|
5
|
+
import { assert, findLast, firstOf, MapWithCachedArrays } from '../utils';
|
|
6
|
+
import { aggregateError, ERRORS } from "../error";
|
|
7
|
+
import { valueToString } from "../values";
|
|
8
|
+
import { coreFeatureDefinitionIfKnown, registerKnownFeature } from "../knownCoreFeatures";
|
|
9
|
+
import { didYouMean, suggestionList } from "../suggestions";
|
|
10
|
+
import { ArgumentSpecification, createDirectiveSpecification, createEnumTypeSpecification, createScalarTypeSpecification, DirectiveCompositionSpecification, DirectiveSpecification, TypeSpecification } from "../directiveAndTypeSpecification";
|
|
11
11
|
|
|
12
12
|
export const coreIdentity = 'https://specs.apollo.dev/core';
|
|
13
13
|
export const linkIdentity = 'https://specs.apollo.dev/link';
|
|
@@ -2,21 +2,22 @@ import {
|
|
|
2
2
|
InputType,
|
|
3
3
|
NonNullType,
|
|
4
4
|
Schema,
|
|
5
|
-
} from "
|
|
5
|
+
} from "../definitions";
|
|
6
6
|
import { FeatureDefinition, FeatureDefinitions, FeatureUrl, FeatureVersion } from "./coreSpec";
|
|
7
7
|
import {
|
|
8
8
|
ArgumentSpecification,
|
|
9
9
|
createDirectiveSpecification,
|
|
10
10
|
createScalarTypeSpecification,
|
|
11
|
-
} from "
|
|
11
|
+
} from "../directiveAndTypeSpecification";
|
|
12
12
|
import { DirectiveLocation } from "graphql";
|
|
13
|
-
import { assert } from "
|
|
13
|
+
import { assert } from "../utils";
|
|
14
14
|
import { TAG_VERSIONS } from "./tagSpec";
|
|
15
|
-
import { federationMetadata } from "
|
|
16
|
-
import { registerKnownFeature } from "
|
|
15
|
+
import { federationMetadata } from "../federation";
|
|
16
|
+
import { registerKnownFeature } from "../knownCoreFeatures";
|
|
17
17
|
import { INACCESSIBLE_VERSIONS } from "./inaccessibleSpec";
|
|
18
18
|
import { AUTHENTICATED_VERSIONS } from "./authenticatedSpec";
|
|
19
19
|
import { REQUIRES_SCOPES_VERSIONS } from "./requiresScopesSpec";
|
|
20
|
+
import { POLICY_VERSIONS } from './policySpec';
|
|
20
21
|
|
|
21
22
|
export const federationIdentity = 'https://specs.apollo.dev/federation';
|
|
22
23
|
|
|
@@ -38,6 +39,7 @@ export enum FederationDirectiveName {
|
|
|
38
39
|
INTERFACE_OBJECT = 'interfaceObject',
|
|
39
40
|
AUTHENTICATED = 'authenticated',
|
|
40
41
|
REQUIRES_SCOPES = 'requiresScopes',
|
|
42
|
+
POLICY = 'policy',
|
|
41
43
|
}
|
|
42
44
|
|
|
43
45
|
const fieldSetTypeSpec = createScalarTypeSpecification({ name: FederationTypeName.FIELD_SET });
|
|
@@ -149,6 +151,10 @@ export class FederationSpecDefinition extends FeatureDefinition {
|
|
|
149
151
|
this.registerSubFeature(AUTHENTICATED_VERSIONS.find(new FeatureVersion(0, 1))!);
|
|
150
152
|
this.registerSubFeature(REQUIRES_SCOPES_VERSIONS.find(new FeatureVersion(0, 1))!);
|
|
151
153
|
}
|
|
154
|
+
|
|
155
|
+
if (version >= (new FeatureVersion(2, 6))) {
|
|
156
|
+
this.registerSubFeature(POLICY_VERSIONS.find(new FeatureVersion(0, 1))!);
|
|
157
|
+
}
|
|
152
158
|
}
|
|
153
159
|
}
|
|
154
160
|
|
|
@@ -158,6 +164,7 @@ export const FEDERATION_VERSIONS = new FeatureDefinitions<FederationSpecDefiniti
|
|
|
158
164
|
.add(new FederationSpecDefinition(new FeatureVersion(2, 2)))
|
|
159
165
|
.add(new FederationSpecDefinition(new FeatureVersion(2, 3)))
|
|
160
166
|
.add(new FederationSpecDefinition(new FeatureVersion(2, 4)))
|
|
161
|
-
.add(new FederationSpecDefinition(new FeatureVersion(2, 5)))
|
|
167
|
+
.add(new FederationSpecDefinition(new FeatureVersion(2, 5)))
|
|
168
|
+
.add(new FederationSpecDefinition(new FeatureVersion(2, 6)));
|
|
162
169
|
|
|
163
170
|
registerKnownFeature(FEDERATION_VERSIONS);
|
|
@@ -25,12 +25,12 @@ import {
|
|
|
25
25
|
SchemaDefinition,
|
|
26
26
|
SchemaElement,
|
|
27
27
|
UnionType,
|
|
28
|
-
} from "
|
|
28
|
+
} from "../definitions";
|
|
29
29
|
import { GraphQLError, DirectiveLocation } from "graphql";
|
|
30
|
-
import { registerKnownFeature } from "
|
|
31
|
-
import { ERRORS } from "
|
|
32
|
-
import { createDirectiveSpecification, DirectiveSpecification } from "
|
|
33
|
-
import { assert } from "
|
|
30
|
+
import { registerKnownFeature } from "../knownCoreFeatures";
|
|
31
|
+
import { ERRORS } from "../error";
|
|
32
|
+
import { createDirectiveSpecification, DirectiveSpecification } from "../directiveAndTypeSpecification";
|
|
33
|
+
import { assert } from "../utils";
|
|
34
34
|
|
|
35
35
|
export const inaccessibleIdentity = 'https://specs.apollo.dev/inaccessible';
|
|
36
36
|
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
ScalarType,
|
|
7
7
|
Schema,
|
|
8
8
|
NonNullType,
|
|
9
|
-
} from "
|
|
10
|
-
import { Subgraph, Subgraphs } from "
|
|
11
|
-
import { registerKnownFeature } from '
|
|
12
|
-
import { MultiMap } from "
|
|
9
|
+
} from "../definitions";
|
|
10
|
+
import { Subgraph, Subgraphs } from "../federation";
|
|
11
|
+
import { registerKnownFeature } from '../knownCoreFeatures';
|
|
12
|
+
import { MultiMap } from "../utils";
|
|
13
13
|
|
|
14
14
|
export const joinIdentity = 'https://specs.apollo.dev/join';
|
|
15
15
|
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { DirectiveLocation } from "graphql";
|
|
2
|
+
import {
|
|
3
|
+
CorePurpose,
|
|
4
|
+
FeatureDefinition,
|
|
5
|
+
FeatureDefinitions,
|
|
6
|
+
FeatureUrl,
|
|
7
|
+
FeatureVersion,
|
|
8
|
+
} from "./coreSpec";
|
|
9
|
+
import { ListType, NonNullType } from "../definitions";
|
|
10
|
+
import { createDirectiveSpecification, createScalarTypeSpecification } from "../directiveAndTypeSpecification";
|
|
11
|
+
import { registerKnownFeature } from "../knownCoreFeatures";
|
|
12
|
+
import { ARGUMENT_COMPOSITION_STRATEGIES } from "../argumentCompositionStrategies";
|
|
13
|
+
import { assert } from "../utils";
|
|
14
|
+
|
|
15
|
+
export enum PolicyTypeName {
|
|
16
|
+
POLICY = 'Policy',
|
|
17
|
+
}
|
|
18
|
+
export class PolicySpecDefinition extends FeatureDefinition {
|
|
19
|
+
public static readonly directiveName = "policy";
|
|
20
|
+
public static readonly identity =
|
|
21
|
+
`https://specs.apollo.dev/${PolicySpecDefinition.directiveName}`;
|
|
22
|
+
|
|
23
|
+
constructor(version: FeatureVersion) {
|
|
24
|
+
super(
|
|
25
|
+
new FeatureUrl(
|
|
26
|
+
PolicySpecDefinition.identity,
|
|
27
|
+
PolicySpecDefinition.directiveName,
|
|
28
|
+
version,
|
|
29
|
+
)
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
this.registerType(createScalarTypeSpecification({ name: PolicyTypeName.POLICY }));
|
|
33
|
+
|
|
34
|
+
this.registerDirective(createDirectiveSpecification({
|
|
35
|
+
name: PolicySpecDefinition.directiveName,
|
|
36
|
+
args: [{
|
|
37
|
+
name: 'policies',
|
|
38
|
+
type: (schema, feature) => {
|
|
39
|
+
assert(feature, "Shouldn't be added without being attached to a @link spec");
|
|
40
|
+
const policyName = feature.typeNameInSchema(PolicyTypeName.POLICY);
|
|
41
|
+
const PolicyType = schema.type(policyName);
|
|
42
|
+
assert(PolicyType, () => `Expected "${policyName}" to be defined`);
|
|
43
|
+
return new NonNullType(new ListType(new NonNullType(new ListType(new NonNullType(PolicyType)))));
|
|
44
|
+
},
|
|
45
|
+
compositionStrategy: ARGUMENT_COMPOSITION_STRATEGIES.UNION,
|
|
46
|
+
}],
|
|
47
|
+
locations: [
|
|
48
|
+
DirectiveLocation.FIELD_DEFINITION,
|
|
49
|
+
DirectiveLocation.OBJECT,
|
|
50
|
+
DirectiveLocation.INTERFACE,
|
|
51
|
+
DirectiveLocation.SCALAR,
|
|
52
|
+
DirectiveLocation.ENUM,
|
|
53
|
+
],
|
|
54
|
+
composes: true,
|
|
55
|
+
supergraphSpecification: () => POLICY_VERSIONS.latest(),
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
get defaultCorePurpose(): CorePurpose {
|
|
60
|
+
return 'SECURITY';
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export const POLICY_VERSIONS =
|
|
65
|
+
new FeatureDefinitions<PolicySpecDefinition>(
|
|
66
|
+
PolicySpecDefinition.identity
|
|
67
|
+
).add(new PolicySpecDefinition(new FeatureVersion(0, 1)));
|
|
68
|
+
|
|
69
|
+
registerKnownFeature(POLICY_VERSIONS);
|
|
@@ -6,11 +6,11 @@ import {
|
|
|
6
6
|
FeatureUrl,
|
|
7
7
|
FeatureVersion,
|
|
8
8
|
} from "./coreSpec";
|
|
9
|
-
import {
|
|
10
|
-
import { createDirectiveSpecification, createScalarTypeSpecification } from "
|
|
11
|
-
import { registerKnownFeature } from "
|
|
12
|
-
import { ARGUMENT_COMPOSITION_STRATEGIES } from "
|
|
13
|
-
import { assert } from "
|
|
9
|
+
import { ListType, NonNullType } from "../definitions";
|
|
10
|
+
import { createDirectiveSpecification, createScalarTypeSpecification } from "../directiveAndTypeSpecification";
|
|
11
|
+
import { registerKnownFeature } from "../knownCoreFeatures";
|
|
12
|
+
import { ARGUMENT_COMPOSITION_STRATEGIES } from "../argumentCompositionStrategies";
|
|
13
|
+
import { assert } from "../utils";
|
|
14
14
|
|
|
15
15
|
export enum RequiresScopesTypeName {
|
|
16
16
|
SCOPE = 'Scope',
|
|
@@ -57,12 +57,6 @@ export class RequiresScopesSpecDefinition extends FeatureDefinition {
|
|
|
57
57
|
}));
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
requiresScopesDirective(
|
|
61
|
-
schema: Schema
|
|
62
|
-
): DirectiveDefinition<{ name: string }> {
|
|
63
|
-
return this.directive(schema, RequiresScopesSpecDefinition.directiveName)!;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
60
|
get defaultCorePurpose(): CorePurpose {
|
|
67
61
|
return 'SECURITY';
|
|
68
62
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { DirectiveLocation, GraphQLError } from "graphql";
|
|
2
2
|
import { FeatureDefinition, FeatureDefinitions, FeatureUrl, FeatureVersion } from "./coreSpec";
|
|
3
|
-
import { DirectiveDefinition, NonNullType
|
|
4
|
-
import { createDirectiveSpecification, DirectiveSpecification } from "
|
|
5
|
-
import { ERRORS } from "
|
|
6
|
-
import { registerKnownFeature } from "
|
|
7
|
-
import { sameType } from "
|
|
3
|
+
import { DirectiveDefinition, NonNullType } from "../definitions";
|
|
4
|
+
import { createDirectiveSpecification, DirectiveSpecification } from "../directiveAndTypeSpecification";
|
|
5
|
+
import { ERRORS } from "../error";
|
|
6
|
+
import { registerKnownFeature } from "../knownCoreFeatures";
|
|
7
|
+
import { sameType } from "../types";
|
|
8
8
|
|
|
9
9
|
export const tagIdentity = 'https://specs.apollo.dev/tag';
|
|
10
10
|
|
|
@@ -56,10 +56,6 @@ export class TagSpecDefinition extends FeatureDefinition {
|
|
|
56
56
|
return this.version.equals(new FeatureVersion(0, 2))
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
tagDirective(schema: Schema): DirectiveDefinition<{name: string}> {
|
|
60
|
-
return this.directive(schema, 'tag')!;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
59
|
checkCompatibleDirective(definition: DirectiveDefinition): GraphQLError | undefined {
|
|
64
60
|
const hasUnknownArguments = Object.keys(definition.arguments()).length > 1;
|
|
65
61
|
const nameArg = definition.argument('name');
|
package/src/supergraphs.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DocumentNode, GraphQLError } from "graphql";
|
|
2
|
-
import { ErrCoreCheckFailed, FeatureUrl, FeatureVersion } from "./coreSpec";
|
|
2
|
+
import { ErrCoreCheckFailed, FeatureUrl, FeatureVersion } from "./specs/coreSpec";
|
|
3
3
|
import { CoreFeatures, Schema, sourceASTs } from "./definitions";
|
|
4
|
-
import { joinIdentity, JoinSpecDefinition, JOIN_VERSIONS } from "./joinSpec";
|
|
4
|
+
import { joinIdentity, JoinSpecDefinition, JOIN_VERSIONS } from "./specs/joinSpec";
|
|
5
5
|
import { buildSchema, buildSchemaFromAST } from "./buildSchema";
|
|
6
6
|
import { extractSubgraphsNamesAndUrlsFromSupergraph, extractSubgraphsFromSupergraph } from "./extractSubgraphsFromSupergraph";
|
|
7
7
|
import { ERRORS } from "./error";
|
|
@@ -90,11 +90,11 @@ export class Supergraph {
|
|
|
90
90
|
private readonly shouldValidate: boolean = true,
|
|
91
91
|
) {
|
|
92
92
|
const [coreFeatures] = validateSupergraph(schema);
|
|
93
|
-
|
|
93
|
+
|
|
94
94
|
if (supportedFeatures !== null) {
|
|
95
95
|
checkFeatureSupport(coreFeatures, supportedFeatures);
|
|
96
96
|
}
|
|
97
|
-
|
|
97
|
+
|
|
98
98
|
if (shouldValidate) {
|
|
99
99
|
schema.validate();
|
|
100
100
|
} else {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authenticatedSpec.d.ts","sourceRoot":"","sources":["../src/authenticatedSpec.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAElB,cAAc,EACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAI5D,qBAAa,2BAA4B,SAAQ,iBAAiB;IAChE,gBAAuB,aAAa,mBAAmB;IACvD,gBAAuB,QAAQ,SAA2E;gBAE9F,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc;IAwB7E,sBAAsB,CACpB,MAAM,EAAE,MAAM,GACb,mBAAmB,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAIxC,IAAI,kBAAkB,IAAI,WAAW,CAEpC;CACF;AAED,eAAO,MAAM,sBAAsB,iDAQhC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authenticatedSpec.js","sourceRoot":"","sources":["../src/authenticatedSpec.ts"],"names":[],"mappings":";;;AAAA,qCAA4C;AAC5C,yCAMoB;AAEpB,mFAA+E;AAC/E,2DAA2D;AAE3D,MAAa,2BAA4B,SAAQ,4BAAiB;IAIhE,YAAY,OAAuB,EAAE,wBAAwC;QAC3E,KAAK,CACH,IAAI,qBAAU,CACZ,2BAA2B,CAAC,QAAQ,EACpC,2BAA2B,CAAC,aAAa,EACzC,OAAO,CACR,EACD,wBAAwB,CACzB,CAAC;QAEF,IAAI,CAAC,iBAAiB,CAAC,IAAA,4DAA4B,EAAC;YAClD,IAAI,EAAE,2BAA2B,CAAC,aAAa;YAC/C,SAAS,EAAE;gBACT,2BAAiB,CAAC,gBAAgB;gBAClC,2BAAiB,CAAC,MAAM;gBACxB,2BAAiB,CAAC,SAAS;gBAC3B,2BAAiB,CAAC,MAAM;gBACxB,2BAAiB,CAAC,IAAI;aACvB;YACD,QAAQ,EAAE,IAAI;YACd,uBAAuB,EAAE,GAAG,EAAE,CAAC,8BAAsB,CAAC,MAAM,EAAE;SAC/D,CAAC,CAAC,CAAC;IACN,CAAC;IAED,sBAAsB,CACpB,MAAc;QAEd,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,2BAA2B,CAAC,aAAa,CAAE,CAAC;IAC5E,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,UAAU,CAAC;IACpB,CAAC;;AApCH,kEAqCC;AApCwB,yCAAa,GAAG,eAAe,CAAC;AAChC,oCAAQ,GAAG,4BAA4B,2BAA2B,CAAC,aAAa,EAAE,CAAC;AAqC/F,QAAA,sBAAsB,GACjC,IAAI,6BAAkB,CACpB,2BAA2B,CAAC,QAAQ,CACrC,CAAC,GAAG,CACH,IAAI,2BAA2B,CAC7B,IAAI,yBAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EACxB,IAAI,yBAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CACzB,CACF,CAAC;AAEJ,IAAA,wCAAoB,EAAC,8BAAsB,CAAC,CAAC"}
|
package/dist/coreSpec.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"coreSpec.d.ts","sourceRoot":"","sources":["../src/coreSpec.ts"],"names":[],"mappings":"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"}
|