Skip to content

Commit 31359e9

Browse files
committed
Add more useful ES6 transforms to jsx-internal.
1 parent 66f6cba commit 31359e9

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

bin/jsx-internal

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// -*- mode: js -*-
33
"use strict";
44

5-
var visitors = require('../vendor/fbtransform/visitors').transformVisitors;
5+
var getVisitorsList = require('../vendor/fbtransform/visitors').getVisitorsList;
66
var transform = require('jstransform').transform;
77
var propagate = require("../vendor/constants").propagate;
88

@@ -31,7 +31,7 @@ require("commoner").version(
3131
var constants = context.config.constants || {};
3232

3333
// This is where JSX, ES6, etc. desugaring happens.
34-
source = transform(visitors.react, source).code;
34+
source = transform(getVisitorsList(), source).code;
3535

3636
// Constant propagation means removing any obviously dead code after
3737
// replacing constant expressions with literal (boolean) values.

vendor/fbtransform/visitors.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,21 @@
11
/*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');
37
var react = require('./transforms/react');
48
var reactDisplayName = require('./transforms/reactDisplayName');
59

610
/**
711
* Map from transformName => orderedListOfVisitors.
812
*/
913
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,
1119
'react': [
1220
react.visitReactTag,
1321
reactDisplayName.visitReactDisplayName
@@ -18,7 +26,11 @@ var transformVisitors = {
1826
* Specifies the order in which each transform should run.
1927
*/
2028
var transformRunOrder = [
29+
'es6-arrow-functions',
30+
'es6-object-short-notation',
2131
'es6-classes',
32+
'es6-rest-params',
33+
'es6-templates',
2234
'react'
2335
];
2436

0 commit comments

Comments
 (0)