Skip to content

Commit

Permalink
src: fix env-file flag to ignore spaces before quotes
Browse files Browse the repository at this point in the history
Fix to ignore spaces between '=' and quoted string in env file

Fixes: nodejs#53461

Signed-off-by: Mohit Malhotra <dev.mohitmalhotra@gmail.com>
PR-URL: nodejs#53786
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
  • Loading branch information
MOHIT51196 authored and ehsankhfr committed Jul 18, 2024
1 parent 16941c3 commit ac892dd
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/node_dotenv.cc
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ void Dotenv::ParseContent(const std::string_view input) {
key = content.substr(0, equal);
content.remove_prefix(equal + 1);
key = trim_spaces(key);
content = trim_spaces(content);

if (key.empty()) {
break;
Expand Down
1 change: 1 addition & 0 deletions test/fixtures/dotenv/valid.env
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ RETAIN_INNER_QUOTES={"foo": "bar"}
RETAIN_INNER_QUOTES_AS_STRING='{"foo": "bar"}'
RETAIN_INNER_QUOTES_AS_BACKTICKS=`{"foo": "bar's"}`
TRIM_SPACE_FROM_UNQUOTED= some spaced out string
SPACE_BEFORE_DOUBLE_QUOTES= "space before double quotes"
EMAIL=therealnerdybeast@example.tld
SPACED_KEY = parsed
EDGE_CASE_INLINE_COMMENTS="VALUE1" # or "VALUE2" or "VALUE3"
Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-dotenv.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,3 +80,5 @@ assert.strictEqual(process.env.DONT_EXPAND_UNQUOTED, 'dontexpand\\nnewlines');
assert.strictEqual(process.env.DONT_EXPAND_SQUOTED, 'dontexpand\\nnewlines');
// Ignore export before key
assert.strictEqual(process.env.EXPORT_EXAMPLE, 'ignore export');
// Ignore spaces before double quotes to avoid quoted strings as value
assert.strictEqual(process.env.SPACE_BEFORE_DOUBLE_QUOTES, 'space before double quotes');

0 comments on commit ac892dd

Please sign in to comment.