From 8cfb1aad1b5de396c4df8d7db6fb76f9eeca18c0 Mon Sep 17 00:00:00 2001 From: SanderSpies Date: Thu, 10 Oct 2013 23:20:37 +0200 Subject: [PATCH 1/2] #114 - stop requiring docblock for JSX transformer --- vendor/browser-transforms.js | 4 +--- vendor/fbtransform/transforms/react.js | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/vendor/browser-transforms.js b/vendor/browser-transforms.js index 9ef9c0ab9260b..70442cb44c221 100644 --- a/vendor/browser-transforms.js +++ b/vendor/browser-transforms.js @@ -38,9 +38,7 @@ if (typeof window === "undefined" || window === null) { headEl = document.getElementsByTagName('head')[0]; var run = exports.run = function(code) { - var jsx = docblock.parseAsObject(docblock.extract(code)).jsx; - - var functionBody = jsx ? transform(code).code : code; + var functionBody = transform(code).code; var scriptEl = document.createElement('script'); scriptEl.innerHTML = functionBody; diff --git a/vendor/fbtransform/transforms/react.js b/vendor/fbtransform/transforms/react.js index 094632ac24462..847e400c58f78 100644 --- a/vendor/fbtransform/transforms/react.js +++ b/vendor/fbtransform/transforms/react.js @@ -56,7 +56,7 @@ var JSX_ATTRIBUTE_TRANSFORMS = { }; function visitReactTag(traverse, object, path, state) { - var jsxObjIdent = getDocblock(state).jsx; + var jsxObjIdent = getDocblock(state).jsx || "React.DOM"; catchup(object.openingElement.range[0], state); From 78724a760053ae73399e9973471d45a4339b9cc4 Mon Sep 17 00:00:00 2001 From: SanderSpies Date: Thu, 10 Oct 2013 23:51:43 +0200 Subject: [PATCH 2/2] proposed changes by @jeffmo are now in --- vendor/fbtransform/transforms/react.js | 2 +- vendor/fbtransform/transforms/reactDisplayName.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/vendor/fbtransform/transforms/react.js b/vendor/fbtransform/transforms/react.js index 847e400c58f78..a0cd8e5fc51ff 100644 --- a/vendor/fbtransform/transforms/react.js +++ b/vendor/fbtransform/transforms/react.js @@ -180,7 +180,7 @@ function visitReactTag(traverse, object, path, state) { visitReactTag.test = function(object, path, state) { // only run react when react @jsx namespace is specified in docblock var jsx = getDocblock(state).jsx; - return object.type === Syntax.XJSElement && jsx && jsx.length; + return object.type === Syntax.XJSElement && (jsx === undefined || (jsx && jsx.length && jsx === "React.DOM")); }; exports.visitReactTag = visitReactTag; diff --git a/vendor/fbtransform/transforms/reactDisplayName.js b/vendor/fbtransform/transforms/reactDisplayName.js index b1f08b24e1b40..a7899659b8b68 100644 --- a/vendor/fbtransform/transforms/reactDisplayName.js +++ b/vendor/fbtransform/transforms/reactDisplayName.js @@ -57,7 +57,8 @@ function visitReactDisplayName(traverse, object, path, state) { * Will only run on @jsx files for now. */ visitReactDisplayName.test = function(object, path, state) { - return object.type === Syntax.VariableDeclarator && !!getDocblock(state).jsx; + var jsx = getDocblock(state).jsx; + return object.type === Syntax.VariableDeclarator && (jsx === undefined || (jsx && jsx.length && jsx === "React.DOM")); }; exports.visitReactDisplayName = visitReactDisplayName;