Install
openclaw skills install babel-config-validatorValidate Babel config files (babel.config.json, .babelrc, .babelrc.json, package.json#babel) for deprecated presets, plugin conflicts, ordering issues, and best practices. Use when validating Babel transpiler configs, auditing build setups, migrating Babel versions, or linting babel config files.
openclaw skills install babel-config-validatorValidate babel.config.json, .babelrc, .babelrc.json, and package.json#babel for deprecated presets/plugins, conflicting transforms, ordering issues, and best practices. Supports text, JSON, and summary output formats with CI-friendly exit codes.
# Full validation (all 24+ rules)
python3 scripts/babel_config_validator.py validate babel.config.json
# Quick syntax-only check (structure rules only)
python3 scripts/babel_config_validator.py check .babelrc
# Explain config in human-readable form
python3 scripts/babel_config_validator.py explain babel.config.json
# Suggest improvements
python3 scripts/babel_config_validator.py suggest package.json
# JSON output (CI-friendly)
python3 scripts/babel_config_validator.py validate .babelrc --format json
# Summary only (pass/fail + counts)
python3 scripts/babel_config_validator.py validate .babelrc --format summary
# Strict mode (warnings become errors)
python3 scripts/babel_config_validator.py validate .babelrc --strict
| # | Category | Severity | Rule |
|---|---|---|---|
| S1 | Structure | Error | File not found or unreadable |
| S2 | Structure | Error | Empty config or no content |
| S3 | Structure | Warning | Both babel.config and .babelrc present (conflict) |
| S4 | Structure | Warning | Unknown top-level config keys |
| S5 | Structure | Error | Invalid JSON syntax |
| P1 | Presets | Error | Deprecated preset (es2015, es2016, es2017, latest, stage-*) |
| P2 | Presets | Warning | Preset ordering matters (@babel/preset-typescript before @babel/preset-env) |
| P3 | Presets | Warning | Duplicate presets |
| P4 | Presets | Error | Unknown/misspelled preset name |
| P5 | Presets | Warning | Missing @babel/preset-env (most configs need it) |
| L1 | Plugins | Error | Deprecated plugin (@babel/plugin-proposal-* → built-in) |
| L2 | Plugins | Warning | Duplicate plugins |
| L3 | Plugins | Warning | Plugin ordering conflict (decorators before class-properties) |
| L4 | Plugins | Warning | Conflicting plugins (transform-runtime + external-helpers) |
| L5 | Plugins | Warning | Plugin without @babel/ scope (may be community or typo) |
| M1 | Modules | Warning | modules: false in preset-env without bundler context |
| M2 | Modules | Warning | sourceType mismatch with modules setting |
| M3 | Modules | Warning | Conflicting module transforms |
| E1 | Env/Overrides | Warning | Empty env config section |
| E2 | Env/Overrides | Warning | Override without test pattern |
| E3 | Env/Overrides | Warning | Unknown env name (not development/production/test) |
| B1 | Best Practices | Warning | loose mode inconsistency across plugins |
| B2 | Best Practices | Warning | Missing targets/browserslist (unoptimized output) |
| B3 | Best Practices | Warning | useBuiltIns without corejs version |
| B4 | Best Practices | Warning | corejs version outdated (< 3) |
text (default): Human-readable with colors and severity iconsjson: Machine-parseable JSON array of findingssummary: Pass/fail with error/warning counts0: No errors (warnings only or clean)1: One or more errors found2: File not found or invalid input