eslint-config-setup 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +80 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# ESLint Config Setup
|
|
2
|
+
|
|
3
|
+
[](https://github.com/sebastian-software/eslint-config-setup/actions/workflows/ci.yml)
|
|
4
|
+
[](https://www.npmjs.com/package/eslint-config-setup)
|
|
5
|
+
[](https://www.npmjs.com/package/eslint-config-setup)
|
|
6
|
+
[](https://codecov.io/gh/sebastian-software/eslint-config-setup)
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
[](https://nodejs.org)
|
|
9
|
+
[](https://www.typescriptlang.org)
|
|
10
|
+
[](https://eslint.org)
|
|
11
|
+
|
|
12
|
+
The ESLint config for teams that ship with AI and want to move fast.
|
|
13
|
+
|
|
14
|
+
Most ESLint configs compose rules at runtime from dozens of plugins. That means version conflicts, plugin mismatches, and "works on my machine" differences. **ESLint Config Setup** resolves every rule at build time — you get a flat, pre-built config where every rule is already decided. No runtime composition, no surprises.
|
|
15
|
+
|
|
16
|
+
- **AI guardrails** — a dedicated `ai` mode that enforces what code review can't: explicit types, strict naming, no magic values, complexity limits. Rules that humans find tedious are trivial for an AI to follow. The AI doesn't push back. It just fixes the code.
|
|
17
|
+
- **OxLint-ready** — a single `oxlint` flag disables every ESLint rule that OxLint already covers, and `getOxlintConfig()` generates a matching OxLint config. No manual migration, no rule conflicts, no coverage gaps. Run both linters, get the full rule set at 100x the speed.
|
|
18
|
+
- **27 plugins, one import** — TypeScript (`strictTypeChecked`), React 19, import cycles, security, browser compat, spell checking, and more. Every rule pre-resolved at build time. No plugin conflicts, no version mismatches.
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
// eslint.config.ts
|
|
22
|
+
import { getEslintConfig } from "eslint-config-setup"
|
|
23
|
+
|
|
24
|
+
export default await getEslintConfig({ react: true, ai: true })
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Quick Start
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install -D eslint-config-setup eslint typescript
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
// eslint.config.ts
|
|
35
|
+
import { getEslintConfig } from "eslint-config-setup"
|
|
36
|
+
|
|
37
|
+
export default await getEslintConfig({ react: true })
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Configuration flags
|
|
41
|
+
|
|
42
|
+
| Flag | Default | What it does |
|
|
43
|
+
|------|---------|--------------|
|
|
44
|
+
| `react` | `false` | React 19+ with Hooks, Compiler, JSX-A11y, Storybook, Testing Library |
|
|
45
|
+
| `node` | `false` | Node.js globals, `eslint-plugin-n`. Disables browser compat checks. |
|
|
46
|
+
| `ai` | `false` | Strict guardrails for AI-generated code (naming, types, complexity) |
|
|
47
|
+
| `oxlint` | `false` | Disables ESLint rules already covered by OxLint |
|
|
48
|
+
|
|
49
|
+
Flags are independent. Combine them however you need.
|
|
50
|
+
|
|
51
|
+
## Customizing rules
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
import { getEslintConfig, disableRule, addRule } from "eslint-config-setup"
|
|
55
|
+
|
|
56
|
+
const config = await getEslintConfig({ react: true, ai: true })
|
|
57
|
+
|
|
58
|
+
disableRule(config, "@typescript-eslint/no-magic-numbers", { scope: "tests" })
|
|
59
|
+
addRule(config, "no-console", "off", { scope: "scripts" })
|
|
60
|
+
|
|
61
|
+
export default config
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Documentation
|
|
65
|
+
|
|
66
|
+
- [Getting Started](https://sebastian-software.github.io/eslint-config-setup/guide/getting-started) — installation and setup
|
|
67
|
+
- [AI Mode](https://sebastian-software.github.io/eslint-config-setup/guide/ai-mode) — why AI-generated code needs different rules
|
|
68
|
+
- [OxLint Integration](https://sebastian-software.github.io/eslint-config-setup/guide/oxlint) — run ESLint + OxLint without conflicts
|
|
69
|
+
- [All 27 Plugins](https://sebastian-software.github.io/eslint-config-setup/guide/plugins) — what's included and why
|
|
70
|
+
- [Configuration](https://sebastian-software.github.io/eslint-config-setup/guide/configuration) — flags and usage examples
|
|
71
|
+
- [Rule API](https://sebastian-software.github.io/eslint-config-setup/guide/rule-api) — rule manipulation and scoped overrides
|
|
72
|
+
- [Architecture](https://sebastian-software.github.io/eslint-config-setup/guide/architecture) — how pre-generation works
|
|
73
|
+
|
|
74
|
+
## Contributing
|
|
75
|
+
|
|
76
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, architecture overview, and PR guidelines.
|
|
77
|
+
|
|
78
|
+
## License
|
|
79
|
+
|
|
80
|
+
[MIT](LICENSE) — Copyright (c) 2025 [Sebastian Software GmbH](https://sebastian-software.com)
|
package/package.json
CHANGED