2026-04-29 14:28:36 +00:00
|
|
|
import obsidianmd from "eslint-plugin-obsidianmd";
|
|
|
|
|
import globals from "globals";
|
2026-04-29 22:22:14 +00:00
|
|
|
import tseslint from 'typescript-eslint';
|
2026-04-29 14:28:36 +00:00
|
|
|
|
|
|
|
|
export default tseslint.config(
|
|
|
|
|
{
|
|
|
|
|
languageOptions: {
|
|
|
|
|
globals: {
|
|
|
|
|
...globals.browser,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
2026-04-29 22:22:14 +00:00
|
|
|
{
|
|
|
|
|
ignores: [
|
|
|
|
|
"node_modules",
|
|
|
|
|
"dist",
|
|
|
|
|
"esbuild.config.mjs",
|
|
|
|
|
"eslint.config.js",
|
|
|
|
|
"version-bump.mjs",
|
|
|
|
|
"versions.json",
|
|
|
|
|
"main.js",
|
2026-04-30 20:51:58 +00:00
|
|
|
"package-lock.json",
|
2026-04-29 22:22:14 +00:00
|
|
|
],
|
2026-04-30 20:51:58 +00:00
|
|
|
},
|
|
|
|
|
// Obsidian recommended configs
|
|
|
|
|
...obsidianmd.configs.recommended,
|
|
|
|
|
...obsidianmd.configs.recommendedWithLocalesEn,
|
|
|
|
|
// TypeScript recommended and typed rules
|
|
|
|
|
...tseslint.configs.recommendedTypeChecked.map(config => ({
|
|
|
|
|
...config,
|
|
|
|
|
files: ["**/*.ts"],
|
|
|
|
|
})),
|
|
|
|
|
{
|
|
|
|
|
files: ["**/*.ts"],
|
|
|
|
|
languageOptions: {
|
|
|
|
|
parserOptions: {
|
|
|
|
|
projectService: true,
|
|
|
|
|
tsconfigRootDir: import.meta.dirname,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
rules: {
|
|
|
|
|
"@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
|
|
|
|
|
"@typescript-eslint/require-await": "error",
|
|
|
|
|
"obsidianmd/ui/sentence-case": ["error", {
|
2026-05-01 07:44:02 +00:00
|
|
|
"brands": ["ImgBB", "Markdown", "Obsidian", "SecretStorage"],
|
2026-05-01 06:27:34 +00:00
|
|
|
"acronyms": ["API"]
|
|
|
|
|
}],
|
|
|
|
|
"obsidianmd/ui/sentence-case-locale-module": ["error", {
|
2026-05-01 07:44:02 +00:00
|
|
|
"brands": ["ImgBB", "Markdown", "Obsidian", "SecretStorage"],
|
2026-04-30 20:51:58 +00:00
|
|
|
"acronyms": ["API"]
|
|
|
|
|
}]
|
|
|
|
|
}
|
2026-05-01 06:27:34 +00:00
|
|
|
},
|
2026-04-29 14:28:36 +00:00
|
|
|
);
|