-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Bug
When a <Command> block uses JSX expression syntax for its command prop (i.e. command={"..."} instead of command="..."), the backend fails to find the component at execution time:
Failed to find component: component not found: create-github-repo
Failed to execute script on the server
Steps to Reproduce
Use a JSX expression for the command prop on a Command block:
<Command
id="create-github-repo"
command={"gh repo create org/repo --private && echo \"Done\""}
title="Create repo"
/>Run the block → error: component not found: create-github-repo
Changing to a plain string attribute works fine:
<Command
id="create-github-repo"
command="gh repo create org/repo --private && echo Done"
title="Create repo"
/>Context
This was encountered when trying to use escaped double quotes (\") inside a command attribute. Plain string attributes (command="...") don't support backslash escapes — the MDX parser rejects \ (U+005C) as an unexpected character in attribute names. The natural workaround is to use a JSX expression (command={"..."}), which supports JS string escapes, but the backend doesn't recognize the component when props are passed this way.
Expected Behavior
JSX expression syntax (command={"..."}) should work identically to plain string syntax (command="...") for component registration and execution.
Workaround
Avoid characters that need escaping in command attributes. For example, use echo Repo created: $REPO_URL instead of echo "Repo created: $REPO_URL".