Beacon 1.2.0
npm install -g @martin-k-m/beacon-cli
beacon analyze facebook/reactFixed
- Remote analysis reported every repository as having zero dependencies. The GitHub collector hardcoded
dependencyCount: 0for each detected manifest, so a repository with 50 dependencies reported0. Remote collection lists the repository tree without reading manifest contents, so the count is genuinely unknown there and now reportsnull. Local analysis (--local) parses manifests off disk and still reports real counts.
Added
- Plugins are now reachable.
@beacon/pluginswas built and tested but imported by nothing, so no plugin could ever run. Plugins are now a self-hosting feature:BEACON_PLUGINSloads modules at API boot,GET /api/pluginslists what is loaded,GET /api/repositories/:owner/:repo/pluginsruns analyzers and recommenders, and plugin widgets render through the existing/widget/:type/:owner/:reporoute (same cache, same error card; built-in types keep precedence). A plugin that fails to import, or throws, is logged and skipped — it never stops the API booting. See docs/plugins.md.
Security
- vitest 2 → 3 across all nine packages that declare it, clearing 10 critical advisories. Development-only — a test runner is never shipped.
- Next.js 14.2.35 → 15.5.20, clearing 28 advisories including 10 high.
- esbuild 0.24 → 0.25 (development).
- The published CLI was never affected by any of the above: it has zero runtime dependencies.
Changed
- BREAKING (type):
DependencyManifest.dependencyCountis nownumber | null.nullmeans "unknown", never "none". Consumers reading it frombeacon analyze --jsonor@beacon/sdkmust handlenull— remote analyses now emitnullwhere they previously emitted0. - React 18 → 19 and Recharts 2 → 3 in the dashboard, plus Next 15 async route params.
Verified from a clean npm ci: lint 26 · typecheck 26 · test 20 (141 tests) · build 15.
Full notes: CHANGELOG.md