@alexlit/lint-kit 217.0.0 → 217.1.0

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/README.md CHANGED
@@ -1,9 +1,9 @@
1
+ # Lint Kit
2
+
1
3
  [![version](https://npmx.dev/api/registry/badge/version/@alexlit/lint-kit)](https://www.npmjs.com/package/@alexlit/lint-kit)
2
4
  [![downloads](https://npmx.dev/api/registry/badge/downloads/@alexlit/lint-kit)](https://npmx.dev/package/@alexlit/lint-kit)
3
5
  [![license](https://npmx.dev/api/registry/badge/license/@alexlit/lint-kit)](LICENSE)
4
6
 
5
- # Lint Kit
6
-
7
7
  Набор пакетов с конфигурациями для линтинга и форматирования кода Vue +
8
8
  TypeScript проектов.
9
9
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alexlit/lint-kit",
3
- "version": "217.0.0",
3
+ "version": "217.1.0",
4
4
  "private": false,
5
5
  "description": "Preset of configuration files and dependencies for linting web applications (designed for Vue.js with TypeScript)",
6
6
  "keywords": [
@@ -33,6 +33,18 @@ export default defineConfig([
33
33
  ]);
34
34
  ```
35
35
 
36
+ ## Пример скриптов для package.json
37
+
38
+ ```json
39
+ { "scripts": { "lint:es": "eslint . --fix" } }
40
+ ```
41
+
42
+ > [!NOTE]
43
+ >
44
+ > `plugins.javascript()` включает строгие правила для импортов: запрещает
45
+ > относительные импорты вида `..`/`.` , индексные импорты, расширения
46
+ > `.ts`/`.js` в путях и алиасы `~` в пользу `@`.
47
+
36
48
  Каждый плагин возвращает массив блоков конфигурации, поэтому его нужно
37
49
  развернуть оператором spread (`...`). Добавьте только то, что нужно проекту;
38
50
  полный список - в разделе [Плагины](#плагины).
@@ -200,7 +212,11 @@ export default defineConfig([
200
212
  Просмотр итоговой конфигурации:
201
213
 
202
214
  ```bash
215
+ # Запуск локального инспектора (dev-сервер)
203
216
  npm run inspect
217
+
218
+ # Сборка статичной версии инспектора
219
+ npm run inspect:build
204
220
  ```
205
221
 
206
222
  ## Полезные ссылки
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alexlit/config-eslint",
3
- "version": "164.0.0",
3
+ "version": "164.2.0",
4
4
  "private": false,
5
5
  "description": "eslint config",
6
6
  "keywords": [
@@ -35,7 +35,8 @@
35
35
  "rules/"
36
36
  ],
37
37
  "scripts": {
38
- "inspect": "npx @eslint/config-inspector@latest",
38
+ "inspect": "npx @eslint/config-inspector@latest --no-open",
39
+ "inspect:build": "npx @eslint/config-inspector@latest build",
39
40
  "lint": "cd ../../ && ./scripts/lint.eslint.sh",
40
41
  "ou": "../../scripts/ou.sh",
41
42
  "release": "../../scripts/release.sh",
@@ -47,10 +48,10 @@
47
48
  "@eslint/json": "^2.1.1",
48
49
  "@intlify/eslint-plugin-vue-i18n": "^4.5.1",
49
50
  "@stylistic/eslint-plugin": "^5.10.0",
50
- "@tanstack/eslint-plugin-query": "^5.104.5",
51
- "@unocss/eslint-config": "^66.11.0",
51
+ "@tanstack/eslint-plugin-query": "^5.105.1",
52
+ "@unocss/eslint-config": "^66.12.0",
52
53
  "@vitest/eslint-plugin": "^1.6.28",
53
- "eslint": "^10.13.0",
54
+ "eslint": "^10.14.0",
54
55
  "eslint-config-prettier": "^10.1.8",
55
56
  "eslint-plugin-de-morgan": "^2.3.0",
56
57
  "eslint-plugin-import-x": "^4.17.1",
@@ -58,17 +59,17 @@
58
59
  "eslint-plugin-perfectionist": "^5.13.0",
59
60
  "eslint-plugin-pinia": "^0.4.2",
60
61
  "eslint-plugin-prettier": "^5.5.7",
61
- "eslint-plugin-regexp": "^3.3.1",
62
+ "eslint-plugin-regexp": "^3.3.3",
62
63
  "eslint-plugin-sonarjs": "^4.2.2",
63
64
  "eslint-plugin-tailwindcss": "^4.4.0",
64
65
  "eslint-plugin-unicorn": "^79.0.0",
65
- "eslint-plugin-vue": "^10.11.1",
66
+ "eslint-plugin-vue": "^10.12.0",
66
67
  "eslint-plugin-vuejs-accessibility": "^2.6.3",
67
68
  "eslint-plugin-zod": "^5.2.2",
68
- "globals": "^17.13.0",
69
+ "globals": "^17.14.0",
69
70
  "jsonc-eslint-parser": "^3.3.0",
70
71
  "typescript": "^6.0.3",
71
- "typescript-eslint": "^8.72.0",
72
+ "typescript-eslint": "^8.72.1",
72
73
  "vue-eslint-parser": "^10.4.1",
73
74
  "yaml-eslint-parser": "^2.1.0"
74
75
  },
@@ -34,6 +34,7 @@ export const tailwindcss = (config = []) =>
34
34
  files: FILES,
35
35
  rules: {
36
36
  ...recommended.rules,
37
+ 'tailwindcss/no-arbitrary-value': 'warn',
37
38
  'tailwindcss/no-custom-classname': 'off',
38
39
  'vue/static-class-names-order': 'off',
39
40
  },
@@ -142,6 +142,7 @@ export const vue = (config = []) =>
142
142
  'vue/next-tick-style': ['error', 'promise'],
143
143
  'vue/no-child-content': ['error'],
144
144
  'vue/no-console': ['error'],
145
+ 'vue/no-content-outside-block': ['error'],
145
146
  'vue/no-custom-modifiers-on-v-model': 'off',
146
147
  'vue/no-deprecated-delete-set': ['error'],
147
148
  'vue/no-deprecated-model-definition': ['error'],
@@ -160,6 +161,7 @@ export const vue = (config = []) =>
160
161
  'vue/no-negated-v-if-condition': ['error'],
161
162
  'vue/no-parsing-error': ['error'],
162
163
  'vue/no-potential-component-option-typo': ['error'],
164
+ 'vue/no-props-shadow': ['error'],
163
165
  'vue/no-ref-object-reactivity-loss': ['error'],
164
166
  'vue/no-required-prop-with-default': ['error', { autofix: true }],
165
167
  'vue/no-reserved-component-names': [
@@ -25,6 +25,12 @@ import { defineConfig } from '@alexlit/config-htmllint';
25
25
  export default defineConfig();
26
26
  ```
27
27
 
28
+ ## Пример скриптов для package.json
29
+
30
+ ```json
31
+ { "scripts": { "lint:html": "linthtml '**/*.html'" } }
32
+ ```
33
+
28
34
  Готово: подключены рекомендованный конфиг, правила пакета и дефолтные опции
29
35
  линтера.
30
36
 
@@ -27,6 +27,16 @@ npm i @alexlit/config-markdownlint -D
27
27
  { "extends": "@alexlit/config-markdownlint" }
28
28
  ```
29
29
 
30
+ ## Пример скриптов для package.json
31
+
32
+ ```json
33
+ {
34
+ "scripts": {
35
+ "lint:md": "markdownlint '**/*.md' --fix --ignore-path .gitignore"
36
+ }
37
+ }
38
+ ```
39
+
30
40
  Готово: линтер работает с набором правил пакета.
31
41
 
32
42
  ## Настройка
@@ -28,6 +28,16 @@ npm i @alexlit/config-npmlint -D
28
28
  { "extends": "@alexlit/config-npmlint" }
29
29
  ```
30
30
 
31
+ ## Пример скриптов для package.json
32
+
33
+ ```json
34
+ {
35
+ "scripts": {
36
+ "lint:lockfile": "lockfile-lint --type npm --path package-lock.json && npmPkgJsonLint ."
37
+ }
38
+ }
39
+ ```
40
+
31
41
  Готово: линтер работает с набором правил пакета.
32
42
 
33
43
  ## Настройка
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alexlit/config-npmlint",
3
- "version": "10.1.1",
3
+ "version": "10.1.2",
4
4
  "private": false,
5
5
  "description": "npmlint config",
6
6
  "keywords": [
@@ -39,7 +39,7 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "lockfile-lint": "^5.1.0",
42
- "npm-package-json-lint": "^11.0.0",
42
+ "npm-package-json-lint": "^11.0.1",
43
43
  "npm-package-json-lint-config-default": "^10.0.0"
44
44
  },
45
45
  "publishConfig": {
@@ -28,6 +28,12 @@ import { defineConfig, plugins } from '@alexlit/config-prettier';
28
28
  export default defineConfig([plugins.packageJson(), plugins.xml()]);
29
29
  ```
30
30
 
31
+ ## Пример скриптов для package.json
32
+
33
+ ```json
34
+ { "scripts": { "lint:format": "prettier . --check --write" } }
35
+ ```
36
+
31
37
  Каждый вызов `plugins.*()` - отдельный плагин. Добавьте только то, что нужно
32
38
  проекту; полный список - в разделе [Плагины](#плагины).
33
39
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alexlit/config-prettier",
3
- "version": "25.0.0",
3
+ "version": "25.2.0",
4
4
  "private": false,
5
5
  "description": "prettier config",
6
6
  "keywords": [
@@ -46,7 +46,7 @@
46
46
  "prettier-plugin-eruby": "^0.0.3",
47
47
  "prettier-plugin-jsdoc": "^1.8.1",
48
48
  "prettier-plugin-mdc": "^0.2.1",
49
- "prettier-plugin-packagejson": "^3.0.2",
49
+ "prettier-plugin-packagejson": "^3.1.0",
50
50
  "prettier-plugin-sh": "^0.20.2",
51
51
  "prettier-plugin-solidity": "^2.4.1",
52
52
  "prettier-plugin-sort-json": "^4.2.0",
@@ -2,6 +2,7 @@ import { mergeConfigs } from '../utils/merge-configs.js';
2
2
 
3
3
  const DEFAULTS = {
4
4
  plugins: ['prettier-plugin-tailwindcss'],
5
+ tailwindAttributes: ['ui', ':ui', 'class', 'className'],
5
6
  tailwindFunctions: [
6
7
  'classnames',
7
8
  'clsx',
@@ -33,6 +33,16 @@ export default defineConfig([
33
33
  ]);
34
34
  ```
35
35
 
36
+ ## Пример скриптов для package.json
37
+
38
+ ```json
39
+ {
40
+ "scripts": {
41
+ "lint:css": "stylelint '**/*.{css,scss,sass,pcss,vue}' --fix --ignore-path .gitignore"
42
+ }
43
+ }
44
+ ```
45
+
36
46
  Каждый вызов `plugins.*()` - отдельная проверка. Добавьте только то, что нужно
37
47
  проекту; полный список - в разделе [Проверки](#проверки).
38
48
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alexlit/config-stylelint",
3
- "version": "64.1.0",
3
+ "version": "64.1.2",
4
4
  "private": false,
5
5
  "description": "Stylelint config",
6
6
  "keywords": [
@@ -39,9 +39,9 @@
39
39
  "up": "../../scripts/up.sh"
40
40
  },
41
41
  "dependencies": {
42
- "@double-great/stylelint-a11y": "^3.8.1",
42
+ "@double-great/stylelint-a11y": "^3.8.3",
43
43
  "@morev/stylelint-plugin": "^0.7.0",
44
- "postcss": "^8.5.31",
44
+ "postcss": "^8.5.32",
45
45
  "postcss-html": "^2.0.0",
46
46
  "prettier": "^3.9.10",
47
47
  "stylelint": "17.16.0",
package/scripts/i.sh CHANGED
@@ -7,8 +7,7 @@ echo -e "${YELLOW}Устанавливаю зависимости...${WHITE}"
7
7
  find . -name "node_modules" -type d -prune -exec rm -rf '{}' +
8
8
  rm -rf package-lock.json
9
9
  # npm cache clean --force
10
- npm install \
11
- --loglevel verbose
10
+ npm install
12
11
  npm dedupe
13
12
 
14
13
  SAY_GOODBYE