From 0a6af4ed0fea23c433b516a97839e9d32cb3fb92 Mon Sep 17 00:00:00 2001 From: Lukas Wolfsteiner Date: Mon, 6 Jul 2026 11:21:06 +0200 Subject: [PATCH] build: update dependencies and eslint configuration Move obsidian to devDependencies and remove tslib, which is unneeded without importHelpers. Pin eslint and @eslint/js to version 9 to stay compatible with eslint-plugin-obsidianmd peer requirements. Switch the flat config to defineConfig from eslint/config and apply ignore patterns before rulesets. Matches the current obsidian-sample-plugin setup and removes a type-cast workaround in the config. Co-authored-by: Cursor --- eslint.config.mts | 47 +++++++++++++++--------------------- package-lock.json | 61 ++++++++++++++--------------------------------- package.json | 8 +++---- 3 files changed, 40 insertions(+), 76 deletions(-) diff --git a/eslint.config.mts b/eslint.config.mts index 8e6a106..16832f3 100644 --- a/eslint.config.mts +++ b/eslint.config.mts @@ -1,15 +1,23 @@ -import tseslint from 'typescript-eslint'; import obsidianmd from "eslint-plugin-obsidianmd"; import globals from "globals"; -import { globalIgnores } from "eslint/config"; +import { globalIgnores, defineConfig } from "eslint/config"; -type EslintConfig = Parameters[number]; - -const obsidianRecommendedConfigList = [ - ...((obsidianmd.configs?.recommended ?? []) as Iterable), -]; - -export default tseslint.config( +export default defineConfig( + globalIgnores([ + "node_modules", + "dist", + "esbuild.config.mjs", + "eslint.config.js", + "eslint.config.mts", + "jest.config.cjs", + "package.json", + "package-lock.json", + "pnpm-lock.yaml", + "version-bump.mjs", + "versions.json", + "tsconfig.json", + "main.js", + ]), { languageOptions: { globals: { @@ -17,10 +25,7 @@ export default tseslint.config( }, parserOptions: { projectService: { - allowDefaultProject: [ - 'eslint.config.js', - 'manifest.json' - ] + allowDefaultProject: ['eslint.config.mts', 'manifest.json'], }, tsconfigRootDir: import.meta.dirname, extraFileExtensions: ['.json'] @@ -35,19 +40,5 @@ export default tseslint.config( }, }, }, - ...obsidianRecommendedConfigList, - globalIgnores([ - "node_modules", - "dist", - "esbuild.config.mjs", - "eslint.config.js", - "eslint.config.mts", - "jest.config.cjs", - "package.json", - "package-lock.json", - "pnpm-lock.yaml", - "version-bump.mjs", - "versions.json", - "main.js", - ]), + ...obsidianmd.configs.recommended, ); diff --git a/package-lock.json b/package-lock.json index 665ba7e..5f46fa5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,21 +8,19 @@ "name": "obsidian-raindropio-plugin", "version": "1.0.4", "license": "WTFPL", - "dependencies": { - "obsidian": "*" - }, "devDependencies": { - "@eslint/js": "10.0.1", + "@eslint/js": "^9.39.4", "@types/jest": "^30.0.0", "@types/node": "^26.1.0", "esbuild": "0.28.1", + "eslint": "^9.39.4", "eslint-plugin-obsidianmd": "0.4.1", "globals": "17.7.0", "jest": "^30.4.2", "jest-environment-jsdom": "^30.4.1", "jiti": "2.7.0", + "obsidian": "latest", "ts-jest": "^29.4.11", - "tslib": "2.8.1", "typescript": "^6.0.3", "typescript-eslint": "8.62.1" } @@ -488,6 +486,7 @@ }, "node_modules/@codemirror/state": { "version": "6.5.0", + "dev": true, "license": "MIT", "peer": true, "dependencies": { @@ -496,6 +495,7 @@ }, "node_modules/@codemirror/view": { "version": "6.38.6", + "dev": true, "license": "MIT", "peer": true, "dependencies": { @@ -1271,24 +1271,16 @@ } }, "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", "dev": true, "license": "MIT", "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } } }, "node_modules/@eslint/json": { @@ -1877,6 +1869,7 @@ }, "node_modules/@marijn/find-cluster-break": { "version": "1.0.2", + "dev": true, "license": "MIT", "peer": true }, @@ -2027,6 +2020,7 @@ }, "node_modules/@types/codemirror": { "version": "5.60.8", + "dev": true, "license": "MIT", "dependencies": { "@types/tern": "*" @@ -2043,6 +2037,7 @@ }, "node_modules/@types/estree": { "version": "1.0.9", + "dev": true, "license": "MIT" }, "node_modules/@types/istanbul-lib-coverage": { @@ -2112,6 +2107,7 @@ }, "node_modules/@types/tern": { "version": "0.23.9", + "dev": true, "license": "MIT", "dependencies": { "@types/estree": "*" @@ -3360,6 +3356,7 @@ }, "node_modules/crelt": { "version": "1.0.6", + "dev": true, "license": "MIT", "peer": true }, @@ -4249,19 +4246,6 @@ "typescript-eslint": "^8.35.1" } }, - "node_modules/eslint-plugin-obsidianmd/node_modules/@eslint/js": { - "version": "9.39.4", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", - "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - } - }, "node_modules/eslint-plugin-obsidianmd/node_modules/@types/node": { "version": "20.12.12", "dev": true, @@ -4411,19 +4395,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/@eslint/js": { - "version": "9.39.4", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", - "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - } - }, "node_modules/eslint/node_modules/balanced-match": { "version": "1.0.2", "dev": true, @@ -6612,6 +6583,7 @@ }, "node_modules/moment": { "version": "2.29.4", + "dev": true, "license": "MIT", "engines": { "node": "*" @@ -6819,6 +6791,7 @@ "version": "1.13.1", "resolved": "https://registry.npmjs.org/obsidian/-/obsidian-1.13.1.tgz", "integrity": "sha512-qtTEA2pmhJzhuhJqzbBFRYhpIOqvW+krDYjtFynv66KbxBbumHBlsJfWw3I4jtnK/6fZwbQhCrmmDdRwXmX56w==", + "dev": true, "license": "MIT", "dependencies": { "@types/codemirror": "5.60.8", @@ -7862,6 +7835,7 @@ }, "node_modules/style-mod": { "version": "4.1.3", + "dev": true, "license": "MIT", "peer": true }, @@ -8438,6 +8412,7 @@ }, "node_modules/w3c-keyname": { "version": "2.2.8", + "dev": true, "license": "MIT", "peer": true }, diff --git a/package.json b/package.json index e199c9c..cb2e815 100644 --- a/package.json +++ b/package.json @@ -29,21 +29,19 @@ "bookmarks" ], "devDependencies": { - "@eslint/js": "10.0.1", + "@eslint/js": "^9.39.4", "@types/jest": "^30.0.0", "@types/node": "^26.1.0", "esbuild": "0.28.1", + "eslint": "^9.39.4", "eslint-plugin-obsidianmd": "0.4.1", "globals": "17.7.0", "jest": "^30.4.2", "jest-environment-jsdom": "^30.4.1", "jiti": "2.7.0", + "obsidian": "latest", "ts-jest": "^29.4.11", - "tslib": "2.8.1", "typescript": "^6.0.3", "typescript-eslint": "8.62.1" - }, - "dependencies": { - "obsidian": "latest" } }