From 6836138fc1257bae86160a2ae919206d5d153111 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Oct 2024 15:03:01 +0000 Subject: [PATCH 1/2] Bump eslint-config-love from 66.0.0 to 84.1.0 Bumps [eslint-config-love](https://github.com/mightyiam/eslint-config-love) from 66.0.0 to 84.1.0. - [Release notes](https://github.com/mightyiam/eslint-config-love/releases) - [Changelog](https://github.com/mightyiam/eslint-config-love/blob/main/CHANGELOG.md) - [Commits](https://github.com/mightyiam/eslint-config-love/compare/v66.0.0...v84.1.0) --- updated-dependencies: - dependency-name: eslint-config-love dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5f0606fc..3d68e648 100644 --- a/package-lock.json +++ b/package-lock.json @@ -42,7 +42,7 @@ "commander": "^12.1.0", "esbuild": "^0.24.0", "eslint": "^8.57.1", - "eslint-config-love": "^66.0.0", + "eslint-config-love": "^84.1.0", "eslint-plugin-lit": "^1.15.0", "globals": "^15.10.0", "lit": "^3.2.1", @@ -6581,9 +6581,9 @@ } }, "node_modules/eslint-config-love": { - "version": "66.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-love/-/eslint-config-love-66.0.0.tgz", - "integrity": "sha512-Op6YXKED9jFjdrg0wA/pUcnMla0IO0oN5S0OLRykboCa00ilLS82+dXoeIGMIBI0Q7Ik03X9fOes+jXZ4yL7pQ==", + "version": "84.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-love/-/eslint-config-love-84.1.0.tgz", + "integrity": "sha512-nrFAu5fnlAhEvluQ72nR0DG6YZ/7woREmr8QMi69f+ad55LosQ62UKDQw4o9Bwb8ye7deoPm1FTMUorzgL9ZHQ==", "dev": true, "funding": [ { @@ -17812,9 +17812,9 @@ } }, "eslint-config-love": { - "version": "66.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-love/-/eslint-config-love-66.0.0.tgz", - "integrity": "sha512-Op6YXKED9jFjdrg0wA/pUcnMla0IO0oN5S0OLRykboCa00ilLS82+dXoeIGMIBI0Q7Ik03X9fOes+jXZ4yL7pQ==", + "version": "84.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-love/-/eslint-config-love-84.1.0.tgz", + "integrity": "sha512-nrFAu5fnlAhEvluQ72nR0DG6YZ/7woREmr8QMi69f+ad55LosQ62UKDQw4o9Bwb8ye7deoPm1FTMUorzgL9ZHQ==", "dev": true, "requires": { "eslint-plugin-import": "^2.25.2", diff --git a/package.json b/package.json index f05f313d..aa200f4e 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "commander": "^12.1.0", "esbuild": "^0.24.0", "eslint": "^8.57.1", - "eslint-config-love": "^66.0.0", + "eslint-config-love": "^84.1.0", "eslint-plugin-lit": "^1.15.0", "globals": "^15.10.0", "lit": "^3.2.1", From bb992e29a6c746795aaf5330d9815d5be42e60cd Mon Sep 17 00:00:00 2001 From: John Livingston Date: Tue, 8 Oct 2024 17:23:10 +0200 Subject: [PATCH 2/2] Fix linting according to new rules, and disable buggy rules. --- client/common/admin/firewall/elements/admin-firewall.ts | 4 ++-- .../configuration/elements/channel-configuration.ts | 4 ++-- eslint.config.mjs | 8 ++++++++ server/lib/external-auth/oidc.ts | 1 + server/lib/federation/storage.ts | 1 + server/lib/routers/webchat.ts | 1 + 6 files changed, 15 insertions(+), 4 deletions(-) diff --git a/client/common/admin/firewall/elements/admin-firewall.ts b/client/common/admin/firewall/elements/admin-firewall.ts index 067193f9..7ef0db68 100644 --- a/client/common/admin/firewall/elements/admin-firewall.ts +++ b/client/common/admin/firewall/elements/admin-firewall.ts @@ -103,7 +103,7 @@ export class AdminFirewallElement extends LivechatElement { public readonly getInputValidationClass = (propertyName: string): Record => { const validationErrorTypes: ValidationErrorType[] | undefined = - this.validationError?.properties[`${propertyName}`] + this.validationError?.properties[propertyName] return validationErrorTypes ? (validationErrorTypes.length ? { 'is-invalid': true } : { 'is-valid': true }) : {} } @@ -111,7 +111,7 @@ export class AdminFirewallElement extends LivechatElement { propertyName: string): TemplateResult | typeof nothing => { const errorMessages: TemplateResult[] = [] const validationErrorTypes: ValidationErrorType[] | undefined = - this.validationError?.properties[`${propertyName}`] ?? undefined + this.validationError?.properties[propertyName] ?? undefined // FIXME: this code is duplicated in dymamic table form if (validationErrorTypes && validationErrorTypes.length !== 0) { diff --git a/client/common/configuration/elements/channel-configuration.ts b/client/common/configuration/elements/channel-configuration.ts index 01c5f812..c15038fd 100644 --- a/client/common/configuration/elements/channel-configuration.ts +++ b/client/common/configuration/elements/channel-configuration.ts @@ -115,7 +115,7 @@ export class ChannelConfigurationElement extends LivechatElement { public readonly getInputValidationClass = (propertyName: string): Record => { const validationErrorTypes: ValidationErrorType[] | undefined = - this.validationError?.properties[`${propertyName}`] + this.validationError?.properties[propertyName] return validationErrorTypes ? (validationErrorTypes.length ? { 'is-invalid': true } : { 'is-valid': true }) : {} } @@ -123,7 +123,7 @@ export class ChannelConfigurationElement extends LivechatElement { propertyName: string): TemplateResult | typeof nothing => { const errorMessages: TemplateResult[] = [] const validationErrorTypes: ValidationErrorType[] | undefined = - this.validationError?.properties[`${propertyName}`] ?? undefined + this.validationError?.properties[propertyName] ?? undefined // FIXME: this code is duplicated in dymamic table form if (validationErrorTypes && validationErrorTypes.length !== 0) { diff --git a/eslint.config.mjs b/eslint.config.mjs index 7793adaf..636b1aae 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -71,6 +71,14 @@ export default tseslint.config( '@typescript-eslint/class-methods-use-this': 'off', '@typescript-eslint/non-nullable-type-assertion-style': 'off', '@typescript-eslint/no-magic-numbers': 'off', + + '@typescript-eslint/no-unsafe-member-access': 'off', // FIXME: comes with eslint-config-love 84 update, and should be used. + '@typescript-eslint/no-unsafe-return': 'off', // FIXME: comes with eslint-config-love 84 update, and should be used. + '@typescript-eslint/no-unsafe-assignment': 'off', // FIXME: comes with eslint-config-love 84 update, and should be used. + '@typescript-eslint/no-unsafe-call': 'off', // FIXME: comes with eslint-config-love 84 update, and should be used. + + '@typescript-eslint/no-unnecessary-condition': 'off', // FIXME: comes with eslint-config-love 84 update, but seems buggy (false positive). + 'max-len': [ 'error', { diff --git a/server/lib/external-auth/oidc.ts b/server/lib/external-auth/oidc.ts index 257e27d9..62b16d55 100644 --- a/server/lib/external-auth/oidc.ts +++ b/server/lib/external-auth/oidc.ts @@ -757,6 +757,7 @@ class ExternalAuthOIDC { * @throws Error * @returns the singleton */ + // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents public static singleton (singletonType: ExternalAuthOIDCType | string): ExternalAuthOIDC { if (!singletons) { throw new Error('ExternalAuthOIDC singletons are not initialized yet') diff --git a/server/lib/federation/storage.ts b/server/lib/federation/storage.ts index ab111ad6..9703409a 100644 --- a/server/lib/federation/storage.ts +++ b/server/lib/federation/storage.ts @@ -307,6 +307,7 @@ async function _store (options: RegisterServerOptions, filePath: string, content } } +// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents async function _get (options: RegisterServerOptions, filePath: string): Promise { const logger = options.peertubeHelpers.logger try { diff --git a/server/lib/routers/webchat.ts b/server/lib/routers/webchat.ts index c5c8bd60..f822449b 100644 --- a/server/lib/routers/webchat.ts +++ b/server/lib/routers/webchat.ts @@ -142,6 +142,7 @@ async function initWebchatRouter (options: RegisterServerOptionsV5): Promise