@sap/cli-core
Version:
Command-Line Interface (CLI) Core Module
29 lines (28 loc) • 935 B
JavaScript
import { readFile, writeFile } from "../cache/index.js";
import { get as getLoggerOrig } from "../logger/index.js";
const SETTINGS_FILE = "settings.json";
const getLogger = () => getLoggerOrig("settings");
export const get = async () => {
try {
return JSON.parse(await readFile(SETTINGS_FILE));
}
catch (err) {
const { debug } = getLogger();
debug("failed to read settings file", err);
return {};
}
};
export const set = async (key, value) => {
const settings = await get();
settings[key] = value;
await writeFile(SETTINGS_FILE, JSON.stringify(settings));
const { debug } = getLogger();
debug(`updated key ${key}, value ${value}`);
};
export const remove = async (key) => {
const settings = await get();
delete settings[key];
await writeFile(SETTINGS_FILE, JSON.stringify(settings));
const { debug } = getLogger();
debug(`removed key ${key}`);
};