openpencil/packages/mcp/package.json
Danila Poyarkov c8d68acc9e
chore: prefer es-toolkit helpers and lint the mechanical cases (#898)
* chore: prefer es-toolkit helpers and lint the mechanical cases

AGENTS.md now names the es-toolkit helpers to reach for instead of hand-written equivalents, and the exceptions: a single clear native call or a measured hot path. The new open-pencil/prefer-es-toolkit rule rejects filter(Boolean) and Set round trips on arrays, the two cases that need no type information, and the existing 45 sites use compact and uniq. tools/ci/policy runs before dependencies are installed, so the rule is off there.

* refactor: deduplicate diagnostic categories with uniq

* fix: keep es-toolkit out of serialized Playwright callbacks

The codemod rewrote a filter(Boolean) inside a page.evaluate callback, which Playwright runs in the page where the compact import does not exist. The spec filters there again, and the rule now skips callbacks passed to evaluate, $eval, $$eval, evaluateHandle, addInitScript and waitForFunction, and filter calls on iterators from values, keys, entries and matchAll, which compact cannot take.

* test: write the prefer-es-toolkit cases like the other rule tests

Short standalone snippets, as in the base64 and JSON rule tests, instead of a declaration prefix on every case and inline object types.
2026-10-05 09:34:00 +00:00

84 lines
2 KiB
JSON

{
"name": "@open-pencil/mcp",
"version": "0.15.1",
"license": "MIT",
"type": "module",
"imports": {
"#mcp/*": {
"types": "./src/*.ts",
"bun": "./src/*.ts",
"default": "./dist/*.mjs"
}
},
"main": "./dist/server.mjs",
"exports": {
".": {
"types": "./dist/server.d.mts",
"import": "./dist/server.mjs",
"default": "./dist/server.mjs"
},
"./stdio": {
"types": "./dist/stdio.d.mts",
"import": "./dist/stdio.mjs",
"default": "./dist/stdio.mjs"
},
"./transport": {
"types": "./dist/transport.d.mts",
"bun": "./src/transport/paths.ts",
"import": "./dist/transport.mjs",
"default": "./dist/transport.mjs"
},
"./discovery": {
"types": "./dist/discovery.d.mts",
"bun": "./src/transport/discovery.ts",
"import": "./dist/discovery.mjs",
"default": "./dist/discovery.mjs"
},
"./tools": {
"types": "./dist/tools.d.mts",
"bun": "./src/tool/index.ts",
"import": "./dist/tools.mjs",
"default": "./dist/tools.mjs"
}
},
"bin": {
"openpencil-mcp": "./dist/stdio.mjs",
"openpencil-mcp-http": "./dist/index.mjs"
},
"files": [
"dist",
"src"
],
"scripts": {
"build": "bunx tsdown --config tsdown.config.ts",
"prepublishOnly": "bun run build"
},
"repository": {
"type": "git",
"url": "git+https://github.com/open-pencil/open-pencil.git",
"directory": "packages/mcp"
},
"publishConfig": {
"access": "public",
"provenance": true
},
"dependencies": {
"@hono/node-server": "^1.19.17",
"@modelcontextprotocol/server": "^2.0.0",
"@open-pencil/core": "workspace:*",
"@open-pencil/design-jsx": "workspace:*",
"@open-pencil/scene-graph": "workspace:*",
"@valibot/to-json-schema": "^1.8.0",
"es-toolkit": "^1.52.0",
"hono": "^4.13.13",
"js-base64": "^3.9.3",
"package-manager-detector": "^1.8.0",
"valibot": "^1.5.0",
"ws": "^8.21.3"
},
"devDependencies": {
"@types/node": "^25.9.9",
"@types/ws": "^8.18.1"
}
}