diff --git a/eslint.config.mjs b/eslint.config.mjs index 5ddd5a00c5..e094230ec9 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -98,7 +98,7 @@ export default tseslint.config( 'sonarjs/fixme-tag': 'warn', 'sonarjs/todo-tag': 'off', - 'sonarjs/deprecation': 'warn', + 'sonarjs/deprecation': 'off', 'sonarjs/no-alphabetical-sort': 'warn', 'sonarjs/no-inverted-boolean-check': 'error', 'sonarjs/no-selector-parameter': 'off', @@ -329,6 +329,7 @@ export default tseslint.config( } } ], + '@typescript-eslint/no-deprecated': 'warn', '@typescript-eslint/no-floating-promises': 'error', '@typescript-eslint/prefer-string-starts-ends-with': 'error' } @@ -366,7 +367,6 @@ export default tseslint.config( rules: { '@typescript-eslint/no-floating-promises': 'off', '@typescript-eslint/no-this-alias': 'off', - '@typescript-eslint/no-unused-vars': 'warn', 'sonarjs/public-static-readonly': 'off', diff --git a/src/components/ServerConnections.js b/src/components/ServerConnections.js index 9920b9baae..38692998f2 100644 --- a/src/components/ServerConnections.js +++ b/src/components/ServerConnections.js @@ -1,5 +1,5 @@ // NOTE: This is used for jsdoc return type -// eslint-disable-next-line no-unused-vars +// eslint-disable-next-line @typescript-eslint/no-unused-vars import { Api } from '@jellyfin/sdk'; import { MINIMUM_VERSION } from '@jellyfin/sdk/lib/versions'; import { ConnectionManager, Credentials, ApiClient } from 'jellyfin-apiclient'; @@ -18,7 +18,6 @@ const normalizeImageOptions = options => { }; const getMaxBandwidth = () => { - /* eslint-disable compat/compat */ if (navigator.connection) { let max = navigator.connection.downlinkMax; if (max && max > 0 && max < Number.POSITIVE_INFINITY) { @@ -28,7 +27,6 @@ const getMaxBandwidth = () => { return parseInt(max, 10); } } - /* eslint-enable compat/compat */ return null; }; diff --git a/src/components/apphost.js b/src/components/apphost.js index 984c3a77bf..7d49088564 100644 --- a/src/components/apphost.js +++ b/src/components/apphost.js @@ -452,7 +452,7 @@ let isHidden = false; let hidden; let visibilityChange; -if (typeof document.hidden !== 'undefined') { /* eslint-disable-line compat/compat */ +if (typeof document.hidden !== 'undefined') { hidden = 'hidden'; visibilityChange = 'visibilitychange'; } else if (typeof document.webkitHidden !== 'undefined') { @@ -461,7 +461,6 @@ if (typeof document.hidden !== 'undefined') { /* eslint-disable-line compat/comp } document.addEventListener(visibilityChange, function () { - /* eslint-disable-next-line compat/compat */ if (document[hidden]) { onAppHidden(); } else { diff --git a/src/components/cardbuilder/cardBuilder.js b/src/components/cardbuilder/cardBuilder.js index 54e9d33a8e..1f7da16557 100644 --- a/src/components/cardbuilder/cardBuilder.js +++ b/src/components/cardbuilder/cardBuilder.js @@ -484,7 +484,7 @@ function getAirTimeText(item, showAirDateTime, showAirEndTime) { airTimeText += ' - ' + datetime.getDisplayTime(date); } } catch (e) { - console.error('error parsing date: ' + item.StartDate); + console.error('error parsing date: ' + item.StartDate, e); } } @@ -617,7 +617,7 @@ function getCardFooterText(item, apiClient, options, footerClass, progressHtml, datetime.parseISO8601Date(item.PremiereDate), { weekday: 'long', month: 'long', day: 'numeric' } )); - } catch (err) { + } catch { lines.push(''); } } else { diff --git a/src/components/cardbuilder/cardBuilderUtils.test.ts b/src/components/cardbuilder/cardBuilderUtils.test.ts index 7aa749af12..af5d189f36 100644 --- a/src/components/cardbuilder/cardBuilderUtils.test.ts +++ b/src/components/cardbuilder/cardBuilderUtils.test.ts @@ -678,6 +678,7 @@ describe('getDefaultBackgroundClass', () => { }); test('randomization string provided', () => { + // eslint-disable-next-line sonarjs/pseudo-random const generateRandomString = (stringLength: number): string => (Math.random() + 1).toString(36).substring(stringLength); for (let i = 0; i < 100; i++) { diff --git a/src/components/filterdialog/filterdialog.js b/src/components/filterdialog/filterdialog.js index 3eacd7db82..408ef06de6 100644 --- a/src/components/filterdialog/filterdialog.js +++ b/src/components/filterdialog/filterdialog.js @@ -14,6 +14,7 @@ function merge(resultItems, queryItems, delimiter) { if (!queryItems) { return resultItems; } + // eslint-disable-next-line sonarjs/no-alphabetical-sort return union(resultItems, queryItems.split(delimiter)).sort(); } diff --git a/src/components/guide/guide.js b/src/components/guide/guide.js index a56ae355f4..0b72fc023d 100644 --- a/src/components/guide/guide.js +++ b/src/components/guide/guide.js @@ -358,7 +358,7 @@ function Guide(options) { if ((typeof date).toString().toLowerCase() === 'string') { try { date = datetime.parseISO8601Date(date, { toLocal: true }); - } catch (err) { + } catch { return date; } } @@ -392,7 +392,7 @@ function Guide(options) { try { program.StartDateLocal = datetime.parseISO8601Date(program.StartDate, { toLocal: true }); } catch (err) { - console.error('error parsing timestamp for start date'); + console.error('error parsing timestamp for start date', err); } } @@ -400,7 +400,7 @@ function Guide(options) { try { program.EndDateLocal = datetime.parseISO8601Date(program.EndDate, { toLocal: true }); } catch (err) { - console.error('error parsing timestamp for end date'); + console.error('error parsing timestamp for end date', err); } } diff --git a/src/components/imageUploader/imageUploader.js b/src/components/imageUploader/imageUploader.js index ff07de1553..cc211fde9b 100644 --- a/src/components/imageUploader/imageUploader.js +++ b/src/components/imageUploader/imageUploader.js @@ -77,6 +77,7 @@ function setFiles(page, files) { reader.readAsDataURL(file); } +// eslint-disable-next-line sonarjs/no-invariant-returns function onSubmit(e) { const file = currentFile; diff --git a/src/components/images/imageLoader.js b/src/components/images/imageLoader.js index 561c968623..c41b0d59ff 100644 --- a/src/components/images/imageLoader.js +++ b/src/components/images/imageLoader.js @@ -2,7 +2,7 @@ import Worker from './blurhash.worker.ts'; // eslint-disable-line import/default import * as lazyLoader from '../lazyLoader/lazyLoaderIntersectionObserver'; import * as userSettings from '../../scripts/settings/userSettings'; import './style.scss'; -// eslint-disable-next-line compat/compat + const worker = new Worker(); const targetDic = {}; worker.addEventListener( diff --git a/src/components/listview/List/Lists.tsx b/src/components/listview/List/Lists.tsx index 1215851cc5..3a45be39c1 100644 --- a/src/components/listview/List/Lists.tsx +++ b/src/components/listview/List/Lists.tsx @@ -25,7 +25,6 @@ const Lists: FC = ({ items = [], listOptions = {} }) => { const renderListItem = (item: ItemDto, index: number) => { return (