Skip to content

feat(lifecycle): add Node.js lifecycle status to list-all command#238

Merged
CalvinAllen merged 2 commits intomainfrom
feat/lifecycle/node-status
Mar 10, 2026
Merged

feat(lifecycle): add Node.js lifecycle status to list-all command#238
CalvinAllen merged 2 commits intomainfrom
feat/lifecycle/node-status

Conversation

@CalvinAllen
Copy link
Contributor

Summary

  • Adds lifecycle status labels (Current, Active LTS, Maintenance LTS, EOL) to the Status column of list-all node output
  • Embeds the Node.js release schedule (from nodejs/Release) at build time and computes status based on major version and current date
  • Introduces a generic lifecycle package with StatusProvider interface so other runtimes (Python, Ruby) can opt in later
  • Removes the unused Notes column from list-all output

Test plan

  • 12 lifecycle tests covering all status transitions (Current, Active LTS, Maintenance LTS, EOL), odd versions, edge cases
  • 5 tests for status column merging logic (lifecycle-only, global-only, combined, empty)
  • Full rnr check passes (format, lint, test)
  • Manual verification: dtvem list-all node shows lifecycle labels in Status column

Closes #237

Display lifecycle labels (Current, Active LTS, Maintenance LTS, EOL) in
the Status column of `list-all node` output, computed from the embedded
Node.js release schedule. The generic lifecycle package allows other
providers to opt in later.

Closes #237
Current → Cyan, Active LTS → Green (bold), Maintenance LTS → Yellow,
EOL → Red. Applied via tui.RenderLifecycleStatus so the coloring is
centralized and reusable.
@CalvinAllen CalvinAllen merged commit 8dd7b10 into main Mar 10, 2026
12 checks passed
@CalvinAllen CalvinAllen deleted the feat/lifecycle/node-status branch March 10, 2026 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Add Node.js status to list-all node

1 participant