Baseline Logoeslint-plugin-baseline-js

FAQ

Frequently asked questions and troubleshooting.

If this page doesn’t help, please open an issue on GitHub with repro steps and a minimal sample.

Web APIs are not being detected

  • The minimal preset (configs.baseline) does not enable Web APIs / JS Builtins.
    • Use presets: configs.recommended or configs['recommended-ts'].
  • Without TypeScript types, instance‑member checks (e.g. element.animate()) are skipped.
    • Configure @typescript-eslint/parser and parserOptions.project.
  • Dynamic access / deep aliasing is intentionally conservative to avoid false positives.
  • Reports only happen when a feature exceeds your Baseline (widely/newly/year).
Going from minimal → recommended (Flat Config)
import baselineJs, { BASELINE } from 'eslint-plugin-baseline-js';

export default [
  { plugins: { 'baseline-js': baselineJs } },
  // Switch from minimal → recommended (auto)
  baselineJs.configs.recommended({ available: BASELINE.WIDELY }),
];

False positives / suppression

Try the following first, then open an issue with a repro sample if needed.

  • ignoreFeatures: suppress by web‑features featureId (or /regex/)
  • ignoreNodeTypes: suppress by ESTree node.type (e.g. WithStatement)

Conflicts with other rules/presets

  • Use Flat Config overrides to scope, suppress, or override.
  • Recommended presets (recommended / recommended-ts) configure just this plugin’s rule; you can combine with other configs.
Temporarily relax severity
rules: {
  // Start with 'warn' to understand the impact
  'baseline-js/use-baseline': ['warn', { available: 'widely' }],
}

Last updated on