refactor: shrink eslint fallback layer
This commit is contained in:
@@ -32,14 +32,12 @@
|
||||
"eslint-plugin-command": "catalog:"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint-community/eslint-plugin-eslint-comments": "catalog:",
|
||||
"@eslint/js": "catalog:",
|
||||
"@typescript-eslint/eslint-plugin": "catalog:",
|
||||
"@typescript-eslint/parser": "catalog:",
|
||||
"eslint": "catalog:",
|
||||
"eslint-plugin-jsonc": "catalog:",
|
||||
"eslint-plugin-n": "catalog:",
|
||||
"eslint-plugin-oxlint": "catalog:",
|
||||
"eslint-plugin-perfectionist": "catalog:",
|
||||
"eslint-plugin-pnpm": "catalog:",
|
||||
"eslint-plugin-unicorn": "catalog:",
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
import type { Linter } from 'eslint';
|
||||
|
||||
import { interopDefault } from '../util';
|
||||
|
||||
export async function comments(): Promise<Linter.Config[]> {
|
||||
const pluginComments = await interopDefault(
|
||||
import('@eslint-community/eslint-plugin-eslint-comments'),
|
||||
);
|
||||
|
||||
return [
|
||||
{
|
||||
plugins: {
|
||||
'eslint-comments': pluginComments,
|
||||
},
|
||||
rules: {
|
||||
'eslint-comments/no-aggregating-enable': 'error',
|
||||
'eslint-comments/no-duplicate-disable': 'error',
|
||||
'eslint-comments/no-unlimited-disable': 'error',
|
||||
'eslint-comments/no-unused-enable': 'error',
|
||||
},
|
||||
},
|
||||
];
|
||||
}
|
||||
@@ -1,10 +1,8 @@
|
||||
export * from './command';
|
||||
export * from './comments';
|
||||
export * from './ignores';
|
||||
export * from './javascript';
|
||||
export * from './jsonc';
|
||||
export * from './node';
|
||||
export * from './oxlint';
|
||||
export * from './perfectionist';
|
||||
export * from './pnpm';
|
||||
export * from './turbo';
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
import type { Linter } from 'eslint';
|
||||
|
||||
import { mergeOxlintConfigs, oxlintConfig } from '@vben/oxlint-config';
|
||||
|
||||
import oxlint from 'eslint-plugin-oxlint';
|
||||
|
||||
export async function oxcCompat(): Promise<Linter.Config[]> {
|
||||
const { extends: _extends, ...config } = mergeOxlintConfigs(oxlintConfig);
|
||||
|
||||
return oxlint.buildFromOxlintConfig(
|
||||
config as Parameters<typeof oxlint.buildFromOxlintConfig>[0],
|
||||
);
|
||||
}
|
||||
@@ -143,6 +143,12 @@ const customConfig: Linter.Config[] = [
|
||||
'no-console': 'off',
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ['packages/@core/base/shared/src/utils/inference.ts'],
|
||||
rules: {
|
||||
'vue/prefer-import-from-vue': 'off',
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
export { customConfig };
|
||||
|
||||
@@ -2,12 +2,10 @@ import type { Linter } from 'eslint';
|
||||
|
||||
import {
|
||||
command,
|
||||
comments,
|
||||
ignores,
|
||||
javascript,
|
||||
jsonc,
|
||||
node,
|
||||
oxcCompat,
|
||||
perfectionist,
|
||||
pnpm,
|
||||
turbo,
|
||||
@@ -35,14 +33,12 @@ async function defineConfig(config: FlatConfig[] = []) {
|
||||
jsonc(),
|
||||
node(),
|
||||
perfectionist(),
|
||||
comments(),
|
||||
unicorn(),
|
||||
command(),
|
||||
turbo(),
|
||||
yaml(),
|
||||
pnpm(),
|
||||
...customConfig,
|
||||
oxcCompat(),
|
||||
...config,
|
||||
];
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-plugin-eslint-comments": "catalog:",
|
||||
"eslint-plugin-better-tailwindcss": "catalog:",
|
||||
"oxlint": "catalog:"
|
||||
}
|
||||
|
||||
18
internal/lint-configs/oxlint-config/src/configs/comments.ts
Normal file
18
internal/lint-configs/oxlint-config/src/configs/comments.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import type { OxlintConfig } from 'oxlint';
|
||||
|
||||
const comments: OxlintConfig = {
|
||||
jsPlugins: [
|
||||
{
|
||||
name: 'eslint-comments',
|
||||
specifier: '@eslint-community/eslint-plugin-eslint-comments',
|
||||
},
|
||||
],
|
||||
rules: {
|
||||
'eslint-comments/no-aggregating-enable': 'error',
|
||||
'eslint-comments/no-duplicate-disable': 'error',
|
||||
'eslint-comments/no-unlimited-disable': 'error',
|
||||
'eslint-comments/no-unused-enable': 'error',
|
||||
},
|
||||
};
|
||||
|
||||
export { comments };
|
||||
@@ -2,6 +2,7 @@ import type { OxlintConfig } from 'oxlint';
|
||||
|
||||
import { defineConfig as defineOxlintConfig } from 'oxlint';
|
||||
|
||||
import { comments } from './comments';
|
||||
import { ignores } from './ignores';
|
||||
import { importPluginConfig } from './import';
|
||||
import { javascript } from './javascript';
|
||||
@@ -60,6 +61,7 @@ function mergeOxlintConfigs(...configs: OxlintConfig[]): OxlintConfig {
|
||||
const oxlintConfig = defineOxlintConfig(
|
||||
mergeOxlintConfigs(
|
||||
javascript,
|
||||
comments,
|
||||
ignores,
|
||||
plugins,
|
||||
importPluginConfig,
|
||||
@@ -74,6 +76,7 @@ const oxlintConfig = defineOxlintConfig(
|
||||
);
|
||||
|
||||
export {
|
||||
comments,
|
||||
ignores,
|
||||
importPluginConfig,
|
||||
javascript,
|
||||
|
||||
Reference in New Issue
Block a user