/** * 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 blacklist = require('../packager/blacklist'); var path = require('path'); var rnpmConfig = require('./core/config'); /** * Default configuration for the CLI. * * If you need to override any of this functions do so by defining the file * `rn-cli.config.js` on the root of your project with the functions you need * to tweak. */ var config = { getProjectRoots, getProjectConfig: rnpmConfig.getProjectConfig, getDependencyConfig: rnpmConfig.getDependencyConfig, /** * Specify any additional asset extentions to be used by the packager. * For example, if you want to include a .ttf file, you would return ['ttf'] * from here and use `require('./fonts/example.ttf')` inside your app. */ getAssetExts() { return []; }, /** * Specify any additional platforms to be used by the packager. * For example, if you want to add a "custom" platform, and use modules * ending in .custom.js, you would return ['custom'] here. */ getPlatforms() { return []; }, /** * Returns a regular expression for modules that should be ignored by the * packager on a given platform. */ getBlacklistRE() { return blacklist(); }, /** * Returns the path to a custom transformer. This can also be overridden * with the --transformer commandline argument. */ getTransformModulePath() { return require.resolve('../packager/transformer'); }, }; function getProjectRoots() { var root = process.env.REACT_NATIVE_APP_ROOT; if (root) { return [path.resolve(root)]; } if (__dirname.match(/node_modules[\/\\]react-native[\/\\]local-cli$/)) { // Packager is running from node_modules. // This is the default case for all projects created using 'react-native init'. return [path.resolve(__dirname, '../../..')]; } else if (__dirname.match(/Pods[\/\\]React[\/\\]packager$/)) { // React Native was installed using CocoaPods. return [path.resolve(__dirname, '../../..')]; } else { return [path.resolve(__dirname, '..')]; } } module.exports = config;