chore(configs): migrate oxlint→eslint presets, refactor tsconfig
- Replace @robonen/oxlint with @robonen/eslint (composable ESLint flat-config presets: base, typescript, vue, vitest, imports, node, stylistic). - Plugins bundled as deps: typescript-eslint, eslint-plugin-vue, @vitest/eslint-plugin, eslint-plugin-import-x, eslint-plugin-n, eslint-plugin-unicorn, @stylistic/eslint-plugin. - @robonen/tsconfig: add base/dom/node/vue configs for composite project refs.
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# imports preset
|
||||
|
||||
## Purpose
|
||||
|
||||
Чистые границы модулей и предсказуемые импорты (через `eslint-plugin-import-x`).
|
||||
|
||||
## Key Rules
|
||||
|
||||
- `import-x/no-duplicates`.
|
||||
- `import-x/no-self-import`.
|
||||
- `import-x/no-cycle` (warn).
|
||||
- `import-x/no-mutable-exports`.
|
||||
- `import-x/consistent-type-specifier-style`: `prefer-top-level`.
|
||||
|
||||
## Examples
|
||||
|
||||
```ts
|
||||
// ✅ Good
|
||||
import type { User } from './types';
|
||||
import { getUser } from './service';
|
||||
|
||||
// ❌ Bad
|
||||
import { getUser } from './service';
|
||||
import { getUser as getUser2 } from './service';
|
||||
|
||||
export let state = 0;
|
||||
```
|
||||
Reference in New Issue
Block a user