feat(appdata): Add support for overwriting keys using the overwriteObject option in AppData
This commit is contained in:
@ -1,8 +1,8 @@
|
||||
/**
|
||||
* autocreated commitinfo by @pushrocks/commitinfo
|
||||
* autocreated commitinfo by @push.rocks/commitinfo
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@push.rocks/npmextra',
|
||||
version: '5.0.23',
|
||||
version: '5.1.0',
|
||||
description: 'A utility to enhance npm with additional configuration, tool management capabilities, and a key-value store for project setups.'
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ export interface IAppDataOptions<T = any> {
|
||||
* kvStoreKey: 'MY_ENV_VAR'
|
||||
*/
|
||||
envMapping?: plugins.tsclass.typeFest.PartialDeep<T>;
|
||||
overwriteObject?: plugins.tsclass.typeFest.PartialDeep<T>;
|
||||
}
|
||||
|
||||
export class AppData<T = any> {
|
||||
@ -175,6 +176,11 @@ export class AppData<T = any> {
|
||||
for (const key in this.options.envMapping) {
|
||||
await processEnvMapping(key as keyof T, this.options.envMapping[key]);
|
||||
}
|
||||
|
||||
for (const key in Object.keys(this.options.overwriteObject)) {
|
||||
console.log(`-> heads up: overwriting key ${key} from options.overwriteObject`);
|
||||
await this.kvStore.writeKey(key as keyof T, this.options.overwriteObject[key]);
|
||||
}
|
||||
}
|
||||
|
||||
this.readyDeferred.resolve();
|
||||
|
Reference in New Issue
Block a user