Skip to content

atom-community/eslint-config-atomic

eslint-config-atomic

ESLint configuration used in atom-ide-community. Supports ESLint 9 flat config.

Lints JavaScript, TypeScript, JSON, HTML, YAML, and Astro files out of the box.

CI

Installation

npm install --save-dev eslint-config-atomic
Peer dependencies (pnpm users)

If using pnpm, either add the following to your .npmrc to hoist bundled dependencies automatically:

public-hoist-pattern[]=*

Or install them explicitly:

pnpm install --save-dev eslint typescript @babel/core

Usage

Create an eslint.config.cjs at the root of your project:

const config = require("eslint-config-atomic")

module.exports = [{ ignores: ["dist/**", "node_modules/**"] }, ...config]

Add a lint script to your package.json:

"lint": "eslint --fix --cache .",
"test.lint": "eslint --cache ."

Variants

All variants are non-strict by default — lint violations are reported as warnings (via eslint-plugin-only-warn). Use the strict-* variants to report them as errors.

Entry point Description
eslint-config-atomic Base config (JS + TS + JSON + HTML + YAML + Astro)
eslint-config-atomic/strict Same as base, but errors instead of warnings
eslint-config-atomic/react Base + React (eslint-plugin-react)
eslint-config-atomic/strict-react React, strict
eslint-config-atomic/solid Base + SolidJS (eslint-plugin-solid)
eslint-config-atomic/strict-solid SolidJS, strict

Example using the React variant:

const config = require("eslint-config-atomic/react")

module.exports = [{ ignores: ["dist/**", "node_modules/**"] }, ...config]

Behind the scenes

Plugins and parsers bundled with this config:

Plugin / Parser Purpose
typescript-eslint TypeScript linting
@typescript-eslint/parser TypeScript parser
@babel/eslint-parser JavaScript (Flow, JSX) parser
eslint-plugin-import Import/export linting
eslint-plugin-n Node.js rules
eslint-plugin-only-warn Downgrades errors to warnings (non-strict configs)
eslint-plugin-react React rules (react/strict-react variants)
eslint-plugin-solid SolidJS rules (solid/strict-solid variants)
eslint-plugin-json JSON linting
eslint-plugin-html HTML linting
eslint-plugin-yaml YAML linting
eslint-plugin-astro Astro file linting
eslint-config-prettier Disables formatting rules that conflict with Prettier

About

A collection of awesome constructive Eslint rules used in Atom community

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors