Summary: Just a small refactoring to only create array with plugins once. This should make transformations a bit faster as all these methods are called many times for each file in the project. Reviewed By: passy Differential Revision: D21308498 fbshipit-source-id: 0ed47f13cebfebd2992817caa207dc55f1dbeb0a
39 lines
851 B
TypeScript
39 lines
851 B
TypeScript
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @format
|
|
*/
|
|
|
|
import {default as doTransform} from './transform';
|
|
import {default as getCacheKey} from './get-cache-key';
|
|
import {default as flipperEnv} from './flipper-env';
|
|
|
|
const presets = [require('@babel/preset-react')];
|
|
const plugins = [require('./import-react')];
|
|
if (flipperEnv.FLIPPER_HEADLESS) {
|
|
plugins.unshift(require('./electron-stubs'));
|
|
}
|
|
if (flipperEnv.FLIPPER_FB) {
|
|
plugins.unshift(require('./fb-stubs'));
|
|
}
|
|
|
|
module.exports = {
|
|
transform,
|
|
getCacheKey,
|
|
};
|
|
|
|
function transform({
|
|
filename,
|
|
options,
|
|
src,
|
|
}: {
|
|
filename: string;
|
|
options: any;
|
|
src: string;
|
|
}) {
|
|
return doTransform({filename, options, src, presets, plugins});
|
|
}
|