Files
fitcrm/.eslintrc.js
root a10673fdeb feat(crm): порядковые номера сделок, управление стадиями, редактирование, кастомные поля
— Очистка тестового мусора: дубликаты полей, пайплайнов, причин проигрыша
— Порядковые номера сделок (#N) per-club с @@unique([clubId, number])
— DELETE endpoints для стадий (с переносом сделок) и пайплайнов
— onDelete: Cascade→Restrict для стадий, SetNull для истории
— PipelineManager: полный CRUD воронок и стадий с палитрой цветов
— FieldManager: CRUD кастомных полей с типами и опциями
— EditDealDialog: редактирование сделки (контакт, сумма, компания, ответственный)
— Кастомные поля в форме создания и карточке сделки
— Soft-delete сделок, выбор ответственного, расширенные фильтры
— Поиск по номеру сделки (#42 / 42)
— Исправлены pre-existing тесты: module.guard, themes, auth, reports

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 07:33:46 +00:00

51 lines
1.5 KiB
JavaScript

module.exports = {
root: true,
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint'],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:@typescript-eslint/recommended-requiring-type-checking',
],
parserOptions: {
ecmaVersion: 2022,
sourceType: 'module',
project: true,
},
env: {
node: true,
es2022: true,
},
rules: {
'@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/no-explicit-any': 'warn',
'@typescript-eslint/consistent-type-imports': 'error',
},
ignorePatterns: ['node_modules/', 'dist/', '.next/', '.turbo/', 'coverage/'],
overrides: [
{
files: [
'apps/api/src/modules/crm/**/*.ts',
'apps/web-platform-admin/src/**/*.tsx',
'apps/web-club-admin/src/**/*.tsx',
'apps/lp/src/**/*.tsx',
'e2e/**/*.ts',
'**/*.spec.ts',
'**/*.test.ts',
],
rules: {
'@typescript-eslint/no-unsafe-argument': 'off',
'@typescript-eslint/no-unsafe-assignment': 'off',
'@typescript-eslint/no-unsafe-member-access': 'off',
'@typescript-eslint/no-unsafe-return': 'off',
'@typescript-eslint/no-unsafe-call': 'off',
'@typescript-eslint/unbound-method': 'off',
'@typescript-eslint/no-misused-promises': 'off',
'@typescript-eslint/no-floating-promises': 'off',
'@typescript-eslint/require-await': 'off',
},
},
],
};