@baseline-suite/cli
v1.0.5
Published
Command-line interface for Baseline compatibility checking
Maintainers
Readme
@baseline-suite/cli
Command-line interface for Baseline web feature compatibility checking.
Installation
# Global installation
npm install -g @baseline-suite/cli
# Or use with npx
npx @baseline-suite/cli scanUsage
Scan Command
Scan files for baseline compatibility issues:
# Scan current directory
baseline scan
# Scan specific files or directories
baseline scan src/ lib/
# Specify target year
baseline scan --year 2022
# Allow newly available features
baseline scan --allow-newly
# Output as JSON
baseline scan --format json
# Save to file
baseline scan --output report.json --format json
# SARIF format (for GitHub Code Scanning)
baseline scan --format sarif --output results.sarifOptions:
-y, --year <year>- Target baseline year (default: 2023)--allow-newly- Allow newly available features--allow-limited- Allow features with limited support-f, --format <format>- Output format:json,pretty, orsarif(default: pretty)-o, --output <file>- Output file (default: stdout)--ignore <patterns...>- Patterns to ignore
Report Command
Generate a detailed compatibility report:
# Generate HTML report
baseline report
# Generate as JSON
baseline report --format json --output report.json
# Generate as Markdown
baseline report --format markdown --output REPORT.md
# Specify target year
baseline report --year 2020Options:
-y, --year <year>- Target baseline year (default: 2023)-f, --format <format>- Output format:html,json, ormarkdown(default: html)-o, --output <file>- Output file (default: ./baseline-report.html)
Output Formats
Pretty (Default)
Human-readable console output with colors:
📊 Baseline Compatibility Report
Files scanned: 10
Files with issues: 3
Total violations: 7
src/app.js
❌ 2 error(s)
5:12 navigator.share is newly available (since 2023)
💡 Add feature detection or use a polyfill
Compatibility Score: 85%JSON
Structured JSON for programmatic use:
{
"version": "1.0.0",
"timestamp": "2025-10-04T05:00:00.000Z",
"summary": {
"totalFiles": 10,
"filesWithIssues": 3,
"totalViolations": 7
},
"results": [...]
}SARIF
Static Analysis Results Interchange Format - compatible with GitHub Code Scanning:
{
"version": "2.1.0",
"$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json",
"runs": [...]
}HTML Report
Beautiful, interactive HTML report with charts and detailed analysis.
Markdown Report
Markdown format suitable for documentation or README files.
Examples
CI/CD Integration
# .github/workflows/baseline.yml
name: Baseline Check
on: [push, pull_request]
jobs:
baseline:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- run: npm install -g @baseline-suite/cli
- run: baseline scan --format sarif --output results.sarif
- uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: results.sarifPackage.json Script
{
"scripts": {
"baseline": "baseline scan",
"baseline:report": "baseline report --output docs/baseline.html"
}
}Pre-commit Hook
#!/bin/sh
baseline scan --year 2023 || exit 1Exit Codes
0- No violations found1- Violations found or error occurred
Configuration
Currently, all configuration is done via CLI flags. A .baselinerc configuration file is planned for future releases.
Development
# Build
pnpm build
# Test
pnpm test
# Watch mode
pnpm devLicense
MIT
