]> Piment Noir Git Repositories - e-mobility-charging-stations-simulator.git/commitdiff
refactor(ui-common): remove UIServerConfig alias, single canonical name
authorJérôme Benoit <jerome.benoit@sap.com>
Thu, 16 Apr 2026 17:07:53 +0000 (19:07 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Thu, 16 Apr 2026 17:07:53 +0000 (19:07 +0200)
UIServerConfigurationSection is the only exported name for the UI server
config type. The UIServerConfig alias added for backward compat is removed;
CLI consumers (loader.ts, lifecycle.ts) migrated to the canonical name.
README updated accordingly.

ui/cli/src/client/lifecycle.ts
ui/cli/src/config/loader.ts
ui/common/README.md
ui/common/src/config/schema.ts

index 00fc109352408f89f164ea45ebff93f91e01477c..b4e3d7bbf9c21b2fda453619c51fd14ba5719879 100644 (file)
@@ -5,7 +5,7 @@ import {
   type RequestPayload,
   type ResponsePayload,
   UI_WEBSOCKET_REQUEST_TIMEOUT_MS,
-  type UIServerConfig,
+  type UIServerConfigurationSection,
   WebSocketClient,
   type WebSocketFactory,
 } from 'ui-common'
@@ -24,7 +24,7 @@ let activeSpinner: null | ReturnType<typeof ora> | undefined
 let cleanupInProgress = false
 
 export interface ExecuteOptions {
-  config: UIServerConfig
+  config: UIServerConfigurationSection
   formatter: Formatter
   payload: RequestPayload
   procedureName: ProcedureName
index 914b5a4df9f6aa894fa2c1909ae45244b1ff55d0..9b1c6473767648514f2b359d8284e3cee4305abd 100644 (file)
@@ -2,7 +2,7 @@ import { readFile } from 'node:fs/promises'
 import { homedir } from 'node:os'
 import { join } from 'node:path'
 import process from 'node:process'
-import { type UIServerConfig, uiServerConfigSchema } from 'ui-common'
+import { uiServerConfigSchema, type UIServerConfigurationSection } from 'ui-common'
 
 import {
   DEFAULT_HOST,
@@ -47,7 +47,9 @@ const readJsonFile = async (filePath: string): Promise<unknown> => {
   return JSON.parse(content) as unknown
 }
 
-const loadConfigFile = async (configPath?: string): Promise<Partial<UIServerConfig>> => {
+const loadConfigFile = async (
+  configPath?: string
+): Promise<Partial<UIServerConfigurationSection>> => {
   const targetPath = configPath ?? getXdgConfigPath()
   try {
     const raw = await readJsonFile(targetPath)
@@ -60,7 +62,7 @@ const loadConfigFile = async (configPath?: string): Promise<Partial<UIServerConf
       if (typeof uiServer !== 'object') {
         throw new Error('Config uiServer must be an object')
       }
-      return uiServer as Partial<UIServerConfig>
+      return uiServer as Partial<UIServerConfigurationSection>
     }
     throw new Error(`Config file '${targetPath}' must contain a JSON object`)
   } catch (error: unknown) {
@@ -76,8 +78,10 @@ const loadConfigFile = async (configPath?: string): Promise<Partial<UIServerConf
   }
 }
 
-export const loadConfig = async (options: LoadConfigOptions = {}): Promise<UIServerConfig> => {
-  const defaults: UIServerConfig = {
+export const loadConfig = async (
+  options: LoadConfigOptions = {}
+): Promise<UIServerConfigurationSection> => {
+  const defaults: UIServerConfigurationSection = {
     host: DEFAULT_HOST,
     port: DEFAULT_PORT,
     protocol: DEFAULT_PROTOCOL,
@@ -87,7 +91,7 @@ export const loadConfig = async (options: LoadConfigOptions = {}): Promise<UISer
 
   const fileConfig = await loadConfigFile(options.configPath)
 
-  const cliOverrides: Partial<UIServerConfig> = {}
+  const cliOverrides: Partial<UIServerConfigurationSection> = {}
   if (options.url != null) {
     const parsed = parseServerUrl(options.url)
     cliOverrides.host = parsed.host
index 3ef5f22c4e2964e0e19ea7f8f051e296da3d2b33..af2212a81ca13e5aa3daad4300eadff7c0230f25 100644 (file)
@@ -16,8 +16,7 @@ import type {
   ServerNotification, // enum — 'refresh'
   ProtocolRequest, // [UUIDv4, ProcedureName, RequestPayload]
   ProtocolResponse, // [UUIDv4, ResponsePayload]
-  UIServerConfigurationSection, // UI server config interface
-  UIServerConfig, // Zod-inferred UI server config type
+  UIServerConfigurationSection, // UI server config type (Zod-inferred)
   Configuration, // Full config type (single or multiple servers)
   UUIDv4, // Branded UUID type
   JsonType, // JSON value type
index c94d57f78d3aa192f54305b726361a654d9e1cbc..8ec002025ed4dc1fbb7b0c9a0fea06c4429d801d 100644 (file)
@@ -39,5 +39,4 @@ export const configurationSchema = z.object({
 })
 
 export type Configuration = z.infer<typeof configurationSchema>
-export type UIServerConfig = UIServerConfigurationSection
 export type UIServerConfigurationSection = z.infer<typeof uiServerConfigSchema>