Bump all packages to 0.4.0, fix Node.js ESM compatibility

- tsgo + fix-esm-import-path for .js extensions in dist/
- Core exports: bun condition → src, import → dist
- MCP depends on core ^0.4.0
This commit is contained in:
Danila Poyarkov 2026-03-02 14:59:59 +03:00
parent 1f27add8c7
commit 8fea6c086d
7 changed files with 25 additions and 16 deletions

View file

@ -1,10 +1,17 @@
# Changelog # Changelog
## Unreleased ## 0.4.0 (2026-03-02)
### Features ### 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) ## 0.3.2 (2026-03-02)

View file

@ -1,7 +1,7 @@
{ {
"$schema": "https://schema.tauri.app/config/2", "$schema": "https://schema.tauri.app/config/2",
"productName": "OpenPencil", "productName": "OpenPencil",
"version": "0.3.2", "version": "0.4.0",
"identifier": "net.dannote.open-pencil", "identifier": "net.dannote.open-pencil",
"build": { "build": {
"beforeDevCommand": "bun run dev", "beforeDevCommand": "bun run dev",

View file

@ -1,7 +1,7 @@
{ {
"name": "open-pencil-app", "name": "open-pencil-app",
"private": true, "private": true,
"version": "0.3.2", "version": "0.4.0",
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",
"workspaces": [ "workspaces": [

View file

@ -1,6 +1,6 @@
{ {
"name": "@open-pencil/cli", "name": "@open-pencil/cli",
"version": "0.3.2", "version": "0.4.0",
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",
"bin": { "bin": {

View file

@ -1,20 +1,21 @@
{ {
"name": "@open-pencil/core", "name": "@open-pencil/core",
"version": "0.3.2", "version": "0.4.0",
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",
"exports": { "exports": {
".": { ".": {
"types": "./src/index.ts", "types": "./dist/index.d.ts",
"import": "./src/index.ts" "bun": "./src/index.ts",
"import": "./dist/index.js"
} }
}, },
"main": "./src/index.ts", "main": "./dist/index.js",
"types": "./src/index.ts", "types": "./dist/index.d.ts",
"files": ["src", "dist"], "files": ["src", "dist"],
"scripts": { "scripts": {
"build": "tsc", "build": "bunx tsgo && bunx fix-esm-import-path dist",
"prepublishOnly": "tsc" "prepublishOnly": "bun run build"
}, },
"repository": { "repository": {
"type": "git", "type": "git",

View file

@ -3,6 +3,7 @@
"target": "ES2022", "target": "ES2022",
"module": "ESNext", "module": "ESNext",
"moduleResolution": "bundler", "moduleResolution": "bundler",
"strict": true, "strict": true,
"skipLibCheck": true, "skipLibCheck": true,
"declaration": true, "declaration": true,

View file

@ -1,6 +1,6 @@
{ {
"name": "@open-pencil/mcp", "name": "@open-pencil/mcp",
"version": "0.3.3", "version": "0.4.0",
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",
"main": "./src/server.ts", "main": "./src/server.ts",
@ -13,8 +13,8 @@
"dist" "dist"
], ],
"scripts": { "scripts": {
"build": "bunx tsgo", "build": "bunx tsgo && bunx fix-esm-import-path dist",
"prepublishOnly": "bunx tsgo" "prepublishOnly": "bun run build"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -27,7 +27,7 @@
}, },
"dependencies": { "dependencies": {
"@modelcontextprotocol/sdk": "^1.25.2", "@modelcontextprotocol/sdk": "^1.25.2",
"@open-pencil/core": "workspace:*", "@open-pencil/core": "^0.3.4",
"canvaskit-wasm": "^0.40.0", "canvaskit-wasm": "^0.40.0",
"@hono/node-server": "^1.19.9", "@hono/node-server": "^1.19.9",
"hono": "^4.11.4", "hono": "^4.11.4",