# env-files-diff

> Parse env files to typescript

Latest version **0.0.2** (published 2023-08-19) · MIT license · 0 weekly downloads

## Install

```sh
npm install env-files-diff
pnpm add env-files-diff
yarn add env-files-diff
bun add env-files-diff
```

## Health

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

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.2 |
| Published | 2023-08-19 |
| First published | 2023-08-19 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 11.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Maintainers | ppdx999 |

## Links

- npm: https://www.npmjs.com/package/env-files-diff
- Repository: https://github.com/ppdx999/deno-env-diff
- Homepage: https://github.com/ppdx999/deno-env-diff#readme
- Issues: https://github.com/ppdx999/deno-env-diff/issues
- npm.io page: https://npm.io/package/env-files-diff

## Recent versions

- 0.0.2 (latest) — 2023-08-19
- 0.0.1 — 2023-08-19

## README

# deno-env-diff

show diff of .env files

# Usage

## precondition
```sh
$ cat .env
env='env'
env2='env2'
env3='env3'
env_and_sample='env_and_sample-in-env'
env_and_sample2='env_and_sample-in-env2'

$ cat .env.sample
sample='sample'
sample2='sample2'
sample3='sample3'
env_and_sample='env-and-sample-in-sample'
env_and_sample2='env_and_sample-in-sample2'
```


## cli

```sh
$ deno run --allow-read=. cli.ts  fixture/.env fixture/.env.sample
Keys that exist in .env.sample but not in .env: sample, sample2, sample3
Keys that exist in .env but not in .env.sample: env, env2, env3
```


## codes

```ts
import { parse } from "https://raw.githubusercontent.com/ppdx999/deno-env-parser/main/mod.ts";
import {diff, mkMsg} from  "https://raw.githubusercontent.com/ppdx999/deno-env-diff/main/mod.ts"

/* if you use node.

run `npm i env-files-parser env-files-diff` and import like below

import { parse } from "env-files-parser";
import {diff, mkMsg} from  "env-files-diff"

*/

const env = await Deno.readTextFile('.env');
const sample = await Deno.readTextFile('.env.sample');

const result = diff(parseEnv(env), parseEnv(sample));
// result is like this. [['sample', sample1', sample2'], ['env', 'env1', 'env2']

const msg = mkMsg(result, { aPath, bPath });
// msg is like this.
// Keys that exist in .env.sample but not in .env: sample, sample2, sample3
// Keys that exist in .env but not in .env.sample: env, env2, env3


if (msg) {
  console.log(msg);
}
```

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