Releases: yetanotheraryan/coldstart
v1.0.3
coldstart v1.0.0 — Initial release
Summary
- Built coldstart from scratch: a zero-dependency Node.js startup profiler that instruments CommonJS
require() and ESM loader hooks to reconstruct a full module load tree with inclusive/exclusive timing - Added three output formats: terminal tree (text), JSON, and a self-contained HTML flamegraph
- Added a CLI (coldstart ) and a programmatic API via register.ts
- Set up a GitHub Actions CI/CD pipeline to publish to npm on version tags
- Wrote comprehensive README with quick-start, usage examples, and feature overview
What's included
┌────────────────────────────────┬─────────────────────────────────────────┐
│ File │ Purpose │
├────────────────────────────────┼─────────────────────────────────────────┤
│ src/tracer.ts │ Core timing and tree-building logic │
├────────────────────────────────┼─────────────────────────────────────────┤
│ src/cjs.ts │ CommonJS require() hook │
├────────────────────────────────┼─────────────────────────────────────────┤
│ src/esm-loader.ts │ ESM loader hook (Node ≥18.19) │
├────────────────────────────────┼─────────────────────────────────────────┤
│ src/cli.ts │ CLI entry point │
├────────────────────────────────┼─────────────────────────────────────────┤
│ src/reporter/text.ts │ Terminal tree reporter │
├────────────────────────────────┼─────────────────────────────────────────┤
│ src/reporter/json.ts │ JSON reporter │
├────────────────────────────────┼─────────────────────────────────────────┤
│ src/reporter/flamegraph.ts │ Self-contained HTML flamegraph reporter │
├────────────────────────────────┼─────────────────────────────────────────┤
│ register.ts │ Programmatic API │
├────────────────────────────────┼─────────────────────────────────────────┤
│ .github/workflows/publish.yaml │ npm publish pipeline │
└────────────────────────────────┴─────────────────────────────────────────┘
Notes
- Requires Node.js ≥18 (≥18.19 for ESM tracing)
- Dynamic import() tracing is not yet supported