Wantedly TypeScript ESLint Configuration

4.0.0 · active · verified Tue Apr 21

eslint-config-wantedly-typescript provides a comprehensive ESLint configuration tailored for TypeScript projects, specifically designed for Wantedly's development ecosystem. Currently stable at version 4.0.0, this package aligns with the latest ESLint v9 and its new "Flat Config" format, offering a modern approach to linting. It bundles popular plugins and configurations, including `@typescript-eslint` for TypeScript-specific rules, `react` for JSX and React hooks, `import` for import statement validation, `jsx-a11y` for accessibility, `jest` for testing environments, and `prettier` for code formatting integration. While version 4.x exclusively supports the flat config format, earlier versions (3.x and below) provide compatibility with ESLint v8 and its legacy configuration style. The package aims to standardize code style and catch common errors in TypeScript, React, and related JavaScript projects. Releases generally follow major ESLint versions for compatibility updates, with smaller patches for dependency management and bug fixes.

Common errors

Warnings

Install

Imports

Quickstart

Demonstrates how to set up `eslint-config-wantedly-typescript` v4.x using ESLint's Flat Config format in an `eslint.config.js` file, including basic customization.

import { base as configWantedlyTS } from 'eslint-config-wantedly-typescript';

export default [
  ...configWantedlyTS,
  {
    // Optional: Add project-specific overrides or additional rules here.
    // For example, to disable a rule:
    rules: {
      '@typescript-eslint/explicit-module-boundary-types': 'off',
      'react/react-in-jsx-scope': 'off' // Example for React 17+ / New JSX Transform
    }
  },
  {
    // Define files glob patterns for this configuration scope
    files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx'],
    // You might need to specify parserOptions if your project uses different TypeScript settings
    parserOptions: {
      project: './tsconfig.json',
      ecmaVersion: 'latest',
      sourceType: 'module',
      ecmaFeatures: {
        jsx: true
      }
    }
  }
];

view raw JSON →