sortier
Version:
An opinionated code sorter
27 lines (26 loc) • 946 B
JavaScript
import { cosmiconfigSync } from "cosmiconfig";
import { LogUtils, LoggerVerboseOption } from "../utilities/log-utils.js";
/**
* Resolves and loads the closest sortier config to the filepath provided
* @param filepath
* @returns The loaded options or a default options object
*/
export function resolveOptions(filepath) {
const explorer = cosmiconfigSync("sortier", { searchStrategy: "global" });
const result = explorer.search(filepath);
const config = result?.config || {};
const options = config;
// Set the LogUtils verbosity based on options
switch (options?.logLevel) {
case "diagnostic":
LogUtils.setVerbosity(LoggerVerboseOption.Diagnostic);
break;
case "quiet":
LogUtils.setVerbosity(LoggerVerboseOption.Quiet);
break;
default:
LogUtils.setVerbosity(LoggerVerboseOption.Normal);
break;
}
return options;
}