diff --git a/.changeset/beige-buckets-sleep.md b/.changeset/beige-buckets-sleep.md new file mode 100644 index 00000000000..051a308b2c5 --- /dev/null +++ b/.changeset/beige-buckets-sleep.md @@ -0,0 +1,5 @@ +--- +"@graphql-codegen/visitor-plugin-common": patch +--- + +Remove extension from operations file import diff --git a/packages/plugins/other/visitor-plugin-common/src/client-side-base-visitor.ts b/packages/plugins/other/visitor-plugin-common/src/client-side-base-visitor.ts index ce4c2b9575d..9c3e0fa290a 100644 --- a/packages/plugins/other/visitor-plugin-common/src/client-side-base-visitor.ts +++ b/packages/plugins/other/visitor-plugin-common/src/client-side-base-visitor.ts @@ -483,9 +483,12 @@ export class ClientSideBaseVisitor< case DocumentMode.external: { if (this._collectedOperations.length > 0) { if (this.config.importDocumentNodeExternallyFrom === 'near-operation-file' && this._documents.length === 1) { - this._imports.add( - `import * as Operations from './${this.clearExtension(basename(this._documents[0].location))}.js';` - ); + let documentPath = `./${this.clearExtension(basename(this._documents[0].location))}`; + if (this.config.emitLegacyCommonJSImports) { + documentPath += '.js'; + } + + this._imports.add(`import * as Operations from '${documentPath}';`); } else { if (!this.config.importDocumentNodeExternallyFrom) { // eslint-disable-next-line no-console