[READ-ONLY] Mirror of https://github.com/FoxxMD/multi-scrobbler. Scrobble plays from multiple sources to multiple clients docs.multi-scrobbler.app
deezer docker jellyfin koito lastfm listenbrainz maloja mopidy mpris music music-assistant plex scrobble self-hosted spotify subsonic tautulli youtube-music
0

Configure Feed

Select the types of activity you want to include in your feed.

chore: Add eslint plugin for mocha tests

FoxxMD (Jul 7, 2026, 5:54 PM UTC) baaa954f c727de9c

+47
+18
eslint.config.js
··· 10 10 import tsEslint from 'typescript-eslint'; 11 11 import arrow from 'eslint-plugin-prefer-arrow-functions'; 12 12 import hooks from 'eslint-plugin-react-hooks'; 13 + import mochaPlugin from 'eslint-plugin-mocha'; 13 14 14 15 const defaultRules = { 15 16 'no-useless-catch': 'off', ··· 68 69 } 69 70 }, 70 71 files: ['src/client/**/*.tsx'], 72 + }, 73 + { 74 + extends: [ 75 + mochaPlugin.configs.recommended, 76 + ], 77 + languageOptions: { 78 + globals: { 79 + ...globals.node, 80 + } 81 + }, 82 + files: ['src/backend/tests/**/*.ts'], 83 + rules: { 84 + ...defaultRules, 85 + "prefer-arrow-functions/prefer-arrow-functions": ["off"], 86 + "@typescript-eslint/no-unused-expressions": 'off', 87 + 'mocha/max-top-level-suites': 'off' 88 + }, 71 89 } 72 90 ]);
+28
package-lock.json
··· 171 171 "clsx": "^2.1.1", 172 172 "drizzle-kit": "^1.0.0-rc.2-c5a84d1", 173 173 "eslint": "^10.6.0", 174 + "eslint-plugin-mocha": "^11.3.0", 174 175 "eslint-plugin-prefer-arrow-functions": "^3.2.4", 175 176 "eslint-plugin-react-hooks": "^7.1.1", 176 177 "eslint-plugin-storybook": "^10.3.6", ··· 10411 10412 "jiti": { 10412 10413 "optional": true 10413 10414 } 10415 + } 10416 + }, 10417 + "node_modules/eslint-plugin-mocha": { 10418 + "version": "11.3.0", 10419 + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-11.3.0.tgz", 10420 + "integrity": "sha512-anENwrIwmdvunmmssjMn5a4nTd+mYMkqBlwjksxOECcIThLNhefWJIiTWY7pY/arMQFjNwHQjVOZb6pQ9PrLjg==", 10421 + "dev": true, 10422 + "license": "MIT", 10423 + "dependencies": { 10424 + "@eslint-community/eslint-utils": "^4.4.1", 10425 + "globals": "^15.14.0" 10426 + }, 10427 + "peerDependencies": { 10428 + "eslint": ">=9.0.0" 10429 + } 10430 + }, 10431 + "node_modules/eslint-plugin-mocha/node_modules/globals": { 10432 + "version": "15.15.0", 10433 + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", 10434 + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", 10435 + "dev": true, 10436 + "license": "MIT", 10437 + "engines": { 10438 + "node": ">=18" 10439 + }, 10440 + "funding": { 10441 + "url": "https://github.com/sponsors/sindresorhus" 10414 10442 } 10415 10443 }, 10416 10444 "node_modules/eslint-plugin-prefer-arrow-functions": {
+1
package.json
··· 210 210 "clsx": "^2.1.1", 211 211 "drizzle-kit": "^1.0.0-rc.2-c5a84d1", 212 212 "eslint": "^10.6.0", 213 + "eslint-plugin-mocha": "^11.3.0", 213 214 "eslint-plugin-prefer-arrow-functions": "^3.2.4", 214 215 "eslint-plugin-react-hooks": "^7.1.1", 215 216 "eslint-plugin-storybook": "^10.3.6",