Repository navigation
v0.3.2
drush-mcp v0.3.2
Fixes
-
SSH and docker transports no longer mangle
!in arguments. Both transports quoted every argument withshell-quote'squote(), which picks a double-quoted form for values containing both a single quote and whitespace and then escapes!as\!. Bash only honours a backslash before$, backtick,",\and newline inside double quotes, so the backslash survived verbatim in the non-interactive shell thatsshspawns.Two things broke:
drupal_php_evalfailed to parse any code mixing!==,!=or!$xwith a single-quoted PHP string, because the remote received\!==.- Bridge JSON payloads (
drupal_entity_create,drupal_entity_update) holding an apostrophe anywhere plus an exclamation mark stored the stray backslash into the content, with no error. Portuguese text was a reliable trigger.
Replaced with a POSIX single-quote wrapper (
transport/shell.ts), where the shell treats every character literally and only the quote itself needs splicing. Thelocaltransport was never affected: it passes argv straight toexecFilewith no shell in between. -
Drops the
shell-quotedependency.
Install
npm install -g @bloomidea/drush-mcp@0.3.2