@osachi/regula-eslint-config
v1.2.0
Published
Shareable ESLint config with sensible defaults for JS and TS projects. Optimized for ESLint 9 flat config, with legacy `.eslintrc.*` presets still available.
Readme
@osachi/regula-eslint-config
Shareable ESLint config with sensible defaults for JS and TS projects. Optimized for ESLint 9 flat config, with legacy .eslintrc.* presets still available.
What you get
- Batteries-included:
@babel/eslint-parser,@babel/core,eslint-plugin-importbundled - Clean, readable code style (4-space indent, import ordering, max-len 128, etc.)
- JS preset and a TS preset (
/ts) with@typescript-eslintrules
Installation
npm i -D eslint @osachi/regula-eslint-config
# If you use TypeScript:
npm i -D typescriptUsage
ESLint 9 (Flat config)
Create eslint.config.js in your project root.
JS projects:
const regula = require('@osachi/regula-eslint-config/flat');
module.exports = [...regula];TS projects:
const regulaTs = require('@osachi/regula-eslint-config/ts/flat');
module.exports = [...regulaTs];Run ESLint:
npx eslint . --max-warnings=0Legacy (ESLint 8, eslintrc)
Create .eslintrc.json in your project root.
JS projects:
{ "extends": "@osachi/regula-eslint-config" }TS projects:
{ "extends": "@osachi/regula-eslint-config/ts" }VS Code (optional)
Add to .vscode/settings.json to lint on save:
{
"eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact"],
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}Common tweaks (optional)
- WebdriverIO globals in E2E tests:
{
"overrides": [
{
"files": ["wdio-ui-test/**/*.js"],
"globals": { "browser": "readonly" }
}
]
}- Adjust import ordering paths: this config defines internal path groups for
clientapi/**,utils/**,playwright/**, andtest-api/**. Override them in your own.eslintrcif needed.
What’s inside
- Parser:
@babel/eslint-parser(no Babel config file required) - Plugins:
eslint-plugin-import - TS preset (
/ts):@typescript-eslint/parser+@typescript-eslint/eslint-plugin(recommended)
Requirements
- ESLint: ^9.37.0 (flat config). Legacy
.eslintrcpresets work with ESLint 8. - For TS preset:
typescript(peer in your project)
License
MIT
