Commit Graph

19 Commits

Author SHA1 Message Date
Martin Konicek 76cd2f7bf2 Allow configuring the way CLI installs react-native
Summary:
- Added an option to override the install command in CI environments (see comment in code)
- Simplify the verbose mode
- Simplify how options are passed round

Test plan (only tested on Mac OS):

    react-native init TestApp
    react-native init TestApp --version 0.36

In both cases the app was generated, package.json contained the correct version (latest, or 0.36).

    react-native init TestApp --verbose

Saw progress bar.

    react-native init InstallCommandTest --installCommand "npm install bad-package-doesnt-exist"

404 error is printed to stdout correctly.

    react-native init TestApp --installCommand "npm install react-native"

The app was generated.

    react-native init InstallCommandTest --installCommand "npm install react-native --verbose" --verbose

Saw verbose output from npm.

Reviewed By: bestander

Differential Revision: D4284642

fbshipit-source-id: f2cdee52ab64831ae3ca064d50f23c5f73a0301f
2016-12-06 13:28:30 -08:00
Martin Konicek fc502704b7 Fix 'Unexpected strict mode reserved word', bump version to 1.3
Summary:
Looks like using 'let' was too ambitious :)

This should fix the issue https://github.com/facebook/react-native/issues/10976.

**Test plan (required)**

Travis & Circle CI tests on this PR.
Closes https://github.com/facebook/react-native/pull/11166

Differential Revision: D4237047

Pulled By: bestander

fbshipit-source-id: 85b548d74a0847621519364201cf71d6649ad605
2016-11-28 03:58:39 -08:00
Martin Konicek 85b8c6ba23 Bump to 1.2.0
Summary:
Turns out I published 1.1.0 previously by accident and unpublished /ducks
Closes https://github.com/facebook/react-native/pull/10684

Differential Revision: D4111999

Pulled By: bestander

fbshipit-source-id: a85c8db6e7f48c9e96a649f017d82cbef44c73ae
2016-11-01 12:50:30 -07:00
Martin Konicek 94711bfb06 Use yarn when available
Summary:
**Motivation**

`react-native init` takes minutes even on a fast network. Yarn makes it much quicker.

When yarn is not installed on the system:

<img width="440" alt="screenshot 2016-10-31 22 21 19" src="https://cloud.githubusercontent.com/assets/346214/19873897/7bad5662-9fb9-11e6-85fb-ad4879949dad.png">

When yarn is installed:

<img width="441" alt="screenshot 2016-10-31 22 02 20" src="https://cloud.githubusercontent.com/assets/346214/19873898/7baf4c56-9fb9-11e6-96b3-007f93d2438a.png">

Also added the option `react-native init AwesomeApp --npm` as a fallback in case yarn is not stable enough for some people (I saw some Github issues that yarn hangs for example; for me it works great though).

**Test plan**
1. Publish to Sinopia: https://github.com/facebook/react-native/tree/master/react-native-cli
2. `react-native init AwesomeApp`

***Tested the following setups***

- New CLI - uses yarn, new react-native - uses yarn
- Old CLI (1.0.0) - doesn't use yarn, new react-native - uses yarn
-
Closes https://github.com/facebook/react-native/pull/10626

Differential Revision: D4110883

Pulled By: bestander

fbshipit-source-id: 8a3427e2bc9158cf5fadd8ddf5b31e4b50ce6453
2016-11-01 09:28:52 -07:00
Konstantin Raev f22e9353a7 Made react installed via reac-native init strict to unbreak 15.1.0
Summary:
React@15.1.0 is incompatible with React-Native@0.26.
This PR was cherry-picked to 0.26-stable branch now.

What this change does:
- react-native-cli (major release bump) saves exact versions of react-native and react (only in npm2) dependencies into package.json
- local-cli saves exact version of react (only npm3) dependency into package.json
Closes https://github.com/facebook/react-native/pull/7879

Differential Revision: D3384705

Pulled By: davidaurelio

fbshipit-source-id: d4dff418f9659bd083ae8826433a4e7c0355d03b
2016-06-03 03:43:31 -07:00
Konstantin Raev 993835c815 Allow react-native init <version> + removed sinopia from being required for e2e testing
Reviewed By: mkonicek, frantic

Differential Revision: D3087524

fb-gh-sync-id: 048e23b55916a6be17fa9fabb6e41b0b2f3f7a16
shipit-source-id: 048e23b55916a6be17fa9fabb6e41b0b2f3f7a16
2016-03-24 05:31:23 -07:00
Martin Konicek 521bd03f0a Revert 5da0e135b6
It caused problems on Windows unfortunately and when we tried to
fix it we got: https://github.com/facebook/react-native/issues/5159

Reverting to unblock people. In the future we'll do careful rc
releases of the CLI. We should try to make the change again without
breaking anyone, regardless of OS (OSX, Linux, Windows) or npm version.
2016-01-09 15:30:14 +00:00
Martin Konicek 811079ede2 [global-cli] Bump version to 0.1.9
To release a new version with the fix for Windows:
https://github.com/facebook/react-native/pull/5171

Thanks a lot @tdzl2003!

Tweaked the platform check to use `process.platform`
as that's more common in the codebase. No strong preference,
just for consistency.
2016-01-07 17:03:56 +00:00
Martin Konicek 6af7ae55b1 [global-cli] react-native init [--debug|verbose]
`npm install` prints a lot of junk like gyp warnings
and the rest of the output is not super useful for
tracking progress.

Supress the output by default, show the output with
--debug, and show verbose output with --verbose.
2016-01-05 16:51:28 +00:00
Marius B. Kotsbak c27cfd38e4 Add license and source info
Fixes #4101.
2015-11-12 20:07:28 +01:00
Martin Konicek 9dbb18ad6b [global-cli] Bump version to 0.1.7 2015-10-28 01:31:28 +00:00
Felix Oghină 864fdd1ebd Merge pull request #3580 from exponentjs/cli-version-check
[CLI] Make `react-native init` check your Node version
2015-10-23 11:57:25 +01:00
James Ide 64c809345f [CLI] Make `react-native init` check your Node version
We get a bunch of bugs because people are running old versions of Node that don't support modern JS. We have "engines" entries in the package.json files to catch this earlier but printing an explicit error message will also make this clear.

Test Plan: Changed react-native's package.json to require Node >= 5 and got an error message when running the CLI with Node 4.
2015-10-21 12:51:14 -07:00
James Ide 72b713262f [CLI] Add Node >= 4 requirement to CLI tools
React Native's packager now relies on modern V8 so it depends on modern Node. The CLI tools actually run with older versions of Node but the version constraint in the CLI's package.json accomplishes two things:

- Lets us rely on modern V8 in the CLI so we don't have to think about which JS features we can use
- Fails faster up front. So if someone has Node 0.10 for example they will get an error when setting up the CLI tools instead of later on in the process.
2015-10-15 16:15:35 -07:00
Martin Konicek 42eb5464fd Release React Native for Android
This is an early release and there are several things that are known
not to work if you're porting your iOS app to Android.

See the Known Issues guide on the website.

We will work with the community to reach platform parity with iOS.
2015-09-14 18:13:39 +01:00
Christopher Chedeau 0fcc7bacb8 Bump react-native-cli version 2015-06-08 14:25:48 -07:00
skv 5a83ffab94 ask confirmation on init command
if directory already exist
2015-05-16 22:23:19 +03:00
Ben Alpert 5e7df58197 Bump react-native-cli version actually 2015-03-26 12:13:29 -07:00
Amjad Masad 98097caa6f react-native-cli initial commit
A cli package that is responsible for:
* starting a new react-native project
* forwarding all other commands to a cli module in react-native
* currently cli.js knows how to start the webserver, in the future it may do things like build the app etc.
2015-03-19 17:48:23 -07:00