From 67fe13deacec69177d1db77ad9661d81bac8ef0a Mon Sep 17 00:00:00 2001 From: MiaoWoo Date: Thu, 7 Jul 2022 00:51:10 +0800 Subject: [PATCH] fix: migrate config error Signed-off-by: MiaoWoo --- packages/plugin/src/config.ts | 41 +++++++++++++++-------------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/packages/plugin/src/config.ts b/packages/plugin/src/config.ts index 42bc226c..0ef79688 100644 --- a/packages/plugin/src/config.ts +++ b/packages/plugin/src/config.ts @@ -68,30 +68,25 @@ export class PluginConfigManager { private loadConfig0(plugin: plugin.Plugin, metadata: interfaces.ConfigMetadata) { try { let defaultValue = metadata.default ?? plugin[metadata.variable] - let configValue = defaultValue || {} - if (defaultValue) { - metadata.file = fs.concat( - fs.file(plugin.description.loadMetadata.file).parent, - plugin.description.name, - metadata.filename - ) - let configLoader = this.getConfigLoader(metadata.format) - if (!fs.exists(metadata.file)) { - base.save(metadata.file, configLoader.dump(defaultValue)) - console.i18n("ms.plugin.manager.config.save.default", { - plugin: plugin.description.name, - name: metadata.name, - format: metadata.format - }) - } else if (metadata.migrate) { - configValue = configLoader.load(base.read(metadata.file)) || {} - if (defaultValue && this.setDefaultValue(configValue, defaultValue, !!metadata.default)) { - base.save(metadata.file, configLoader.dump(configValue)) - } - console.debug(`[${plugin.description.name}] Load Config ${metadata.variable} from file ${metadata.file} => -${JSON.stringify(configValue, undefined, 4).substring(0, 500)}`) - } + metadata.file = fs.concat( + fs.file(plugin.description.loadMetadata.file).parent, + plugin.description.name, + metadata.filename + ) + let configLoader = this.getConfigLoader(metadata.format) + if (!fs.exists(metadata.file) && defaultValue) { + base.save(metadata.file, configLoader.dump(defaultValue)) + console.i18n("ms.plugin.manager.config.save.default", { + plugin: plugin.description.name, + name: metadata.name, + format: metadata.format + }) } + let configValue = configLoader.load(base.read(metadata.file)) || {} + if (metadata.migrate && defaultValue && this.setDefaultValue(configValue, defaultValue, !!metadata.default)) { + base.save(metadata.file, configLoader.dump(configValue)) + } + console.debug(`[${plugin.description.name}] Load Config ${metadata.variable} from file ${metadata.file}`) this.defienConfigProp(plugin, metadata, configValue) } catch (error: any) { console.i18n("ms.plugin.manager.config.load.error", {