From 8fea6c086dd586dcf7aad5e26ff5da91b21d74fe Mon Sep 17 00:00:00 2001 From: Danila Poyarkov Date: Mon, 2 Mar 2026 14:59:59 +0300 Subject: [PATCH] Bump all packages to 0.4.0, fix Node.js ESM compatibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - tsgo + fix-esm-import-path for .js extensions in dist/ - Core exports: bun condition → src, import → dist - MCP depends on core ^0.4.0 --- CHANGELOG.md | 11 +++++++++-- desktop/tauri.conf.json | 2 +- package.json | 2 +- packages/cli/package.json | 2 +- packages/core/package.json | 15 ++++++++------- packages/core/tsconfig.json | 1 + packages/mcp/package.json | 8 ++++---- 7 files changed, 25 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1464fa587..53b722211 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,17 @@ # Changelog -## Unreleased +## 0.4.0 (2026-03-02) ### Features -- MCP server (`@open-pencil/mcp`) — 29 tools for headless .fig editing via stdio (Claude Code, Cursor) or HTTP (Streamable HTTP with sessions) +- MCP server (`@open-pencil/mcp`) — 29 tools for headless .fig editing via stdio (Claude Code, Cursor, Windsurf) or HTTP (Hono + Streamable HTTP with sessions) +- `openpencil-mcp` and `openpencil-mcp-http` binaries — install globally via `bun add -g @open-pencil/mcp` + +### Build + +- All packages emit JS via tsgo + fix-esm-import-path — `@open-pencil/core` and `@open-pencil/mcp` work on Node.js without Bun +- Core package exports: `bun` condition → src (dev), `import` condition → dist (npm consumers) +- `@open-pencil/mcp` added to CI publish workflow ## 0.3.2 (2026-03-02) diff --git a/desktop/tauri.conf.json b/desktop/tauri.conf.json index b6e932ca7..4cd47a535 100644 --- a/desktop/tauri.conf.json +++ b/desktop/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "OpenPencil", - "version": "0.3.2", + "version": "0.4.0", "identifier": "net.dannote.open-pencil", "build": { "beforeDevCommand": "bun run dev", diff --git a/package.json b/package.json index 64d1b4407..2212ef14d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "open-pencil-app", "private": true, - "version": "0.3.2", + "version": "0.4.0", "license": "MIT", "type": "module", "workspaces": [ diff --git a/packages/cli/package.json b/packages/cli/package.json index f3a398b9c..573293287 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@open-pencil/cli", - "version": "0.3.2", + "version": "0.4.0", "license": "MIT", "type": "module", "bin": { diff --git a/packages/core/package.json b/packages/core/package.json index c0f2d1baf..d05ef0c61 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,20 +1,21 @@ { "name": "@open-pencil/core", - "version": "0.3.2", + "version": "0.4.0", "license": "MIT", "type": "module", "exports": { ".": { - "types": "./src/index.ts", - "import": "./src/index.ts" + "types": "./dist/index.d.ts", + "bun": "./src/index.ts", + "import": "./dist/index.js" } }, - "main": "./src/index.ts", - "types": "./src/index.ts", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", "files": ["src", "dist"], "scripts": { - "build": "tsc", - "prepublishOnly": "tsc" + "build": "bunx tsgo && bunx fix-esm-import-path dist", + "prepublishOnly": "bun run build" }, "repository": { "type": "git", diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 0a4fbe1a0..6f9ec49ad 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -3,6 +3,7 @@ "target": "ES2022", "module": "ESNext", "moduleResolution": "bundler", + "strict": true, "skipLibCheck": true, "declaration": true, diff --git a/packages/mcp/package.json b/packages/mcp/package.json index 9ec85849a..ac21790ef 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -1,6 +1,6 @@ { "name": "@open-pencil/mcp", - "version": "0.3.3", + "version": "0.4.0", "license": "MIT", "type": "module", "main": "./src/server.ts", @@ -13,8 +13,8 @@ "dist" ], "scripts": { - "build": "bunx tsgo", - "prepublishOnly": "bunx tsgo" + "build": "bunx tsgo && bunx fix-esm-import-path dist", + "prepublishOnly": "bun run build" }, "repository": { "type": "git", @@ -27,7 +27,7 @@ }, "dependencies": { "@modelcontextprotocol/sdk": "^1.25.2", - "@open-pencil/core": "workspace:*", + "@open-pencil/core": "^0.3.4", "canvaskit-wasm": "^0.40.0", "@hono/node-server": "^1.19.9", "hono": "^4.11.4",