@samitouri / QOS-React-2 / commits / 8dbc530d1c

Add --harmony option to jsx.

cpojer committed Jan 3, 2014 at 00:51 UTC 8dbc530d1cee38289bea0e3e61f4ff89f7340e47
4 files changed +19 -10
bin/jsx
+14 -5
@@ -2,14 +2,23 @@
2 // -*- mode: js -*-
3 "use strict";
4
5 -var visitors = require('../vendor/fbtransform/visitors').transformVisitors;
5 +var visitors = require('../vendor/fbtransform/visitors');
6 var transform = require('jstransform').transform;
7
8 -require("commoner").version(
9 - require("../package.json").version
8 +require('commoner').version(
9 + require('../package.json').version
10 ).resolve(function(id) {
11 return this.readModuleP(id);
12 -}).process(function(id, source) {
12 +}).option(
13 + '--harmony',
14 + 'Turns on JS transformations such as ES6 Classes etc.'
15 +).process(function(id, source) {
16 // This is where JSX, ES6, etc. desugaring happens.
14 - return transform(visitors.react, source).code;
17 + var visitorList;
18 + if (this.options.harmony) {
19 + visitorList = visitors.getAllVisitors();
20 + } else {
21 + visitorList = visitors.transformVisitors.react;
22 + }
23 + return transform(visitorList, source).code;
24 });
bin/jsx-internal
+2 -2
@@ -2,7 +2,7 @@
2 // -*- mode: js -*-
3 "use strict";
4
5 -var getVisitorsList = require('../vendor/fbtransform/visitors').getVisitorsList;
5 +var getAllVisitors = require('../vendor/fbtransform/visitors').getAllVisitors;
6 var transform = require('jstransform').transform;
7 var propagate = require("../vendor/constants").propagate;
8
@@ -31,7 +31,7 @@ require("commoner").version(
31 var constants = context.config.constants || {};
32
33 // This is where JSX, ES6, etc. desugaring happens.
34 - source = transform(getVisitorsList(), source).code;
34 + source = transform(getAllVisitors(), source).code;
35
36 // Constant propagation means removing any obviously dead code after
37 // replacing constant expressions with literal (boolean) values.
package.json
+1 -1
@@ -33,7 +33,7 @@
33 "url": "https://github.com/facebook/react"
34 },
35 "dependencies": {
36 - "commoner": "~0.8.12",
36 + "commoner": "~0.8.13",
37 "esprima-fb": "~2001.1001.0-dev-harmony-fb",
38 "jstransform": "~2.0.2"
39 },
vendor/fbtransform/visitors.js
+2 -2
@@ -41,7 +41,7 @@ var transformRunOrder = [
41 * @param {array?} excludes
42 * @return {array}
43 */
44 -function getVisitorsList(excludes) {
44 +function getAllVisitors(excludes) {
45 var ret = [];
46 for (var i = 0, il = transformRunOrder.length; i < il; i++) {
47 if (!excludes || excludes.indexOf(transformRunOrder[i]) === -1) {
@@ -51,5 +51,5 @@ function getVisitorsList(excludes) {
51 return ret;
52 }
53
54 -exports.getVisitorsList = getVisitorsList;
54 +exports.getAllVisitors = getAllVisitors;
55 exports.transformVisitors = transformVisitors;