A shareable ESLint config (v3.1.0) for writing better asynchronous JavaScript and TypeScript code. It provides a curated set of rules to avoid common async pitfalls (e.g., unhandled promises, missing await, improper error handling) based on the author's article. Requires ESLint v9 and Node.js ^18.18.0 || ^20.9.0 || >=21.1.0. Key differentiators: focused solely on async patterns, built-in TypeScript support via typescript-eslint, and flat config only (no .eslintrc support in v3).
npm install eslint-config-asyncVerified import paths — ran on the pinned version, not inferred.
Sets up ESLint with async base and Node rules using flat config. Assumes ESLint v9 is installed.
Migrate to eslint.config.js and use the array-based flat config syntax shown in the README.
Remove eslint-plugin-node from devDependencies; eslint-config-async now includes eslint-plugin-n.
Use named exports: asyncConfig.base, asyncConfig.node, asyncConfig.typescript.
Install typescript-eslint and use tseslint.configs.base instead of parser/plugin.
Only spread asyncConfig.typescript if you have TypeScript and typescript-eslint installed.
Include tseslint.configs.base in the config array before asyncConfig.typescript.
Run: npm install --save-dev eslint-config-async
Use import asyncConfig from 'eslint-config-async' or rename file to .cjs.
Upgrade to eslint-config-async@3.1.0 which removed 'no-return-await'.