mirror of
https://github.com/status-im/react-native.git
synced 2025-01-09 17:15:54 +00:00
56d6ee3f0f
Summary: @public Replaces jstransform with Babel. Additionally, stops (using the deprecated) passing an error property back from the transformer, and instead passes an error in the first argument. This is because we were able to update node-worker-farm to handle custom properties on errors. Test Plan: 1. Export the oss project 2. npm install 3. Start the movies app 4. Make sure it works 5. Add a syntax error 6. Make sure the message is correct
63 lines
1.3 KiB
JavaScript
63 lines
1.3 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.
|
|
*
|
|
* Note: This is a fork of the fb-specific transform.js
|
|
*/
|
|
'use strict';
|
|
|
|
var babel = require('babel');
|
|
|
|
function transform(srcTxt, filename, options) {
|
|
var result = babel.transform(srcTxt, {
|
|
retainLines: true,
|
|
compact: true,
|
|
comments: false,
|
|
filename: filename,
|
|
whitelist: [
|
|
'es6.arrowFunctions',
|
|
'es6.blockScoping',
|
|
'es6.classes',
|
|
'es6.destructuring',
|
|
'es6.parameters.rest',
|
|
'es6.properties.computed',
|
|
'es6.properties.shorthand',
|
|
'es6.spread',
|
|
'es6.templateLiterals',
|
|
'es7.trailingFunctionCommas',
|
|
'es7.objectRestSpread',
|
|
'flow',
|
|
'react',
|
|
],
|
|
sourceFileName: filename,
|
|
sourceMaps: false,
|
|
extra: options || {},
|
|
});
|
|
|
|
return {
|
|
code: result.code,
|
|
};
|
|
}
|
|
|
|
module.exports = function(data, callback) {
|
|
var result;
|
|
try {
|
|
result = transform(
|
|
data.sourceCode,
|
|
data.filename
|
|
);
|
|
} catch (e) {
|
|
callback(e);
|
|
return;
|
|
}
|
|
|
|
callback(null, result);
|
|
};
|
|
|
|
// export for use in jest
|
|
module.exports.transform = transform;
|