diff --git a/CLAUDE.md b/CLAUDE.md index de9c71e..969ebee 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -229,6 +229,37 @@ const mod = await import(bundlePath); Test files (`__tests__/**`) are exempt. +## Package Build & Distribution + +每个包用 `tsc` 编译出 `.js` + `.d.ts` 到 `dist/`,**发布 `dist`,不发 `src`,不 bundle**。 + +### 规则 + +- ✅ `tsc --build` 编译,保留目录结构(tree-shaking 友好) +- ✅ `package.json` 的 `exports` 指向 `dist/`(编译产物),不指向 `src/` +- ✅ 消费端不受 tsconfig 差异影响 +- ❌ 不要用 rollup/esbuild 打成单文件 +- ❌ `exports` 中不要出现 `./src/` + +### package.json exports 格式 + +```json +{ + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + } + } +} +``` + +多入口同理,所有路径指向 `dist/`。 + +### 例外 + +- `workflow-gateway`(Cloudflare Workers)和 `workflow-dashboard`(私有 app)不发 npm,exports 可指向 `src/`。 + ## Toolchain | Tool | Purpose | diff --git a/packages/cli-workflow/package.json b/packages/cli-workflow/package.json index 7c2ae38..61a9ef2 100644 --- a/packages/cli-workflow/package.json +++ b/packages/cli-workflow/package.json @@ -1,6 +1,6 @@ { "name": "@uncaged/cli-workflow", - "version": "0.3.22", + "version": "0.3.24", "files": [ "src", "dist", diff --git a/packages/workflow-agent-cursor/package.json b/packages/workflow-agent-cursor/package.json index f1d10d6..2dd23c1 100644 --- a/packages/workflow-agent-cursor/package.json +++ b/packages/workflow-agent-cursor/package.json @@ -1,6 +1,6 @@ { "name": "@uncaged/workflow-agent-cursor", - "version": "0.3.22", + "version": "0.3.24", "files": [ "dist", "package.json" @@ -22,7 +22,7 @@ "exports": { ".": { "types": "./dist/index.d.ts", - "import": "./src/index.ts" + "import": "./dist/index.js" } } } diff --git a/packages/workflow-agent-hermes/package.json b/packages/workflow-agent-hermes/package.json index 34333d0..de9668a 100644 --- a/packages/workflow-agent-hermes/package.json +++ b/packages/workflow-agent-hermes/package.json @@ -1,6 +1,6 @@ { "name": "@uncaged/workflow-agent-hermes", - "version": "0.3.22", + "version": "0.3.24", "files": [ "dist", "package.json" @@ -18,7 +18,7 @@ "exports": { ".": { "types": "./dist/index.d.ts", - "import": "./src/index.ts" + "import": "./dist/index.js" } } } diff --git a/packages/workflow-agent-llm/package.json b/packages/workflow-agent-llm/package.json index 1773aa5..a06da00 100644 --- a/packages/workflow-agent-llm/package.json +++ b/packages/workflow-agent-llm/package.json @@ -1,6 +1,6 @@ { "name": "@uncaged/workflow-agent-llm", - "version": "0.3.22", + "version": "0.3.24", "files": [ "dist", "package.json" @@ -21,7 +21,7 @@ "exports": { ".": { "types": "./dist/index.d.ts", - "import": "./src/index.ts" + "import": "./dist/index.js" } } } diff --git a/packages/workflow-agent-react/package.json b/packages/workflow-agent-react/package.json index 00e038c..811fec6 100644 --- a/packages/workflow-agent-react/package.json +++ b/packages/workflow-agent-react/package.json @@ -1,17 +1,15 @@ { "name": "@uncaged/workflow-agent-react", - "version": "0.3.22", + "version": "0.3.24", "files": [ "dist", "package.json" ], "type": "module", - "main": "src/index.ts", - "types": "src/index.ts", "exports": { ".": { - "types": "./src/index.ts", - "default": "./src/index.ts" + "types": "./dist/index.d.ts", + "import": "./dist/index.js" } }, "scripts": { diff --git a/packages/workflow-cas/package.json b/packages/workflow-cas/package.json index c1f720c..610a73e 100644 --- a/packages/workflow-cas/package.json +++ b/packages/workflow-cas/package.json @@ -1,6 +1,6 @@ { "name": "@uncaged/workflow-cas", - "version": "0.3.22", + "version": "0.3.24", "files": [ "dist", "package.json" @@ -12,7 +12,7 @@ "exports": { ".": { "types": "./dist/index.d.ts", - "import": "./src/index.ts" + "import": "./dist/index.js" } }, "dependencies": { diff --git a/packages/workflow-execute/package.json b/packages/workflow-execute/package.json index 665458b..7067efa 100644 --- a/packages/workflow-execute/package.json +++ b/packages/workflow-execute/package.json @@ -1,6 +1,6 @@ { "name": "@uncaged/workflow-execute", - "version": "0.3.22", + "version": "0.3.24", "files": [ "dist", "package.json" @@ -9,7 +9,7 @@ "exports": { ".": { "types": "./dist/index.d.ts", - "import": "./src/index.ts" + "import": "./dist/index.js" } }, "scripts": { diff --git a/packages/workflow-execute/src/engine/worker-entry-path.ts b/packages/workflow-execute/src/engine/worker-entry-path.ts index 5690bd2..7ec6286 100644 --- a/packages/workflow-execute/src/engine/worker-entry-path.ts +++ b/packages/workflow-execute/src/engine/worker-entry-path.ts @@ -1,6 +1,11 @@ import { fileURLToPath } from "node:url"; -/** Absolute path to `worker-host.ts` for spawning bundle worker processes. */ +/** + * Absolute path to the worker script for spawning bundle worker processes. + * + * Uses `.js` extension so it resolves correctly whether running from + * src/ (bun handles .js → .ts) or dist/ (compiled .js exists). + */ export function getWorkerHostScriptPath(): string { - return fileURLToPath(new URL("./worker.ts", import.meta.url)); + return fileURLToPath(new URL("./worker.js", import.meta.url)); } diff --git a/packages/workflow-gateway/package.json b/packages/workflow-gateway/package.json index b7d02ea..f0e4b38 100644 --- a/packages/workflow-gateway/package.json +++ b/packages/workflow-gateway/package.json @@ -1,6 +1,6 @@ { "name": "@uncaged/workflow-gateway", - "version": "0.3.22", + "version": "0.3.24", "files": [ "dist", "package.json" diff --git a/packages/workflow-protocol/package.json b/packages/workflow-protocol/package.json index 661f433..d8583ad 100644 --- a/packages/workflow-protocol/package.json +++ b/packages/workflow-protocol/package.json @@ -1,6 +1,6 @@ { "name": "@uncaged/workflow-protocol", - "version": "0.3.22", + "version": "0.3.24", "files": [ "dist", "package.json" @@ -9,11 +9,11 @@ "exports": { ".": { "types": "./dist/index.d.ts", - "import": "./src/index.ts" + "import": "./dist/index.js" }, "./moderator-table.js": { "types": "./dist/moderator-table.d.ts", - "import": "./src/moderator-table.ts" + "import": "./dist/moderator-table.js" } }, "peerDependencies": { diff --git a/packages/workflow-reactor/package.json b/packages/workflow-reactor/package.json index 8334a8b..51a878e 100644 --- a/packages/workflow-reactor/package.json +++ b/packages/workflow-reactor/package.json @@ -1,6 +1,6 @@ { "name": "@uncaged/workflow-reactor", - "version": "0.3.22", + "version": "0.3.24", "files": [ "dist", "package.json" @@ -9,7 +9,7 @@ "exports": { ".": { "types": "./dist/index.d.ts", - "import": "./src/index.ts" + "import": "./dist/index.js" } }, "dependencies": { diff --git a/packages/workflow-register/package.json b/packages/workflow-register/package.json index 115c82e..8c1d196 100644 --- a/packages/workflow-register/package.json +++ b/packages/workflow-register/package.json @@ -1,6 +1,6 @@ { "name": "@uncaged/workflow-register", - "version": "0.3.22", + "version": "0.3.24", "files": [ "dist", "package.json" @@ -9,7 +9,7 @@ "exports": { ".": { "types": "./dist/index.d.ts", - "import": "./src/index.ts" + "import": "./dist/index.js" } }, "dependencies": { diff --git a/packages/workflow-runtime/package.json b/packages/workflow-runtime/package.json index fbf93a8..b31edd8 100644 --- a/packages/workflow-runtime/package.json +++ b/packages/workflow-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@uncaged/workflow-runtime", - "version": "0.3.22", + "version": "0.3.24", "files": [ "dist", "package.json" @@ -24,7 +24,7 @@ "exports": { ".": { "types": "./dist/index.d.ts", - "import": "./src/index.ts" + "import": "./dist/index.js" } } } diff --git a/packages/workflow-template-develop/package.json b/packages/workflow-template-develop/package.json index 85740d5..2da47c9 100644 --- a/packages/workflow-template-develop/package.json +++ b/packages/workflow-template-develop/package.json @@ -1,6 +1,6 @@ { "name": "@uncaged/workflow-template-develop", - "version": "0.3.22", + "version": "0.3.24", "files": [ "dist", "package.json" @@ -9,7 +9,7 @@ "exports": { ".": { "types": "./dist/index.d.ts", - "import": "./src/index.ts" + "import": "./dist/index.js" } }, "scripts": { diff --git a/packages/workflow-template-solve-issue/package.json b/packages/workflow-template-solve-issue/package.json index 2203c41..04e181d 100644 --- a/packages/workflow-template-solve-issue/package.json +++ b/packages/workflow-template-solve-issue/package.json @@ -1,6 +1,6 @@ { "name": "@uncaged/workflow-template-solve-issue", - "version": "0.3.22", + "version": "0.3.24", "files": [ "dist", "package.json" @@ -9,7 +9,7 @@ "exports": { ".": { "types": "./dist/index.d.ts", - "import": "./src/index.ts" + "import": "./dist/index.js" } }, "scripts": { diff --git a/packages/workflow-util-agent/package.json b/packages/workflow-util-agent/package.json index 2953730..b4e7940 100644 --- a/packages/workflow-util-agent/package.json +++ b/packages/workflow-util-agent/package.json @@ -1,17 +1,15 @@ { "name": "@uncaged/workflow-util-agent", - "version": "0.3.22", + "version": "0.3.24", "files": [ "dist", "package.json" ], "type": "module", - "main": "src/index.ts", - "types": "src/index.ts", "exports": { ".": { - "types": "./src/index.ts", - "default": "./src/index.ts" + "types": "./dist/index.d.ts", + "import": "./dist/index.js" } }, "scripts": { diff --git a/packages/workflow-util/package.json b/packages/workflow-util/package.json index f914ceb..8335235 100644 --- a/packages/workflow-util/package.json +++ b/packages/workflow-util/package.json @@ -1,6 +1,6 @@ { "name": "@uncaged/workflow-util", - "version": "0.3.22", + "version": "0.3.24", "files": [ "dist", "package.json" @@ -9,7 +9,7 @@ "exports": { ".": { "types": "./dist/index.d.ts", - "import": "./src/index.ts" + "import": "./dist/index.js" } }, "dependencies": {