11<div >
22 <h1 align =" center " ><a href =" https://npm.im/@epic-web/config " >👮 @epic-web/config</a ></h1 >
33 <strong >
4- Reasonable ESLint, Oxlint, Prettier, and TypeScript configs for epic web devs
4+ Reasonable Oxlint, Prettier, and TypeScript configs for epic web devs
55 </strong >
66 <p >
77 This makes assumptions about the way you prefer to develop software and gives you configurations that will actually help you in your development.
@@ -40,8 +40,11 @@ configuring code quality tools or babysitting them.
4040
4141## This solution
4242
43- This is a set of configurations you can use in your web projects to avoid
44- wasting time.
43+ This package provides shared defaults for the tools this repo currently ships:
44+
45+ - Oxlint
46+ - Prettier
47+ - TypeScript
4548
4649## Decisions
4750
@@ -114,33 +117,6 @@ Learn more from
114117
115118</details >
116119
117- ### ESLint
118-
119- Create a ` eslint.config.js ` file in your project root with the following
120- content:
121-
122- ``` js
123- import { config as defaultConfig } from ' @epic-web/config/eslint'
124-
125- /** @type {import("eslint").Linter.Config[]} */
126- export default [... defaultConfig]
127- ```
128-
129- <details >
130- <summary >Customizing ESLint</summary >
131-
132- Learn more from
133- [ the Eslint docs here] ( https://eslint.org/docs/latest/extend/shareable-configs#overriding-settings-from-shareable-configs ) .
134-
135- </details >
136-
137- There are endless rules we could enable. However, we want to keep our
138- configurations minimal and only enable rules that catch real problems (the kind
139- that are likely to happen). This keeps our linting faster and reduces the number
140- of false positives.
141-
142- Custom rule documentation lives in [ ` lint-rules/index.md ` ] ( ./lint-rules/index.md ) .
143-
144120### Oxlint
145121
146122Create a ` .oxlintrc.json ` file in your project root with the following content:
@@ -151,22 +127,28 @@ Create a `.oxlintrc.json` file in your project root with the following content:
151127}
152128```
153129
130+ This config includes the custom ` epic-web/* ` rules documented in
131+ [ ` lint-rules/index.md ` ] ( ./lint-rules/index.md ) .
132+
154133Note: ` typescript/no-misused-promises ` and ` typescript/no-floating-promises ` are
155134type-aware in Oxlint and require the type-aware setup described in the Oxlint
156135docs.
157136
158- #### Unsupported rules
137+ Some Oxlint rule IDs still use the ` eslint/ ` namespace because that is how
138+ Oxlint exposes those compatibility rules. You do not need to install ESLint to
139+ use them.
140+
141+ #### Not yet covered
159142
160- The following ESLint rules/plugins from this config are not yet available in
161- Oxlint, so they are intentionally omitted :
143+ The following rule families are intentionally omitted because they are not yet
144+ part of the Oxlint config this package ships :
162145
163146- ` import/order `
164147- ` react-hooks/rules-of-hooks `
165148- ` react-hooks/exhaustive-deps `
166- - ` @typescript-eslint/no-unused-vars ` (falls back to ` eslint/no-unused-vars ` )
167149- ` testing-library/* `
168150- ` jest-dom/* `
169- - ` vitest/* ` (except ` vitest/no-import-node-test ` )
151+ - most ` vitest/* ` rules
170152- ` playwright/* `
171153
172154## License
0 commit comments