@samitouri / QOS-React-2 / commits / 31359e9962

Add more useful ES6 transforms to jsx-internal.

cpojer committed Dec 4, 2013 at 12:58 UTC 31359e99623e11c6cab9094b92a1895cecc4ce70
2 files changed +16 -4
bin/jsx-internal
+2 -2
@@ -2,7 +2,7 @@
2 // -*- mode: js -*-
3 "use strict";
4
5 -var visitors = require('../vendor/fbtransform/visitors').transformVisitors;
5 +var getVisitorsList = require('../vendor/fbtransform/visitors').getVisitorsList;
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(visitors.react, source).code;
34 + source = transform(getVisitorsList(), source).code;
35
36 // Constant propagation means removing any obviously dead code after
37 // replacing constant expressions with literal (boolean) values.
vendor/fbtransform/visitors.js
+14 -2
@@ -1,5 +1,9 @@
1 /*global exports:true*/
2 -var es6Classes = require('jstransform/visitors/es6-class-visitors').visitorList;
2 +var es6ArrowFunctions = require('jstransform/visitors/es6-arrow-function-visitors');
3 +var es6Classes = require('jstransform/visitors/es6-class-visitors');
4 +var es6ObjectShortNotation = require('jstransform/visitors/es6-object-short-notation-visitors');
5 +var es6RestParameters = require('jstransform/visitors/es6-rest-param-visitors');
6 +var es6Templates = require('jstransform/visitors/es6-template-visitors');
7 var react = require('./transforms/react');
8 var reactDisplayName = require('./transforms/reactDisplayName');
9
@@ -7,7 +11,11 @@ var reactDisplayName = require('./transforms/reactDisplayName');
11 * Map from transformName => orderedListOfVisitors.
12 */
13 var transformVisitors = {
10 - 'es6-classes': es6Classes,
14 + 'es6-arrow-functions': es6ArrowFunctions.visitorList,
15 + 'es6-classes': es6Classes.visitorList,
16 + 'es6-object-short-notation': es6ObjectShortNotation.visitorList,
17 + 'es6-rest-params': es6RestParameters.visitorList,
18 + 'es6-templates': es6Templates.visitorList,
19 'react': [
20 react.visitReactTag,
21 reactDisplayName.visitReactDisplayName
@@ -18,7 +26,11 @@ var transformVisitors = {
26 * Specifies the order in which each transform should run.
27 */
28 var transformRunOrder = [
29 + 'es6-arrow-functions',
30 + 'es6-object-short-notation',
31 'es6-classes',
32 + 'es6-rest-params',
33 + 'es6-templates',
34 'react'
35 ];
36