From b80c233cf83576d5233cfe36becb9630e31a7e09 Mon Sep 17 00:00:00 2001 From: Igor Kusakov Date: Fri, 1 May 2026 15:33:31 -0400 Subject: [PATCH] dont render external documents --- .../src/resolve-document-imports.ts | 2 +- .../tests/near-operation-file.spec.ts | 33 +++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/packages/presets/near-operation-file/src/resolve-document-imports.ts b/packages/presets/near-operation-file/src/resolve-document-imports.ts index 4a27b647c..3b3f81e76 100644 --- a/packages/presets/near-operation-file/src/resolve-document-imports.ts +++ b/packages/presets/near-operation-file/src/resolve-document-imports.ts @@ -78,7 +78,7 @@ export function resolveDocumentImports( const { baseOutputDir, documents } = presetOptions; const { generateFilePath, schemaTypesSource, baseDir, typesImport } = importResolverOptions; - return documents.map(documentFile => { + return documents.filter(documentFile => documentFile.type !== 'external').map(documentFile => { try { const meta: { operations: OperationDefinitionNode[]; diff --git a/packages/presets/near-operation-file/tests/near-operation-file.spec.ts b/packages/presets/near-operation-file/tests/near-operation-file.spec.ts index 577e4c988..b2ecb398b 100644 --- a/packages/presets/near-operation-file/tests/near-operation-file.spec.ts +++ b/packages/presets/near-operation-file/tests/near-operation-file.spec.ts @@ -1521,6 +1521,39 @@ describe('near-operation-file preset', () => { " `); }); + it('should not generate output for documents marked as external', async () => { + const result = await executePreset({ + baseOutputDir: '/some/path', + config: {}, + presetConfig: { + baseTypesPath: 'types.ts', + }, + schema: schemaDocumentNode, + schemaAst: schemaNode, + documents: [ + { + location: '/some/deep/path/src/graphql/me-query.graphql', + document: operationAst, + type: 'standard', + }, + { + location: '/some/deep/path/src/graphql/external-query.graphql', + document: operationAst, + type: 'external', + }, + { + location: '/some/deep/path/src/graphql/user-fragment.graphql', + document: fragmentAst, + type: 'external', + }, + ], + plugins: [{ 'typescript-operations': {} }], + pluginMap: { 'typescript-operations': {} as any }, + }); + + expect(result).toHaveLength(1); + expect(result[0].filename).toContain('me-query.generated.ts'); + }); }); const getFragmentImportsFromResult = (result: Types.GenerateOptions[], index = 0) =>