# home-config

> Simple library for managing a config file in a user's home dir.

Latest version **0.1.0** (published 2014-10-20) · MIT license · 0 weekly downloads

## Install

```sh
npm install home-config
pnpm add home-config
yarn add home-config
bun add home-config
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.0 |
| Published | 2014-10-20 |
| First published | 2014-09-05 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| Author | James Nylen |
| Maintainers | nylen |
| Keywords | home, config, application, settings |

## Links

- npm: https://www.npmjs.com/package/home-config
- Repository: https://github.com/nylen/home-config
- Issues: https://github.com/nylen/home-config/issues
- npm.io page: https://npm.io/package/home-config

## Dependencies (1)

- [ini](https://npm.io/package/ini.md) ~1.2.1

## Alternatives

- [jsforce](https://npm.io/package/jsforce.md) — 851.2K weekly downloads
- [react-native-qrcode-svg](https://npm.io/package/react-native-qrcode-svg.md) — 693.5K weekly downloads
- [@salesforce/plugin-data](https://npm.io/package/@salesforce/plugin-data.md) — 394.9K weekly downloads
- [@backstage/plugin-search-common](https://npm.io/package/@backstage/plugin-search-common.md) — 308.5K weekly downloads
- [@chain-registry/types](https://npm.io/package/@chain-registry/types.md) — 38.4K weekly downloads

## Recent versions

- 0.1.0 (latest) — 2014-10-20
- 0.0.3 — 2014-09-14
- 0.0.2 — 2014-09-05
- 0.0.1 — 2014-09-05

## README

# home-config [![Build status](http://img.shields.io/travis/nylen/home-config.svg?style=flat)](https://travis-ci.org/nylen/home-config) [![npm package](http://img.shields.io/npm/v/home-config.svg?style=flat)](https://www.npmjs.org/package/home-config)

This Node.js module provides an easy way to read and write configuration files in
a user's home directory, where many Linux applications store configuration
files.

To install it: `npm install home-config`

The home directory is `process.env.HOME`, unless you are on Windows, in which
case it is `process.env.USERPROFILE`.

Configuration files are stored in ini format as parsed by
[isaacs/ini](https://github.com/isaacs/ini).  `key = value` lines work, and
`[section]` appears as an object with any properties under it as keys.

## Usage

Basic usage is to require the module and call `.load()` with your desired
config filename:

```js
var cfg = require('home-config').load('.myapprc');

// or

var cfg = require('home-config').load('.myapprc', {
    optionName : 'defaultValue'
});
```

You can make changes then save your config file (but any user comments or
indentation will be removed):

```js
cfg.section = {
    property : 'x'
};

cfg.save();

// or

cfg.save('some-other-filename');
```

The following top-level config key names are prohibited and will not be saved
or loaded:
- `save`
- `getAll`
- `__filename`

Finally, this package is designed to work with config files in the current
user's home directory, but all filenames are passed to
[`path.resolve`](http://nodejs.org/api/path.html#path_path_resolve_from_to), so
if you pass an absolute path to `.load()` or `.save()` then it will be used
as-is.

---
_Source: https://npm.io/package/home-config · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
