From 109bdb0c74584b4368fd64f999e8e7696d54925c Mon Sep 17 00:00:00 2001 From: Saurabh Kumar Bajpai Date: Fri, 31 Jul 2026 14:09:31 +0530 Subject: [PATCH] fix: code quality and safety improvements --- examples/rss-reader/src/index.tsx | 4 ++-- examples/widget-gallery/src/index.ts | 2 +- packages/ui/src/TreeSelect.ts | 4 ++-- scripts/build-registry.ts | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/rss-reader/src/index.tsx b/examples/rss-reader/src/index.tsx index 2b269cb81..529c4fd32 100644 --- a/examples/rss-reader/src/index.tsx +++ b/examples/rss-reader/src/index.tsx @@ -27,12 +27,12 @@ function decodeEntities(value: string): string { return value.replace(/&(#x?[0-9a-fA-F]+|[a-zA-Z]+);/g, (match, entity: string) => { if (entity.startsWith('#x')) { - const codePoint = Number.parseInt(entity.slice(2), 16); + const codePoint = Number.parseInt(entity.slice(2, 10), 16); return Number.isFinite(codePoint) ? String.fromCodePoint(codePoint) : match; } if (entity.startsWith('#')) { - const codePoint = Number.parseInt(entity.slice(1), 10); + const codePoint = Number.parseInt(entity.slice(1, 10), 10); return Number.isFinite(codePoint) ? String.fromCodePoint(codePoint) : match; } diff --git a/examples/widget-gallery/src/index.ts b/examples/widget-gallery/src/index.ts index 57b141244..ec688a7fc 100644 --- a/examples/widget-gallery/src/index.ts +++ b/examples/widget-gallery/src/index.ts @@ -129,7 +129,7 @@ class WidgetGalleryApp extends Widget { } // Tab switching: 1-6 - const num = parseInt(event.key); + const num = parseInt(event.key, 10); if (num >= 1 && num <= 6) { this._switchTab(num - 1); return true; diff --git a/packages/ui/src/TreeSelect.ts b/packages/ui/src/TreeSelect.ts index 652ede256..aabe6cff6 100644 --- a/packages/ui/src/TreeSelect.ts +++ b/packages/ui/src/TreeSelect.ts @@ -182,8 +182,8 @@ function _pathsEqual(a: number[], b: number[]): boolean { function _valuesEqual(a: string[], b: string[]): boolean { if (a.length !== b.length) return false; - const sortedA = [...a].sort(); - const sortedB = [...b].sort(); + const sortedA = [...a].sort((a, b) => a - b); + const sortedB = [...b].sort((a, b) => a - b); for (let i = 0; i < sortedA.length; i++) { if (sortedA[i] !== sortedB[i]) return false; } diff --git a/scripts/build-registry.ts b/scripts/build-registry.ts index f84844538..01abfbde1 100644 --- a/scripts/build-registry.ts +++ b/scripts/build-registry.ts @@ -44,7 +44,7 @@ export function collectDeps(content: string): string[] { const deps = new Set(); let m: RegExpExecArray | null; while ((m = re.exec(content)) !== null) deps.add(m[1]!); - return [...deps].sort(); + return [...deps].sort((a, b) => a - b); } export function toSlug(name: string): string {