From 1051ea810ac0bb29dbe1c41241eccee9f7091466 Mon Sep 17 00:00:00 2001 From: Simon Knott Date: Mon, 26 May 2025 23:18:03 +0200 Subject: [PATCH] fix: import from cjs (#476) Closes https://github.com/microsoft/playwright-mcp/issues/456 --- index.js | 2 +- tests/library.spec.ts | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 tests/library.spec.ts diff --git a/index.js b/index.js index 74caea4..69f7ae2 100755 --- a/index.js +++ b/index.js @@ -15,5 +15,5 @@ * limitations under the License. */ -import { createConnection } from './lib/index'; +import { createConnection } from './lib/index.js'; export { createConnection }; diff --git a/tests/library.spec.ts b/tests/library.spec.ts new file mode 100644 index 0000000..eee405d --- /dev/null +++ b/tests/library.spec.ts @@ -0,0 +1,27 @@ +/** + * Copyright (c) Microsoft Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { test, expect } from './fixtures.js'; +import fs from 'node:fs/promises'; +import child_process from 'node:child_process'; + +test('library can be used from CommonJS', { annotation: { type: 'issue', description: 'https://github.com/microsoft/playwright-mcp/issues/456' } }, async ({}, testInfo) => { + const file = testInfo.outputPath('main.cjs'); + await fs.writeFile(file, ` + const playwrightMCP = require('@playwright/mcp'); + playwrightMCP.createConnection().then(() => console.log('OK')); + `); + expect(child_process.execSync(`node ${file}`, { encoding: 'utf-8' })).toContain('OK'); +});