Skip to content
  • Ryan Hendrickson's avatar
    fix: add more carets to win32 command arguments · 45965ca6
    Ryan Hendrickson authored
    As previously documented and implemented, Puka assumed that all programs
    are batch files for the purpose of multi-escaping commands that appear
    in pipelines. However, regardless of whether a command is in a pipeline,
    one extra layer of escaping is needed if the command invokes a batch
    file, which Puka was not producing. This only applies to the arguments
    to the command, not to the batch file path, nor to paths used in
    redirects. (The property-based spawn test which was supposed to catch
    such oversights missed this one because it was invoking the Node.js
    executable directly, not, as recommended in the documentation, a batch
    file.)
    
    Going forward, the caveats described in the documentation continue to
    apply: if you are running programs on Windows with Puka, make sure they
    are batch files, or you may find arguments are being escaped with too
    many carets. As the documentation says, if this causes problems for you,
    please open an issue so we can work out the details of what a good
    workaround looks like.
    45965ca6