From ac1c90e864a3d8de7f994e0cbbdf7645a51e89b6 Mon Sep 17 00:00:00 2001 From: Ben Alpert Date: Thu, 13 Feb 2014 19:01:04 -0800 Subject: [PATCH 1/6] Tweak whitespace README to show other change --- npm-jsx_whitespace_transform/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/npm-jsx_whitespace_transform/README.md b/npm-jsx_whitespace_transform/README.md index 2a789cd367..397dca36f6 100644 --- a/npm-jsx_whitespace_transform/README.md +++ b/npm-jsx_whitespace_transform/README.md @@ -7,7 +7,7 @@ Take this example block: ```js
Monkeys: - +
``` @@ -16,7 +16,7 @@ In 0.8 and below, this would be transformed to the following: ```js React.DOM.div(null, " Monkeys: ", - React.DOM.input( {type:"text"} ) + React.DOM.input( {type:"text"} ), React.DOM.button(null ) ) ``` @@ -25,7 +25,7 @@ In 0.9, this will instead be transformed the following: ```js React.DOM.div(null, "Monkeys:", - React.DOM.input( {type:"text"} ) + React.DOM.input( {type:"text"} ), " ", React.DOM.button(null ) ) ``` From 940c86964d2e7acb8df83eca3c9df08c8aa7c556 Mon Sep 17 00:00:00 2001 From: Ben Alpert Date: Thu, 13 Feb 2014 19:15:24 -0800 Subject: [PATCH 2/6] Rename run to run.js to avoid not-found errors --- npm-jsx_whitespace_transform/{run => run.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename npm-jsx_whitespace_transform/{run => run.js} (100%) diff --git a/npm-jsx_whitespace_transform/run b/npm-jsx_whitespace_transform/run.js similarity index 100% rename from npm-jsx_whitespace_transform/run rename to npm-jsx_whitespace_transform/run.js From 4a76b5275123e861bb0208167d4291e9eabe0cb1 Mon Sep 17 00:00:00 2001 From: Ben Alpert Date: Thu, 13 Feb 2014 19:13:15 -0800 Subject: [PATCH 3/6] Resolve paths relative to pwd, not npm install dir --- npm-jsx_whitespace_transform/run.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npm-jsx_whitespace_transform/run.js b/npm-jsx_whitespace_transform/run.js index 246af42b54..f886cf23ce 100755 --- a/npm-jsx_whitespace_transform/run.js +++ b/npm-jsx_whitespace_transform/run.js @@ -146,7 +146,7 @@ if (require.main === module) { ); } - var absPath = path.resolve(__dirname, argv._[0]); + var absPath = path.resolve(argv._[0]); fs.stat(absPath, function(err, stat) { if (err) throw err; From ecfd0c14739ab8ae65bac4f493b6c3c3548df166 Mon Sep 17 00:00:00 2001 From: Ben Alpert Date: Thu, 13 Feb 2014 19:13:32 -0800 Subject: [PATCH 4/6] Run over *.jsx as well --- npm-jsx_whitespace_transform/run.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npm-jsx_whitespace_transform/run.js b/npm-jsx_whitespace_transform/run.js index f886cf23ce..199f751e16 100755 --- a/npm-jsx_whitespace_transform/run.js +++ b/npm-jsx_whitespace_transform/run.js @@ -35,7 +35,7 @@ function transformDir(dirPath, exclude) { var finder = new FileFinder({ rootFolder: dirPath, filterFunction: function(path, stat) { - return /\.js$/.test(path) && (!exclude || !exclude.test(path)); + return /\.jsx?$/.test(path) && (!exclude || !exclude.test(path)); } }); From 49ddf905b18c8de5dced5cb2bf83008429ec1f25 Mon Sep 17 00:00:00 2001 From: Ben Alpert Date: Thu, 13 Feb 2014 19:13:42 -0800 Subject: [PATCH 5/6] Use graceful-fs to avoid EMFILE errors --- npm-jsx_whitespace_transform/package.json | 1 + npm-jsx_whitespace_transform/run.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/npm-jsx_whitespace_transform/package.json b/npm-jsx_whitespace_transform/package.json index 06803ec55a..de3dfc3c11 100644 --- a/npm-jsx_whitespace_transform/package.json +++ b/npm-jsx_whitespace_transform/package.json @@ -5,6 +5,7 @@ "main": "run.js", "dependencies": { "esprima-fb": "~2001.1001.0-dev-harmony-fb", + "graceful-fs": "~2.0.0", "jstransform": "~2.0.1", "node-find-files": "0.0.2", "optimist": "~0.6.0" diff --git a/npm-jsx_whitespace_transform/run.js b/npm-jsx_whitespace_transform/run.js index 199f751e16..fffa25a740 100755 --- a/npm-jsx_whitespace_transform/run.js +++ b/npm-jsx_whitespace_transform/run.js @@ -2,7 +2,7 @@ var esprima = require('esprima-fb'); var FileFinder = require('node-find-files'); -var fs = require('fs'); +var fs = require('graceful-fs'); var jstransform = require('jstransform'); var path = require('path'); var visitReactTag = require('./transforms/react').visitReactTag; From cc010e3287ebeadf9e9bd51ffae83e20bbc30b23 Mon Sep 17 00:00:00 2001 From: Ben Alpert Date: Thu, 13 Feb 2014 19:14:03 -0800 Subject: [PATCH 6/6] Support transforming multiple files at once --- npm-jsx_whitespace_transform/run.js | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/npm-jsx_whitespace_transform/run.js b/npm-jsx_whitespace_transform/run.js index fffa25a740..b0dd78dc90 100755 --- a/npm-jsx_whitespace_transform/run.js +++ b/npm-jsx_whitespace_transform/run.js @@ -146,22 +146,24 @@ if (require.main === module) { ); } - var absPath = path.resolve(argv._[0]); + argv._.forEach(function(arg) { + var absPath = path.resolve(arg); - fs.stat(absPath, function(err, stat) { - if (err) throw err; + fs.stat(absPath, function(err, stat) { + if (err) throw err; - if (stat.isFile()) { - transformFile(absPath); - } else if (stat.isDirectory()) { - var exclude = null; - if (argv.exclude) { - exclude = new RegExp(argv.exclude); + if (stat.isFile()) { + transformFile(absPath); + } else if (stat.isDirectory()) { + var exclude = null; + if (argv.exclude) { + exclude = new RegExp(argv.exclude); + } + transformDir(absPath, exclude); + } else { + throw new Error('Unknown filesystem node type: ' + absPath); } - transformDir(absPath, exclude); - } else { - throw new Error('Unknown filesystem node type: ' + absPath); - } + }); }); }