# core/factories/exclusions.factory.ts

> 6 lines of code and 1 definition.

Tree: GovLab Quality
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/quality#file-quality-core-factories-exclusions-factory-ts
Source text: https://banes-lab.com/source/quality/core/factories/exclusions.factory.ts.txt

Listed in [core/factories](https://banes-lab.com/api/source/quality/core/factories.md), after [core/factories/eslint.setup.factory.ts](https://banes-lab.com/source/quality/core/factories/eslint.setup.factory.ts.md) and before [core/factories/finding.factory.ts](https://banes-lab.com/source/quality/core/factories/finding.factory.ts.md).

## Definitions

- `excludeMatcher` (lexical_declaration, line 6, exported)

## Contained in

- [core/factories](https://banes-lab.com/anatomy/quality/folder-quality-core-factories.md)

## Uses

- [core/loaders/config.loader.ts](https://banes-lab.com/source/quality/core/loaders/config.loader.ts.md)
- [core/matchers/exclusions.matcher.ts](https://banes-lab.com/source/quality/core/matchers/exclusions.matcher.ts.md)
- [core/selectors/exclusions.selector.ts](https://banes-lab.com/source/quality/core/selectors/exclusions.selector.ts.md)

## Linked from

- [core/loaders](https://banes-lab.com/anatomy/quality/folder-quality-core-loaders.md)
- [core/matchers](https://banes-lab.com/anatomy/quality/folder-quality-core-matchers.md)
- [core/selectors](https://banes-lab.com/anatomy/quality/folder-quality-core-selectors.md)

## Source

```typescript
import type { PathExclusion } from "#types/exclusions.types";
import { loadGovlabConfig } from "#core/loaders/config.loader";
import { masterExcludeMarkers } from "#core/selectors/exclusions.selector";
import { pathExclusion } from "#core/matchers/exclusions.matcher";

export const excludeMatcher = async (root: string, tool?: string): Promise<PathExclusion> =>
    pathExclusion(root, masterExcludeMarkers(await loadGovlabConfig(root), tool));
```
