Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion src/lib/run-dev.js
Original file line number Diff line number Diff line change
Expand Up @@ -545,7 +545,10 @@ function interpolate (valueString, props) {
// replace ${VAR_NAME}, $VAR_NAME, or {VAR_NAME} with values from props, but not if they are enclosed in quotes
// if key is not found on props, the value is returned as is (no replacement)
const retStr = valueString.replace(/(?<!['"`])\$\{(\w+)\}(?!['"`])|(?<!['"`])\$(\w+)(?!['"`])|(?<!['"`])\{(\w+)\}(?!['"`])/g,
(_, varName1, varName2, varName3) => props[varName1 || varName2 || varName3] || _)
(_, varName1, varName2, varName3) => {
const varName = varName1 || varName2 || varName3
return Object.prototype.hasOwnProperty.call(props, varName) ? props[varName] : ''
})
return retStr
}

Expand Down
2 changes: 1 addition & 1 deletion test/lib/run-dev.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ describe('createActionParametersFromRequest', () => {
justDollar: 'value is world',
mustache: 'value is world',
literal: 'value is literally "${mustache}" and "{mustache}"',
doesNotExist: 'value is ${doesNotExist}'
doesNotExist: 'value is '
})
delete process.env.mustache
})
Expand Down