craft-hub / UserConfigService
Class: UserConfigService
Defined in: packages/craft-hub/src/user-config.ts:64
Own JSONC persistence, migration, diagnostics, and recovery for portable user configuration.
Callers provide domain validation while this module preserves comments and last-known-good values.
Constructors
Constructor
new UserConfigService(
configDir,dataDir):UserConfigService
Defined in: packages/craft-hub/src/user-config.ts:73
Parameters
configDir
string
dataDir
string
Returns
UserConfigService
Properties
configDir
readonlyconfigDir:string
Defined in: packages/craft-hub/src/user-config.ts:73
Methods
close()
close():
Promise<void>
Defined in: packages/craft-hub/src/user-config.ts:216
Stop watching user configuration files.
Returns
Promise<void>
list()
list(
directory?):Promise<string[]>
Defined in: packages/craft-hub/src/user-config.ts:78
List user-authored JSONC files under one portable configuration subdirectory.
Parameters
directory?
string = ''
Returns
Promise<string[]>
onChanged()
onChanged(
listener): () =>void
Defined in: packages/craft-hub/src/user-config.ts:187
Subscribe to external changes under the portable configuration directory.
Parameters
listener
() => void
Returns
() => void
read()
read<
T>(relativePath,validate,fallback?):Promise<T>
Defined in: packages/craft-hub/src/user-config.ts:95
Read and validate one JSONC file, retaining its last valid value after invalid external edits.
Type Parameters
T
T
Parameters
relativePath
string
validate
Validator<T>
fallback?
() => T
Returns
Promise<T>
readSource()
readSource<
T>(relativePath,validate,fallback?):Promise<UserConfigDocument<T>>
Defined in: packages/craft-hub/src/user-config.ts:100
Read validated data together with the exact JSONC used for optimistic revisions.
Type Parameters
T
T
Parameters
relativePath
string
validate
Validator<T>
fallback?
() => T
Returns
Promise<UserConfigDocument<T>>
remove()
remove(
relativePath):Promise<void>
Defined in: packages/craft-hub/src/user-config.ts:161
Remove one portable file and its machine-local recovery snapshot.
Parameters
relativePath
string
Returns
Promise<void>
startWatching()
startWatching():
Promise<void>
Defined in: packages/craft-hub/src/user-config.ts:193
Watch JSONC files after completing the one-time YAML migration.
Returns
Promise<void>
status()
status():
Promise<UserConfigStatus>
Defined in: packages/craft-hub/src/user-config.ts:170
Return current paths and diagnostics without exposing machine-local recovery content.
Returns
Promise<UserConfigStatus>
write()
write<
T>(relativePath,value,schemaUrl,keys,validate):Promise<void>
Defined in: packages/craft-hub/src/user-config.ts:137
Atomically update known top-level fields while preserving comments and extension data.
Type Parameters
T
T
Parameters
relativePath
string
value
T
schemaUrl
string
keys
string[]
validate
Validator<T>
Returns
Promise<void>