I claimed ENGINE_SMOKES was the single home for "which smokes are engine-sensitive". It was not: npm run smoke still hard-coded the same three, so a fourth entry would have reached the Firefox and on-demand runs and silently skipped the DEFAULT Chromium run -- which is the one GitHub CI executes. The exact drift the list was introduced to remove, left in the one tier that matters most. npm run smoke now ends in smoke:web:chromium, which goes through the runner like the other two tiers. Two things fall out of that: - The Chromium tier passes its engine as a literal argument, so an ambient SMOKE_BROWSER can no longer redirect it. Without that, SMOKE_BROWSER=firefox npm run ci would have run Firefox twice and never exercised Chromium at all -- a gate silently testing something other than what it claims. - run-engine-smokes.test.mjs now asserts that no tier names an individual smoke, that both gated tiers name their engine explicitly, and that the on-demand entry point is the one that follows the environment. This is the durable half: a tier running fewer smokes is invisible at runtime, because it still passes. Mutation-verified -- restoring the old hard- coded chain fails the test. Docs updated to state the wider claim rather than the one that was true of only two tiers. Addresses the suppressed comment on Copilot review 5026921914 of #2133. Signed-off-by: cliffhall <cliff@futurescale.com>
121 lines
6 KiB
JSON
121 lines
6 KiB
JSON
{
|
|
"name": "@modelcontextprotocol/inspector",
|
|
"version": "2.3.0",
|
|
"description": "The Model Context Protocol Inspector",
|
|
"keywords": [
|
|
"MCP",
|
|
"inspector"
|
|
],
|
|
"homepage": "https://github.com/modelcontextprotocol/inspector#readme",
|
|
"bugs": {
|
|
"url": "https://github.com/modelcontextprotocol/inspector/issues"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/modelcontextprotocol/inspector.git"
|
|
},
|
|
"license": "MIT",
|
|
"author": "The MCP Maintainers and Community",
|
|
"type": "module",
|
|
"bin": {
|
|
"mcp-inspector": "./clients/launcher/build/index.js"
|
|
},
|
|
"files": [
|
|
"clients/launcher/build",
|
|
"clients/web/build",
|
|
"clients/web/dist",
|
|
"clients/web/static",
|
|
"clients/cli/build",
|
|
"clients/tui/build",
|
|
"scripts/install-clients.mjs"
|
|
],
|
|
"scripts": {
|
|
"web": "node clients/launcher/build/index.js --web",
|
|
"build:web:runner": "cd clients/web && npm run build:runner",
|
|
"web:dev": "npm run build:web:runner && node clients/launcher/build/index.js --web --dev",
|
|
"build": "npm run build:web && npm run build:cli && npm run build:tui && npm run build:launcher",
|
|
"build:cli": "cd clients/cli && npm run build",
|
|
"build:tui": "cd clients/tui && npm run build",
|
|
"build:web": "cd clients/web && npm run build",
|
|
"build:launcher": "cd clients/launcher && npm run build",
|
|
"ci": "npm run validate && npm run coverage && npm run verify:build-gate && npm run verify:bundle-externals && npm run smoke && npm run smoke:web:firefox && npm run ci:storybook",
|
|
"ci:storybook": "cd clients/web && npx playwright install chromium && npm run test:storybook",
|
|
"verify:build-gate": "node scripts/verify-build-gate.mjs",
|
|
"verify:bundle-externals": "node scripts/verify-bundle-externals.mjs",
|
|
"verify:typecheck-coverage": "node scripts/verify-typecheck-coverage.mjs",
|
|
"test:scripts": "node --test \"scripts/**/*.test.mjs\"",
|
|
"validate": "npm run verify:format-coverage && npm run verify:typecheck-coverage && npm run verify:dep-lockstep && npm run test:scripts && npm run validate:core && npm run validate:web && npm run validate:cli && npm run validate:tui && npm run validate:launcher",
|
|
"verify:format-coverage": "node scripts/verify-format-coverage.mjs",
|
|
"verify:dep-lockstep": "node scripts/verify-dep-lockstep.mjs",
|
|
"validate:core": "npm run format:check:core && npm run format:check:scripts && npm run format:check:shared && npm run lint:core && npm run lint:shared",
|
|
"lint:core": "eslint \"core/**/*.{ts,tsx}\" --max-warnings 0",
|
|
"lint:shared": "eslint \"test-servers/src/**/*.{ts,tsx,mts,cts}\" vitest.shared.mts eslint.config.js --max-warnings 0",
|
|
"format:core": "prettier --write \"core/**/*.{ts,tsx}\"",
|
|
"format:check:core": "prettier --check \"core/**/*.{ts,tsx}\"",
|
|
"format:scripts": "prettier --write \"scripts/**/*.{ts,tsx,mts,cts,js,jsx,mjs,cjs}\"",
|
|
"format:check:scripts": "prettier --check \"scripts/**/*.{ts,tsx,mts,cts,js,jsx,mjs,cjs}\"",
|
|
"format:shared": "prettier --write \"test-servers/src/**/*.{ts,tsx,mts,cts}\" vitest.shared.mts eslint.config.js",
|
|
"format:check:shared": "prettier --check \"test-servers/src/**/*.{ts,tsx,mts,cts}\" vitest.shared.mts eslint.config.js",
|
|
"format": "npm run format:core && npm run format:scripts && npm run format:shared && cd clients/web && npm run format && cd ../cli && npm run format && cd ../tui && npm run format && cd ../launcher && npm run format",
|
|
"validate:cli": "cd clients/cli && npm run validate",
|
|
"validate:tui": "cd clients/tui && npm run validate",
|
|
"validate:web": "cd clients/web && npm run validate",
|
|
"validate:launcher": "cd clients/launcher && npm run validate",
|
|
"coverage": "npm run coverage:web && npm run coverage:cli && npm run coverage:tui && npm run coverage:launcher",
|
|
"coverage:cli": "cd clients/cli && npm run test:coverage",
|
|
"coverage:tui": "cd clients/tui && npm run test:coverage",
|
|
"coverage:web": "cd clients/web && npm run test:coverage",
|
|
"coverage:launcher": "cd clients/launcher && npm run test:coverage",
|
|
"smoke": "npm run smoke:launcher && npm run smoke:cli && npm run smoke:tui && npm run smoke:web && npm run smoke:web:chromium",
|
|
"smoke:cli": "node scripts/smoke-cli.mjs",
|
|
"smoke:tui": "node scripts/smoke-tui.mjs",
|
|
"smoke:web": "node scripts/smoke-web.mjs",
|
|
"smoke:web:browser": "node scripts/install-smoke-browser.mjs && node scripts/smoke-web-browser.mjs",
|
|
"smoke:web:app": "node scripts/install-smoke-browser.mjs && node scripts/smoke-web-app.mjs",
|
|
"smoke:web:elicit": "node scripts/install-smoke-browser.mjs && node scripts/smoke-web-elicitation.mjs",
|
|
"smoke:web:engine": "node scripts/run-engine-smokes.mjs",
|
|
"smoke:web:chromium": "node scripts/run-engine-smokes.mjs chromium",
|
|
"smoke:web:firefox": "node scripts/run-engine-smokes.mjs firefox",
|
|
"smoke:launcher": "node scripts/smoke-launcher.mjs",
|
|
"pack:verify": "node scripts/install-smoke-browser.mjs chromium && node scripts/pack-and-verify.mjs",
|
|
"prepack": "npm run build",
|
|
"postinstall": "node scripts/install-clients.mjs"
|
|
},
|
|
"dependencies": {
|
|
"@hono/node-server": "^2.0.12",
|
|
"@modelcontextprotocol/client": "2.0.0",
|
|
"@modelcontextprotocol/core": "2.0.0",
|
|
"@modelcontextprotocol/ext-apps": "^1.7.4",
|
|
"@modelcontextprotocol/server": "2.0.0",
|
|
"@modelcontextprotocol/server-legacy": "2.0.0",
|
|
"@napi-rs/keyring": "^1.3.0",
|
|
"@vitejs/plugin-react": "^6.0.0",
|
|
"ajv": "^8.17.1",
|
|
"atomically": "^2.1.1",
|
|
"chokidar": "^4.0.3",
|
|
"commander": "^13.1.0",
|
|
"hono": "^4.12.18",
|
|
"ink": "^6.0.0",
|
|
"open": "^10.2.0",
|
|
"pino": "^9.14.0",
|
|
"proper-lockfile": "^4.1.2",
|
|
"react": "^19.0.0",
|
|
"undici": "^8.5.0",
|
|
"vite": "^8.1.5",
|
|
"yaml": "^2.9.0",
|
|
"zod": "^4.4.3"
|
|
},
|
|
"engines": {
|
|
"node": ">=22.19.0"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^10.0.1",
|
|
"@types/proper-lockfile": "^4.1.4",
|
|
"eslint": "^10.8.0",
|
|
"express": "^5.2.1",
|
|
"globals": "^17.7.0",
|
|
"prettier": "3.8.4",
|
|
"typescript": "~5.9.3",
|
|
"typescript-eslint": "^8.65.0"
|
|
}
|
|
}
|