arui-presets-lint 9.6.0 → 9.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 9.6.1
2
+
3
+ ### Patch Changes
4
+
5
+ - [#128](https://github.com/core-ds/arui-presets-lint/pull/128) [`bb55225`](https://github.com/core-ds/arui-presets-lint/commit/bb5522545b99f3ecc383f17f77dcfbcbfce91662) Thanks [@dmitrbrvsk](https://github.com/dmitrbrvsk)! - Для правила import-x/no-cycle задан maxDepth вместе с ignoreExternal, чтобы снизить время линта на больших графах импортов. В V9_MIGRATION_GUIDE описан компромисс и как переопределить правило в проекте
6
+
7
+ - Updated dependencies []:
8
+ - @alfalab/stylelint-core-vars@2.1.1
9
+
1
10
  ## 9.6.0
2
11
 
3
12
  ### Minor Changes
@@ -78,6 +78,23 @@ export default defineConfig(eslintConfig, [
78
78
 
79
79
  Так же все правила в конфиге которые начинаються на `import/` нужно заменить на `import-x/`. Других изменений делать не нужно, новый плагин полностью совместим со старым.
80
80
 
81
+ **Производительность `import-x/no-cycle`.**
82
+ Правило «дорогое»: оно обходит зависимости, чтобы найти путь обратно к текущему файлу.
83
+ В пресете это задано в [`eslint/rules/imports.ts`](eslint/rules/imports.ts): по умолчанию включены **`ignoreExternal: true`** и **`maxDepth: 20`** (см. [документацию правила](https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-cycle.md)). Циклы длиннее этого порога ESLint не сообщит.
84
+ Если необходима проверка без ограничения глубины или другое значение, то переопределите правило в своём `eslint.config.mts`:
85
+
86
+ ```typescript
87
+ {
88
+ rules: {
89
+ 'import-x/no-cycle': ['error', { ignoreExternal: true, maxDepth: 50 }],
90
+ // или полная проверка без maxDepth (может сильно увеличить время линта):
91
+ // 'import-x/no-cycle': ['error', { ignoreExternal: true }],
92
+ // или отключить правило:
93
+ // 'import-x/no-cycle': 'off',
94
+ },
95
+ },
96
+ ```
97
+
81
98
  4. Набор правил eslint изменился - но многие правятся с помощью автофикса. Сделаем это!
82
99
 
83
100
  ```bash
@@ -165,7 +165,8 @@ export const importsConfig = {
165
165
  'import-x/no-self-import': 'error',
166
166
  // Запрещать циклические зависимости между модулями
167
167
  // https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-cycle.md
168
- 'import-x/no-cycle': ['error', { ignoreExternal: true }],
168
+ // maxDepth ограничивает глубину обхода графа импортов (без лимита правило сильно замедляет линтинг на больших проектах)
169
+ 'import-x/no-cycle': ['error', { ignoreExternal: true, maxDepth: 20 }],
169
170
  // Гарантировать отсутствие бесполезных сегментов пути
170
171
  // https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-useless-path-segments.md
171
172
  'import-x/no-useless-path-segments': ['error', { noUselessIndex: true }],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arui-presets-lint",
3
- "version": "9.6.0",
3
+ "version": "9.6.1",
4
4
  "description": "Config files for arui-apps",
5
5
  "author": "core-ds contributors",
6
6
  "license": "MIT",