From e9902febfd848a81932888b10070eb0db010ae12 Mon Sep 17 00:00:00 2001 From: Asaki Yuki Date: Wed, 25 Feb 2026 18:07:24 +0700 Subject: [PATCH] check valid name & namespace --- src/components/UI.ts | 10 ++++++++-- src/components/Utils.ts | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/components/UI.ts b/src/components/UI.ts index 74acfda..76b661f 100644 --- a/src/components/UI.ts +++ b/src/components/UI.ts @@ -71,13 +71,19 @@ export class UI extends Class ) { super() - if (name === "namespace") { + if (name && !/^\p{L}+$/u.test(name)) { + throw new Error("Invalid name") + } else if (name === "namespace") { console.error("The 'namespace' cannot be used as a name") process.exit(1) } + if (namespace && !/^\p{L}+$/u.test(namespace)) { + throw new Error("Invalid namespace") + } + if (isNotObfuscate || !(allowObfuscate ?? true)) { - this.name = name?.match(/^(\w|\/)+/)?.[0] || RandomString(16) + this.name = name || RandomString(16) this.namespace = namespace || defaultNamespace || RandomNamespace() } else { this.name = RandomString(16) diff --git a/src/components/Utils.ts b/src/components/Utils.ts index 1d9715b..fbf67ff 100644 --- a/src/components/Utils.ts +++ b/src/components/Utils.ts @@ -154,6 +154,7 @@ export function ResolveBinding(cache: Map, ...bindings: Binding export let defaultNamespace: string | null = null export function SetDefaultNamespace(input: string) { + if (!/\p{L}+/u.test(input)) throw new Error("Invalid namespace") defaultNamespace = input } export function ClearDefaultNamespace() {