diff --git a/packages/pg-esm-test/pg-protocol.test.js b/packages/pg-esm-test/pg-protocol.test.js index 43df99de2..e06ca4beb 100644 --- a/packages/pg-esm-test/pg-protocol.test.js +++ b/packages/pg-esm-test/pg-protocol.test.js @@ -1,6 +1,7 @@ import protocol, { NoticeMessage, DatabaseError } from 'pg-protocol/dist/messages.js' import { describe, it } from 'node:test' import { strict as assert } from 'assert' +import { execFileSync } from 'node:child_process' describe('pg-protocol', () => { it('should export database error', () => { @@ -15,4 +16,15 @@ describe('pg-protocol', () => { it('should export NoticeMessage from file in dist folder', () => { assert.ok(NoticeMessage) }) + it('should load the ESM entry without module syntax detection', () => { + const flags = process.allowedNodeEnvironmentFlags.has('--experimental-detect-module') + ? ['--no-experimental-detect-module'] + : [] + const script = + "import { parse, serialize, DatabaseError } from 'pg-protocol'; if (!parse || !serialize || !DatabaseError) process.exit(1)" + execFileSync(process.execPath, [...flags, '--input-type=module', '-e', script], { + cwd: new URL('.', import.meta.url), + stdio: 'pipe', + }) + }) }) diff --git a/packages/pg-protocol/esm/index.js b/packages/pg-protocol/esm/index.mjs similarity index 100% rename from packages/pg-protocol/esm/index.js rename to packages/pg-protocol/esm/index.mjs diff --git a/packages/pg-protocol/package.json b/packages/pg-protocol/package.json index 5caf29557..4ddbab7c4 100644 --- a/packages/pg-protocol/package.json +++ b/packages/pg-protocol/package.json @@ -6,7 +6,7 @@ "types": "dist/index.d.ts", "exports": { ".": { - "import": "./esm/index.js", + "import": "./esm/index.mjs", "require": "./dist/index.js", "default": "./dist/index.js" },