# `@contrast/config`

<br>

> Note: This package needs help.
>  * Needlessly dependent on `commander`, `lodash`, and `json-stable-stringify`
>  * Can be simplified
>  * Could benefit from schema-based approach for defaults

<br>

## Overview

This is legacy code ported from `node-agent` repo.

To discover and log configuration data, try

```shell
node -e "console.log(new (require('.').Config)())"
```

## Usage

An agent should use a single instance of a config. On instantiation, the config will detect both yaml file and environment variable sources and build out full config object. The object will have defaults set for values not having been set by file or env vars.

```typescript
const { AgentConfig } = require('@contrast/config');
const config = new AgentConfig();

// do stuff with config
if (config.protect.enable) {

}
```

## New V5 Options

 - `agent.stack_trace_filters`

   This allows agent stackframes to be filtered via configuration
   Default: `agent-,@contrast,node-agent`



