@apollo/federation-internals 2.7.0 → 2.7.1
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/error.d.ts +1 -0
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js +2 -0
- package/dist/error.js.map +1 -1
- package/dist/specs/sourceSpec.d.ts +2 -1
- package/dist/specs/sourceSpec.d.ts.map +1 -1
- package/dist/specs/sourceSpec.js +89 -80
- package/dist/specs/sourceSpec.js.map +1 -1
- package/package.json +1 -1
- package/src/error.ts +7 -0
- package/src/specs/sourceSpec.ts +146 -118
package/dist/error.d.ts
CHANGED
|
@@ -123,6 +123,7 @@ export declare const ERRORS: {
|
|
|
123
123
|
INTERFACE_OBJECT_USAGE_ERROR: ErrorCodeDefinition;
|
|
124
124
|
INTERFACE_KEY_NOT_ON_IMPLEMENTATION: ErrorCodeDefinition;
|
|
125
125
|
INTERFACE_KEY_MISSING_IMPLEMENTATION_TYPE: ErrorCodeDefinition;
|
|
126
|
+
SOURCE_FEDERATION_VERSION_REQUIRED: ErrorCodeDefinition;
|
|
126
127
|
SOURCE_API_NAME_INVALID: ErrorCodeDefinition;
|
|
127
128
|
SOURCE_API_PROTOCOL_INVALID: ErrorCodeDefinition;
|
|
128
129
|
SOURCE_API_HTTP_BASE_URL_INVALID: ErrorCodeDefinition;
|
package/dist/error.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAO5F,KAAK,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,cAAc,CAAC;AAQ5D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,KAAK,YAAY,CAAC;CACvE,CAAA;AAsBD,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,YAAY,GAAG,mBAAmB,CAS/E;AA6BD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAElG;AAMD,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,YAAY,EAAE,GAAG,SAAS,CAQhE;AAED,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAM5D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAE1D;AAOD,MAAM,MAAM,iBAAiB,CAAC,QAAQ,GAAG,MAAM,IAAI;IACjD,GAAG,CAAC,OAAO,EAAE,QAAQ,GAAG,mBAAmB,CAAC;CAC7C,CAAA;AAwBD,wBAAgB,SAAS,CAAC,CAAC,EAAE,YAAY,GAAG,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAKrF;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,YAAY,GAAG,qBAAqB,GAAG,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAG9G;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAY1F;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,CAYxH;
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAO5F,KAAK,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,cAAc,CAAC;AAQ5D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,KAAK,YAAY,CAAC;CACvE,CAAA;AAsBD,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,YAAY,GAAG,mBAAmB,CAS/E;AA6BD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAElG;AAMD,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,YAAY,EAAE,GAAG,SAAS,CAQhE;AAED,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAM5D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAE1D;AAOD,MAAM,MAAM,iBAAiB,CAAC,QAAQ,GAAG,MAAM,IAAI;IACjD,GAAG,CAAC,OAAO,EAAE,QAAQ,GAAG,mBAAmB,CAAC;CAC7C,CAAA;AAwBD,wBAAgB,SAAS,CAAC,CAAC,EAAE,YAAY,GAAG,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAKrF;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,YAAY,GAAG,qBAAqB,GAAG,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAG9G;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAY1F;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,CAYxH;AA4eD,eAAO,MAAM,gBAAgB;;qCApiBqC,mBAAmB;;;qCAAnB,mBAAmB;;;qCAAnB,mBAAmB;;;qCAAnB,mBAAmB;;;qCAAnB,mBAAmB;;;6CAAnB,mBAAmB;;;qCAAnB,mBAAmB;;CA4iBpF,CAAA;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkGlB,CAAC;AAYF,eAAO,MAAM,cAAc,YA0B1B,CAAC"}
|
package/dist/error.js
CHANGED
|
@@ -203,6 +203,7 @@ const DIRECTIVE_COMPOSITION_ERROR = makeCodeDefinition('DIRECTIVE_COMPOSITION_ER
|
|
|
203
203
|
const INTERFACE_OBJECT_USAGE_ERROR = makeCodeDefinition('INTERFACE_OBJECT_USAGE_ERROR', 'Error in the usage of the @interfaceObject directive.', { addedIn: '2.3.0' });
|
|
204
204
|
const INTERFACE_KEY_NOT_ON_IMPLEMENTATION = makeCodeDefinition('INTERFACE_KEY_NOT_ON_IMPLEMENTATION', 'A `@key` is defined on an interface type, but is not defined (or is not resolvable) on at least one of the interface implementations', { addedIn: '2.3.0' });
|
|
205
205
|
const INTERFACE_KEY_MISSING_IMPLEMENTATION_TYPE = makeCodeDefinition('INTERFACE_KEY_MISSING_IMPLEMENTATION_TYPE', 'A subgraph has a `@key` on an interface type, but that subgraph does not define an implementation (in the supergraph) of that interface', { addedIn: '2.3.0' });
|
|
206
|
+
const SOURCE_FEDERATION_VERSION_REQUIRED = makeCodeDefinition('SOURCE_FEDERATION_VERSION_REQUIRED', 'Schemas using `@source{API,Type,Field}` directives must @link-import v2.7 or later of federation', { addedIn: '2.7.1' });
|
|
206
207
|
const SOURCE_API_NAME_INVALID = makeCodeDefinition('SOURCE_API_NAME_INVALID', 'Each `@sourceAPI` directive must take a unique and valid name as an argument', { addedIn: '2.7.0' });
|
|
207
208
|
const SOURCE_API_PROTOCOL_INVALID = makeCodeDefinition('SOURCE_API_PROTOCOL_INVALID', 'Each `@sourceAPI` directive must specify exactly one of the known protocols', { addedIn: '2.7.0' });
|
|
208
209
|
const SOURCE_API_HTTP_BASE_URL_INVALID = makeCodeDefinition('SOURCE_API_HTTP_BASE_URL_INVALID', 'The `@sourceAPI` directive must specify a valid http.baseURL', { addedIn: '2.7.0' });
|
|
@@ -308,6 +309,7 @@ exports.ERRORS = {
|
|
|
308
309
|
INTERFACE_OBJECT_USAGE_ERROR,
|
|
309
310
|
INTERFACE_KEY_NOT_ON_IMPLEMENTATION,
|
|
310
311
|
INTERFACE_KEY_MISSING_IMPLEMENTATION_TYPE,
|
|
312
|
+
SOURCE_FEDERATION_VERSION_REQUIRED,
|
|
311
313
|
SOURCE_API_NAME_INVALID,
|
|
312
314
|
SOURCE_API_PROTOCOL_INVALID,
|
|
313
315
|
SOURCE_API_HTTP_BASE_URL_INVALID,
|
package/dist/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@ import { FeatureDefinition, FeatureDefinitions, FeatureVersion } from "./coreSpe
|
|
|
3
3
|
import { Schema, DirectiveDefinition } from '../definitions';
|
|
4
4
|
export declare const sourceIdentity = "https://specs.apollo.dev/source";
|
|
5
5
|
export declare class SourceSpecDefinition extends FeatureDefinition {
|
|
6
|
-
|
|
6
|
+
readonly minimumFederationVersion: FeatureVersion;
|
|
7
|
+
constructor(version: FeatureVersion, minimumFederationVersion: FeatureVersion);
|
|
7
8
|
addElementsToSchema(schema: Schema): GraphQLError[];
|
|
8
9
|
allElementNames(): string[];
|
|
9
10
|
sourceAPIDirective(schema: Schema): DirectiveDefinition<SourceAPIDirectiveArgs>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sourceSpec.d.ts","sourceRoot":"","sources":["../../src/specs/sourceSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,YAAY,
|
|
1
|
+
{"version":3,"file":"sourceSpec.d.ts","sourceRoot":"","sources":["../../src/specs/sourceSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,YAAY,EAAQ,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAc,cAAc,EAAqB,MAAM,YAAY,CAAC;AAClH,OAAO,EACL,MAAM,EAKN,mBAAmB,EAEpB,MAAM,gBAAgB,CAAC;AAKxB,eAAO,MAAM,cAAc,oCAAoC,CAAC;AAEhE,qBAAa,oBAAqB,SAAQ,iBAAiB;IACpB,QAAQ,CAAC,wBAAwB,EAAE,cAAc;gBAA1E,OAAO,EAAE,cAAc,EAAW,wBAAwB,EAAE,cAAc;IA4BtF,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE;IA2EnD,eAAe,IAAI,MAAM,EAAE;IAgB3B,kBAAkB,CAAC,MAAM,EAAE,MAAM;IAIjC,mBAAmB,CAAC,MAAM,EAAE,MAAM;IAIlC,oBAAoB,CAAC,MAAM,EAAE,MAAM;IAInC,OAAO,CAAC,mBAAmB;IAkDlB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE;IA+B/D,OAAO,CAAC,iBAAiB;IAkEzB,OAAO,CAAC,kBAAkB;IAiG1B,OAAO,CAAC,mBAAmB;CAiH5B;AA2DD,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,KAAK,eAAe,GAAG,MAAM,CAAC;AAC9B,KAAK,aAAa,GAAG,MAAM,CAAC;AAE5B,KAAK,UAAU,GAAG;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE;QACP,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;KAC9B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,eAAe,0CACwD,CAAC"}
|
package/dist/specs/sourceSpec.js
CHANGED
|
@@ -11,6 +11,7 @@ exports.sourceIdentity = 'https://specs.apollo.dev/source';
|
|
|
11
11
|
class SourceSpecDefinition extends coreSpec_1.FeatureDefinition {
|
|
12
12
|
constructor(version, minimumFederationVersion) {
|
|
13
13
|
super(new coreSpec_1.FeatureUrl(exports.sourceIdentity, 'source', version), minimumFederationVersion);
|
|
14
|
+
this.minimumFederationVersion = minimumFederationVersion;
|
|
14
15
|
this.registerDirective((0, directiveAndTypeSpecification_1.createDirectiveSpecification)({
|
|
15
16
|
name: 'sourceAPI',
|
|
16
17
|
locations: [graphql_1.DirectiveLocation.SCHEMA],
|
|
@@ -98,13 +99,14 @@ class SourceSpecDefinition extends coreSpec_1.FeatureDefinition {
|
|
|
98
99
|
sourceFieldDirective(schema) {
|
|
99
100
|
return this.directive(schema, 'sourceField');
|
|
100
101
|
}
|
|
101
|
-
getSourceDirectives(schema) {
|
|
102
|
+
getSourceDirectives(schema, errors) {
|
|
102
103
|
const result = {};
|
|
104
|
+
let federationVersion;
|
|
103
105
|
schema.schemaDefinition.appliedDirectivesOf('link')
|
|
104
106
|
.forEach(linkDirective => {
|
|
105
|
-
var _a;
|
|
106
107
|
const { url, import: imports } = linkDirective.arguments();
|
|
107
|
-
|
|
108
|
+
const featureUrl = coreSpec_1.FeatureUrl.maybeParse(url);
|
|
109
|
+
if (imports && featureUrl && featureUrl.identity === exports.sourceIdentity) {
|
|
108
110
|
imports.forEach(nameOrRename => {
|
|
109
111
|
const originalName = typeof nameOrRename === 'string' ? nameOrRename : nameOrRename.name;
|
|
110
112
|
const importedName = typeof nameOrRename === 'string' ? nameOrRename : nameOrRename.as || originalName;
|
|
@@ -120,16 +122,24 @@ class SourceSpecDefinition extends coreSpec_1.FeatureDefinition {
|
|
|
120
122
|
}
|
|
121
123
|
});
|
|
122
124
|
}
|
|
125
|
+
if (featureUrl && featureUrl.name === 'federation') {
|
|
126
|
+
federationVersion = featureUrl.version;
|
|
127
|
+
}
|
|
123
128
|
});
|
|
129
|
+
if (result.sourceAPI || result.sourceType || result.sourceField) {
|
|
130
|
+
if (!federationVersion || federationVersion.lt(this.minimumFederationVersion)) {
|
|
131
|
+
errors.push(error_1.ERRORS.SOURCE_FEDERATION_VERSION_REQUIRED.err(`Schemas that @link to ${exports.sourceIdentity} must also @link to federation version ${this.minimumFederationVersion} or later (found ${federationVersion})`));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
124
134
|
return result;
|
|
125
135
|
}
|
|
126
136
|
validateSubgraphSchema(schema) {
|
|
127
|
-
const
|
|
137
|
+
const errors = super.validateSubgraphSchema(schema);
|
|
138
|
+
const { sourceAPI, sourceType, sourceField, } = this.getSourceDirectives(schema, errors);
|
|
128
139
|
if (!(sourceAPI || sourceType || sourceField)) {
|
|
129
140
|
return [];
|
|
130
141
|
}
|
|
131
142
|
const apiNameToProtocol = new Map();
|
|
132
|
-
const errors = [];
|
|
133
143
|
if (sourceAPI) {
|
|
134
144
|
this.validateSourceAPI(sourceAPI, apiNameToProtocol, errors);
|
|
135
145
|
}
|
|
@@ -144,20 +154,17 @@ class SourceSpecDefinition extends coreSpec_1.FeatureDefinition {
|
|
|
144
154
|
validateSourceAPI(sourceAPI, apiNameToProtocol, errors) {
|
|
145
155
|
sourceAPI.applications().forEach(application => {
|
|
146
156
|
const { name, ...rest } = application.arguments();
|
|
147
|
-
if (
|
|
148
|
-
errors.push(error_1.ERRORS.SOURCE_API_NAME_INVALID.err(`${sourceAPI} must specify
|
|
149
|
-
}
|
|
150
|
-
try {
|
|
151
|
-
(0, graphql_1.assertName)(name);
|
|
157
|
+
if (!isValidSourceAPIName(name)) {
|
|
158
|
+
errors.push(error_1.ERRORS.SOURCE_API_NAME_INVALID.err(`${sourceAPI}(name: ${JSON.stringify(name)}) must specify name using only [a-zA-Z0-9-_] characters`, { nodes: application.sourceAST }));
|
|
152
159
|
}
|
|
153
|
-
|
|
154
|
-
errors.push(error_1.ERRORS.SOURCE_API_NAME_INVALID.err(`${sourceAPI}
|
|
160
|
+
if (apiNameToProtocol.has(name)) {
|
|
161
|
+
errors.push(error_1.ERRORS.SOURCE_API_NAME_INVALID.err(`${sourceAPI} must specify unique name (${JSON.stringify(name)} reused)`, { nodes: application.sourceAST }));
|
|
155
162
|
}
|
|
156
163
|
let protocol;
|
|
157
164
|
KNOWN_SOURCE_PROTOCOLS.forEach(knownProtocol => {
|
|
158
165
|
if (rest[knownProtocol]) {
|
|
159
166
|
if (protocol) {
|
|
160
|
-
errors.push(error_1.ERRORS.SOURCE_API_PROTOCOL_INVALID.err(`${sourceAPI} must specify only one of ${KNOWN_SOURCE_PROTOCOLS.join(', ')}`, { nodes: application.sourceAST }));
|
|
167
|
+
errors.push(error_1.ERRORS.SOURCE_API_PROTOCOL_INVALID.err(`${sourceAPI} must specify only one of ${KNOWN_SOURCE_PROTOCOLS.join(', ')} but specified both ${protocol} and ${knownProtocol}`, { nodes: application.sourceAST }));
|
|
161
168
|
}
|
|
162
169
|
protocol = knownProtocol;
|
|
163
170
|
}
|
|
@@ -171,13 +178,13 @@ class SourceSpecDefinition extends coreSpec_1.FeatureDefinition {
|
|
|
171
178
|
new URL(baseURL);
|
|
172
179
|
}
|
|
173
180
|
catch (e) {
|
|
174
|
-
errors.push(error_1.ERRORS.SOURCE_API_HTTP_BASE_URL_INVALID.err(`${sourceAPI} http.baseURL ${JSON.stringify(baseURL)} must be valid URL`, { nodes: application.sourceAST }));
|
|
181
|
+
errors.push(error_1.ERRORS.SOURCE_API_HTTP_BASE_URL_INVALID.err(`${sourceAPI} http.baseURL ${JSON.stringify(baseURL)} must be valid URL (error: ${e.message})`, { nodes: application.sourceAST }));
|
|
175
182
|
}
|
|
176
183
|
validateHTTPHeaders(headers, errors, sourceAPI.name);
|
|
177
184
|
}
|
|
178
185
|
}
|
|
179
186
|
else {
|
|
180
|
-
errors.push(error_1.ERRORS.SOURCE_API_PROTOCOL_INVALID.err(`${sourceAPI} must specify one
|
|
187
|
+
errors.push(error_1.ERRORS.SOURCE_API_PROTOCOL_INVALID.err(`${sourceAPI} must specify one protocol from the set {${KNOWN_SOURCE_PROTOCOLS.join(',')}}`, { nodes: application.sourceAST }));
|
|
181
188
|
}
|
|
182
189
|
});
|
|
183
190
|
}
|
|
@@ -188,37 +195,35 @@ class SourceSpecDefinition extends coreSpec_1.FeatureDefinition {
|
|
|
188
195
|
if (!api || !apiNameToProtocol.has(api)) {
|
|
189
196
|
errors.push(error_1.ERRORS.SOURCE_TYPE_API_ERROR.err(`${sourceType} specifies unknown api ${api}`, { nodes: application.sourceAST }));
|
|
190
197
|
}
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
198
|
+
const expectedProtocol = apiNameToProtocol.get(api) || HTTP_PROTOCOL;
|
|
199
|
+
const protocolValue = expectedProtocol && rest[expectedProtocol];
|
|
200
|
+
if (expectedProtocol && !protocolValue) {
|
|
201
|
+
errors.push(error_1.ERRORS.SOURCE_TYPE_PROTOCOL_INVALID.err(`${sourceType} must specify same ${expectedProtocol} argument as corresponding @sourceAPI for api ${api}`, { nodes: application.sourceAST }));
|
|
202
|
+
}
|
|
203
|
+
if (protocolValue && expectedProtocol === HTTP_PROTOCOL) {
|
|
204
|
+
const { GET, POST, headers, body } = protocolValue;
|
|
205
|
+
if ([GET, POST].filter(Boolean).length !== 1) {
|
|
206
|
+
errors.push(error_1.ERRORS.SOURCE_TYPE_HTTP_METHOD_INVALID.err(`${sourceType} must specify exactly one of http.GET or http.POST`, { nodes: application.sourceAST }));
|
|
196
207
|
}
|
|
197
|
-
|
|
198
|
-
const
|
|
199
|
-
|
|
200
|
-
|
|
208
|
+
else {
|
|
209
|
+
const urlPathTemplate = (GET || POST);
|
|
210
|
+
try {
|
|
211
|
+
parseURLPathTemplate(urlPathTemplate);
|
|
201
212
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
try {
|
|
205
|
-
parseURLPathTemplate(urlPathTemplate);
|
|
206
|
-
}
|
|
207
|
-
catch (e) {
|
|
208
|
-
errors.push(error_1.ERRORS.SOURCE_TYPE_HTTP_PATH_INVALID.err(`${sourceType} http.GET or http.POST must be valid URL path template`));
|
|
209
|
-
}
|
|
213
|
+
catch (e) {
|
|
214
|
+
errors.push(error_1.ERRORS.SOURCE_TYPE_HTTP_PATH_INVALID.err(`${sourceType} http.GET or http.POST must be valid URL path template (error: ${e.message})`));
|
|
210
215
|
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
}
|
|
216
|
+
}
|
|
217
|
+
validateHTTPHeaders(headers, errors, sourceType.name);
|
|
218
|
+
if (body) {
|
|
219
|
+
if (GET) {
|
|
220
|
+
errors.push(error_1.ERRORS.SOURCE_TYPE_HTTP_BODY_INVALID.err(`${sourceType} http.GET cannot specify http.body`, { nodes: application.sourceAST }));
|
|
221
|
+
}
|
|
222
|
+
try {
|
|
223
|
+
parseJSONSelection(body);
|
|
224
|
+
}
|
|
225
|
+
catch (e) {
|
|
226
|
+
errors.push(error_1.ERRORS.SOURCE_TYPE_HTTP_BODY_INVALID.err(`${sourceType} http.body not valid JSONSelection (error: ${e.message})`, { nodes: application.sourceAST }));
|
|
222
227
|
}
|
|
223
228
|
}
|
|
224
229
|
}
|
|
@@ -233,7 +238,7 @@ class SourceSpecDefinition extends coreSpec_1.FeatureDefinition {
|
|
|
233
238
|
parseJSONSelection(selection);
|
|
234
239
|
}
|
|
235
240
|
catch (e) {
|
|
236
|
-
errors.push(error_1.ERRORS.SOURCE_TYPE_SELECTION_INVALID.err(`${sourceType} selection not valid JSONSelection: ${e.message}`, { nodes: application.sourceAST }));
|
|
241
|
+
errors.push(error_1.ERRORS.SOURCE_TYPE_SELECTION_INVALID.err(`${sourceType} selection not valid JSONSelection (error: ${e.message})`, { nodes: application.sourceAST }));
|
|
237
242
|
}
|
|
238
243
|
break;
|
|
239
244
|
default:
|
|
@@ -248,38 +253,36 @@ class SourceSpecDefinition extends coreSpec_1.FeatureDefinition {
|
|
|
248
253
|
if (!api || !apiNameToProtocol.has(api)) {
|
|
249
254
|
errors.push(error_1.ERRORS.SOURCE_FIELD_API_ERROR.err(`${sourceField} specifies unknown api ${api}`, { nodes: application.sourceAST }));
|
|
250
255
|
}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
256
|
+
const expectedProtocol = apiNameToProtocol.get(api) || HTTP_PROTOCOL;
|
|
257
|
+
const protocolValue = expectedProtocol && rest[expectedProtocol];
|
|
258
|
+
if (protocolValue && expectedProtocol === HTTP_PROTOCOL) {
|
|
259
|
+
const { GET, POST, PUT, PATCH, DELETE, headers, body, } = protocolValue;
|
|
260
|
+
const usedMethods = [GET, POST, PUT, PATCH, DELETE].filter(Boolean);
|
|
261
|
+
if (usedMethods.length > 1) {
|
|
262
|
+
errors.push(error_1.ERRORS.SOURCE_FIELD_HTTP_METHOD_INVALID.err(`${sourceField} allows at most one of http.{GET,POST,PUT,PATCH,DELETE}`));
|
|
263
|
+
}
|
|
264
|
+
else if (usedMethods.length === 1) {
|
|
265
|
+
const urlPathTemplate = usedMethods[0];
|
|
266
|
+
try {
|
|
267
|
+
parseURLPathTemplate(urlPathTemplate);
|
|
268
|
+
}
|
|
269
|
+
catch (e) {
|
|
270
|
+
errors.push(error_1.ERRORS.SOURCE_FIELD_HTTP_PATH_INVALID.err(`${sourceField} http.{GET,POST,PUT,PATCH,DELETE} must be valid URL path template (error: ${e.message})`));
|
|
259
271
|
}
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
}
|
|
272
|
+
}
|
|
273
|
+
validateHTTPHeaders(headers, errors, sourceField.name);
|
|
274
|
+
if (body) {
|
|
275
|
+
if (GET) {
|
|
276
|
+
errors.push(error_1.ERRORS.SOURCE_FIELD_HTTP_BODY_INVALID.err(`${sourceField} http.GET cannot specify http.body`, { nodes: application.sourceAST }));
|
|
277
|
+
}
|
|
278
|
+
else if (DELETE) {
|
|
279
|
+
errors.push(error_1.ERRORS.SOURCE_FIELD_HTTP_BODY_INVALID.err(`${sourceField} http.DELETE cannot specify http.body`, { nodes: application.sourceAST }));
|
|
268
280
|
}
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
}
|
|
274
|
-
else if (DELETE) {
|
|
275
|
-
errors.push(error_1.ERRORS.SOURCE_FIELD_HTTP_BODY_INVALID.err(`${sourceField} http.DELETE cannot specify http.body`, { nodes: application.sourceAST }));
|
|
276
|
-
}
|
|
277
|
-
try {
|
|
278
|
-
parseJSONSelection(body);
|
|
279
|
-
}
|
|
280
|
-
catch (e) {
|
|
281
|
-
errors.push(error_1.ERRORS.SOURCE_FIELD_HTTP_BODY_INVALID.err(`${sourceField} http.body not valid JSONSelection: ${e.message}`, { nodes: application.sourceAST }));
|
|
282
|
-
}
|
|
281
|
+
try {
|
|
282
|
+
parseJSONSelection(body);
|
|
283
|
+
}
|
|
284
|
+
catch (e) {
|
|
285
|
+
errors.push(error_1.ERRORS.SOURCE_FIELD_HTTP_BODY_INVALID.err(`${sourceField} http.body not valid JSONSelection (error: ${e.message})`, { nodes: application.sourceAST }));
|
|
283
286
|
}
|
|
284
287
|
}
|
|
285
288
|
}
|
|
@@ -288,16 +291,16 @@ class SourceSpecDefinition extends coreSpec_1.FeatureDefinition {
|
|
|
288
291
|
parseJSONSelection(selection);
|
|
289
292
|
}
|
|
290
293
|
catch (e) {
|
|
291
|
-
errors.push(error_1.ERRORS.SOURCE_FIELD_SELECTION_INVALID.err(`${sourceField} selection not valid JSONSelection: ${e.message}`, { nodes: application.sourceAST }));
|
|
294
|
+
errors.push(error_1.ERRORS.SOURCE_FIELD_SELECTION_INVALID.err(`${sourceField} selection not valid JSONSelection (error: ${e.message})`, { nodes: application.sourceAST }));
|
|
292
295
|
}
|
|
293
296
|
}
|
|
294
297
|
const fieldParent = application.parent;
|
|
295
|
-
if (((_a = fieldParent.sourceAST) === null || _a === void 0 ? void 0 : _a.kind) !==
|
|
298
|
+
if (((_a = fieldParent.sourceAST) === null || _a === void 0 ? void 0 : _a.kind) !== graphql_1.Kind.FIELD_DEFINITION) {
|
|
296
299
|
errors.push(error_1.ERRORS.SOURCE_FIELD_NOT_ON_ROOT_OR_ENTITY_FIELD.err(`${sourceField} must be applied to field`, { nodes: application.sourceAST }));
|
|
297
300
|
}
|
|
298
301
|
else {
|
|
299
302
|
const typeGrandparent = fieldParent.parent;
|
|
300
|
-
if (((_b = typeGrandparent.sourceAST) === null || _b === void 0 ? void 0 : _b.kind) !==
|
|
303
|
+
if (((_b = typeGrandparent.sourceAST) === null || _b === void 0 ? void 0 : _b.kind) !== graphql_1.Kind.OBJECT_TYPE_DEFINITION) {
|
|
301
304
|
errors.push(error_1.ERRORS.SOURCE_FIELD_NOT_ON_ROOT_OR_ENTITY_FIELD.err(`${sourceField} must be applied to field of object type`, { nodes: application.sourceAST }));
|
|
302
305
|
}
|
|
303
306
|
else {
|
|
@@ -313,6 +316,9 @@ class SourceSpecDefinition extends coreSpec_1.FeatureDefinition {
|
|
|
313
316
|
}
|
|
314
317
|
}
|
|
315
318
|
exports.SourceSpecDefinition = SourceSpecDefinition;
|
|
319
|
+
function isValidSourceAPIName(name) {
|
|
320
|
+
return /^[a-z-_][a-z0-9-_]*$/i.test(name);
|
|
321
|
+
}
|
|
316
322
|
function isValidHTTPHeaderName(name) {
|
|
317
323
|
return /^[a-zA-Z0-9-_]+$/.test(name);
|
|
318
324
|
}
|
|
@@ -323,10 +329,13 @@ function validateHTTPHeaders(headers, errors, directiveName) {
|
|
|
323
329
|
if (headers) {
|
|
324
330
|
headers.forEach(({ name, as, value }, i) => {
|
|
325
331
|
if (!isValidHTTPHeaderName(name)) {
|
|
326
|
-
errors.push(error_1.ERRORS.SOURCE_HTTP_HEADERS_INVALID.err(`${directiveName}
|
|
332
|
+
errors.push(error_1.ERRORS.SOURCE_HTTP_HEADERS_INVALID.err(`${directiveName} header ${JSON.stringify(headers[i])} specifies invalid name`));
|
|
333
|
+
}
|
|
334
|
+
if (as && !isValidHTTPHeaderName(as)) {
|
|
335
|
+
errors.push(error_1.ERRORS.SOURCE_HTTP_HEADERS_INVALID.err(`${directiveName} header ${JSON.stringify(headers[i])} specifies invalid 'as' name`));
|
|
327
336
|
}
|
|
328
|
-
if (
|
|
329
|
-
errors.push(error_1.ERRORS.SOURCE_HTTP_HEADERS_INVALID.err(`${directiveName} headers[
|
|
337
|
+
if (as && value) {
|
|
338
|
+
errors.push(error_1.ERRORS.SOURCE_HTTP_HEADERS_INVALID.err(`${directiveName} header ${JSON.stringify(headers[i])} should specify at most one of 'as' or 'value'`));
|
|
330
339
|
}
|
|
331
340
|
});
|
|
332
341
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sourceSpec.js","sourceRoot":"","sources":["../../src/specs/sourceSpec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sourceSpec.js","sourceRoot":"","sources":["../../src/specs/sourceSpec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/error.ts
CHANGED
|
@@ -561,6 +561,12 @@ const INTERFACE_KEY_MISSING_IMPLEMENTATION_TYPE = makeCodeDefinition(
|
|
|
561
561
|
{ addedIn: '2.3.0' },
|
|
562
562
|
)
|
|
563
563
|
|
|
564
|
+
const SOURCE_FEDERATION_VERSION_REQUIRED = makeCodeDefinition(
|
|
565
|
+
'SOURCE_FEDERATION_VERSION_REQUIRED',
|
|
566
|
+
'Schemas using `@source{API,Type,Field}` directives must @link-import v2.7 or later of federation',
|
|
567
|
+
{ addedIn: '2.7.1' },
|
|
568
|
+
);
|
|
569
|
+
|
|
564
570
|
const SOURCE_API_NAME_INVALID = makeCodeDefinition(
|
|
565
571
|
'SOURCE_API_NAME_INVALID',
|
|
566
572
|
'Each `@sourceAPI` directive must take a unique and valid name as an argument',
|
|
@@ -757,6 +763,7 @@ export const ERRORS = {
|
|
|
757
763
|
INTERFACE_KEY_NOT_ON_IMPLEMENTATION,
|
|
758
764
|
INTERFACE_KEY_MISSING_IMPLEMENTATION_TYPE,
|
|
759
765
|
// Errors related to @sourceAPI, @sourceType, and/or @sourceField
|
|
766
|
+
SOURCE_FEDERATION_VERSION_REQUIRED,
|
|
760
767
|
SOURCE_API_NAME_INVALID,
|
|
761
768
|
SOURCE_API_PROTOCOL_INVALID,
|
|
762
769
|
SOURCE_API_HTTP_BASE_URL_INVALID,
|
package/src/specs/sourceSpec.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DirectiveLocation, GraphQLError,
|
|
1
|
+
import { DirectiveLocation, GraphQLError, Kind } from 'graphql';
|
|
2
2
|
import { FeatureDefinition, FeatureDefinitions, FeatureUrl, FeatureVersion, LinkDirectiveArgs } from "./coreSpec";
|
|
3
3
|
import {
|
|
4
4
|
Schema,
|
|
@@ -16,7 +16,7 @@ import { ERRORS } from '../error';
|
|
|
16
16
|
export const sourceIdentity = 'https://specs.apollo.dev/source';
|
|
17
17
|
|
|
18
18
|
export class SourceSpecDefinition extends FeatureDefinition {
|
|
19
|
-
constructor(version: FeatureVersion, minimumFederationVersion
|
|
19
|
+
constructor(version: FeatureVersion, readonly minimumFederationVersion: FeatureVersion) {
|
|
20
20
|
super(new FeatureUrl(sourceIdentity, 'source', version), minimumFederationVersion);
|
|
21
21
|
|
|
22
22
|
this.registerDirective(createDirectiveSpecification({
|
|
@@ -147,17 +147,20 @@ export class SourceSpecDefinition extends FeatureDefinition {
|
|
|
147
147
|
return this.directive<SourceFieldDirectiveArgs>(schema, 'sourceField')!;
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
-
private getSourceDirectives(schema: Schema) {
|
|
150
|
+
private getSourceDirectives(schema: Schema, errors: GraphQLError[]) {
|
|
151
151
|
const result: {
|
|
152
152
|
sourceAPI?: DirectiveDefinition<SourceAPIDirectiveArgs>;
|
|
153
153
|
sourceType?: DirectiveDefinition<SourceTypeDirectiveArgs>;
|
|
154
154
|
sourceField?: DirectiveDefinition<SourceFieldDirectiveArgs>;
|
|
155
155
|
} = {};
|
|
156
156
|
|
|
157
|
+
let federationVersion: FeatureVersion | undefined;
|
|
158
|
+
|
|
157
159
|
schema.schemaDefinition.appliedDirectivesOf<LinkDirectiveArgs>('link')
|
|
158
160
|
.forEach(linkDirective => {
|
|
159
161
|
const { url, import: imports } = linkDirective.arguments();
|
|
160
|
-
|
|
162
|
+
const featureUrl = FeatureUrl.maybeParse(url);
|
|
163
|
+
if (imports && featureUrl && featureUrl.identity === sourceIdentity) {
|
|
161
164
|
imports.forEach(nameOrRename => {
|
|
162
165
|
const originalName = typeof nameOrRename === 'string' ? nameOrRename : nameOrRename.name;
|
|
163
166
|
const importedName = typeof nameOrRename === 'string' ? nameOrRename : nameOrRename.as || originalName;
|
|
@@ -172,17 +175,35 @@ export class SourceSpecDefinition extends FeatureDefinition {
|
|
|
172
175
|
}
|
|
173
176
|
});
|
|
174
177
|
}
|
|
178
|
+
if (featureUrl && featureUrl.name === 'federation') {
|
|
179
|
+
federationVersion = featureUrl.version;
|
|
180
|
+
}
|
|
175
181
|
});
|
|
176
182
|
|
|
183
|
+
if (result.sourceAPI || result.sourceType || result.sourceField) {
|
|
184
|
+
// Since this subgraph uses at least one of the @source{API,Type,Field}
|
|
185
|
+
// directives, it must also use v2.7 or later of federation.
|
|
186
|
+
if (!federationVersion || federationVersion.lt(this.minimumFederationVersion)) {
|
|
187
|
+
errors.push(ERRORS.SOURCE_FEDERATION_VERSION_REQUIRED.err(
|
|
188
|
+
`Schemas that @link to ${
|
|
189
|
+
sourceIdentity
|
|
190
|
+
} must also @link to federation version ${
|
|
191
|
+
this.minimumFederationVersion
|
|
192
|
+
} or later (found ${federationVersion})`,
|
|
193
|
+
));
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
177
197
|
return result;
|
|
178
198
|
}
|
|
179
199
|
|
|
180
200
|
override validateSubgraphSchema(schema: Schema): GraphQLError[] {
|
|
201
|
+
const errors = super.validateSubgraphSchema(schema);
|
|
181
202
|
const {
|
|
182
203
|
sourceAPI,
|
|
183
204
|
sourceType,
|
|
184
205
|
sourceField,
|
|
185
|
-
} = this.getSourceDirectives(schema);
|
|
206
|
+
} = this.getSourceDirectives(schema, errors);
|
|
186
207
|
|
|
187
208
|
if (!(sourceAPI || sourceType || sourceField)) {
|
|
188
209
|
// If none of the @source* directives are present, nothing needs
|
|
@@ -191,7 +212,6 @@ export class SourceSpecDefinition extends FeatureDefinition {
|
|
|
191
212
|
}
|
|
192
213
|
|
|
193
214
|
const apiNameToProtocol = new Map<string, ProtocolName>();
|
|
194
|
-
const errors: GraphQLError[] = [];
|
|
195
215
|
|
|
196
216
|
if (sourceAPI) {
|
|
197
217
|
this.validateSourceAPI(sourceAPI, apiNameToProtocol, errors);
|
|
@@ -216,20 +236,18 @@ export class SourceSpecDefinition extends FeatureDefinition {
|
|
|
216
236
|
sourceAPI.applications().forEach(application => {
|
|
217
237
|
const { name, ...rest } = application.arguments();
|
|
218
238
|
|
|
219
|
-
if (
|
|
239
|
+
if (!isValidSourceAPIName(name)) {
|
|
220
240
|
errors.push(ERRORS.SOURCE_API_NAME_INVALID.err(
|
|
221
|
-
`${sourceAPI}
|
|
241
|
+
`${sourceAPI}(name: ${
|
|
242
|
+
JSON.stringify(name)
|
|
243
|
+
}) must specify name using only [a-zA-Z0-9-_] characters`,
|
|
222
244
|
{ nodes: application.sourceAST },
|
|
223
245
|
));
|
|
224
246
|
}
|
|
225
247
|
|
|
226
|
-
|
|
227
|
-
assertName(name);
|
|
228
|
-
} catch (e) {
|
|
248
|
+
if (apiNameToProtocol.has(name)) {
|
|
229
249
|
errors.push(ERRORS.SOURCE_API_NAME_INVALID.err(
|
|
230
|
-
`${sourceAPI}
|
|
231
|
-
JSON.stringify(name)
|
|
232
|
-
}) must specify valid GraphQL name`,
|
|
250
|
+
`${sourceAPI} must specify unique name (${JSON.stringify(name)} reused)`,
|
|
233
251
|
{ nodes: application.sourceAST },
|
|
234
252
|
));
|
|
235
253
|
}
|
|
@@ -239,7 +257,9 @@ export class SourceSpecDefinition extends FeatureDefinition {
|
|
|
239
257
|
if (rest[knownProtocol]) {
|
|
240
258
|
if (protocol) {
|
|
241
259
|
errors.push(ERRORS.SOURCE_API_PROTOCOL_INVALID.err(
|
|
242
|
-
`${sourceAPI} must specify only one of ${
|
|
260
|
+
`${sourceAPI} must specify only one of ${
|
|
261
|
+
KNOWN_SOURCE_PROTOCOLS.join(', ')
|
|
262
|
+
} but specified both ${protocol} and ${knownProtocol}`,
|
|
243
263
|
{ nodes: application.sourceAST },
|
|
244
264
|
));
|
|
245
265
|
}
|
|
@@ -258,7 +278,7 @@ export class SourceSpecDefinition extends FeatureDefinition {
|
|
|
258
278
|
new URL(baseURL);
|
|
259
279
|
} catch (e) {
|
|
260
280
|
errors.push(ERRORS.SOURCE_API_HTTP_BASE_URL_INVALID.err(
|
|
261
|
-
`${sourceAPI} http.baseURL ${JSON.stringify(baseURL)} must be valid URL`,
|
|
281
|
+
`${sourceAPI} http.baseURL ${JSON.stringify(baseURL)} must be valid URL (error: ${e.message})`,
|
|
262
282
|
{ nodes: application.sourceAST },
|
|
263
283
|
));
|
|
264
284
|
}
|
|
@@ -267,7 +287,7 @@ export class SourceSpecDefinition extends FeatureDefinition {
|
|
|
267
287
|
}
|
|
268
288
|
} else {
|
|
269
289
|
errors.push(ERRORS.SOURCE_API_PROTOCOL_INVALID.err(
|
|
270
|
-
`${sourceAPI} must specify one
|
|
290
|
+
`${sourceAPI} must specify one protocol from the set {${KNOWN_SOURCE_PROTOCOLS.join(',')}}`,
|
|
271
291
|
{ nodes: application.sourceAST },
|
|
272
292
|
));
|
|
273
293
|
}
|
|
@@ -286,58 +306,58 @@ export class SourceSpecDefinition extends FeatureDefinition {
|
|
|
286
306
|
`${sourceType} specifies unknown api ${api}`,
|
|
287
307
|
{ nodes: application.sourceAST },
|
|
288
308
|
));
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
const expectedProtocol = apiNameToProtocol.get(api) || HTTP_PROTOCOL;
|
|
312
|
+
const protocolValue = expectedProtocol && rest[expectedProtocol];
|
|
313
|
+
if (expectedProtocol && !protocolValue) {
|
|
314
|
+
errors.push(ERRORS.SOURCE_TYPE_PROTOCOL_INVALID.err(
|
|
315
|
+
`${sourceType} must specify same ${
|
|
316
|
+
expectedProtocol
|
|
317
|
+
} argument as corresponding @sourceAPI for api ${api}`,
|
|
318
|
+
{ nodes: application.sourceAST },
|
|
319
|
+
));
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
if (protocolValue && expectedProtocol === HTTP_PROTOCOL) {
|
|
323
|
+
const { GET, POST, headers, body } = protocolValue as HTTPSourceType;
|
|
324
|
+
|
|
325
|
+
if ([GET, POST].filter(Boolean).length !== 1) {
|
|
326
|
+
errors.push(ERRORS.SOURCE_TYPE_HTTP_METHOD_INVALID.err(
|
|
327
|
+
`${sourceType} must specify exactly one of http.GET or http.POST`,
|
|
297
328
|
{ nodes: application.sourceAST },
|
|
298
329
|
));
|
|
330
|
+
} else {
|
|
331
|
+
const urlPathTemplate = (GET || POST)!;
|
|
332
|
+
try {
|
|
333
|
+
// TODO Validate URL path template uses only available @key fields
|
|
334
|
+
// of the type.
|
|
335
|
+
parseURLPathTemplate(urlPathTemplate);
|
|
336
|
+
} catch (e) {
|
|
337
|
+
errors.push(ERRORS.SOURCE_TYPE_HTTP_PATH_INVALID.err(
|
|
338
|
+
`${sourceType} http.GET or http.POST must be valid URL path template (error: ${e.message})`
|
|
339
|
+
));
|
|
340
|
+
}
|
|
299
341
|
}
|
|
300
342
|
|
|
301
|
-
|
|
302
|
-
const { GET, POST, headers, body } = protocolValue as HTTPSourceType;
|
|
343
|
+
validateHTTPHeaders(headers, errors, sourceType.name);
|
|
303
344
|
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
345
|
+
if (body) {
|
|
346
|
+
if (GET) {
|
|
347
|
+
errors.push(ERRORS.SOURCE_TYPE_HTTP_BODY_INVALID.err(
|
|
348
|
+
`${sourceType} http.GET cannot specify http.body`,
|
|
307
349
|
{ nodes: application.sourceAST },
|
|
308
350
|
));
|
|
309
|
-
} else {
|
|
310
|
-
const urlPathTemplate = (GET || POST)!;
|
|
311
|
-
try {
|
|
312
|
-
// TODO Validate URL path template uses only available @key fields
|
|
313
|
-
// of the type.
|
|
314
|
-
parseURLPathTemplate(urlPathTemplate);
|
|
315
|
-
} catch (e) {
|
|
316
|
-
errors.push(ERRORS.SOURCE_TYPE_HTTP_PATH_INVALID.err(
|
|
317
|
-
`${sourceType} http.GET or http.POST must be valid URL path template`
|
|
318
|
-
));
|
|
319
|
-
}
|
|
320
351
|
}
|
|
321
352
|
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
try {
|
|
333
|
-
parseJSONSelection(body);
|
|
334
|
-
// TODO Validate body selection matches the available fields.
|
|
335
|
-
} catch (e) {
|
|
336
|
-
errors.push(ERRORS.SOURCE_TYPE_HTTP_BODY_INVALID.err(
|
|
337
|
-
`${sourceType} http.body not valid JSONSelection: ${e.message}`,
|
|
338
|
-
{ nodes: application.sourceAST },
|
|
339
|
-
));
|
|
340
|
-
}
|
|
353
|
+
try {
|
|
354
|
+
parseJSONSelection(body);
|
|
355
|
+
// TODO Validate body selection matches the available fields.
|
|
356
|
+
} catch (e) {
|
|
357
|
+
errors.push(ERRORS.SOURCE_TYPE_HTTP_BODY_INVALID.err(
|
|
358
|
+
`${sourceType} http.body not valid JSONSelection (error: ${e.message})`,
|
|
359
|
+
{ nodes: application.sourceAST },
|
|
360
|
+
));
|
|
341
361
|
}
|
|
342
362
|
}
|
|
343
363
|
}
|
|
@@ -357,7 +377,7 @@ export class SourceSpecDefinition extends FeatureDefinition {
|
|
|
357
377
|
// TODO Validate selection is valid JSONSelection for type.
|
|
358
378
|
} catch (e) {
|
|
359
379
|
errors.push(ERRORS.SOURCE_TYPE_SELECTION_INVALID.err(
|
|
360
|
-
`${sourceType} selection not valid JSONSelection: ${e.message}`,
|
|
380
|
+
`${sourceType} selection not valid JSONSelection (error: ${e.message})`,
|
|
361
381
|
{ nodes: application.sourceAST },
|
|
362
382
|
));
|
|
363
383
|
}
|
|
@@ -383,59 +403,59 @@ export class SourceSpecDefinition extends FeatureDefinition {
|
|
|
383
403
|
`${sourceField} specifies unknown api ${api}`,
|
|
384
404
|
{ nodes: application.sourceAST },
|
|
385
405
|
));
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
const expectedProtocol = apiNameToProtocol.get(api) || HTTP_PROTOCOL;
|
|
409
|
+
const protocolValue = expectedProtocol && rest[expectedProtocol];
|
|
410
|
+
if (protocolValue && expectedProtocol === HTTP_PROTOCOL) {
|
|
411
|
+
const {
|
|
412
|
+
GET, POST, PUT, PATCH, DELETE,
|
|
413
|
+
headers,
|
|
414
|
+
body,
|
|
415
|
+
} = protocolValue as HTTPSourceField;
|
|
416
|
+
|
|
417
|
+
const usedMethods = [GET, POST, PUT, PATCH, DELETE].filter(Boolean);
|
|
418
|
+
if (usedMethods.length > 1) {
|
|
419
|
+
errors.push(ERRORS.SOURCE_FIELD_HTTP_METHOD_INVALID.err(
|
|
420
|
+
`${sourceField} allows at most one of http.{GET,POST,PUT,PATCH,DELETE}`,
|
|
421
|
+
));
|
|
422
|
+
} else if (usedMethods.length === 1) {
|
|
423
|
+
const urlPathTemplate = usedMethods[0]!;
|
|
424
|
+
try {
|
|
425
|
+
// TODO Validate URL path template uses only available fields of
|
|
426
|
+
// the type and/or argument names of the field.
|
|
427
|
+
parseURLPathTemplate(urlPathTemplate);
|
|
428
|
+
} catch (e) {
|
|
429
|
+
errors.push(ERRORS.SOURCE_FIELD_HTTP_PATH_INVALID.err(
|
|
430
|
+
`${sourceField} http.{GET,POST,PUT,PATCH,DELETE} must be valid URL path template (error: ${e.message})`
|
|
400
431
|
));
|
|
401
|
-
} else if (usedMethods.length === 1) {
|
|
402
|
-
const urlPathTemplate = usedMethods[0]!;
|
|
403
|
-
try {
|
|
404
|
-
// TODO Validate URL path template uses only available fields of
|
|
405
|
-
// the type and/or argument names of the field.
|
|
406
|
-
parseURLPathTemplate(urlPathTemplate);
|
|
407
|
-
} catch (e) {
|
|
408
|
-
errors.push(ERRORS.SOURCE_FIELD_HTTP_PATH_INVALID.err(
|
|
409
|
-
`${sourceField} http.{GET,POST,PUT,PATCH,DELETE} must be valid URL path template`
|
|
410
|
-
));
|
|
411
|
-
}
|
|
412
432
|
}
|
|
433
|
+
}
|
|
413
434
|
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
if (body) {
|
|
417
|
-
if (GET) {
|
|
418
|
-
errors.push(ERRORS.SOURCE_FIELD_HTTP_BODY_INVALID.err(
|
|
419
|
-
`${sourceField} http.GET cannot specify http.body`,
|
|
420
|
-
{ nodes: application.sourceAST },
|
|
421
|
-
));
|
|
422
|
-
} else if (DELETE) {
|
|
423
|
-
errors.push(ERRORS.SOURCE_FIELD_HTTP_BODY_INVALID.err(
|
|
424
|
-
`${sourceField} http.DELETE cannot specify http.body`,
|
|
425
|
-
{ nodes: application.sourceAST },
|
|
426
|
-
));
|
|
427
|
-
}
|
|
435
|
+
validateHTTPHeaders(headers, errors, sourceField.name);
|
|
428
436
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
437
|
+
if (body) {
|
|
438
|
+
if (GET) {
|
|
439
|
+
errors.push(ERRORS.SOURCE_FIELD_HTTP_BODY_INVALID.err(
|
|
440
|
+
`${sourceField} http.GET cannot specify http.body`,
|
|
441
|
+
{ nodes: application.sourceAST },
|
|
442
|
+
));
|
|
443
|
+
} else if (DELETE) {
|
|
444
|
+
errors.push(ERRORS.SOURCE_FIELD_HTTP_BODY_INVALID.err(
|
|
445
|
+
`${sourceField} http.DELETE cannot specify http.body`,
|
|
446
|
+
{ nodes: application.sourceAST },
|
|
447
|
+
));
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
try {
|
|
451
|
+
parseJSONSelection(body);
|
|
452
|
+
// TODO Validate body string matches the available fields of the
|
|
453
|
+
// parent type and/or argument names of the field.
|
|
454
|
+
} catch (e) {
|
|
455
|
+
errors.push(ERRORS.SOURCE_FIELD_HTTP_BODY_INVALID.err(
|
|
456
|
+
`${sourceField} http.body not valid JSONSelection (error: ${e.message})`,
|
|
457
|
+
{ nodes: application.sourceAST },
|
|
458
|
+
));
|
|
439
459
|
}
|
|
440
460
|
}
|
|
441
461
|
}
|
|
@@ -447,7 +467,7 @@ export class SourceSpecDefinition extends FeatureDefinition {
|
|
|
447
467
|
// the parent type and/or argument names of the field.
|
|
448
468
|
} catch (e) {
|
|
449
469
|
errors.push(ERRORS.SOURCE_FIELD_SELECTION_INVALID.err(
|
|
450
|
-
`${sourceField} selection not valid JSONSelection: ${e.message}`,
|
|
470
|
+
`${sourceField} selection not valid JSONSelection (error: ${e.message})`,
|
|
451
471
|
{ nodes: application.sourceAST },
|
|
452
472
|
));
|
|
453
473
|
}
|
|
@@ -456,14 +476,14 @@ export class SourceSpecDefinition extends FeatureDefinition {
|
|
|
456
476
|
// @sourceField is allowed only on root Query and Mutation fields or
|
|
457
477
|
// fields of entity object types.
|
|
458
478
|
const fieldParent = application.parent;
|
|
459
|
-
if (fieldParent.sourceAST?.kind !==
|
|
479
|
+
if (fieldParent.sourceAST?.kind !== Kind.FIELD_DEFINITION) {
|
|
460
480
|
errors.push(ERRORS.SOURCE_FIELD_NOT_ON_ROOT_OR_ENTITY_FIELD.err(
|
|
461
481
|
`${sourceField} must be applied to field`,
|
|
462
482
|
{ nodes: application.sourceAST },
|
|
463
483
|
));
|
|
464
484
|
} else {
|
|
465
485
|
const typeGrandparent = fieldParent.parent as SchemaElement<any, any>;
|
|
466
|
-
if (typeGrandparent.sourceAST?.kind !==
|
|
486
|
+
if (typeGrandparent.sourceAST?.kind !== Kind.OBJECT_TYPE_DEFINITION) {
|
|
467
487
|
errors.push(ERRORS.SOURCE_FIELD_NOT_ON_ROOT_OR_ENTITY_FIELD.err(
|
|
468
488
|
`${sourceField} must be applied to field of object type`,
|
|
469
489
|
{ nodes: application.sourceAST },
|
|
@@ -486,6 +506,10 @@ export class SourceSpecDefinition extends FeatureDefinition {
|
|
|
486
506
|
}
|
|
487
507
|
}
|
|
488
508
|
|
|
509
|
+
function isValidSourceAPIName(name: string): boolean {
|
|
510
|
+
return /^[a-z-_][a-z0-9-_]*$/i.test(name);
|
|
511
|
+
}
|
|
512
|
+
|
|
489
513
|
function isValidHTTPHeaderName(name: string): boolean {
|
|
490
514
|
// https://developers.cloudflare.com/rules/transform/request-header-modification/reference/header-format/
|
|
491
515
|
return /^[a-zA-Z0-9-_]+$/.test(name);
|
|
@@ -504,15 +528,19 @@ function validateHTTPHeaders(
|
|
|
504
528
|
// Ensure name is a valid HTTP header name.
|
|
505
529
|
if (!isValidHTTPHeaderName(name)) {
|
|
506
530
|
errors.push(ERRORS.SOURCE_HTTP_HEADERS_INVALID.err(
|
|
507
|
-
`${directiveName} headers[
|
|
508
|
-
|
|
509
|
-
|
|
531
|
+
`${directiveName} header ${JSON.stringify(headers[i])} specifies invalid name`,
|
|
532
|
+
));
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
if (as && !isValidHTTPHeaderName(as)) {
|
|
536
|
+
errors.push(ERRORS.SOURCE_HTTP_HEADERS_INVALID.err(
|
|
537
|
+
`${directiveName} header ${JSON.stringify(headers[i])} specifies invalid 'as' name`,
|
|
510
538
|
));
|
|
511
539
|
}
|
|
512
540
|
|
|
513
|
-
if (
|
|
541
|
+
if (as && value) {
|
|
514
542
|
errors.push(ERRORS.SOURCE_HTTP_HEADERS_INVALID.err(
|
|
515
|
-
`${directiveName} headers[
|
|
543
|
+
`${directiveName} header ${JSON.stringify(headers[i])} should specify at most one of 'as' or 'value'`,
|
|
516
544
|
));
|
|
517
545
|
}
|
|
518
546
|
|