mirror of
https://github.com/status-im/react-native.git
synced 2025-01-10 01:25:39 +00:00
95ee3f5cab
Summary: Many issues filed on Github are missing platform/toolchain version information. Others have different ways of writing it, and require the issue writer to look in multiple places for these versions. Other CLI tools like Ionic have this function, and it's incredibly useful. Related to https://github.com/facebook/react-native/issues/14420 Run in terminal/command prompt `react-native info` ``` trevors-imac:AwesomeProject tabrindle$ react-native info Versions: React Native: 1000.0.0 OS: macOS Sierra Node: v6.10.3 Yarn: 0.24.5 npm: 5.0.0 Xcode: Xcode 8.3.3 Build version 8E3004b ``` - CLA signed ✅ - Verify functionality + implementation Closes https://github.com/facebook/react-native/pull/14428 Differential Revision: D5392446 Pulled By: hramos fbshipit-source-id: 460079f3860c0af1e0b77bf26552c26032e974be
78 lines
1.9 KiB
JavaScript
78 lines
1.9 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.
|
|
*
|
|
* @flow
|
|
*/
|
|
'use strict';
|
|
|
|
const { getProjectCommands } = require('./core');
|
|
|
|
import type { RNConfig } from './core';
|
|
|
|
export type CommandT = {
|
|
name: string,
|
|
description?: string,
|
|
usage?: string,
|
|
func: (argv: Array<string>, config: RNConfig, args: Object) => ?Promise<void>,
|
|
options?: Array<{
|
|
command: string,
|
|
description?: string,
|
|
parse?: (val: string) => any,
|
|
default?: ((config: RNConfig) => mixed) | mixed,
|
|
}>,
|
|
examples?: Array<{
|
|
desc: string,
|
|
cmd: string,
|
|
}>,
|
|
pkg?: {
|
|
version: string,
|
|
name: string,
|
|
},
|
|
};
|
|
|
|
const documentedCommands = [
|
|
require('./server/server'),
|
|
require('./runIOS/runIOS'),
|
|
require('./runAndroid/runAndroid'),
|
|
require('./library/library'),
|
|
require('./bundle/bundle'),
|
|
require('./bundle/unbundle'),
|
|
require('./eject/eject'),
|
|
require('./link/link'),
|
|
require('./link/unlink'),
|
|
require('./install/install'),
|
|
require('./install/uninstall'),
|
|
require('./upgrade/upgrade'),
|
|
require('./logAndroid/logAndroid'),
|
|
require('./logIOS/logIOS'),
|
|
require('./dependencies/dependencies'),
|
|
require('./info/info'),
|
|
];
|
|
|
|
// The user should never get here because projects are inited by
|
|
// using `react-native-cli` from outside a project directory.
|
|
const undocumentedCommands = [
|
|
{
|
|
name: 'init',
|
|
func: () => {
|
|
console.log([
|
|
'Looks like React Native project already exists in the current',
|
|
'folder. Run this command from a different folder or remove node_modules/react-native',
|
|
].join('\n'));
|
|
},
|
|
},
|
|
];
|
|
|
|
const commands: Array<CommandT> = [
|
|
...documentedCommands,
|
|
...undocumentedCommands,
|
|
...getProjectCommands(),
|
|
];
|
|
|
|
module.exports = commands;
|