From 5fc611a1dd4e936f5b6061a8fc3c8398ac1efbc4 Mon Sep 17 00:00:00 2001 From: "ala'n (Alexey Stsefanovich)" Date: Thu, 21 Dec 2023 09:48:48 +0100 Subject: [PATCH] refactor(eslint): restructure eslint module rules, simplify usage --- .eslintrc.yml | 2 +- eslint/src/index.ts | 32 ++++++------------- eslint/src/rules/4/all.rules.ts | 13 ++++++++ eslint/src/rules/5/all.rules.ts | 11 +++++++ .../deprecated.alert-action-params.ts | 0 .../deprecated.panel-action-params.ts | 0 .../deprecated.popup-action-params.ts | 0 .../deprecated.tooltip-action-params.ts | 0 8 files changed, 34 insertions(+), 24 deletions(-) create mode 100644 eslint/src/rules/4/all.rules.ts create mode 100644 eslint/src/rules/5/all.rules.ts rename eslint/src/rules/{4 => 5}/deprecated.alert-action-params.ts (100%) rename eslint/src/rules/{4 => 5}/deprecated.panel-action-params.ts (100%) rename eslint/src/rules/{4 => 5}/deprecated.popup-action-params.ts (100%) rename eslint/src/rules/{4 => 5}/deprecated.tooltip-action-params.ts (100%) diff --git a/.eslintrc.yml b/.eslintrc.yml index 40f0718c3..ea6c2a720 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -10,7 +10,7 @@ extends: - 'eslint:recommended' - 'plugin:import/typescript' - 'plugin:@typescript-eslint/recommended' - - 'plugin:@exadel/esl/default-4' + - 'plugin:@exadel/esl/default' # Library base set - './linting/codestyle.eslintrc.yml' diff --git a/eslint/src/index.ts b/eslint/src/index.ts index 4619ef794..de3ed69f3 100644 --- a/eslint/src/index.ts +++ b/eslint/src/index.ts @@ -1,29 +1,10 @@ -import deprecatedAlertActionParams from './rules/4/deprecated.alert-action-params'; -import deprecatedGenerateUid from './rules/4/deprecated.generate-uid'; -import deprecatedDeepCompare from './rules/4/deprecated.deep-compare'; -import deprecatedEventUtils from './rules/4/deprecated.event-utils'; -import deprecatedPanelActionParams from './rules/4/deprecated.panel-action-params'; -import deprecatedPopupActionParams from './rules/4/deprecated.popup-action-params'; -import deprecatedTraversingQuery from './rules/4/deprecated.traversing-query'; -import deprecatedToggleableActionParams from './rules/4/deprecated.toggleable-action-params'; -import deprecatedTooltipActionParams from './rules/4/deprecated.tooltip-action-params'; +import DEPRECATED_4_RULES from './rules/4/all.rules'; +import DEPRECATED_5_RULES from './rules/5/all.rules'; import type {Rule} from 'eslint'; export type logLevel = 'warn' | 'error'; -const DEPRECATED_4_RULES = { - 'deprecated-4/alert-action-params': deprecatedAlertActionParams, - 'deprecated-4/generate-uid': deprecatedGenerateUid, - 'deprecated-4/deep-compare': deprecatedDeepCompare, - 'deprecated-4/event-utils': deprecatedEventUtils, - 'deprecated-4/panel-action-params': deprecatedPanelActionParams, - 'deprecated-4/popup-action-params': deprecatedPopupActionParams, - 'deprecated-4/traversing-query': deprecatedTraversingQuery, - 'deprecated-4/toggleable-action-params': deprecatedToggleableActionParams, - 'deprecated-4/tooltip-action-params': deprecatedTooltipActionParams -}; - const buildDefault = (definition: Record, level: logLevel): Record => { const config: Record = {}; for (const name of Object.keys(definition)) { @@ -33,7 +14,7 @@ const buildDefault = (definition: Record, level: logLev return config; }; -export const rules = Object.assign({}, DEPRECATED_4_RULES); +export const rules = Object.assign({}, DEPRECATED_4_RULES, DEPRECATED_5_RULES); export const configs = { 'default-4': { @@ -43,7 +24,12 @@ export const configs = { }, 'default-5': { rules: { - ...buildDefault(DEPRECATED_4_RULES, 'error') + ...buildDefault(DEPRECATED_5_RULES, 'warn') + } + }, + 'default': { + rules: { + ...buildDefault(DEPRECATED_5_RULES, 'warn') } } }; diff --git a/eslint/src/rules/4/all.rules.ts b/eslint/src/rules/4/all.rules.ts new file mode 100644 index 000000000..f9ff509c4 --- /dev/null +++ b/eslint/src/rules/4/all.rules.ts @@ -0,0 +1,13 @@ +import deprecatedGenerateUid from './deprecated.generate-uid'; +import deprecatedDeepCompare from './deprecated.deep-compare'; +import deprecatedEventUtils from './deprecated.event-utils'; +import deprecatedTraversingQuery from './deprecated.traversing-query'; +import deprecatedToggleableActionParams from './deprecated.toggleable-action-params'; + +export default { + 'deprecated-4/generate-uid': deprecatedGenerateUid, + 'deprecated-4/deep-compare': deprecatedDeepCompare, + 'deprecated-4/event-utils': deprecatedEventUtils, + 'deprecated-4/traversing-query': deprecatedTraversingQuery, + 'deprecated-4/toggleable-action-params': deprecatedToggleableActionParams +}; diff --git a/eslint/src/rules/5/all.rules.ts b/eslint/src/rules/5/all.rules.ts new file mode 100644 index 000000000..bc1070cf7 --- /dev/null +++ b/eslint/src/rules/5/all.rules.ts @@ -0,0 +1,11 @@ +import deprecatedAlertActionParams from './deprecated.alert-action-params'; +import deprecatedPanelActionParams from './deprecated.panel-action-params'; +import deprecatedPopupActionParams from './deprecated.popup-action-params'; +import deprecatedTooltipActionParams from './deprecated.tooltip-action-params'; + +export default { + 'deprecated-5/alert-action-params': deprecatedAlertActionParams, + 'deprecated-5/panel-action-params': deprecatedPanelActionParams, + 'deprecated-5/popup-action-params': deprecatedPopupActionParams, + 'deprecated-5/tooltip-action-params': deprecatedTooltipActionParams +}; diff --git a/eslint/src/rules/4/deprecated.alert-action-params.ts b/eslint/src/rules/5/deprecated.alert-action-params.ts similarity index 100% rename from eslint/src/rules/4/deprecated.alert-action-params.ts rename to eslint/src/rules/5/deprecated.alert-action-params.ts diff --git a/eslint/src/rules/4/deprecated.panel-action-params.ts b/eslint/src/rules/5/deprecated.panel-action-params.ts similarity index 100% rename from eslint/src/rules/4/deprecated.panel-action-params.ts rename to eslint/src/rules/5/deprecated.panel-action-params.ts diff --git a/eslint/src/rules/4/deprecated.popup-action-params.ts b/eslint/src/rules/5/deprecated.popup-action-params.ts similarity index 100% rename from eslint/src/rules/4/deprecated.popup-action-params.ts rename to eslint/src/rules/5/deprecated.popup-action-params.ts diff --git a/eslint/src/rules/4/deprecated.tooltip-action-params.ts b/eslint/src/rules/5/deprecated.tooltip-action-params.ts similarity index 100% rename from eslint/src/rules/4/deprecated.tooltip-action-params.ts rename to eslint/src/rules/5/deprecated.tooltip-action-params.ts