Skip to content

feat(scan): add warning for weekly downloads lookup fallback#42

Merged
saraeloop merged 1 commit intomainfrom
feat/scan-downloads-warning
Apr 7, 2026
Merged

feat(scan): add warning for weekly downloads lookup fallback#42
saraeloop merged 1 commit intomainfrom
feat/scan-downloads-warning

Conversation

@saraeloop
Copy link
Copy Markdown
Member

Summary

Adds an explicit scan warning when weekly downloads lookup falls back to unknown for one or more packages.

Changes

Updated

  • src/adapters/npm-package-metadata-source.ts
  • src/application/scan-package.ts
  • src/domain/contracts.ts

Tests

  • test/npm-package-metadata-source.test.ts
  • test/scan-package.test.ts
  • test/plain-text-renderer.test.ts

Behavior

  • Tracks weekly downloads lookup fallback during metadata fetch
  • Emits a single aggregated scan warning when package downloads data is unavailable
  • Reuses the existing warnings[] channel
  • Does not warn for synthetic project roots with expected weekly_downloads: null
  • Leaves scoring and scan-result behavior unchanged

Verification

  • pnpm test
  • pnpm run build

- track weekly downloads lookup fallback in npm package metadata fetching
- surface a single aggregated scan warning when one or more package lookups fall back to unknown
- reuse the existing warnings channel for rendering and JSON output
- avoid warning on synthetic project roots where weekly_downloads is expected to be null
- keep scoring and scan result behavior unchanged

- add coverage for:
  - downloads lookup fallback
  - successful downloads lookup
  - synthetic project-root null handling
  - stable warning rendering

verification:
- pnpm test
- pnpm run build
@saraeloop saraeloop self-assigned this Apr 7, 2026
@saraeloop saraeloop merged commit a1261c2 into main Apr 7, 2026
1 check passed
@saraeloop saraeloop deleted the feat/scan-downloads-warning branch April 8, 2026 01:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant