# core/resolvers/browser.resolver.ts

> 11 lines of code and 2 definitions.

Tree: Bane's Lab Build Scripts
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-resolvers-browser-resolver-ts
Source text: https://banes-lab.com/source/build-scripts/core/resolvers/browser.resolver.ts.txt

Listed in [core/resolvers](https://banes-lab.com/api/source/build-scripts/core/resolvers.md), after [core/resolvers/binding.resolver.ts](https://banes-lab.com/source/build-scripts/core/resolvers/binding.resolver.ts.md) and before [core/resolvers/catalog.resolver.ts](https://banes-lab.com/source/build-scripts/core/resolvers/catalog.resolver.ts.md).

## Definitions

- `browserCandidates` (lexical_declaration, line 4, exported)
- `findBrowser` (lexical_declaration, line 8, exported)

## Contained in

- [core/resolvers](https://banes-lab.com/anatomy/build-scripts/folder-build-scripts-core-resolvers.md)

## Source

```typescript
import { BROWSER_CANDIDATES } from "#configuration/constants/browser.constants";
import { existsSync } from "node:fs";

export const browserCandidates = function browserCandidates(): readonly string[] {
    return BROWSER_CANDIDATES;
};

export const findBrowser = function findBrowser(configured: string | null): string | null {
    if (configured !== null && existsSync(configured)) {
        return configured;
    }
    return BROWSER_CANDIDATES.find((candidate) => existsSync(candidate)) ?? null;
};
```
