From c90bd5cb2f111cef24c44a660680b235e380801b Mon Sep 17 00:00:00 2001 From: danielpeintner Date: Tue, 7 Oct 2025 11:47:48 +0200 Subject: [PATCH 1/2] refactor: activate rule no-unused-private-class-members but turn off for some exceptions --- eslint.config.mjs | 2 +- packages/core/src/consumed-thing.ts | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 752c49bbd..21d4e3524 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -135,7 +135,7 @@ export default defineConfig([ "no-use-before-define": "error", - "no-unused-private-class-members": "off", // https://github.com/eclipse-thingweb/node-wot/issues/1430 + "no-unused-private-class-members": "error", "no-prototype-builtins": "off", "no-case-declarations": "off", diff --git a/packages/core/src/consumed-thing.ts b/packages/core/src/consumed-thing.ts index 0feb684b5..1a762633b 100644 --- a/packages/core/src/consumed-thing.ts +++ b/packages/core/src/consumed-thing.ts @@ -65,7 +65,9 @@ export interface ClientAndForm { } class ConsumedThingProperty extends ThingProperty implements ThingProperty, BaseSchema { + // eslint-disable-next-line no-unused-private-class-members #name: string; + // eslint-disable-next-line no-unused-private-class-members #thing: ConsumedThing; constructor(name: string, thing: ConsumedThing) { @@ -77,7 +79,9 @@ class ConsumedThingProperty extends ThingProperty implements ThingProperty, Base } class ConsumedThingAction extends ThingAction implements ThingAction { + // eslint-disable-next-line no-unused-private-class-members #name: string; + // eslint-disable-next-line no-unused-private-class-members #thing: ConsumedThing; constructor(name: string, thing: ConsumedThing) { @@ -89,7 +93,9 @@ class ConsumedThingAction extends ThingAction implements ThingAction { } class ConsumedThingEvent extends ThingEvent { + // eslint-disable-next-line no-unused-private-class-members #name: string; + // eslint-disable-next-line no-unused-private-class-members #thing: ConsumedThing; constructor(name: string, thing: ConsumedThing) { From 04d17fee9e852cf2e131465f5ac35682bbeb1be4 Mon Sep 17 00:00:00 2001 From: danielpeintner Date: Mon, 1 Dec 2025 15:30:13 +0100 Subject: [PATCH 2/2] refactor: remove unused private members --- packages/core/src/consumed-thing.ts | 36 +++++------------------------ 1 file changed, 6 insertions(+), 30 deletions(-) diff --git a/packages/core/src/consumed-thing.ts b/packages/core/src/consumed-thing.ts index 1a762633b..7676ddc15 100644 --- a/packages/core/src/consumed-thing.ts +++ b/packages/core/src/consumed-thing.ts @@ -65,44 +65,20 @@ export interface ClientAndForm { } class ConsumedThingProperty extends ThingProperty implements ThingProperty, BaseSchema { - // eslint-disable-next-line no-unused-private-class-members - #name: string; - // eslint-disable-next-line no-unused-private-class-members - #thing: ConsumedThing; - - constructor(name: string, thing: ConsumedThing) { + constructor() { super(); - - this.#name = name; - this.#thing = thing; } } class ConsumedThingAction extends ThingAction implements ThingAction { - // eslint-disable-next-line no-unused-private-class-members - #name: string; - // eslint-disable-next-line no-unused-private-class-members - #thing: ConsumedThing; - - constructor(name: string, thing: ConsumedThing) { + constructor() { super(); - - this.#name = name; - this.#thing = thing; } } class ConsumedThingEvent extends ThingEvent { - // eslint-disable-next-line no-unused-private-class-members - #name: string; - // eslint-disable-next-line no-unused-private-class-members - #thing: ConsumedThing; - - constructor(name: string, thing: ConsumedThing) { + constructor() { super(); - - this.#name = name; - this.#thing = thing; } } @@ -404,15 +380,15 @@ export default class ConsumedThing extends Thing implements IConsumedThing { extendInteractions(): void { for (const [propertyName, property] of Object.entries(this.properties)) { - const newProp = Helpers.extend(property, new ConsumedThingProperty(propertyName, this)); + const newProp = Helpers.extend(property, new ConsumedThingProperty()); this.properties[propertyName] = newProp; } for (const [actionName, action] of Object.entries(this.actions)) { - const newAction = Helpers.extend(action, new ConsumedThingAction(actionName, this)); + const newAction = Helpers.extend(action, new ConsumedThingAction()); this.actions[actionName] = newAction; } for (const [eventName, event] of Object.entries(this.events)) { - const newEvent = Helpers.extend(event, new ConsumedThingEvent(eventName, this)); + const newEvent = Helpers.extend(event, new ConsumedThingEvent()); this.events[eventName] = newEvent; } }