Files
openclaw/tsdown.config.ts
Patrick Shao 5ac1be9cb6 fix: all bundled hooks broken since 2026.2.2 (tsdown migration) (#9295)
* fix: compile bundled hook handlers in tsdown build

The migration from tsc to tsdown in 2026.2.2 dropped bundled hook handlers
from the build output. The copy-hook-metadata.ts script only copies HOOK.md
metadata files, not the handler.ts source files. Without corresponding tsdown
entry points, the handlers were never compiled to JS, causing
`openclaw hooks list` to show 0 hooks on npm installs.

This adds each bundled hook handler and the llm-slug-generator (dynamically
imported by session-memory) as tsdown entry points:

  - src/hooks/bundled/session-memory/handler.ts
  - src/hooks/bundled/command-logger/handler.ts
  - src/hooks/bundled/boot-md/handler.ts
  - src/hooks/bundled/soul-evil/handler.ts
  - src/hooks/llm-slug-generator.ts

Regression introduced in 2026.2.2; versions 2026.1.29–2026.2.1 worked
correctly under the previous tsc build.

* refactor: use glob for bundled hook entries, fix dist output paths

- Replace hardcoded entry list with glob pattern in tsdown.config.ts
  so new hooks are auto-discovered (matching scripts/copy-hook-metadata.ts)
- Remove inconsistent comment block from tsdown.config.ts
- Fix copy-hook-metadata.ts to copy HOOK.md to dist/bundled/ (matching
  the runtime resolution in bundled-dir.ts which resolves path.join(moduleDir, 'bundled')
  relative to the chunk in dist/)
- Update stale path comment in session-memory handler
2026-02-09 11:35:47 +09:00

46 lines
801 B
TypeScript

import { defineConfig } from "tsdown";
const env = {
NODE_ENV: "production",
};
export default defineConfig([
{
entry: "src/index.ts",
env,
fixedExtension: false,
platform: "node",
},
{
entry: "src/entry.ts",
env,
fixedExtension: false,
platform: "node",
},
{
entry: "src/infra/warning-filter.ts",
env,
fixedExtension: false,
platform: "node",
},
{
entry: "src/plugin-sdk/index.ts",
outDir: "dist/plugin-sdk",
env,
fixedExtension: false,
platform: "node",
},
{
entry: "src/extensionAPI.ts",
env,
fixedExtension: false,
platform: "node",
},
{
entry: ["src/hooks/bundled/*/handler.ts", "src/hooks/llm-slug-generator.ts"],
env,
fixedExtension: false,
platform: "node",
},
]);