# @aws-sdk/shared-ini-file-loader

> [![NPM version](https://img.shields.io/npm/v/@aws-sdk/shared-ini-file-loader/latest.svg)](https://www.npmjs.com/package/@aws-sdk/shared-ini-file-loader) [![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/shared-ini-file-loader.svg)](https://www.npmj

Latest version **3.374.0** (published 2023-07-20) · Apache-2.0 license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install @aws-sdk/shared-ini-file-loader
pnpm add @aws-sdk/shared-ini-file-loader
yarn add @aws-sdk/shared-ini-file-loader
bun add @aws-sdk/shared-ini-file-loader
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 3.374.0 |
| Published | 2023-07-20 |
| First published | 2018-11-19 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=14.0.0 |
| Dependencies | 2 |
| Unpacked size | 15.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3670 |
| Author | AWS SDK for JavaScript Team |
| Maintainers | mattsb42-aws, kuhe, amzn-oss, aws-sdk-bot, trivikr-aws |

## Links

- npm: https://www.npmjs.com/package/@aws-sdk/shared-ini-file-loader
- Repository: https://github.com/aws/aws-sdk-js-v3
- Homepage: https://github.com/aws/aws-sdk-js-v3/tree/main/packages/shared-ini-file-loader
- Issues: https://github.com/aws/aws-sdk-js-v3/issues
- npm.io page: https://npm.io/package/@aws-sdk/shared-ini-file-loader

## Dependencies (2)

- [tslib](https://npm.io/package/tslib.md) ^2.5.0
- [@smithy/shared-ini-file-loader](https://npm.io/package/@smithy/shared-ini-file-loader.md) ^1.0.1

## Recent versions

- 3.374.0 (latest) — 2023-07-20
- 1.0.0-rc.9 (rc) — 2020-12-12
- 1.0.0-gamma.8 (gamma) — 2020-10-07
- 1.0.0-beta.4 (beta) — 2020-04-27
- 1.0.0-alpha.3 (alpha) — 2020-03-20
- 0.1.0-preview.3 (preview) — 2019-09-09
- 3.370.0 — 2023-07-13
- 3.369.0 — 2023-07-11
- 3.357.0 — 2023-06-21
- 3.354.0 — 2023-06-16
- 3.347.0 — 2023-06-06
- 3.342.0 — 2023-05-30
- 3.341.0 — 2023-05-26
- 3.338.0 — 2023-05-23
- 3.337.0 — 2023-05-22
- … 96 more at https://npm.io/package/@aws-sdk/shared-ini-file-loader/versions

## README

# @aws-sdk/shared-ini-file-loader

[![NPM version](https://img.shields.io/npm/v/@aws-sdk/shared-ini-file-loader/latest.svg)](https://www.npmjs.com/package/@aws-sdk/shared-ini-file-loader)
[![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/shared-ini-file-loader.svg)](https://www.npmjs.com/package/@aws-sdk/shared-ini-file-loader)

## AWS Shared Configuration File Loader

This module provides a function that reads from AWS SDK configuration files and
returns a promise that will resolve with a hash of the parsed contents of the
AWS credentials file and of the AWS config file. Given the [sample
files](#sample-files) below, the promise returned by `loadSharedConfigFiles`
would resolve with:

```javascript
{
  configFile: {
    'default': {
      aws_access_key_id: 'foo',
      aws_secret_access_key: 'bar',
    },
    dev: {
      aws_access_key_id: 'foo1',
      aws_secret_access_key: 'bar1',
    },
    prod: {
      aws_access_key_id: 'foo2',
      aws_secret_access_key: 'bar2',
    },
    'testing host': {
      aws_access_key_id: 'foo4',
      aws_secret_access_key: 'bar4',
    }
  },
  credentialsFile: {
    'default': {
      aws_access_key_id: 'foo',
      aws_secret_access_key: 'bar',
    },
    dev: {
      aws_access_key_id: 'foo1',
      aws_secret_access_key: 'bar1',
    },
    prod: {
      aws_access_key_id: 'foo2',
      aws_secret_access_key: 'bar2',
    }
  },
}
```

If a file is not found, its key (`configFile` or `credentialsFile`) will instead
have a value of an empty object.

## Supported configuration

You may customize how the files are loaded by providing an options hash to the
`loadSharedConfigFiles` function. The following options are supported:

- `filepath` - The path to the shared credentials file. If not specified, the
  provider will use the value in the `AWS_SHARED_CREDENTIALS_FILE` environment
  variable or a default of `~/.aws/credentials`.
- `configFilepath` - The path to the shared config file. If not specified, the
  provider will use the value in the `AWS_CONFIG_FILE` environment variable or a
  default of `~/.aws/config`.
- `ignoreCache` - The provider will normally cache the contents of the files it
  loads. This option will force the provider to reload the files from disk.
  Defaults to `false`.

## Sample files

### `~/.aws/credentials`

```ini
[default]
aws_access_key_id=foo
aws_secret_access_key=bar

[dev]
aws_access_key_id=foo2
aws_secret_access_key=bar2

[prod]
aws_access_key_id=foo3
aws_secret_access_key=bar3
```

### `~/.aws/config`

```ini
[default]
aws_access_key_id=foo
aws_secret_access_key=bar

[profile dev]
aws_access_key_id=foo2
aws_secret_access_key=bar2

[profile prod]
aws_access_key_id=foo3
aws_secret_access_key=bar3

[profile "testing host"]
aws_access_key_id=foo4
aws_secret_access_key=bar4
```

---
_Source: https://npm.io/package/@aws-sdk/shared-ini-file-loader · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
