From 8a26ea4d3bfbc79360b7db1e9f190dc8fd115f18 Mon Sep 17 00:00:00 2001 From: Grigor Yosifov Date: Thu, 16 Apr 2026 12:37:34 +0300 Subject: [PATCH 1/3] fix: add prepare script so git installs build automatically MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When npx installs this package from a GitHub URL (e.g. 'npx github:pm990320/ultimate-playwright-mcp'), it doesn't run 'prepublishOnly' — that only runs on npm publish. Without a 'prepare' script, the TypeScript doesn't get compiled, dist/ stays empty, and the bin entries point to non-existent files. Adding 'prepare': 'npm run build' makes the package installable directly from git while the next npm release is pending. This is the standard pattern for TS packages that publish compiled dist/. --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index d22a2bd..ea3885c 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "test": "vitest run", "test:headed": "playwright test --headed", "test:debug": "playwright test --debug", + "prepare": "npm run build", "prepublishOnly": "npm run build", "test:watch": "vitest" }, From bb8aa14bd7d2a7287c15e5ebacf3652fe0668d17 Mon Sep 17 00:00:00 2001 From: Grigor Yosifov Date: Thu, 16 Apr 2026 12:41:49 +0300 Subject: [PATCH 2/3] fix: move @playwright/test to dependencies playwright-checkpoint@^0.3.0 (added as runtime dependency in the checkpoint feature) requires @playwright/test at runtime via 'playwright-checkpoint-runtime.cjs'. With it in devDependencies, git installs (which skip dev deps) crash at startup with MODULE_NOT_FOUND for '@playwright/test'. This doesn't affect npm-published installs (0.2.1 predates the checkpoint feature), but any future release that ships checkpoint would hit this too. Moving @playwright/test to dependencies fixes both cases. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ea3885c..8e82749 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,7 @@ }, "dependencies": { "@modelcontextprotocol/sdk": "^1.0.4", + "@playwright/test": "^1.59.1", "adm-zip": "^0.5.16", "commander": "^12.1.0", "glob": "^13.0.1", @@ -64,7 +65,6 @@ "devDependencies": { "@commitlint/cli": "^20.5.0", "@commitlint/config-conventional": "^20.5.0", - "@playwright/test": "^1.59.1", "@types/adm-zip": "^0.5.7", "@types/node": "^22.19.10", "@types/ws": "^8.18.1", From 56ecc52454de94fcc060f4f318230ce32f3b2e0a Mon Sep 17 00:00:00 2001 From: Grigor Yosifov Date: Thu, 16 Apr 2026 18:09:08 +0300 Subject: [PATCH 3/3] chore: sync package-lock.json after @playwright/test move to dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Follow-up to bb8aa14 — package-lock.json reflects the dep move but wasn't included in that commit. This keeps npm ci reproducible. --- package-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 834cc8b..ad8cc15 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "^1.0.4", + "@playwright/test": "^1.59.1", "adm-zip": "^0.5.16", "commander": "^12.1.0", "glob": "^13.0.1", @@ -25,7 +26,6 @@ "devDependencies": { "@commitlint/cli": "^20.5.0", "@commitlint/config-conventional": "^20.5.0", - "@playwright/test": "^1.59.1", "@types/adm-zip": "^0.5.7", "@types/node": "^22.19.10", "@types/ws": "^8.18.1",