17 lines
1.2 KiB
Markdown
17 lines
1.2 KiB
Markdown
# Project Readme Hints
|
|
|
|
## Build Tools
|
|
- Uses `@git.zone/tsbuild` v4.x — just `tsbuild` with no extra flags needed
|
|
- Uses `@git.zone/tstest` v3.x — zero-config, file naming convention for runtime selection
|
|
- Uses `@git.zone/tsrun` v2.x — zero-config TypeScript execution via tsx
|
|
|
|
## Key Architectural Decisions
|
|
- **No smartfile dependency** — replaced with native Node.js `fs/promises` for filesystem operations in crashlogmanager.ts and logpersistence.ts (smartfile v13 removed the `fs` and `memory` namespaces)
|
|
- **smartconfig** (not npmextra) — configuration stored in `.smartconfig.json` using `@push.rocks/smartconfig` KeyValueStore
|
|
- **Three test categories**: unit tests (test.ts, test.daemon.ts, test.ipcclient.ts), direct tests (test.crashlog.direct.ts), and integration tests (test.crashlog.ts, test.crashlog.manual.ts) that require a running daemon
|
|
|
|
## Integration Tests
|
|
- The crashlog integration tests (`test.crashlog.ts`, `test.crashlog.manual.ts`) depend on a running daemon and CLI output parsing
|
|
- They gracefully skip when daemon can't be started in the test environment
|
|
- The CLI `add` command outputs `Assigned ID: <number>` (not `Process added with ID:`)
|