@samitouri / QOS-React-2 / commits / 89bcecc76f

Disable source maps when defineProperty is missing

Fixes #1053.

Ben Alpert committed Feb 11, 2014 at 00:08 UTC 89bcecc76ffaa738099e0c217f8846e60edb1b44
1 file changed +13 -1
vendor/browser-transforms.js
+13 -1
@@ -25,8 +25,16 @@ var transform = require('jstransform').transform;
25 var visitors = require('./fbtransform/visitors').transformVisitors;
26 var docblock = require('jstransform/src/docblock');
27
28 +// The source-map library relies on Object.defineProperty, but IE8 doesn't
29 +// support it fully even with es5-sham. Indeed, es5-sham's defineProperty
30 +// throws when Object.prototype.__defineGetter__ is missing, so we skip building
31 +// the source map in that case.
32 +var supportsAccessors = Object.prototype.hasOwnProperty('__defineGetter__');
33 +
34 function transformReact(source) {
29 - return transform(visitors.react, source, {sourceMap: true});
35 + return transform(visitors.react, source, {
36 + sourceMap: supportsAccessors
37 + });
38 }
39
40 exports.transform = transformReact;
@@ -97,6 +105,10 @@ var transformCode = function(code, source) {
105 throw e;
106 }
107
108 + if (!transformed.sourceMap) {
109 + return transformed.code;
110 + }
111 +
112 var map = transformed.sourceMap.toJSON();
113 if (source == null) {
114 source = "Inline JSX script";