From 6f607ef053ad39dc03724301a3936d2e8961eeb2 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Sun, 26 Jul 2015 05:30:27 +0100 Subject: [PATCH] remove rawValue property from JSX inner text Literal nodes --- CHANGELOG.md | 5 +++++ packages/babel/src/generation/generators/types.js | 5 +---- packages/babylon/src/plugins/jsx/index.js | 5 ++++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d3adac3211..d6121ca562 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,11 @@ _Note: Gaps between patch versions are faulty, broken or test releases._ See [CHANGELOG - 6to5](CHANGELOG-6to5.md) for the pre-4.0.0 version changelog. +## 5.8.6 + + * **Bug Fix** + * Remove `rawValue` for JSX inner text. + ## 5.8.5 * **Polish** diff --git a/packages/babel/src/generation/generators/types.js b/packages/babel/src/generation/generators/types.js index d84f69c4fe..92bd234055 100644 --- a/packages/babel/src/generation/generators/types.js +++ b/packages/babel/src/generation/generators/types.js @@ -144,10 +144,7 @@ export function _Literal(node) { // just use the raw property if our current value is equivalent to the one we got // when we populated raw if (node.raw != null && node.rawValue != null && val === node.rawValue) { - // https://github.com/babel/babel/issues/2078 - if (typeof val !== "string" || node.raw[0] === "'" || node.raw[0] === '"') { - return node.raw; - } + return node.raw; } switch (typeof val) { diff --git a/packages/babylon/src/plugins/jsx/index.js b/packages/babylon/src/plugins/jsx/index.js index 6f1163e3f9..03086cdfc9 100644 --- a/packages/babylon/src/plugins/jsx/index.js +++ b/packages/babylon/src/plugins/jsx/index.js @@ -379,7 +379,10 @@ export default function(instance) { instance.extend("parseExprAtom", function(inner) { return function(refShortHandDefaultPos) { if (this.match(tt.jsxText)) { - return this.parseLiteral(this.state.value); + var node = this.parseLiteral(this.state.value); + // https://github.com/babel/babel/issues/2078 + node.rawValue = null; + return node; } else if (this.match(tt.jsxTagStart)) { return this.jsxParseElement(); } else {