Skip to content

Commit

Permalink
Merge pull request #393 from toddbluhm/fix-strip-comments
Browse files Browse the repository at this point in the history
fix(parse-env-file): fix strip comments per PR #333
  • Loading branch information
toddbluhm authored Dec 3, 2024
2 parents e51b320 + 8f5a956 commit 4790a82
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 16 deletions.
10 changes: 2 additions & 8 deletions dist/parse-env-file.js
Original file line number Diff line number Diff line change
Expand Up @@ -85,14 +85,8 @@ export function parseEnvVars(envString) {
* Strips out comments from env file string
*/
export function stripComments(envString) {
const commentsRegex = /(^#.*$)/gim;
let match = commentsRegex.exec(envString);
let newString = envString;
while (match != null) {
newString = newString.replace(match[1], '');
match = commentsRegex.exec(envString);
}
return newString;
const commentsRegex = /(^\s*#.*$)/gim;
return envString.replace(commentsRegex, '');
}
/**
* Strips out newlines from env file string
Expand Down
10 changes: 2 additions & 8 deletions src/parse-env-file.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,14 +94,8 @@ export function parseEnvVars(envString: string): Environment {
* Strips out comments from env file string
*/
export function stripComments(envString: string): string {
const commentsRegex = /(^#.*$)/gim
let match = commentsRegex.exec(envString)
let newString = envString
while (match != null) {
newString = newString.replace(match[1], '')
match = commentsRegex.exec(envString)
}
return newString
const commentsRegex = /(^\s*#.*$)/gim
return envString.replace(commentsRegex, '')
}

/**
Expand Down
5 changes: 5 additions & 0 deletions test/parse-env-file.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@ describe('stripComments', (): void => {
const envString = stripComments('#BOB=COOL\nNODE_ENV=dev\nANSWER=42 AND COUNTING\n#AnotherComment\n')
assert(envString === '\nNODE_ENV=dev\nANSWER=42 AND COUNTING\n\n')
})

it('should not strip out #s from values', (): void => {
const envString = stripComments('#\nBOB=COMMENT#ELL\n#\nNODE_ENV=dev\nANSWER=42 AND COUNTING\n#AnotherComment\n')
assert(envString === '\nBOB=COMMENT#ELL\n\nNODE_ENV=dev\nANSWER=42 AND COUNTING\n\n', envString)
})
})

describe('parseEnvVars', (): void => {
Expand Down

0 comments on commit 4790a82

Please sign in to comment.