From 10a29aa95438d1f65739fa91b608f29779c2d5c1 Mon Sep 17 00:00:00 2001 From: Janic Duplessis Date: Thu, 19 Jan 2017 16:23:32 -0800 Subject: [PATCH] Support copy to clipboard on Windows Summary: Also fix lint errors about Buffer being undefined by adding env: node to the eslint config for local-cli. Tested on windows 10. Closes https://github.com/facebook/react-native/pull/11959 Differential Revision: D4438903 Pulled By: hramos fbshipit-source-id: 28d5edd662dd1e63dedf1274ff0a21af4df84f5e --- local-cli/.eslintrc | 3 +++ local-cli/server/util/copyToClipBoard.js | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/local-cli/.eslintrc b/local-cli/.eslintrc index 58ef8ed6106af8..dbc1c54dbc349e 100644 --- a/local-cli/.eslintrc +++ b/local-cli/.eslintrc @@ -2,5 +2,8 @@ "rules": { "extra-arrow-initializer": 0, "no-console-disallow": 0 + }, + "env": { + "node": true } } diff --git a/local-cli/server/util/copyToClipBoard.js b/local-cli/server/util/copyToClipBoard.js index a04887c313aa74..d7016bae7bcaae 100644 --- a/local-cli/server/util/copyToClipBoard.js +++ b/local-cli/server/util/copyToClipBoard.js @@ -13,7 +13,7 @@ var spawn = child_process.spawn; /** * Copy the content to host system clipboard. - * This is only supported on Mac for now. + * This is only supported on Mac and Windows for now. */ function copyToClipBoard(content) { switch (process.platform) { @@ -21,6 +21,10 @@ function copyToClipBoard(content) { var child = spawn('pbcopy', []); child.stdin.end(new Buffer(content, 'utf8')); return true; + case 'win32': + var child = spawn('clip', []); + child.stdin.end(new Buffer(content, 'utf8')); + return true; default: return false; }