fix(parse-env-file): fix strip comments per PR #333

This commit is contained in:
Todd Bluhm 2024-12-03 05:59:31 -09:00
parent e51b3207c6
commit 8f5a956844
No known key found for this signature in database
GPG Key ID: 9CF312607477B8AB
3 changed files with 9 additions and 16 deletions

View File

@ -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

View File

@ -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, '')
}
/**

View File

@ -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 => {