Skip to content

kwesinavilot/baseline-lens-cli

Repository files navigation

Baseline Lens CLI

npm version License: MIT

CLI tool for web feature compatibility analysis using Baseline data. Analyze your web projects for browser compatibility issues and get actionable insights.

Features

  • 🔍 Real-time Analysis - Detect modern web features in CSS, JavaScript, and HTML
  • 📊 Comprehensive Reports - Generate detailed compatibility reports in JSON, Markdown, or JUnit formats
  • 🚨 CI/CD Integration - Fail builds on compatibility issues with configurable thresholds
  • 🌐 Baseline Data - Uses official web-features database with 1000+ features
  • Fast & Lightweight - Analyze entire projects in seconds

Installation

npm install -g baseline-lens-cli

Usage

Analyze Project

baseline-lens-cli analyze --path ./src
baseline-lens-cli analyze --path ./src --output report.json --format json
baseline-lens-cli analyze --path ./src --threshold 95 --fail-on medium
baseline-lens-cli analyze --changed-only --base-branch main

Generate Smart Configuration

# Auto-detect project and generate config
baseline-lens-cli init-config

# Use specific framework preset
baseline-lens-cli init-config --preset react --env production

# Preview configuration without writing
baseline-lens-cli init-config --dry-run

# List available presets
baseline-lens-cli list-presets

Generate CI/CD Configuration

# Append to existing CI/CD files (default)
baseline-lens-cli init-ci --type github
baseline-lens-cli init-ci --type gitlab

# Generate new files (overwrite existing)
baseline-lens-cli init-ci --type github --overwrite
baseline-lens-cli init-ci --type azure --output custom-dir

Set Up Git Hooks

# Set up pre-commit hook (default)
baseline-lens-cli init-hooks

# Set up pre-push hook for broader checks
baseline-lens-cli init-hooks --type pre-push

# Custom threshold and failure level
baseline-lens-cli init-hooks --fail-on medium --threshold 95

# Remove existing hooks
baseline-lens-cli init-hooks --remove

Validate Configuration

baseline-lens-cli validate-config --config .baseline-lens.json

Show Configuration

baseline-lens-cli show-config
baseline-lens-cli show-config --format json

Feature Lookup

baseline-lens-cli feature css-grid
baseline-lens-cli list-features --type css --status newly_available

Get Help

# Quick help and examples
baseline-lens-cli help

# Full user guide
baseline-lens-cli help --guide

# Common usage examples
baseline-lens-cli help --examples

Configuration

Create .baseline-lens.json in your project root:

{
  "supportThreshold": 90,
  "enabledAnalyzers": {
    "css": true,
    "javascript": true,
    "html": true
  },
  "excludePatterns": ["**/node_modules/**", "**/dist/**"],
  "failOn": "high",
  "outputFormat": "json"
}

Example Output

$ baseline-lens-cli analyze --path ./src

🔍 Starting Baseline Lens analysis...
Analyzing 25 files... (100%)

✅ Analysis completed successfully
📊 Found 12 web features across 25 files
   • 8 widely available
   • 3 newly available  
   • 1 limited availability

Contributing

Contributions are welcome! Please read our Contributing Guide for details.

License

MIT © Kwesi Navilot

About

CLI tool for web feature compatibility analysis using Baseline data. Analyze your web projects for browser compatibility issues and get actionable insights

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors