Allow --debug-check to work with stdin (#2013)

* Allow --debug-check to work with stdin

This makes it easier to quickly test formatting code snippets with e.g.

    pbpaste | prettier --debug-check

Before, the following would happen:

    $ pbpaste | prettier --debug-check
    stdin: TypeError: Invalid data, chunk must be a string or buffer, not undefined
        at WriteStream.Socket.write (net.js:693:11)
        at writeOutput (/Users/josephfrazier/workspace/prettier/bin/prettier.js:375:18)
        at getStdin.then.input (/Users/josephfrazier/workspace/prettier/bin/prettier.js:275:7)
        at <anonymous>
        at process._tickCallback (internal/process/next_tick.js:169:7)
    $

Now, it looks like this:

    $ pbpaste | prettier --debug-check
    (stdin)
    $

* Test that --debug-check still prints filenames

See https://github.com/prettier/prettier/pull/2013#discussion_r120499306
This commit is contained in:
Joseph Frazier authored and Christopher Chedeau committed 2017-06-06 16:10:24 -07:00
1 parent b20437ad13
commit 552ceb30e8
3 files changed
+18 -5

No files matched your search

+2 -3
View File
@@ -202,7 +202,7 @@ function format(input, opt) {
diff(input, pp);
}
}
return {};
return { formatted: opt.filepath || "(stdin)\n" };
}
return prettier.formatWithCursor(input, opt);
@@ -280,7 +280,7 @@ if (stdin) {
});
} else {
eachFilename(filepatterns, filename => {
if (write || argv["debug-check"]) {
if (write) {
// Don't use `console.log` here since we need to replace this line.
process.stdout.write(filename);
}
@@ -358,7 +358,6 @@ if (stdin) {
}
}
} else if (argv["debug-check"]) {
process.stdout.write("\n");
if (output) {
console.log(output);
} else {