From d4f9750e38aa3df6ce0516a4cd18ffe062600ea6 Mon Sep 17 00:00:00 2001 From: yiminghe Date: Sat, 26 Sep 2015 15:48:28 -0700 Subject: [PATCH] support es6.constants by default. Fixes #2932 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Summary: In javascriptcore(ios9), this code will run as expected(output 0 1): ```js for(let i=0; i<2; i++) { const data = i; console.log(data); } ``` But when debug in chrome, the above code will fail without `use strict` prologue (if you add prologue, rn will fail with red screen `Const declarations are not supported in strict mode`): https://code.google.com/p/v8/issues/detail?id=4432. So it's better to transpile contant by default. Closes https://github.com/facebook/react-native/pull/2955 Reviewed By: @​svcscm Differential Revision: D2483398 Pulled By: @vjeux --- react-packager/.babelrc | 3 +-- transformer.js | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/react-packager/.babelrc b/react-packager/.babelrc index 6409e69a..45e1d6e9 100644 --- a/react-packager/.babelrc +++ b/react-packager/.babelrc @@ -6,9 +6,8 @@ "whitelist": [ "es6.arrowFunctions", "es6.blockScoping", - // This is the only place where we differ from transformer.js - "es6.constants", "es6.classes", + "es6.constants", "es6.destructuring", "es6.parameters", "es6.properties.computed", diff --git a/transformer.js b/transformer.js index 033ad579..59a1ea44 100644 --- a/transformer.js +++ b/transformer.js @@ -35,6 +35,7 @@ function transform(src, filename, options) { 'es6.arrowFunctions', 'es6.blockScoping', 'es6.classes', + 'es6.constants', 'es6.destructuring', 'es6.parameters', 'es6.properties.computed',