@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 +2 -2
- package/package.json +1 -1
- package/packages/config-eslint/README.md +16 -0
- package/packages/config-eslint/package.json +10 -9
- package/packages/config-eslint/plugins/tailwindcss.js +1 -0
- package/packages/config-eslint/plugins/vue.js +2 -0
- package/packages/config-htmllint/README.md +6 -0
- package/packages/config-markdownlint/README.md +10 -0
- package/packages/config-npmlint/README.md +10 -0
- package/packages/config-npmlint/package.json +2 -2
- package/packages/config-prettier/README.md +6 -0
- package/packages/config-prettier/package.json +2 -2
- package/packages/config-prettier/plugins/tailwindcss.js +1 -0
- package/packages/config-stylelint/README.md +10 -0
- package/packages/config-stylelint/package.json +3 -3
- package/scripts/i.sh +1 -2
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
# Lint Kit
|
|
2
|
+
|
|
1
3
|
[](https://www.npmjs.com/package/@alexlit/lint-kit)
|
|
2
4
|
[](https://npmx.dev/package/@alexlit/lint-kit)
|
|
3
5
|
[](LICENSE)
|
|
4
6
|
|
|
5
|
-
# Lint Kit
|
|
6
|
-
|
|
7
7
|
Набор пакетов с конфигурациями для линтинга и форматирования кода Vue +
|
|
8
8
|
TypeScript проектов.
|
|
9
9
|
|
package/package.json
CHANGED
|
@@ -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.
|
|
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.
|
|
51
|
-
"@unocss/eslint-config": "^66.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
69
|
+
"globals": "^17.14.0",
|
|
69
70
|
"jsonc-eslint-parser": "^3.3.0",
|
|
70
71
|
"typescript": "^6.0.3",
|
|
71
|
-
"typescript-eslint": "^8.72.
|
|
72
|
+
"typescript-eslint": "^8.72.1",
|
|
72
73
|
"vue-eslint-parser": "^10.4.1",
|
|
73
74
|
"yaml-eslint-parser": "^2.1.0"
|
|
74
75
|
},
|
|
@@ -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.
|
|
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.
|
|
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.
|
|
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
|
|
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",
|
|
@@ -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.
|
|
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.
|
|
42
|
+
"@double-great/stylelint-a11y": "^3.8.3",
|
|
43
43
|
"@morev/stylelint-plugin": "^0.7.0",
|
|
44
|
-
"postcss": "^8.5.
|
|
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