diff --git a/lib/6to5/transform.js b/lib/6to5/transform.js
index a85dd1f37d..1fdae6e52f 100644
--- a/lib/6to5/transform.js
+++ b/lib/6to5/transform.js
@@ -96,9 +96,6 @@ transform.transformers = {
unicodeRegex: require("./transformers/unicode-regex"),
generators: require("./transformers/generators"),
- react: require("./transformers/react"),
- jsx: require("./transformers/jsx"),
-
_aliasFunctions: require("./transformers/_alias-functions"),
_blockHoist: require("./transformers/_block-hoist"),
_declarations: require("./transformers/_declarations"),
diff --git a/lib/6to5/transformers/jsx/index.js b/lib/6to5/transformers/jsx/index.js
deleted file mode 100644
index f3e6477421..0000000000
--- a/lib/6to5/transformers/jsx/index.js
+++ /dev/null
@@ -1,99 +0,0 @@
-// Based upon the excellent jsx-transpiler by Ingvar Stepanyan (RReverser)
-// https://github.com/RReverser/jsx-transpiler
-
-var esutils = require("esutils");
-var b = require("recast").types.builders;
-var _ = require("lodash");
-
-var JSX_ANNOTATION_REGEX = /^\*\s*@jsx\s+([^\s]+)/;
-var KNOWN_TAGS = require("./known-tags");
-
-exports.Program = function (node, parent, file) {
- var jsx = "React.DOM";
-
- // looking for namespace annotation
- _.each(node.comments, function (comment) {
- if (!comment.possiblyLeading) return;
-
- var matches = JSX_ANNOTATION_REGEX.exec(comment.value);
- if (matches) jsx = matches[1];
- });
-
- // prebuilding AST node
- file.jsx = jsx.split(".").map(b.identifier).reduce(function (object, property) {
- return b.memberExpression(object, property, false);
- });
-};
-
-exports.XJSIdentifier = function (node) {
- if (esutils.keyword.isIdentifierName(node.name)) {
- node.type = "Identifier";
- } else {
- return b.literal(node.name);
- }
-};
-
-exports.XJSNamespacedName = function () {
- throw new Error("Namespace tags are not supported. ReactJSX is not XML.");
-};
-
-exports.XJSMemberExpression = {
- exit: function (node) {
- node.computed = node.property.type === "Literal";
- node.type = "MemberExpression";
- }
-};
-
-exports.XJSEmptyExpression = function (node) {
- node.value = null;
- node.type = "Literal";
-};
-
-exports.XJSExpressionContainer = function (node) {
- return node.expression;
-};
-
-exports.XJSAttribute = {
- exit: function (node) {
- var value = node.value || b.literal(true);
- var propNode = b.property("init", node.name, value);
- propNode.loc = node.loc;
- return propNode;
- }
-};
-
-exports.XJSOpeningElement = {
- exit: function (node, parent, file) {
- var tagExpr = node.name;
-
- if (_.contains(KNOWN_TAGS, tagExpr.name)) {
- tagExpr = b.memberExpression(file.jsx, tagExpr, false);
- }
-
- var props = node.attributes;
- if (props.length) {
- props = b.objectExpression(props);
- } else {
- props = b.literal(null);
- }
-
- return b.callExpression(tagExpr, [props]);
- }
-};
-
-exports.XJSElement = {
- exit: function (node) {
- var callExpr = node.openingElement;
- var children = node.children;
- var args = callExpr.arguments;
-
- switch (children.length) {
- case 0: break;
- case 1: args.push(children[0]); break;
- default: args.push(b.arrayExpression(children));
- }
-
- callExpr.loc = node.loc;
- return callExpr;
- }
-};
diff --git a/lib/6to5/transformers/jsx/known-tags.json b/lib/6to5/transformers/jsx/known-tags.json
deleted file mode 100644
index 5a530c5bb9..0000000000
--- a/lib/6to5/transformers/jsx/known-tags.json
+++ /dev/null
@@ -1,132 +0,0 @@
-[
- "a",
- "abbr",
- "address",
- "applet",
- "area",
- "article",
- "aside",
- "audio",
- "b",
- "base",
- "bdi",
- "bdo",
- "big",
- "blockquote",
- "body",
- "br",
- "button",
- "canvas",
- "caption",
- "circle",
- "cite",
- "code",
- "col",
- "colgroup",
- "command",
- "data",
- "datalist",
- "dd",
- "defs",
- "del",
- "details",
- "dfn",
- "dialog",
- "div",
- "dl",
- "dt",
- "ellipse",
- "em",
- "embed",
- "fieldset",
- "figcaption",
- "figure",
- "footer",
- "form",
- "g",
- "h1",
- "h2",
- "h3",
- "h4",
- "h5",
- "h6",
- "head",
- "header",
- "hgroup",
- "hr",
- "html",
- "i",
- "iframe",
- "img",
- "input",
- "ins",
- "kbd",
- "keygen",
- "label",
- "legend",
- "li",
- "line",
- "linearGradient",
- "link",
- "main",
- "map",
- "mark",
- "marquee",
- "menu",
- "menuitem",
- "meta",
- "meter",
- "nav",
- "noscript",
- "object",
- "ol",
- "optgroup",
- "option",
- "output",
- "p",
- "param",
- "path",
- "polygon",
- "polyline",
- "pre",
- "progress",
- "q",
- "radialGradient",
- "rect",
- "rp",
- "rt",
- "ruby",
- "s",
- "samp",
- "script",
- "section",
- "select",
- "small",
- "source",
- "span",
- "stop",
- "strong",
- "style",
- "sub",
- "summary",
- "sup",
- "svg",
- "table",
- "tbody",
- "td",
- "text",
- "textarea",
- "tfoot",
- "th",
- "thead",
- "time",
- "title",
- "tr",
- "track",
- "tspan",
- "u",
- "ul",
- "var",
- "video",
- "wbr"
-]
diff --git a/lib/6to5/transformers/react.js b/lib/6to5/transformers/react.js
deleted file mode 100644
index 9a413abba7..0000000000
--- a/lib/6to5/transformers/react.js
+++ /dev/null
@@ -1,63 +0,0 @@
-var b = require("recast").types.builders;
-var _ = require("lodash");
-
-var addDisplayName = function (id, call) {
- if (!call || call.type !== "CallExpression") return;
-
- var callee = call.callee;
- if (callee.type !== "MemberExpression") return;
-
- // not React
- var obj = callee.object;
- if (obj.type !== "Identifier" || obj.name !== "React") return;
-
- // not createClass
- var prop = callee.property;
- if (prop.type !== "Identifier" || prop.name !== "createClass") return;
-
- // no arguments
- var args = call.arguments;
- if (args.length !== 1) return;
-
- // not an object
- var first = args[0];
- if (first.type !== "ObjectExpression") return;
-
- var props = first.properties;
- var safe = true;
-
- _.each(props, function (prop) {
- if (prop.key.name === "displayName") {
- return safe = false;
- }
- });
-
- if (safe) {
- props.unshift(b.property("init", b.identifier("displayName"), b.literal(id)));
- }
-};
-
-exports.AssignmentExpression =
-exports.Property =
-exports.VariableDeclarator = function (node) {
- var left, right;
-
- if (node.type === "AssignmentExpression") {
- left = node.left;
- right = node.right;
- } else if (node.type === "Property") {
- left = node.key;
- right = node.value;
- } else if (node.type === "VariableDeclarator") {
- left = node.id;
- right = node.init;
- }
-
- if (left && left.type === "MemberExpression") {
- left = left.property;
- }
-
- if (left && left.type === "Identifier") {
- addDisplayName(left.name, right);
- }
-};
diff --git a/test/fixtures/syntax/jsx/annotation/actual.js b/test/fixtures/syntax/jsx/annotation/actual.js
deleted file mode 100644
index 2412fb7b42..0000000000
--- a/test/fixtures/syntax/jsx/annotation/actual.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/** @jsx CUSTOM_DOM */
-
-
diff --git a/test/fixtures/syntax/jsx/annotation/expected.js b/test/fixtures/syntax/jsx/annotation/expected.js
deleted file mode 100644
index cd478b7097..0000000000
--- a/test/fixtures/syntax/jsx/annotation/expected.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";
-CUSTOM_DOM.a(null);
\ No newline at end of file
diff --git a/test/fixtures/syntax/jsx/empty/actual.js b/test/fixtures/syntax/jsx/empty/actual.js
deleted file mode 100644
index c9f99abcd0..0000000000
--- a/test/fixtures/syntax/jsx/empty/actual.js
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/test/fixtures/syntax/jsx/empty/expected.js b/test/fixtures/syntax/jsx/empty/expected.js
deleted file mode 100644
index 4835a2a251..0000000000
--- a/test/fixtures/syntax/jsx/empty/expected.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";
-x(null, null);
\ No newline at end of file
diff --git a/test/fixtures/syntax/jsx/everything/actual.js b/test/fixtures/syntax/jsx/everything/actual.js
deleted file mode 100644
index 0c42b3a8af..0000000000
--- a/test/fixtures/syntax/jsx/everything/actual.js
+++ /dev/null
@@ -1,2 +0,0 @@
- :
-}>
diff --git a/test/fixtures/syntax/jsx/everything/expected.js b/test/fixtures/syntax/jsx/everything/expected.js
deleted file mode 100644
index 7d39e64fbc..0000000000
--- a/test/fixtures/syntax/jsx/everything/expected.js
+++ /dev/null
@@ -1,7 +0,0 @@
-"use strict";
-
-X({
- "data-prop": (x ? Y({
- prop: 2
- }) : Z(null, "\n"))
-});
\ No newline at end of file
diff --git a/test/fixtures/syntax/jsx/expressions/actual.js b/test/fixtures/syntax/jsx/expressions/actual.js
deleted file mode 100644
index 8191b76c06..0000000000
--- a/test/fixtures/syntax/jsx/expressions/actual.js
+++ /dev/null
@@ -1,5 +0,0 @@
-({a});
-
-({a} {b});
-
-();
diff --git a/test/fixtures/syntax/jsx/expressions/expected.js b/test/fixtures/syntax/jsx/expressions/expected.js
deleted file mode 100644
index d3818d86d3..0000000000
--- a/test/fixtures/syntax/jsx/expressions/expected.js
+++ /dev/null
@@ -1,8 +0,0 @@
-"use strict";
-X(null, a);
-X(null, [a, " ", b]);
-
-X({
- prop: a,
- yes: true
-});
\ No newline at end of file
diff --git a/test/fixtures/syntax/jsx/known-tags/actual.js b/test/fixtures/syntax/jsx/known-tags/actual.js
deleted file mode 100644
index 41ab602321..0000000000
--- a/test/fixtures/syntax/jsx/known-tags/actual.js
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/test/fixtures/syntax/jsx/known-tags/expected.js b/test/fixtures/syntax/jsx/known-tags/expected.js
deleted file mode 100644
index ec70567216..0000000000
--- a/test/fixtures/syntax/jsx/known-tags/expected.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";
-React.DOM.a(null);
\ No newline at end of file
diff --git a/test/fixtures/syntax/jsx/member-expression/actual.js b/test/fixtures/syntax/jsx/member-expression/actual.js
deleted file mode 100644
index 67707269e9..0000000000
--- a/test/fixtures/syntax/jsx/member-expression/actual.js
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/test/fixtures/syntax/jsx/member-expression/expected.js b/test/fixtures/syntax/jsx/member-expression/expected.js
deleted file mode 100644
index 4dea12440d..0000000000
--- a/test/fixtures/syntax/jsx/member-expression/expected.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";
-Test.X(null);
\ No newline at end of file
diff --git a/test/fixtures/syntax/jsx/no-xml-namespaces/actual.js b/test/fixtures/syntax/jsx/no-xml-namespaces/actual.js
deleted file mode 100644
index 80e9ac6925..0000000000
--- a/test/fixtures/syntax/jsx/no-xml-namespaces/actual.js
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/test/fixtures/syntax/jsx/no-xml-namespaces/options.json b/test/fixtures/syntax/jsx/no-xml-namespaces/options.json
deleted file mode 100644
index 84921377cb..0000000000
--- a/test/fixtures/syntax/jsx/no-xml-namespaces/options.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "throws": "Namespace tags are not supported. ReactJSX is not XML."
-}
diff --git a/test/fixtures/syntax/jsx/self-closing-tags/actual.js b/test/fixtures/syntax/jsx/self-closing-tags/actual.js
deleted file mode 100644
index c74cd039aa..0000000000
--- a/test/fixtures/syntax/jsx/self-closing-tags/actual.js
+++ /dev/null
@@ -1,3 +0,0 @@
-();
-
-();
diff --git a/test/fixtures/syntax/jsx/self-closing-tags/expected.js b/test/fixtures/syntax/jsx/self-closing-tags/expected.js
deleted file mode 100644
index 3ebb174fab..0000000000
--- a/test/fixtures/syntax/jsx/self-closing-tags/expected.js
+++ /dev/null
@@ -1,6 +0,0 @@
-"use strict";
-X(null);
-
-X({
- prop: "1"
-});
\ No newline at end of file
diff --git a/test/fixtures/syntax/jsx/simple-tags/actual.js b/test/fixtures/syntax/jsx/simple-tags/actual.js
deleted file mode 100644
index 87779ff5c6..0000000000
--- a/test/fixtures/syntax/jsx/simple-tags/actual.js
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/test/fixtures/syntax/jsx/simple-tags/expected.js b/test/fixtures/syntax/jsx/simple-tags/expected.js
deleted file mode 100644
index f38433898c..0000000000
--- a/test/fixtures/syntax/jsx/simple-tags/expected.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";
-X(null);
\ No newline at end of file
diff --git a/test/fixtures/syntax/jsx/tags-with-children/actual.js b/test/fixtures/syntax/jsx/tags-with-children/actual.js
deleted file mode 100644
index aa8ed7080b..0000000000
--- a/test/fixtures/syntax/jsx/tags-with-children/actual.js
+++ /dev/null
@@ -1,3 +0,0 @@
-();
-
-();
diff --git a/test/fixtures/syntax/jsx/tags-with-children/expected.js b/test/fixtures/syntax/jsx/tags-with-children/expected.js
deleted file mode 100644
index 1183f4a58a..0000000000
--- a/test/fixtures/syntax/jsx/tags-with-children/expected.js
+++ /dev/null
@@ -1,9 +0,0 @@
-"use strict";
-
-X({
- prop: "2"
-}, Y(null));
-
-X({
- prop: "2"
-}, [Y(null), Z(null)]);
\ No newline at end of file
diff --git a/test/fixtures/syntax/jsx/tags-with-literals/actual.js b/test/fixtures/syntax/jsx/tags-with-literals/actual.js
deleted file mode 100644
index 5507ef2680..0000000000
--- a/test/fixtures/syntax/jsx/tags-with-literals/actual.js
+++ /dev/null
@@ -1,13 +0,0 @@
-( );
-
-(
-);
-
-(
- string
-);
-
-(
- string
- string
- );
diff --git a/test/fixtures/syntax/jsx/tags-with-literals/expected.js b/test/fixtures/syntax/jsx/tags-with-literals/expected.js
deleted file mode 100644
index 956943003e..0000000000
--- a/test/fixtures/syntax/jsx/tags-with-literals/expected.js
+++ /dev/null
@@ -1,5 +0,0 @@
-"use strict";
-X(null, " ");
-X(null, "\n");
-X(null, "\n string\n");
-X(null, "\n string\n string\n ");
\ No newline at end of file
diff --git a/test/fixtures/syntax/react/display-name-assignment-expression/actual.js b/test/fixtures/syntax/react/display-name-assignment-expression/actual.js
deleted file mode 100644
index f3affde052..0000000000
--- a/test/fixtures/syntax/react/display-name-assignment-expression/actual.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var Component;
-Component = React.createClass({
- render: function() {
- return null;
- }
-});
diff --git a/test/fixtures/syntax/react/display-name-assignment-expression/expected.js b/test/fixtures/syntax/react/display-name-assignment-expression/expected.js
deleted file mode 100644
index 0096748e3d..0000000000
--- a/test/fixtures/syntax/react/display-name-assignment-expression/expected.js
+++ /dev/null
@@ -1,10 +0,0 @@
-"use strict";
-var Component;
-
-Component = React.createClass({
- displayName: "Component",
-
- render: function() {
- return null;
- }
-});
\ No newline at end of file
diff --git a/test/fixtures/syntax/react/display-name-if-missing/actual.js b/test/fixtures/syntax/react/display-name-if-missing/actual.js
deleted file mode 100644
index 4232881d66..0000000000
--- a/test/fixtures/syntax/react/display-name-if-missing/actual.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var Whateva = React.createClass({
- displayName: "Whatever",
- render: function() {
- return null;
- }
-});
diff --git a/test/fixtures/syntax/react/display-name-if-missing/expected.js b/test/fixtures/syntax/react/display-name-if-missing/expected.js
deleted file mode 100644
index e802413800..0000000000
--- a/test/fixtures/syntax/react/display-name-if-missing/expected.js
+++ /dev/null
@@ -1,9 +0,0 @@
-"use strict";
-
-var Whateva = React.createClass({
- displayName: "Whatever",
-
- render: function() {
- return null;
- }
-});
\ No newline at end of file
diff --git a/test/fixtures/syntax/react/display-name-object-declaration/actual.js b/test/fixtures/syntax/react/display-name-object-declaration/actual.js
deleted file mode 100644
index 51a000a533..0000000000
--- a/test/fixtures/syntax/react/display-name-object-declaration/actual.js
+++ /dev/null
@@ -1,7 +0,0 @@
-exports = {
- Component: React.createClass({
- render: function() {
- return null;
- }
- })
-};
diff --git a/test/fixtures/syntax/react/display-name-object-declaration/expected.js b/test/fixtures/syntax/react/display-name-object-declaration/expected.js
deleted file mode 100644
index cde3afa785..0000000000
--- a/test/fixtures/syntax/react/display-name-object-declaration/expected.js
+++ /dev/null
@@ -1,11 +0,0 @@
-"use strict";
-
-exports = {
- Component: React.createClass({
- displayName: "Component",
-
- render: function() {
- return null;
- }
- })
-};
\ No newline at end of file
diff --git a/test/fixtures/syntax/react/display-name-property-assignment/actual.js b/test/fixtures/syntax/react/display-name-property-assignment/actual.js
deleted file mode 100644
index f856d33f07..0000000000
--- a/test/fixtures/syntax/react/display-name-property-assignment/actual.js
+++ /dev/null
@@ -1,5 +0,0 @@
-exports.Component = React.createClass({
- render: function() {
- return null;
- }
-});
diff --git a/test/fixtures/syntax/react/display-name-property-assignment/expected.js b/test/fixtures/syntax/react/display-name-property-assignment/expected.js
deleted file mode 100644
index ca445b30a1..0000000000
--- a/test/fixtures/syntax/react/display-name-property-assignment/expected.js
+++ /dev/null
@@ -1,9 +0,0 @@
-"use strict";
-
-exports.Component = React.createClass({
- displayName: "Component",
-
- render: function() {
- return null;
- }
-});
\ No newline at end of file
diff --git a/test/fixtures/syntax/react/display-name-variable-declaration/actual.js b/test/fixtures/syntax/react/display-name-variable-declaration/actual.js
deleted file mode 100644
index e751186def..0000000000
--- a/test/fixtures/syntax/react/display-name-variable-declaration/actual.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var Component = React.createClass({
- render: function() {
- return null;
- }
-});
diff --git a/test/fixtures/syntax/react/display-name-variable-declaration/expected.js b/test/fixtures/syntax/react/display-name-variable-declaration/expected.js
deleted file mode 100644
index 60d186b8dd..0000000000
--- a/test/fixtures/syntax/react/display-name-variable-declaration/expected.js
+++ /dev/null
@@ -1,9 +0,0 @@
-"use strict";
-
-var Component = React.createClass({
- displayName: "Component",
-
- render: function() {
- return null;
- }
-});
\ No newline at end of file