mirror of
https://github.com/status-im/react-native.git
synced 2025-01-15 12:05:06 +00:00
7210a060e6
Summary: The `env` option has been broken in Babel for a while (https://github.com/babel/babel/issues/4539), and will be deprecated (https://github.com/babel/babel/issues/5276). I am changing this code to the way Babel < 6.10 interpreted the `env` option. This should fix the `__source` JSX transform which was applied in DEV in the past, but stopped getting applied because of the Babel bug. I also changed the `filename` passed by Babel to be relative (currently, to `fbsource` but open to other options). This way DEV builds are still reproducible. This still needs some help from davidaurelio to make the root location more foolproof. I'd also appreciate zertosh taking a look in case there's a better way to "anchor" the relative path. All I need is to for `react-third-party/react-devtools/react-devtools` and `babelTransformer.js` to agree on what the relative path base is. Closes https://github.com/facebook/react-native/pull/13893 Reviewed By: gaearon Differential Revision: D5035892 Pulled By: davidaurelio fbshipit-source-id: 19ffeb867d7ed5928e9de05dcec9ba85bf961dd5
55 lines
1.7 KiB
JavaScript
55 lines
1.7 KiB
JavaScript
/**
|
|
* Copyright (c) 2015-present, Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*/
|
|
'use strict';
|
|
|
|
var resolvePlugins = require('../lib/resolvePlugins');
|
|
|
|
var preset = {
|
|
comments: false,
|
|
compact: true,
|
|
plugins: resolvePlugins([
|
|
'syntax-async-functions',
|
|
'syntax-class-properties',
|
|
'syntax-trailing-function-commas',
|
|
'transform-class-properties',
|
|
'transform-es2015-function-name',
|
|
'transform-es2015-arrow-functions',
|
|
'transform-es2015-block-scoping',
|
|
'transform-es2015-classes',
|
|
'transform-es2015-computed-properties',
|
|
'check-es2015-constants',
|
|
'transform-es2015-destructuring',
|
|
['transform-es2015-modules-commonjs', { strict: false, allowTopLevelThis: true }],
|
|
'transform-es2015-parameters',
|
|
'transform-es2015-shorthand-properties',
|
|
'transform-es2015-spread',
|
|
'transform-es2015-template-literals',
|
|
'transform-es2015-literals',
|
|
'transform-flow-strip-types',
|
|
'transform-object-assign',
|
|
'transform-object-rest-spread',
|
|
'transform-react-display-name',
|
|
'transform-react-jsx',
|
|
'transform-regenerator',
|
|
['transform-es2015-for-of', { loose: true }],
|
|
require('../transforms/transform-symbol-member'),
|
|
]),
|
|
retainLines: true,
|
|
sourceMaps: false,
|
|
};
|
|
|
|
var env = process.env.BABEL_ENV || process.env.NODE_ENV;
|
|
if (!env || env === 'development') {
|
|
preset.plugins = preset.plugins.concat(
|
|
resolvePlugins(['transform-react-jsx-source'])
|
|
);
|
|
}
|
|
|
|
module.exports = preset;
|