Note: if you're coming to Chain React, the React Native Conference in Portland July 11-13, we'll be handing out Ignite stickers! Be sure to say hi to an Infinite Red employee there.
Ignite CLI is here!
After months of work and sweat and tears, Ignite CLI has landed! We're incredibly proud of where Ignite CLI is and where it's headed.
Cliff notes version of the difference between Ignite 1 and Ignite CLI:
Ignite 1 was a (very nice!) React Native boilerplate. Ignite CLI is a generator for React Native with boilerplates, plugins, and more. Where before you had one choice -- Infinite Red's boilerplate -- now you can choose from many boilerplates and also add standalone plugins as you need them. It's much more modular and extensible than Ignite 1.
If you really liked Ignite 1 as it was, then not much has changed! You just run
ignite new MyApp --max and everything feels pretty normal from there.
Why Ignite CLI?
- Easily spin up a new React Native app with best practices built-in
- No runtime! This is a developer tool only, not a library you have to depend on
- An ever-expanding list of boilerplates and plugins
- Powerful but well-defined behavior
- Battle tested and used every day by the developers at Infinite Red
First, make sure you're set up for React Native
Make sure you have Node 7.6+
Note: July 2017 Users of Node 8.0+ should beware of issues with debugging. V8 uses the
inspector protocol and no longer allows
inspector does not run well with Chrome debugger (and probably also not with VS Code debugger and node-inspector). Breakpoints are not hit, or debugger doesn't disconnect. So inform yourself well before going this route. See https://github.com/nodejs/node/issues/7593 (and many related issues) for more info.
While you are free to use whichever node version manager you like, we like using n
You can check your version of node by running
then install Yarn for your system
All global installs below are using npm over yarn because of this bug on Windows.
$ npm install -g ignite-cli $ ignite new MyNewAppName
Infinite Red provides two boilerplates, they are:
- Andross - the tried and true (React Navigation, Redux, & Redux Saga)
- Bowser - the latest and greatest, which is currently in beta (React Navigation, MobX State Tree, & TypeScript)
$ npm install -g ignite-cli $ ignite new PizzaApp ( Choose `Bowser (currently in beta)` when prompted ) $ cd PizzaApp $ ignite generate screen pizza-location-list ( Choose `example` domain when prompted. This determines where your new screen will go in the directory structure. ) $ ignite generate component pizza-location ( Choose `example` domain when prompted. This determines where your new screen will go in the directory structure. ) $ ignite i love you
$ npm install -g ignite-cli $ ignite new PizzaApp ( Choose Andross when prompted ) $ cd PizzaApp $ ignite add maps $ ignite add vector-icons $ ignite generate screen PizzaLocationList $ ignite generate component PizzaLocation $ ignite generate map StoreLocator $ ignite add i18n $ ignite remove i18n $ ignite i love you
📋 Documentation 📋
🔌 Plugins 🔌
Check out the list of Plugins
🍽 Boilerplates 🍽
Check out the list of Boilerplates
$ ignite new MyNewAppName -b ir-boilerplate
💩 Troubleshooting 💩
If you run into problems, first search the issues in this repository. If you don't find anything, you can either file an issue or come talk to our friendly developers in the Infinite Red Community Slack (community.infinite.red).