mirror of
https://github.com/dorny/paths-filter.git
synced 2025-06-08 00:59:04 +00:00
Simplify shell escaping - escape chars instead of quoting whole string
This commit is contained in:
parent
44ac6d8e25
commit
ada1eee648
3 changed files with 19 additions and 17 deletions
|
@ -1,7 +1,5 @@
|
|||
// Credits to https://github.com/xxorax/node-shell-escape
|
||||
|
||||
// Uses easy safe set of characters which can be left unescaped to keep it readable.
|
||||
// Every other character will be backslash-escaped
|
||||
export default function shellEscape(value: string): string {
|
||||
return `'${value.replace(/'/g, "'\\''")}'`
|
||||
.replace(/^(?:'')+/g, '') // unduplicate single-quote at the beginning
|
||||
.replace(/\\'''/g, "\\'") // remove non-escaped single-quote if there are enclosed between 2 escaped
|
||||
return value.replace(/([^a-zA-Z0-9,._+:@%/-])/gm, '\\$1')
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue