Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ulrikstrid/reenv
dotenv-cli implementation in native ReasonML providing near-instant startup times
https://github.com/ulrikstrid/reenv
binary dotenv dotenv-safe fast reasonml
Last synced: 5 days ago
JSON representation
dotenv-cli implementation in native ReasonML providing near-instant startup times
- Host: GitHub
- URL: https://github.com/ulrikstrid/reenv
- Owner: ulrikstrid
- License: mit
- Created: 2019-02-24T21:37:38.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2021-01-19T21:43:54.000Z (about 4 years ago)
- Last Synced: 2024-11-26T11:49:14.711Z (2 months ago)
- Topics: binary, dotenv, dotenv-safe, fast, reasonml
- Language: Reason
- Homepage:
- Size: 168 KB
- Stars: 65
- Watchers: 5
- Forks: 3
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# reenv
[![Build Status](https://dev.azure.com/strid/reenv/_apis/build/status/ulrikstrid.reenv?branchName=master)](https://dev.azure.com/strid/reenv/_build/latest?definitionId=27&branchName=master)
[dotenv-cli](https://github.com/entropitor/dotenv-cli) implementation in native ReasonML. The goal is to have feature parity with [dotenv](https://github.com/motdotla/dotenv) but be implemented in Reason. If there is a feature missing please log an issue.
reenv is compiled as a binary and there is no node involved when running it as you can see in the [benchmarks section](#simple-benchmarks).
## Installation
reenv is available on all mainstream desktop platforms (Windows, macOS and Linux) and is installable via `npm`.
`npm install -g reenv`
## Usage
```
NAME
reenv - Read dotenv file(s) and supply them to the program.SYNOPSIS
reenv [OPTION]... COMMAND [ARGS]...ARGUMENTS
ARGS
Arguments passed to the command.COMMAND (required)
Command to runOPTIONS
-e FILE, --env-file=FILE
The .env files to read variables from.--help[=FMT] (default=auto)
Show this help in format FMT. The value FMT must be one of `auto',
`pager', `groff' or `plain'. With `auto', the format is `pager` or
`plain' whenever the TERM env var is `dumb' or undefined.-s FILE, --safe=FILE
The .env file with keys that need to be provided.--version
Show version information.EXIT STATUS
reenv exits with the following status:0 on success.
124 on command line parsing errors.
125 on unexpected internal errors (bugs).
EXAMPLES
To pass flags to the command you are executing, use -- before your
command. reenv -e .env -- ls --all.BUGS
File an issue at https://github.com/ulrikstrid/reenv/issues
```### example
`reenv -e .env -e .env.dev node index.js`
## simple benchmarks
```
Ulriks-MBP:reenv ulrik$ time TEST=hello printenv TEST
helloreal 0m0.004s
user 0m0.001s
sys 0m0.003s
Ulriks-MBP:reenv ulrik$ time reenv -e test/fixtures/.env printenv TEST
hello world!real 0m0.008s
user 0m0.003s
sys 0m0.003s
Ulriks-MBP:reenv ulrik$ time dotenv -e test/fixtures/.env printenv TEST
hello world!real 0m0.088s
user 0m0.067s
sys 0m0.018s
```## Developing:
```
npm install -g esy pesy
git clone
esy install
esy build
```### Running Binary:
After building the project, you can run the main binary that is produced.
```
esy x reenv
```### Running Tests:
```
# Runs the "test" command in `package.json`.
esy test
```