Skip to content

panzi/cpp-dotenv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C++ Implementation of dotenv NPM Package

This is an attempt to replicate the exact parsing behavior of the dotenv npm package in C++. It only implements the parser of the dotenv package, not of the dotenv-expand package, which would add variable substitution.

In particular this is (or attempts to be) compatible with this version of main.js.

This was written so it maybe could be included in NodeJS as a better compatible version of the dotenv parser. See this issue for context.

Compile and run a test that compares the output of the JavaScript dotenv implementation with this one:

make test

Only compile debug build:

make

Produces the file: target/debug/dotenv

Release build:

make BUILD_TYPE=release

Produces the file: target/release/dotenv

This includes a simple starter program. Usage:

usage: ./build/debug/dotenv [--file=PATH] [--replace] [--overwrite] [--] [command args...]

Positional arguments:
    command    The command to run.
               If no command is provided the constructed environment will be printed.
    args...    Arguments to the command.

Options:
    -f, --file=PATH    Use this file instead of ".env".
    -r, --replace      Construct an entirely new environment.
    -o, --overwrite    Overwrite already defined environment variables.
    -0, --print0       If the environment is printed use NUL bytes instead of new lines.

About

C++ re-implementation of JavaScript dotenv

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published