Add ShellEscape node for safe string escaping in shell commands#61
Open
Nickalus12 wants to merge 1 commit intoSerpent-Tools:mainfrom
Open
Add ShellEscape node for safe string escaping in shell commands#61Nickalus12 wants to merge 1 commit intoSerpent-Tools:mainfrom
Nickalus12 wants to merge 1 commit intoSerpent-Tools:mainfrom
Conversation
vivax3794
requested changes
Apr 2, 2026
Contributor
vivax3794
left a comment
There was a problem hiding this comment.
Did you explore much of the codebase before working on this? It seems to be putting the code in a rather strange place, and inventing imports.
If you are unsure how the codebase works feel free to ask questions here, or join the discord linked in the repo description.
Author
|
You're right, I didn't explore the codebase thoroughly enough before writing this. I see the nodes should live in |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add a new
ShellEscapenode that takes a string input and produces a safe, POSIX-compliant shell-escaped output. This uses single quotes around the string and properly escapes any internal single quotes to prevent shell injection attacks in command construction (e.g., replacingExec+Joinpatterns).The implementation includes a helper for escaping and handles the empty string case. A unit test suite covers common scenarios: empty strings, spaces, single quotes, and newlines. A brief example is added to the nodes README.
Fixes #50