@graphql-tools/import 6.4.1 → 6.4.2
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/index.js +46 -39
- package/index.mjs +46 -39
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -236,51 +236,58 @@ function visitFile(filePath, cwd, visitedFiles, predefinedImports) {
|
|
|
236
236
|
}
|
|
237
237
|
}
|
|
238
238
|
}
|
|
239
|
+
const addDefinition = (definition, definitionName, definitionSet) => {
|
|
240
|
+
const fileDefinitionMap = visitedFiles.get(filePath);
|
|
241
|
+
if (fileDefinitionMap && !definitionSet.has(definition)) {
|
|
242
|
+
definitionSet.add(definition);
|
|
243
|
+
// Regenerate field exports if some fields are imported after visitor
|
|
244
|
+
if ('fields' in definition && definition.fields) {
|
|
245
|
+
for (const field of definition.fields) {
|
|
246
|
+
const fieldName = field.name.value;
|
|
247
|
+
const fieldDefinitionName = definition.name.value + '.' + fieldName;
|
|
248
|
+
const allImportedDefinitions = allImportedDefinitionsMap.get(definitionName);
|
|
249
|
+
allImportedDefinitions === null || allImportedDefinitions === void 0 ? void 0 : allImportedDefinitions.forEach(importedDefinition => {
|
|
250
|
+
if (!fileDefinitionMap.has(fieldDefinitionName)) {
|
|
251
|
+
fileDefinitionMap.set(fieldDefinitionName, new Set());
|
|
252
|
+
}
|
|
253
|
+
const definitionsWithDeps = fileDefinitionMap.get(fieldDefinitionName);
|
|
254
|
+
if (definitionsWithDeps) {
|
|
255
|
+
addDefinition(importedDefinition, fieldDefinitionName, definitionsWithDeps);
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
const newDependencySet = new Set();
|
|
259
|
+
switch (field.kind) {
|
|
260
|
+
case graphql.Kind.FIELD_DEFINITION:
|
|
261
|
+
visitFieldDefinitionNode(field, newDependencySet);
|
|
262
|
+
break;
|
|
263
|
+
case graphql.Kind.INPUT_VALUE_DEFINITION:
|
|
264
|
+
visitInputValueDefinitionNode(field, newDependencySet);
|
|
265
|
+
break;
|
|
266
|
+
}
|
|
267
|
+
newDependencySet.forEach(dependencyName => {
|
|
268
|
+
const definitionsInCurrentFile = fileDefinitionMap.get(dependencyName);
|
|
269
|
+
definitionsInCurrentFile === null || definitionsInCurrentFile === void 0 ? void 0 : definitionsInCurrentFile.forEach(def => addDefinition(def, definitionName, definitionSet));
|
|
270
|
+
const definitionsFromImports = allImportedDefinitionsMap.get(dependencyName);
|
|
271
|
+
definitionsFromImports === null || definitionsFromImports === void 0 ? void 0 : definitionsFromImports.forEach(def => addDefinition(def, definitionName, definitionSet));
|
|
272
|
+
const transitiveDependencies = potentialTransitiveDefinitionsMap.get(dependencyName);
|
|
273
|
+
transitiveDependencies === null || transitiveDependencies === void 0 ? void 0 : transitiveDependencies.forEach(def => addDefinition(def, definitionName, definitionSet));
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
};
|
|
239
279
|
if (!otherLines) {
|
|
240
280
|
visitedFiles.set(filePath, allImportedDefinitionsMap);
|
|
281
|
+
const definitionSet = new Set();
|
|
282
|
+
allImportedDefinitionsMap === null || allImportedDefinitionsMap === void 0 ? void 0 : allImportedDefinitionsMap.forEach((importedDefinitions, importedDefinitionName) => {
|
|
283
|
+
importedDefinitions === null || importedDefinitions === void 0 ? void 0 : importedDefinitions.forEach(importedDefinition => {
|
|
284
|
+
addDefinition(importedDefinition, importedDefinitionName, definitionSet);
|
|
285
|
+
});
|
|
286
|
+
});
|
|
241
287
|
}
|
|
242
288
|
else {
|
|
243
289
|
const fileDefinitionMap = visitedFiles.get(filePath);
|
|
244
290
|
if (fileDefinitionMap) {
|
|
245
|
-
const addDefinition = (definition, definitionName, definitionSet) => {
|
|
246
|
-
if (!definitionSet.has(definition)) {
|
|
247
|
-
definitionSet.add(definition);
|
|
248
|
-
// Regenerate field exports if some fields are imported after visitor
|
|
249
|
-
if ('fields' in definition && definition.fields) {
|
|
250
|
-
for (const field of definition.fields) {
|
|
251
|
-
const fieldName = field.name.value;
|
|
252
|
-
const fieldDefinitionName = definition.name.value + '.' + fieldName;
|
|
253
|
-
const allImportedDefinitions = allImportedDefinitionsMap.get(definitionName);
|
|
254
|
-
allImportedDefinitions === null || allImportedDefinitions === void 0 ? void 0 : allImportedDefinitions.forEach(importedDefinition => {
|
|
255
|
-
if (!fileDefinitionMap.has(fieldDefinitionName)) {
|
|
256
|
-
fileDefinitionMap.set(fieldDefinitionName, new Set());
|
|
257
|
-
}
|
|
258
|
-
const definitionsWithDeps = fileDefinitionMap.get(fieldDefinitionName);
|
|
259
|
-
if (definitionsWithDeps) {
|
|
260
|
-
addDefinition(importedDefinition, fieldDefinitionName, definitionsWithDeps);
|
|
261
|
-
}
|
|
262
|
-
});
|
|
263
|
-
const newDependencySet = new Set();
|
|
264
|
-
switch (field.kind) {
|
|
265
|
-
case graphql.Kind.FIELD_DEFINITION:
|
|
266
|
-
visitFieldDefinitionNode(field, newDependencySet);
|
|
267
|
-
break;
|
|
268
|
-
case graphql.Kind.INPUT_VALUE_DEFINITION:
|
|
269
|
-
visitInputValueDefinitionNode(field, newDependencySet);
|
|
270
|
-
break;
|
|
271
|
-
}
|
|
272
|
-
newDependencySet.forEach(dependencyName => {
|
|
273
|
-
const definitionsInCurrentFile = fileDefinitionMap.get(dependencyName);
|
|
274
|
-
definitionsInCurrentFile === null || definitionsInCurrentFile === void 0 ? void 0 : definitionsInCurrentFile.forEach(def => addDefinition(def, definitionName, definitionSet));
|
|
275
|
-
const definitionsFromImports = allImportedDefinitionsMap.get(dependencyName);
|
|
276
|
-
definitionsFromImports === null || definitionsFromImports === void 0 ? void 0 : definitionsFromImports.forEach(def => addDefinition(def, definitionName, definitionSet));
|
|
277
|
-
const transitiveDependencies = potentialTransitiveDefinitionsMap.get(dependencyName);
|
|
278
|
-
transitiveDependencies === null || transitiveDependencies === void 0 ? void 0 : transitiveDependencies.forEach(def => addDefinition(def, definitionName, definitionSet));
|
|
279
|
-
});
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
};
|
|
284
291
|
for (const [definitionName] of definitionsByName) {
|
|
285
292
|
const definitionsWithDependencies = fileDefinitionMap.get(definitionName);
|
|
286
293
|
if (definitionsWithDependencies) {
|
package/index.mjs
CHANGED
|
@@ -230,51 +230,58 @@ function visitFile(filePath, cwd, visitedFiles, predefinedImports) {
|
|
|
230
230
|
}
|
|
231
231
|
}
|
|
232
232
|
}
|
|
233
|
+
const addDefinition = (definition, definitionName, definitionSet) => {
|
|
234
|
+
const fileDefinitionMap = visitedFiles.get(filePath);
|
|
235
|
+
if (fileDefinitionMap && !definitionSet.has(definition)) {
|
|
236
|
+
definitionSet.add(definition);
|
|
237
|
+
// Regenerate field exports if some fields are imported after visitor
|
|
238
|
+
if ('fields' in definition && definition.fields) {
|
|
239
|
+
for (const field of definition.fields) {
|
|
240
|
+
const fieldName = field.name.value;
|
|
241
|
+
const fieldDefinitionName = definition.name.value + '.' + fieldName;
|
|
242
|
+
const allImportedDefinitions = allImportedDefinitionsMap.get(definitionName);
|
|
243
|
+
allImportedDefinitions === null || allImportedDefinitions === void 0 ? void 0 : allImportedDefinitions.forEach(importedDefinition => {
|
|
244
|
+
if (!fileDefinitionMap.has(fieldDefinitionName)) {
|
|
245
|
+
fileDefinitionMap.set(fieldDefinitionName, new Set());
|
|
246
|
+
}
|
|
247
|
+
const definitionsWithDeps = fileDefinitionMap.get(fieldDefinitionName);
|
|
248
|
+
if (definitionsWithDeps) {
|
|
249
|
+
addDefinition(importedDefinition, fieldDefinitionName, definitionsWithDeps);
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
const newDependencySet = new Set();
|
|
253
|
+
switch (field.kind) {
|
|
254
|
+
case Kind.FIELD_DEFINITION:
|
|
255
|
+
visitFieldDefinitionNode(field, newDependencySet);
|
|
256
|
+
break;
|
|
257
|
+
case Kind.INPUT_VALUE_DEFINITION:
|
|
258
|
+
visitInputValueDefinitionNode(field, newDependencySet);
|
|
259
|
+
break;
|
|
260
|
+
}
|
|
261
|
+
newDependencySet.forEach(dependencyName => {
|
|
262
|
+
const definitionsInCurrentFile = fileDefinitionMap.get(dependencyName);
|
|
263
|
+
definitionsInCurrentFile === null || definitionsInCurrentFile === void 0 ? void 0 : definitionsInCurrentFile.forEach(def => addDefinition(def, definitionName, definitionSet));
|
|
264
|
+
const definitionsFromImports = allImportedDefinitionsMap.get(dependencyName);
|
|
265
|
+
definitionsFromImports === null || definitionsFromImports === void 0 ? void 0 : definitionsFromImports.forEach(def => addDefinition(def, definitionName, definitionSet));
|
|
266
|
+
const transitiveDependencies = potentialTransitiveDefinitionsMap.get(dependencyName);
|
|
267
|
+
transitiveDependencies === null || transitiveDependencies === void 0 ? void 0 : transitiveDependencies.forEach(def => addDefinition(def, definitionName, definitionSet));
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
};
|
|
233
273
|
if (!otherLines) {
|
|
234
274
|
visitedFiles.set(filePath, allImportedDefinitionsMap);
|
|
275
|
+
const definitionSet = new Set();
|
|
276
|
+
allImportedDefinitionsMap === null || allImportedDefinitionsMap === void 0 ? void 0 : allImportedDefinitionsMap.forEach((importedDefinitions, importedDefinitionName) => {
|
|
277
|
+
importedDefinitions === null || importedDefinitions === void 0 ? void 0 : importedDefinitions.forEach(importedDefinition => {
|
|
278
|
+
addDefinition(importedDefinition, importedDefinitionName, definitionSet);
|
|
279
|
+
});
|
|
280
|
+
});
|
|
235
281
|
}
|
|
236
282
|
else {
|
|
237
283
|
const fileDefinitionMap = visitedFiles.get(filePath);
|
|
238
284
|
if (fileDefinitionMap) {
|
|
239
|
-
const addDefinition = (definition, definitionName, definitionSet) => {
|
|
240
|
-
if (!definitionSet.has(definition)) {
|
|
241
|
-
definitionSet.add(definition);
|
|
242
|
-
// Regenerate field exports if some fields are imported after visitor
|
|
243
|
-
if ('fields' in definition && definition.fields) {
|
|
244
|
-
for (const field of definition.fields) {
|
|
245
|
-
const fieldName = field.name.value;
|
|
246
|
-
const fieldDefinitionName = definition.name.value + '.' + fieldName;
|
|
247
|
-
const allImportedDefinitions = allImportedDefinitionsMap.get(definitionName);
|
|
248
|
-
allImportedDefinitions === null || allImportedDefinitions === void 0 ? void 0 : allImportedDefinitions.forEach(importedDefinition => {
|
|
249
|
-
if (!fileDefinitionMap.has(fieldDefinitionName)) {
|
|
250
|
-
fileDefinitionMap.set(fieldDefinitionName, new Set());
|
|
251
|
-
}
|
|
252
|
-
const definitionsWithDeps = fileDefinitionMap.get(fieldDefinitionName);
|
|
253
|
-
if (definitionsWithDeps) {
|
|
254
|
-
addDefinition(importedDefinition, fieldDefinitionName, definitionsWithDeps);
|
|
255
|
-
}
|
|
256
|
-
});
|
|
257
|
-
const newDependencySet = new Set();
|
|
258
|
-
switch (field.kind) {
|
|
259
|
-
case Kind.FIELD_DEFINITION:
|
|
260
|
-
visitFieldDefinitionNode(field, newDependencySet);
|
|
261
|
-
break;
|
|
262
|
-
case Kind.INPUT_VALUE_DEFINITION:
|
|
263
|
-
visitInputValueDefinitionNode(field, newDependencySet);
|
|
264
|
-
break;
|
|
265
|
-
}
|
|
266
|
-
newDependencySet.forEach(dependencyName => {
|
|
267
|
-
const definitionsInCurrentFile = fileDefinitionMap.get(dependencyName);
|
|
268
|
-
definitionsInCurrentFile === null || definitionsInCurrentFile === void 0 ? void 0 : definitionsInCurrentFile.forEach(def => addDefinition(def, definitionName, definitionSet));
|
|
269
|
-
const definitionsFromImports = allImportedDefinitionsMap.get(dependencyName);
|
|
270
|
-
definitionsFromImports === null || definitionsFromImports === void 0 ? void 0 : definitionsFromImports.forEach(def => addDefinition(def, definitionName, definitionSet));
|
|
271
|
-
const transitiveDependencies = potentialTransitiveDefinitionsMap.get(dependencyName);
|
|
272
|
-
transitiveDependencies === null || transitiveDependencies === void 0 ? void 0 : transitiveDependencies.forEach(def => addDefinition(def, definitionName, definitionSet));
|
|
273
|
-
});
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
};
|
|
278
285
|
for (const [definitionName] of definitionsByName) {
|
|
279
286
|
const definitionsWithDependencies = fileDefinitionMap.get(definitionName);
|
|
280
287
|
if (definitionsWithDependencies) {
|