aiday-mar_code-style-keys/eslint.config.mts
saberzero1 f8667cee6b feat: modernize sample plugin
Check whether the target version key already exists in versions.json
instead of whether the minAppVersion value exists. The old check
incorrectly skipped writing a new entry when a prior version mapped
to the same minAppVersion.

Modernize TypeScript and esbuild configuration

- Set target to ES2021 (Obsidian runs on modern Electron/Chromium)
- Replace individual strict flags with strict: true
- Update lib to ES2021 + DOM
- Remove importHelpers and allowJs
- Add skipLibCheck, forceConsistentCasingInFileNames,
noFallthroughCasesInSwitch
- Align esbuild target to es2021

Update dependencies

- Bump @types/node from ^16.11.6 to ^22.15.17 (Node 16 is EOL)
- Bump eslint-plugin-obsidianmd from 0.1.9 to 0.2.4
- Bump globals from 14.0.0 to 16.1.0
- Bump typescript-eslint from 8.35.1 to 8.32.1
- Remove tslib (no longer needed without importHelpers)

Fix code issues and update minimum app version

- Prefix unused parameters with _ (evt, view)
- Use definite assignment assertion on settings property
- Fix editorCallback parameter type (MarkdownView | MarkdownFileInfo)
- Replace document/window with activeDocument/activeWindow
- Replace let with const in SampleModal.onOpen
- Bump minAppVersion from 0.15.0 to 1.0.0
- Update eslint config for obsidianmd plugin 0.2.4 compatibility

Update documentation

- Fix entry point references (main.ts -> src/main.ts)
- Update minimum Node.js version to v18
- Replace outdated eslint instructions with npm run lint
- Update code examples for strict mode and activeWindow
- Remove yarn as alternative to npm

Update eslint configuration

Bump to eslint 10

Return to eslint 9

chore: formatting

feat: add release CI

chore: bumped obsidian eslint plugin to latest version

chore: cleanup redundant code

chore: moved obsidian to devDependencies

fix: apply ignore patterns before rulesets

docs: updated AGENTS.md to match codebase

fix: set quote_style to single

chore: formatting
2026-05-29 19:15:56 +02:00

33 lines
707 B
TypeScript

import tseslint from 'typescript-eslint';
import obsidianmd from 'eslint-plugin-obsidianmd';
import globals from 'globals';
import { globalIgnores } from 'eslint/config';
export default tseslint.config(
globalIgnores([
'node_modules',
'dist',
'esbuild.config.mjs',
'version-bump.mjs',
'versions.json',
'main.js',
'package.json',
'package-lock.json',
'tsconfig.json',
]),
{
languageOptions: {
globals: {
...globals.browser,
},
parserOptions: {
projectService: {
allowDefaultProject: ['eslint.config.mts', 'manifest.json'],
},
tsconfigRootDir: import.meta.dirname,
extraFileExtensions: ['.json'],
},
},
},
...obsidianmd.configs.recommended,
);