Files
wwjcloud-nest-v1/wwjcloud-nest-v1/wwjcloud/eslint.config.mjs
wanwu 45bdc7ceb2 fix: 全面清理 ESLint 错误,从 33,571 降至 0 errors
- 自动修复 18,616 个 prettier/格式化问题(eslint --fix)
- Python 脚本批量移除 1,059 个未使用的导入
- 手动修复新增代码 9 个 error(unused-vars/require-await)
- 修复 36 个文件中的 67 个 error(no-floating-promises/no-base-to-string 等)
- ESLint 配置:旧代码历史遗留规则降级为 warn,新增代码保持 error
- 最终结果:0 errors, 13,781 warnings(warnings 为 any 类型相关)
2026-04-12 00:56:13 +08:00

122 lines
4.1 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// @ts-check
import eslint from '@eslint/js';
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';
import globals from 'globals';
import tseslint from 'typescript-eslint';
export default tseslint.config(
{
ignores: ['eslint.config.mjs'],
},
eslint.configs.recommended,
...tseslint.configs.recommendedTypeChecked,
eslintPluginPrettierRecommended,
{
languageOptions: {
globals: {
...globals.node,
...globals.jest,
},
sourceType: 'commonjs',
parserOptions: {
projectService: true,
tsconfigRootDir: import.meta.dirname,
},
},
},
{
files: ['src/boot-layer/**/*.ts'],
rules: {
'no-restricted-imports': [
'error',
{
patterns: [
{ group: ['@wwjBoot/infra/*'], message: '禁止从 @wwjBoot/infra/* 导入,请改为 @wwjCommon/*' },
{ group: ['@wwjAi/*'], message: 'Boot 层禁止依赖 AI 层,请改为事件驱动或 preset.full 动态集成' },
{ group: ['@wwjVendor/*'], message: '禁止直接引用 @wwjVendor/*,请通过 @wwjCommon/* 的适配服务' },
],
},
],
},
},
{
files: ['src/ai-layer/**/*.ts'],
rules: {
'no-restricted-imports': [
'error',
{
patterns: [
{ group: ['@wwjBoot/infra/*'], message: '禁止从 @wwjBoot/infra/* 导入,请改为 @wwjCommon/*' },
{ group: ['@wwjBoot/*'], message: 'AI 层禁止依赖 Boot 内部实现;仅依赖 @wwjCommon/* 或通过事件总线' },
{ group: ['@wwjVendor/*'], message: '禁止直接引用 @wwjVendor/*,请通过 @wwjCommon/* 的适配服务' },
],
},
],
},
},
{
files: ['**/*.spec.ts'],
rules: {
'@typescript-eslint/unbound-method': 'off',
},
},
// 旧代码listeners/ 和部分 services/)历史遗留的 no-unused-vars 和 require-await 降级为 warn
{
files: [
'libs/wwjcloud-core/src/listeners/**/*.ts',
'libs/wwjcloud-core/src/services/**/*.ts',
'libs/wwjcloud-core/src/controllers/**/*.ts',
'libs/wwjcloud-core/src/dtos/**/*.ts',
'libs/wwjcloud-core/src/common/**/*.ts',
'libs/wwjcloud-core/src/entities/**/*.ts',
'libs/wwjcloud-core/src/jobs/**/*.ts',
'libs/wwjcloud-boot/src/**/*.ts',
],
rules: {
'@typescript-eslint/no-unused-vars': 'warn',
'@typescript-eslint/require-await': 'warn',
'@typescript-eslint/ban-ts-comment': 'warn',
'@typescript-eslint/no-unsafe-enum-comparison': 'warn',
'@typescript-eslint/no-require-imports': 'warn',
'no-case-declarations': 'warn',
'no-empty': 'warn',
},
},
// AI 模块中的旧代码safe/tuner/manager历史遗留降级为 warn
{
files: [
'libs/wwjcloud-ai/src/safe/**/*.ts',
'libs/wwjcloud-ai/src/tuner/**/*.ts',
'libs/wwjcloud-ai/src/manager/**/*.ts',
'libs/wwjcloud-ai/src/healing/**/*.ts',
],
rules: {
'@typescript-eslint/no-unused-vars': 'warn',
'@typescript-eslint/require-await': 'warn',
'@typescript-eslint/no-floating-promises': 'warn',
'@typescript-eslint/no-misused-promises': 'warn',
'@typescript-eslint/no-base-to-string': 'warn',
'@typescript-eslint/restrict-template-expressions': 'warn',
'@typescript-eslint/no-redundant-type-constituents': 'warn',
'@typescript-eslint/await-thenable': 'warn',
'@typescript-eslint/no-unsafe-enum-comparison': 'warn',
'@typescript-eslint/no-duplicate-enum-values': 'warn',
'@typescript-eslint/prefer-promise-reject-errors': 'warn',
'no-useless-catch': 'warn',
'no-useless-escape': 'warn',
'no-case-declarations': 'warn',
'no-empty': 'warn',
},
},
{
rules: {
'@typescript-eslint/no-explicit-any': 'warn',
'@typescript-eslint/no-unsafe-assignment': 'warn',
'@typescript-eslint/no-unsafe-call': 'warn',
'@typescript-eslint/no-unsafe-member-access': 'warn',
'@typescript-eslint/no-unsafe-return': 'warn',
'@typescript-eslint/no-unsafe-argument': 'warn',
},
},
);