feat: integrate Bun compatibility data into warp-analyzer#126
Merged
tervezo-ai[bot] merged 7 commits intomainfrom Mar 15, 2026
Conversation
Create crates/warp-analyzer/src/analyzers/bun.rs with analyze_package_json() that parses dependencies/devDependencies from package.json and detects bun.lockb presence. Includes 7 unit tests covering dependency parsing, scoped packages, empty/missing files, and lockfile detection. Closes #82 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…jects Add bunfig.toml check before package.json in detect_language(), so Bun projects are correctly identified. Projects with only package.json continue to be detected as typescript. Includes 6 unit tests for detection logic. Closes #82 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Load compat-db/bun/results.json at compile time via include_str! and use it when language is "bun". Maps status:"pass" → compatible, status:"fail*" → blocker with error/stage details. Includes 7 unit tests for Bun compat DB loading and language-aware dependency evaluation. Closes #82 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add "bun" match arm in lib.rs analyze() for Bun dependency analysis - Add lang_override parameter to analyze() for explicit language selection - Add --lang flag to `warp convert analyze` CLI command - Return exit code 1 when incompatible dependencies are found - Update convert.rs to pass lang override and return blocker status Closes #82 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When language is "bun", format_report() now renders a compatibility table with columns: package, version, status, notes. Status shows pass/fail from compat-db/bun/results.json with bundle_ok/componentize_ok details. Closes #82 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
7 integration tests covering: - t5-bun-http-postgres fixture analysis with --lang override - Auto-detection via bunfig.toml - Failing dep (marked) produces blocker - Exit code 1 with blockers - Bun compatibility table in report output - JSON output validity - --lang bun override without bunfig.toml Closes #82 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Closes #82 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds Bun as a first-class language target in
warp-analyzer, enabling compatibility analysis of Bun projects against thecompat-db/bun/results.jsondatabase.analyzers/bun.rs): Parsespackage.jsondependencies and detectsbun.lockbpresencebunfig.tomlis detected as"bun"with priority overpackage.json(which remains"typescript")evaluate_dependencies()is now language-aware — Bun deps are cross-referenced againstcompat-db/bun/results.json(embedded at compile time viainclude_str!)--langflag:warp convert analyze --lang bunenables explicit language override--format jsonproduces valid, parseable JSONTest plan
bun::analyze_package_json()(dependency parsing, scoped packages, lockfile detection)detect_language()(bunfig.toml detection and priority)test-apps/t5-bun-http-postgresCloses #82
🤖 Generated with Claude Code