Skip to content

feat(cli): implement deprecation warnings for CLI flags - #1287

Merged
mijinummi merged 1 commit into
MDTechLabs:mainfrom
wandooadzer-cmyk:feature/cli-flag-deprecation-warnings
Oct 20, 2026
Merged

mijinummi merged 1 commit into
MDTechLabs:mainfrom
wandooadzer-cmyk:feature/cli-flag-deprecation-warnings

Conversation

@wandooadzer-cmyk

Copy link
Copy Markdown

Add a comprehensive deprecation warning system for CLI flags in the GasGuard analyzer platform. This implementation provides:

  • Automatic detection of deprecated flag usage in CLI arguments
  • Severity-based warnings (HIGH, MEDIUM, LOW) with color-coded output
  • Structured JSON logging to stderr for operational visibility
  • Metrics collection for tracking deprecation adoption patterns
  • Commander.js integration via hooks
  • Environment variable configuration overrides
  • Optional process failure on high-severity deprecations

Example deprecated flags:

  • --analyze-local -> scan (HIGH severity)
  • --no-progress -> --quiet (MEDIUM severity)
  • --fix-preview -> config: output.fixPreview (LOW severity)

The system is designed with:

  • Tenant isolation: stateless, thread-safe design
  • Concurrent worker safety: no shared mutable state
  • Backward compatibility: deprecated flags continue to work
  • Predictable results: deterministic detection logic
  • No PII/secrets in logs

Closes #1277
Closes #1276
Closes #1278
Closes #1274

Tests included:

  • Unit tests for config, detector, logger, metrics, integration
  • Integration tests for CLI flow, worker concurrency, boundaries
  • E2E tests for component boundaries and failure scenarios

Closes: IMPLEMENT_DEPREICATION_WARNINGS_FOR_CLI_FLAGS

Add a comprehensive deprecation warning system for CLI flags in the
GasGuard analyzer platform. This implementation provides:

- Automatic detection of deprecated flag usage in CLI arguments
- Severity-based warnings (HIGH, MEDIUM, LOW) with color-coded output
- Structured JSON logging to stderr for operational visibility
- Metrics collection for tracking deprecation adoption patterns
- Commander.js integration via hooks
- Environment variable configuration overrides
- Optional process failure on high-severity deprecations

Example deprecated flags:
- --analyze-local -> scan (HIGH severity)
- --no-progress -> --quiet (MEDIUM severity)
- --fix-preview -> config: output.fixPreview (LOW severity)

The system is designed with:
- Tenant isolation: stateless, thread-safe design
- Concurrent worker safety: no shared mutable state
- Backward compatibility: deprecated flags continue to work
- Predictable results: deterministic detection logic
- No PII/secrets in logs

Tests included:
- Unit tests for config, detector, logger, metrics, integration
- Integration tests for CLI flow, worker concurrency, boundaries
- E2E tests for component boundaries and failure scenarios

Closes: IMPLEMENT_DEPREICATION_WARNINGS_FOR_CLI_FLAGS
@drips-wave

drips-wave Bot commented Oct 20, 2026

Copy link
Copy Markdown

@wandooadzer-cmyk Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@mijinummi
mijinummi merged commit cda1db0 into MDTechLabs:main Oct 20, 2026
8 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants