Highly opinionated ESLint plugin for various TypeScript projects.
npm install -D eslint eslint-config-ozum.eslintrc.cjs
module.exports = {
root: true,
extends: ["ozum"], // or ["ozum/minimum"] or ["ozum/maximum"]
};- For
pushandCI, prefer to useozum/maximum - For development use any configuration.
.eslintrc.cjs
module.exports = {
root: true,
extends: ["ozum"],
};
.eslintrc-maximum.cjs
module.exports = {
root: true,
extends: ["ozum/maximum"],
};
| When | Config | Where | Example |
|---|---|---|---|
| Development | ozum |
package.json |
lint: "eslint --ignore-path .gitignore --cache --max-warnings 0 --ext js,jsx,ts,tsx,vue --fix ." |
| Push | ozum/maximum |
.lint-staged.config.js |
"*.{jsx,tsx,vue,js,ts}": ["eslint --no-ignore --cache --max-warnings 0 --fix --no-eslintrc -c ./.eslintrc-maximum.cjs"], |
| CI | ozum/maximum |
.github/workflows/build.yml |
pnpm lint --no-fix --no-eslintrc -c ./.eslintrc-maximum.cjs |
| Name | Parser Service | Description |
|---|---|---|
ozum/minimum |
✗ | Non-type-checked rules and basic import rules. |
ozum |
✔ | Type checked rules. |
ozum/maximum |
✔ | Type checked rules and additional import rules. |
- TypeScript
- Airbnb Base Typescript
- Jest
- Promise
- Unicorn