chore: lint rules for scripts

This commit is contained in:
2026-09-26 16:46:52 +05:00
parent bd941d5ac5
commit 67fdef4363
4 changed files with 50 additions and 5 deletions
+3
View File
@@ -32,6 +32,9 @@
`eslint-plugin-svelte`) навешаны на UI-код (`src/lib/components/**`,
`src/routes/**`). Scoped-пути двигаются вместе с папками: не оставлять
устаревшие пути в `eslint.config.js`.
- Базовый `js.configs.recommended` + `globals.node` навешаны на инфраструктуру
линтинга: `eslint-plugins/**/*.js` и `scripts/**/*.mjs` (Q7c).
TS/svelte-рекомендации туда не подключаются.
- Для `*.svelte` выключен `prefer-const` (пропсы в Svelte 5 пишутся через
`let`).
- `allowDefaultProject` перечисляет test-файлы и фикстуры точечно (glob'ы с `**`
+20
View File
@@ -11,6 +11,12 @@ import i18nPlugin from "./eslint-plugins/i18n/index.js";
// Новый код редизайна: к нему применяем полные recommended-наборы уже сейчас.
const newCode = ["**/src/lib/components/**", "**/src/routes/**"];
// Инфраструктура линтинга: сами плагины и скрипты. Это не продуктовый код, но
// он влияет на все гейты, поэтому к нему тоже применяется базовый JS
// recommended. Полные TS/svelte-наборы здесь не подключаются: файлы .mjs и
// конфиги проверяются только базовым набором.
const toolingFiles = ["**/eslint-plugins/**/*.js", "**/scripts/**/*.mjs"];
// Полные recommended-наборы — только на новый код (см. ниже, блок перед prettier).
const jsRecommended = Array.isArray(js.configs.recommended)
? js.configs.recommended
@@ -175,12 +181,26 @@ export default tseslint.config(
],
},
},
{
files: toolingFiles,
languageOptions: {
ecmaVersion: "latest",
sourceType: "module",
globals: {
...globals.node,
},
},
},
// Полные recommended-наборы — только на новый код.
...[
...jsRecommended.map((cfg) => ({
...cfg,
files: newCode,
})),
...jsRecommended.map((cfg) => ({
...cfg,
files: toolingFiles,
})),
...tseslint.configs.recommended.map((cfg) => ({
...cfg,
files: newCode,
+2 -2
View File
@@ -2,8 +2,8 @@
// (adapter-static): /foo -> foo.html | foo/index.html, MIME по расширению.
// Запуск: pnpm build && node scripts/serve-static.mjs --port 4173
import { createServer } from "node:http";
import { readFileSync, existsSync, statSync } from "node:fs";
import { extname, join, resolve } from "node:path";
import { readFileSync, statSync } from "node:fs";
import { extname, join } from "node:path";
import { fileURLToPath } from "node:url";
const portIndex = process.argv.indexOf("--port");