UNPKG

markuplint

Version:

A Linter for All Markup Languages.

51 lines (50 loc) 1.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveConfigs = void 0; const file_resolver_1 = require("@markuplint/file-resolver"); async function resolveConfigs(files, options) { var _a; const workspace = (_a = options.workspace) !== null && _a !== void 0 ? _a : process.cwd(); const configs = new Map(); if (options.config) { let configSet; if (typeof options.config === 'string') { configSet = await file_resolver_1.loadConfigFile(options.config); } else { const filePath = `${workspace}/__NO_FILE__`; const _files = new Set([filePath]); configSet = await file_resolver_1.recursiveLoad(options.config, filePath, _files, true); } if (configSet) { for (const file of files) { configs.set(file, configSet); } } } else { let configSetNearbyCWD; for (const file of files) { const configSet = await file_resolver_1.searchConfigFile(file.path); if (configSet) { configs.set(file, configSet); continue; } if (!configSetNearbyCWD) { configSetNearbyCWD = await file_resolver_1.searchConfigFile(workspace); } if (configSetNearbyCWD) { configs.set(file, configSetNearbyCWD); } else if (options.defaultConfig) { configs.set(file, { files: new Set([`${workspace}/__DEFAULT_SET__`]), config: options.defaultConfig, errs: [], }); } } } return configs; } exports.resolveConfigs = resolveConfigs;