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