From 011c192d32a6b252c660be193701b6c708f18e1a Mon Sep 17 00:00:00 2001 From: yyyyaaa Date: Thu, 14 May 2026 09:54:47 +0700 Subject: [PATCH] build(packages): emit ESM type marker, drop source export condition - Add scripts/write-esm-package-json.js to write dist/esm/package.json with {"type":"module"} as a postbuild step. Required so bundlers (webpack, esbuild, vite, rollup) and older Node parse the ESM build as modules rather than CJS. - Drop "source": "./src/index.ts" from each package's exports map. Source files are not shipped in dist/, so this condition pointed at nothing in the published tarball. Co-Authored-By: Claude Opus 4.7 --- packages/agent/package.json | 2 +- packages/agentic-kit/package.json | 2 +- packages/anthropic/package.json | 2 +- packages/ollama/package.json | 2 +- packages/openai/package.json | 2 +- packages/react/package.json | 2 +- scripts/write-esm-package-json.js | 11 +++++++++++ 7 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 scripts/write-esm-package-json.js diff --git a/packages/agent/package.json b/packages/agent/package.json index 7edb2c9..79b0db3 100644 --- a/packages/agent/package.json +++ b/packages/agent/package.json @@ -8,7 +8,6 @@ "types": "index.d.ts", "exports": { ".": { - "source": "./src/index.ts", "types": "./index.d.ts", "import": "./esm/index.js", "require": "./index.js" @@ -31,6 +30,7 @@ "clean": "makage clean", "prepack": "npm run build", "build": "makage build", + "postbuild": "node ../../scripts/write-esm-package-json.js", "build:dev": "makage build --dev", "lint": "eslint . --fix", "test": "jest", diff --git a/packages/agentic-kit/package.json b/packages/agentic-kit/package.json index 93b0b2a..b208b7d 100644 --- a/packages/agentic-kit/package.json +++ b/packages/agentic-kit/package.json @@ -8,7 +8,6 @@ "types": "index.d.ts", "exports": { ".": { - "source": "./src/index.ts", "types": "./index.d.ts", "import": "./esm/index.js", "require": "./index.js" @@ -31,6 +30,7 @@ "clean": "makage clean", "prepack": "npm run build", "build": "makage build", + "postbuild": "node ../../scripts/write-esm-package-json.js", "build:dev": "makage build --dev", "lint": "eslint . --fix", "test": "jest", diff --git a/packages/anthropic/package.json b/packages/anthropic/package.json index 1512594..4692b79 100644 --- a/packages/anthropic/package.json +++ b/packages/anthropic/package.json @@ -8,7 +8,6 @@ "types": "index.d.ts", "exports": { ".": { - "source": "./src/index.ts", "types": "./index.d.ts", "import": "./esm/index.js", "require": "./index.js" @@ -31,6 +30,7 @@ "clean": "makage clean", "prepack": "npm run build", "build": "makage build", + "postbuild": "node ../../scripts/write-esm-package-json.js", "build:dev": "makage build --dev", "lint": "eslint . --fix", "test": "jest", diff --git a/packages/ollama/package.json b/packages/ollama/package.json index ec3c939..756cf1a 100644 --- a/packages/ollama/package.json +++ b/packages/ollama/package.json @@ -8,7 +8,6 @@ "types": "index.d.ts", "exports": { ".": { - "source": "./src/index.ts", "types": "./index.d.ts", "import": "./esm/index.js", "require": "./index.js" @@ -31,6 +30,7 @@ "clean": "makage clean", "prepack": "npm run build", "build": "makage build", + "postbuild": "node ../../scripts/write-esm-package-json.js", "build:dev": "makage build --dev", "lint": "eslint . --fix", "test": "jest", diff --git a/packages/openai/package.json b/packages/openai/package.json index 70e597c..6082398 100644 --- a/packages/openai/package.json +++ b/packages/openai/package.json @@ -8,7 +8,6 @@ "types": "index.d.ts", "exports": { ".": { - "source": "./src/index.ts", "types": "./index.d.ts", "import": "./esm/index.js", "require": "./index.js" @@ -31,6 +30,7 @@ "clean": "makage clean", "prepack": "npm run build", "build": "makage build", + "postbuild": "node ../../scripts/write-esm-package-json.js", "build:dev": "makage build --dev", "lint": "eslint . --fix", "test": "jest", diff --git a/packages/react/package.json b/packages/react/package.json index 79c8b5d..5823340 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -8,7 +8,6 @@ "types": "index.d.ts", "exports": { ".": { - "source": "./src/index.ts", "types": "./index.d.ts", "import": "./esm/index.js", "require": "./index.js" @@ -31,6 +30,7 @@ "clean": "makage clean", "prepack": "npm run build", "build": "makage build", + "postbuild": "node ../../scripts/write-esm-package-json.js", "build:dev": "makage build --dev", "lint": "eslint . --fix", "test": "jest", diff --git a/scripts/write-esm-package-json.js b/scripts/write-esm-package-json.js new file mode 100644 index 0000000..f402323 --- /dev/null +++ b/scripts/write-esm-package-json.js @@ -0,0 +1,11 @@ +#!/usr/bin/env node +// Writes dist/esm/package.json with {"type":"module"} so Node treats the +// ESM build's .js files as modules. Runs from each package's cwd as a +// postbuild step. + +const fs = require('node:fs'); +const path = require('node:path'); + +const target = path.join('dist', 'esm', 'package.json'); +fs.mkdirSync(path.dirname(target), { recursive: true }); +fs.writeFileSync(target, '{"type":"module"}\n');