fix(config): allow get on config properties without key
This commit is contained in:
@@ -12,7 +12,7 @@ export default command({
|
||||
const { mode, keyValue: keyValues } = argv._;
|
||||
|
||||
if (mode === 'get') {
|
||||
const config = await getConfig();
|
||||
const config = await getConfig({}, true);
|
||||
for (const key of keyValues) {
|
||||
if (hasOwn(config, key)) {
|
||||
console.log(`${key}=${config[key as keyof typeof config]}`);
|
||||
|
||||
@@ -104,14 +104,24 @@ const readConfigFile = async (): Promise<RawConfig> => {
|
||||
return ini.parse(configString);
|
||||
};
|
||||
|
||||
export const getConfig = async (cliConfig?: RawConfig): Promise<ValidConfig> => {
|
||||
export const getConfig = async (
|
||||
cliConfig?: RawConfig,
|
||||
suppressErrors?: boolean,
|
||||
): Promise<ValidConfig> => {
|
||||
const config = await readConfigFile();
|
||||
const parsedConfig: Record<string, unknown> = {};
|
||||
|
||||
for (const key of Object.keys(configParsers) as ConfigKeys[]) {
|
||||
const parser = configParsers[key];
|
||||
const value = cliConfig?.[key] ?? config[key];
|
||||
parsedConfig[key] = parser(value);
|
||||
|
||||
if (suppressErrors) {
|
||||
try {
|
||||
parsedConfig[key] = parser(value);
|
||||
} catch {}
|
||||
} else {
|
||||
parsedConfig[key] = parser(value);
|
||||
}
|
||||
}
|
||||
|
||||
return parsedConfig as ValidConfig;
|
||||
|
||||
Reference in New Issue
Block a user