Tighten lint and format coverage

This commit is contained in:
murashit 2026-05-23 07:05:52 +09:00
parent 120c85bc7b
commit 0fd27ad0fa
3 changed files with 48 additions and 7 deletions

View file

@ -1,23 +1,33 @@
import js from "@eslint/js";
import { defineConfig } from "eslint/config";
import eslintConfigPrettier from "eslint-config-prettier/flat";
import obsidianmd from "eslint-plugin-obsidianmd";
import tseslint from "typescript-eslint";
const typeScriptFiles = ["src/**/*.ts", "tests/**/*.ts"];
const nodeJavaScriptFiles = ["*.mjs", "scripts/**/*.mjs"];
const typeScriptConfigFiles = ["*.config.ts"];
const lintedTypeScriptFiles = [...typeScriptFiles, ...typeScriptConfigFiles];
export default defineConfig([
{
ignores: ["main.js", "node_modules/**", "src/generated/**"],
},
js.configs.recommended,
...tseslint.configs.strictTypeChecked,
...tseslint.configs.stylisticTypeChecked,
...tseslint.configs.strictTypeChecked.map((config) => ({
...config,
files: lintedTypeScriptFiles,
})),
...tseslint.configs.stylisticTypeChecked.map((config) => ({
...config,
files: lintedTypeScriptFiles,
})),
...obsidianmd.configs.recommended.map((config) => ({
...config,
basePath: "src",
})),
{
files: typeScriptFiles,
files: lintedTypeScriptFiles,
languageOptions: {
ecmaVersion: 2022,
sourceType: "module",
@ -43,6 +53,18 @@ export default defineConfig([
"@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "^_" }],
},
},
{
files: nodeJavaScriptFiles,
languageOptions: {
ecmaVersion: 2022,
sourceType: "module",
globals: {
URL: "readonly",
console: "readonly",
process: "readonly",
},
},
},
{
files: ["tests/**/*.ts"],
rules: {
@ -68,4 +90,5 @@ export default defineConfig([
],
},
},
eslintConfigPrettier,
]);

17
package-lock.json generated
View file

@ -13,6 +13,7 @@
"@types/node": "^25.6.0",
"esbuild": "^0.28.0",
"eslint": "^10.3.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-obsidianmd": "^0.3.0",
"jsdom": "^29.1.1",
"obsidian": "~1.12.3",
@ -2818,6 +2819,22 @@
"eslint": ">=6.0.0"
}
},
"node_modules/eslint-config-prettier": {
"version": "10.1.8",
"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz",
"integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==",
"dev": true,
"license": "MIT",
"bin": {
"eslint-config-prettier": "bin/cli.js"
},
"funding": {
"url": "https://opencollective.com/eslint-config-prettier"
},
"peerDependencies": {
"eslint": ">=7.0.0"
}
},
"node_modules/eslint-import-resolver-node": {
"version": "0.3.10",
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.10.tgz",

View file

@ -17,12 +17,12 @@
"build": "node esbuild.config.mjs",
"build:prod": "node esbuild.config.mjs --production",
"dev": "node esbuild.config.mjs --watch",
"format": "prettier --write \"src/**/*.{ts,tsx,js,mjs,json,css,md}\" \"tests/**/*.{ts,tsx,js,mjs,json,css,md}\" \"scripts/**/*.{js,mjs}\" \"*.{json,mjs,md,css}\" \"!src/generated/**\"",
"format:check": "prettier --check \"src/**/*.{ts,tsx,js,mjs,json,css,md}\" \"tests/**/*.{ts,tsx,js,mjs,json,css,md}\" \"scripts/**/*.{js,mjs}\" \"*.{json,mjs,md,css}\" \"!src/generated/**\"",
"format": "prettier --write \"src/**/*.{ts,tsx,js,mjs,json,css,md}\" \"tests/**/*.{ts,tsx,js,mjs,json,css,md}\" \"scripts/**/*.{js,mjs}\" \"*.{ts,json,mjs,md,css}\" \"!src/generated/**\"",
"format:check": "prettier --check \"src/**/*.{ts,tsx,js,mjs,json,css,md}\" \"tests/**/*.{ts,tsx,js,mjs,json,css,md}\" \"scripts/**/*.{js,mjs}\" \"*.{ts,json,mjs,md,css}\" \"!src/generated/**\"",
"api:baseline": "node scripts/report-api-baseline.mjs",
"api:baseline:check": "node scripts/report-api-baseline.mjs --check",
"generate:app-server-types": "node scripts/clean-generated-types.mjs && codex app-server generate-ts --experimental --out src/generated/app-server && node scripts/normalize-generated-types.mjs",
"lint": "eslint src tests --max-warnings=0",
"lint": "eslint src tests scripts \"*.config.ts\" \"*.config.mjs\" --max-warnings=0",
"release:check": "node scripts/check-release.mjs",
"release:preflight": "node scripts/preflight-release.mjs",
"release:prepare": "node scripts/prepare-release.mjs",
@ -35,12 +35,13 @@
"@types/node": "^25.6.0",
"esbuild": "^0.28.0",
"eslint": "^10.3.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-obsidianmd": "^0.3.0",
"jsdom": "^29.1.1",
"obsidian": "~1.12.3",
"prettier": "^3.8.3",
"typescript-eslint": "^8.59.4",
"typescript": "^6.0.3",
"typescript-eslint": "^8.59.4",
"vitest": "^4.1.7"
}
}