diff --git a/utils.js b/utils.js index e11afd6..b382cb4 100644 --- a/utils.js +++ b/utils.js @@ -1,4 +1,3 @@ -//@ts-check const defaultGroups = { 'accessor-pairs': [{ 'accessorPair': true, 'sort': 'alphabetical' }], 'accessors': [{ 'kind': 'get', 'accessorPair': false, 'sort': 'alphabetical' }, { 'kind': 'set', 'accessorPair': false, 'sort': 'alphabetical' }], @@ -36,16 +35,23 @@ export const getSortMemberRules = (order, groups) => { }; }; +function isGlobalIgnores(config) { + const keys = Object.keys(config); + return keys.length === 1 && keys[0] === 'ignores'; +} + export function setDirectoryConfigs(globalConfig, directoryConfigs) { const configs = globalConfig.map(c => ({ ...c })); for (const dir in directoryConfigs) { const pattern = `${dir}/**/*`; for (const baseConfig of configs) { + if (isGlobalIgnores(baseConfig)) continue; if (!(baseConfig.ignores)) baseConfig.ignores = []; baseConfig.ignores.push(pattern); } for (const dirConfig of directoryConfigs[dir]) { + if (isGlobalIgnores(dirConfig)) continue; const files = dirConfig.files ? dirConfig.files.map(f => `${dir}/${f}`) : [pattern]; configs.push({ ...dirConfig, @@ -59,6 +65,7 @@ export function setDirectoryConfigs(globalConfig, directoryConfigs) { export function addExtensions(config, extensions) { return config.map(c => { + if (isGlobalIgnores(c)) return c; const newFiles = []; for (const f of (c.files ?? ['**/*'])) { if (f.includes('.')) newFiles.push(f);