CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-eslint-config-airbnb

Airbnb's comprehensive ESLint configuration as an extensible shared config for JavaScript and React projects

Pending

Quality

Pending

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

base-configuration.mddocs/

Base Configuration

Base ESLint configuration without React-specific rules. Note: This configuration is deprecated. Use eslint-config-airbnb-base instead.

Capabilities

Base Configuration (Deprecated)

Provides Airbnb's ESLint rules without React-specific rules by extending eslint-config-airbnb-base.

/**
 * Base Airbnb ESLint configuration (DEPRECATED)
 * Usage: extends: ['airbnb/base']
 * Recommended: Use 'eslint-config-airbnb-base' directly instead
 */
const baseConfig = {
  extends: ['eslint-config-airbnb-base'],
  rules: {}
};

Usage Examples:

// .eslintrc.js - Deprecated usage
module.exports = {
  extends: ['airbnb/base'] // Don't use this
};

// .eslintrc.js - Recommended alternative
module.exports = {
  extends: ['airbnb-base'] // Use this instead
};

Migration to eslint-config-airbnb-base

The base configuration is a simple wrapper around eslint-config-airbnb-base. Users should migrate to using the base package directly:

interface MigrationPath {
  // Old (deprecated)
  oldConfig: {
    extends: ['airbnb/base'];
  };
  
  // New (recommended)
  newConfig: {
    extends: ['airbnb-base'];
  };
}

Migration Steps:

  1. Install eslint-config-airbnb-base directly:

    npm install --save-dev eslint-config-airbnb-base
  2. Update ESLint configuration:

    // Before
    module.exports = {
      extends: ['airbnb/base']
    };
    
    // After
    module.exports = {
      extends: ['airbnb-base']
    };
  3. Remove eslint-config-airbnb if not using React rules:

    npm uninstall eslint-config-airbnb

Included Rules

The base configuration includes all rules from eslint-config-airbnb-base:

interface BaseRules {
  // ECMAScript 6+ features
  es6Rules: boolean;
  
  // Import/export statements
  importRules: boolean;
  
  // Code style and formatting
  styleRules: boolean;
  
  // Best practices and error prevention
  bestPracticesRules: boolean;
  
  // Variable declaration and usage
  variableRules: boolean;
  
  // Node.js and CommonJS rules
  nodeRules: boolean;
}

Configuration Structure

interface BaseConfiguration {
  extends: ['eslint-config-airbnb-base'];
  rules: Record<string, never>; // Empty rules object
}

Use Cases

The base configuration was originally intended for:

interface UseCases {
  // Non-React JavaScript projects
  vanillaJS: boolean;
  
  // Node.js applications
  nodeJS: boolean;
  
  // Libraries without React
  libraries: boolean;
  
  // Backend APIs
  backendAPIs: boolean;
}

However, all these use cases are better served by using eslint-config-airbnb-base directly.

Install with Tessl CLI

npx tessl i tessl/npm-eslint-config-airbnb

docs

base-configuration.md

hooks-configuration.md

index.md

legacy-configuration.md

main-configuration.md

rule-modules.md

whitespace-configuration.md

tile.json