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 )
)
```
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 b/npm-jsx_whitespace_transform/run.js
similarity index 85%
rename from npm-jsx_whitespace_transform/run
rename to npm-jsx_whitespace_transform/run.js
index 246af42b54..b0dd78dc90 100755
--- a/npm-jsx_whitespace_transform/run
+++ 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;
@@ -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));
}
});
@@ -146,22 +146,24 @@ if (require.main === module) {
);
}
- var absPath = path.resolve(__dirname, 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);
- }
+ });
});
}