From 91ae93c167a32c43fb34da5a3d42c3817b2090e8 Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Wed, 7 May 2025 11:30:01 +0200 Subject: [PATCH] chore: change import assert to readFile (#368) --- .github/workflows/ci.yml | 3 ++- src/connection.ts | 4 +--- src/context.ts | 4 ++++ src/program.ts | 3 +-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6a03e89..a7c1068 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,8 @@ jobs: - name: Use Node.js 18 uses: actions/setup-node@v4 with: - node-version: '18' + # https://github.com/microsoft/playwright-mcp/issues/344 + node-version: '18.19' cache: 'npm' - name: Install dependencies diff --git a/src/connection.ts b/src/connection.ts index 95cf039..7065387 100644 --- a/src/connection.ts +++ b/src/connection.ts @@ -18,14 +18,12 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js'; import { CallToolRequestSchema, ListToolsRequestSchema, Tool as McpTool } from '@modelcontextprotocol/sdk/types.js'; import { zodToJsonSchema } from 'zod-to-json-schema'; -import { Context } from './context.js'; +import { Context, packageJSON } from './context.js'; import { snapshotTools, screenshotTools } from './tools.js'; import type { Config } from '../config.js'; import type { Transport } from '@modelcontextprotocol/sdk/shared/transport.js'; -import packageJSON from '../package.json' with { type: 'json' }; - export async function createConnection(config: Config): Promise { const allTools = config.vision ? screenshotTools : snapshotTools; const tools = allTools.filter(tool => !config.capabilities || tool.capability === 'core' || config.capabilities.includes(tool.capability)); diff --git a/src/context.ts b/src/context.ts index a179401..ec46b9a 100644 --- a/src/context.ts +++ b/src/context.ts @@ -15,6 +15,7 @@ */ import fs from 'node:fs'; +import url from 'node:url'; import os from 'node:os'; import path from 'node:path'; @@ -381,3 +382,6 @@ async function createUserDataDir(browserConfig: Config['browser']) { export async function generateLocator(locator: playwright.Locator): Promise { return (locator as any)._generateLocatorString(); } + +const __filename = url.fileURLToPath(import.meta.url); +export const packageJSON = JSON.parse(fs.readFileSync(path.join(path.dirname(__filename), '..', 'package.json'), 'utf8')); diff --git a/src/program.ts b/src/program.ts index 5d4403b..ddf699c 100644 --- a/src/program.ts +++ b/src/program.ts @@ -20,8 +20,7 @@ import { startHttpTransport, startStdioTransport } from './transport.js'; import { resolveConfig } from './config.js'; import type { Connection } from './connection.js'; - -import packageJSON from '../package.json' with { type: 'json' }; +import { packageJSON } from './context.js'; program .version('Version ' + packageJSON.version)