mirror of
https://github.com/status-im/react-native.git
synced 2025-01-15 20:15:11 +00:00
dd9b3e13a9
Summary: This will allow consumers to supply their own transformer to all `react-native` cli commands by simply implementing `rn-cli.config.js` and overriding `getTransformModulePath()`. That way they don't have to fork various parts of the iOS and Android build system that React Native already provides just to add a `--transformer` command line argument. **Test plan:** Applied this patch to the React Native version in my app, implemented `getTransformModulePath()` in my `rn-cli.config.js`, and verified that my custom transformer is invoked. Closes https://github.com/facebook/react-native/pull/7961 Differential Revision: D3404201 Pulled By: foghina fbshipit-source-id: c7eaa85de84d485d06d23a2ffea899821b2cf71c
42 lines
974 B
JavaScript
42 lines
974 B
JavaScript
// Copyright 2004-present Facebook. All Rights Reserved.
|
|
|
|
/**
|
|
* React Native CLI configuration file
|
|
*/
|
|
'use strict';
|
|
|
|
const blacklist = require('./blacklist.js');
|
|
const path = require('path');
|
|
|
|
module.exports = {
|
|
getProjectRoots() {
|
|
return this._getRoots();
|
|
},
|
|
|
|
getAssetRoots() {
|
|
return this._getRoots();
|
|
},
|
|
|
|
getBlacklistRE(platform) {
|
|
return blacklist(platform);
|
|
},
|
|
|
|
_getRoots() {
|
|
// match on either path separator
|
|
if (__dirname.match(/node_modules[\/\\]react-native[\/\\]packager$/)) {
|
|
// packager is running from node_modules of another project
|
|
return [path.resolve(__dirname, '../../..')];
|
|
} else if (__dirname.match(/Pods\/React\/packager$/)) {
|
|
// packager is running from node_modules of another project
|
|
return [path.resolve(__dirname, '../../..')];
|
|
} else {
|
|
return [path.resolve(__dirname, '..')];
|
|
}
|
|
},
|
|
|
|
getTransformModulePath() {
|
|
return require.resolve('./transformer');
|
|
},
|
|
|
|
};
|