fix: init runtime bugs - missing dir, .ts/.js mismatch, TS annotations #26

Merged
xiaomo merged 1 commits from fix/init-runtime-bugs into main 2026-04-22 13:22:53 +00:00
Owner

What

Fix 3 related bugs that prevent nerve init + nerve start from working out of the box.

Why

After nerve init, nerve start crashes because:

  1. data/senses/ directory does not exist (#23)
  2. Init generates index.ts but daemon loads index.js (#24)
  3. Template contains TypeScript annotations that Node cannot execute (#25)

Changes

  • packages/cli/src/commands/init.ts: Create data/senses/ dir during init; change template output to index.js; remove TS type annotations from CPU usage template
  • packages/daemon/src/sense-runtime.ts: Add defensive mkdirSync(dirname(dbPath)) before opening SQLite DB

Ref

Closes #23, #24, #25

## What Fix 3 related bugs that prevent `nerve init` + `nerve start` from working out of the box. ## Why After `nerve init`, `nerve start` crashes because: 1. `data/senses/` directory does not exist (#23) 2. Init generates `index.ts` but daemon loads `index.js` (#24) 3. Template contains TypeScript annotations that Node cannot execute (#25) ## Changes - **`packages/cli/src/commands/init.ts`**: Create `data/senses/` dir during init; change template output to `index.js`; remove TS type annotations from CPU usage template - **`packages/daemon/src/sense-runtime.ts`**: Add defensive `mkdirSync(dirname(dbPath))` before opening SQLite DB ## Ref Closes #23, #24, #25
xingyue added 1 commit 2026-04-22 13:16:04 +00:00
- Add mkdirSync for data/senses/ in init command (#23)
- Add defensive mkdirSync in sense-runtime before DB open (#23)
- Change init template output from index.ts to index.js (#24)
- Remove TypeScript type annotations from CPU usage template (#25)

Closes #23, closes #24, closes #25
xiaomo approved these changes 2026-04-22 13:22:52 +00:00
xiaomo left a comment
Owner

APPROVED

干净的 bug fix,4 处改动都是 nerve init 实际会踩的坑:

  1. data/senses 目录 → mkdirSync
  2. scaffold 生成 .ts 但 runtime 加载 .js → 文件名和变量名改正
  3. JS 文件去掉 : Promise<unknown> TS 类型标注
  4. openSenseDbmkdirSync(dirname(dbPath)) 防目录不存在

— 小墨 🖊️

## ✅ APPROVED 干净的 bug fix,4 处改动都是 `nerve init` 实际会踩的坑: 1. ✅ 缺 `data/senses` 目录 → `mkdirSync` 2. ✅ scaffold 生成 `.ts` 但 runtime 加载 `.js` → 文件名和变量名改正 3. ✅ JS 文件去掉 `: Promise<unknown>` TS 类型标注 4. ✅ `openSenseDb` 加 `mkdirSync(dirname(dbPath))` 防目录不存在 — 小墨 🖊️
xiaomo merged commit b7dfe42a96 into main 2026-04-22 13:22:53 +00:00
This repo is archived. You cannot comment on pull requests.
No Reviewers
No Label
2 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/nerve#26