From fa34e4a4dc05384723a05086688cde6563e445ce Mon Sep 17 00:00:00 2001 From: Herve Tribouilloy <166377039+digitalrisedorset@users.noreply.github.com> Date: Mon, 28 Sep 2026 22:34:43 +0200 Subject: [PATCH 1/3] fix: configure browser globals for control panel --- eslint.config.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/eslint.config.js b/eslint.config.js index 8afd49b8..b0396f99 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -59,6 +59,15 @@ export default [ } }, + { + files: ["launcher/control-panel/**/*.js"], + languageOptions: { + globals: { + ...globals.browser + } + } + }, + { files: ["services/orchestrator/**/*.{ts,tsx}"], rules: { From 7dcbf24899580e95b6c3ef05bd49d2499840f743 Mon Sep 17 00:00:00 2001 From: Herve Tribouilloy <166377039+digitalrisedorset@users.noreply.github.com> Date: Mon, 28 Sep 2026 22:41:40 +0200 Subject: [PATCH 2/3] fix: resolve behaviour-neutral lint errors --- packages/widget-validation/src/ActiveWidgetVerifier.ts | 7 ++----- services/orchestrator/contract/contract-loader.ts | 1 - services/orchestrator/contract/wrapper.ts | 2 +- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/packages/widget-validation/src/ActiveWidgetVerifier.ts b/packages/widget-validation/src/ActiveWidgetVerifier.ts index 694a9b05..eaa80daf 100644 --- a/packages/widget-validation/src/ActiveWidgetVerifier.ts +++ b/packages/widget-validation/src/ActiveWidgetVerifier.ts @@ -281,7 +281,6 @@ export class ActiveWidgetVerifier { let stderr = ''; let spawnError: string | undefined; let finished = false; - let timeout: ReturnType | undefined; child.stdout.on('data', chunk => { stdout = this.appendOutput( @@ -308,14 +307,12 @@ export class ActiveWidgetVerifier { finished = true; - if (timeout) { - clearTimeout(timeout); - } + clearTimeout(timeout); resolveCommand(commandResult); }; - timeout = setTimeout(() => { + const timeout = setTimeout(() => { this.terminateProcess(child); finish({ diff --git a/services/orchestrator/contract/contract-loader.ts b/services/orchestrator/contract/contract-loader.ts index e6d30433..cca97740 100644 --- a/services/orchestrator/contract/contract-loader.ts +++ b/services/orchestrator/contract/contract-loader.ts @@ -6,7 +6,6 @@ import fs from "fs"; import { getContractPath } from "../build/paths.ts"; import { Report } from "../deployment/report.ts"; import { getFilename } from "../build/util.ts"; -import { validateContract } from "./validator.ts"; import { wrapContract } from "./wrapper.ts"; export async function loadContract( diff --git a/services/orchestrator/contract/wrapper.ts b/services/orchestrator/contract/wrapper.ts index 5d125ffe..e066c182 100644 --- a/services/orchestrator/contract/wrapper.ts +++ b/services/orchestrator/contract/wrapper.ts @@ -25,7 +25,7 @@ export function wrapContract( contract: ContractWrapper ): ContractWrapper { - let resolved = + const resolved = resolveContractTags(contract); return resolved From 0acba3ca6aece05beafd357cfe84fa3cce418507 Mon Sep 17 00:00:00 2001 From: Herve Tribouilloy Date: Mon, 28 Sep 2026 21:59:34 +0100 Subject: [PATCH 3/3] Fixed type import and console warnings --- eslint.config.js | 15 ++++++++++++++- .../contract/data-extractor/images.ts | 2 +- .../contract/data-processor/image-optimiser.ts | 2 +- .../contract/optimiser/validate-images.ts | 4 ++-- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/eslint.config.js b/eslint.config.js index b0396f99..9e37cc8b 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -9,7 +9,6 @@ export default [ ignores: [ "**/node_modules/**", "**/dist/**", - "**/build/**", "**/coverage/**", "**/release/**", "**/workspace/**", @@ -59,6 +58,20 @@ export default [ } }, + { + files: ["services/orchestrator/**/*.{ts,tsx}"], + rules: { + "no-console": "off", + complexity: ["warn", { max: 15 }] + } + }, + { + files: ["widgets/**/*.{ts,tsx}"], + rules: { + "no-console": "error" + } + }, + { files: ["launcher/control-panel/**/*.js"], languageOptions: { diff --git a/services/orchestrator/contract/data-extractor/images.ts b/services/orchestrator/contract/data-extractor/images.ts index 405e2092..22d6e64b 100644 --- a/services/orchestrator/contract/data-extractor/images.ts +++ b/services/orchestrator/contract/data-extractor/images.ts @@ -1,5 +1,5 @@ import path from 'path'; -import {WidgetImageOptimisationConfig} from "@reactedge/framework/contracts/BuildWidgetRegistry.ts"; +import type {WidgetImageOptimisationConfig} from "@reactedge/framework/contracts/BuildWidgetRegistry.ts"; interface ImageReference { src: string; diff --git a/services/orchestrator/contract/data-processor/image-optimiser.ts b/services/orchestrator/contract/data-processor/image-optimiser.ts index 2b36bc06..56990b18 100644 --- a/services/orchestrator/contract/data-processor/image-optimiser.ts +++ b/services/orchestrator/contract/data-processor/image-optimiser.ts @@ -3,7 +3,7 @@ import path from "path"; import https from 'https'; import sharp from 'sharp'; import { getConfig } from "../../deployment/config.ts" -import {WidgetImageOptimisationConfig} from "@reactedge/framework/contracts/buiild/BuildWidgetRegistry.ts"; +import type {WidgetImageOptimisationConfig} from "@reactedge/framework/contracts/buiild/BuildWidgetRegistry.ts"; const MAX_WIDTH = 700; diff --git a/services/orchestrator/contract/optimiser/validate-images.ts b/services/orchestrator/contract/optimiser/validate-images.ts index ad80c34f..0a3a5fa3 100644 --- a/services/orchestrator/contract/optimiser/validate-images.ts +++ b/services/orchestrator/contract/optimiser/validate-images.ts @@ -1,8 +1,8 @@ -import {Report} from "../../deployment/report.ts"; +import type {Report} from "../../deployment/report.ts"; import {ImageExtractor} from "../data-extractor/images.ts"; import {ImageOptimiser} from "../data-processor/image-optimiser.ts"; import {ContractImageTransformer} from "../data-processor/contract-image-transformer.ts"; -import {WidgetImageOptimisationConfig} from "@reactedge/framework/contracts/buiild/BuildWidgetRegistry.ts"; +import type {WidgetImageOptimisationConfig} from "@reactedge/framework/contracts/buiild/BuildWidgetRegistry.ts"; export class ContractImageProcessor {