Save current BZZZ config-ui state before CHORUS branding update
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
		
							
								
								
									
										47
									
								
								install/config-ui/node_modules/cross-spawn/lib/util/escape.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								install/config-ui/node_modules/cross-spawn/lib/util/escape.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,47 @@ | ||||
| 'use strict'; | ||||
|  | ||||
| // See http://www.robvanderwoude.com/escapechars.php | ||||
| const metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g; | ||||
|  | ||||
| function escapeCommand(arg) { | ||||
|     // Escape meta chars | ||||
|     arg = arg.replace(metaCharsRegExp, '^$1'); | ||||
|  | ||||
|     return arg; | ||||
| } | ||||
|  | ||||
| function escapeArgument(arg, doubleEscapeMetaChars) { | ||||
|     // Convert to string | ||||
|     arg = `${arg}`; | ||||
|  | ||||
|     // Algorithm below is based on https://qntm.org/cmd | ||||
|     // It's slightly altered to disable JS backtracking to avoid hanging on specially crafted input | ||||
|     // Please see https://github.com/moxystudio/node-cross-spawn/pull/160 for more information | ||||
|  | ||||
|     // Sequence of backslashes followed by a double quote: | ||||
|     // double up all the backslashes and escape the double quote | ||||
|     arg = arg.replace(/(?=(\\+?)?)\1"/g, '$1$1\\"'); | ||||
|  | ||||
|     // Sequence of backslashes followed by the end of the string | ||||
|     // (which will become a double quote later): | ||||
|     // double up all the backslashes | ||||
|     arg = arg.replace(/(?=(\\+?)?)\1$/, '$1$1'); | ||||
|  | ||||
|     // All other backslashes occur literally | ||||
|  | ||||
|     // Quote the whole thing: | ||||
|     arg = `"${arg}"`; | ||||
|  | ||||
|     // Escape meta chars | ||||
|     arg = arg.replace(metaCharsRegExp, '^$1'); | ||||
|  | ||||
|     // Double escape meta chars if necessary | ||||
|     if (doubleEscapeMetaChars) { | ||||
|         arg = arg.replace(metaCharsRegExp, '^$1'); | ||||
|     } | ||||
|  | ||||
|     return arg; | ||||
| } | ||||
|  | ||||
| module.exports.command = escapeCommand; | ||||
| module.exports.argument = escapeArgument; | ||||
		Reference in New Issue
	
	Block a user
	 anthonyrawlins
					anthonyrawlins