npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ignite-cli

v10.0.4

Published

Infinite Red's hottest boilerplate for React Native.

Downloads

4,278

Readme

Ignite - the battle-tested React Native boilerplate

GitHub Repo stars Twitter Follow CircleCI

Proven React Native boilerplate

The culmination of over seven years of constant React Native development, Ignite is the most popular React Native app boilerplate for both Expo and bare React Native.

This is the React Native boilerplate that the Infinite Red team uses on a day-to-day basis to build client apps. Developers who use Ignite report that it saves them two to four weeks of time on average off the beginning of their React Native project!

Intro Videos

Here are a few videos / talks that introduce Ignite and show off some of its features. Check them out!

Full Documentation

We've put great effort into the documentation as a team, please read through it here. If you're unsure why a certain decision was made related to this boilerplate or how to proceed with a particular feature, it's likely documented. If it still isn't clear, go through the proper help channels and we always welcome PRs to improve the docs!

Tech Stack

Nothing makes it into Ignite unless it's been proven on projects that Infinite Red works on. Ignite apps include the following rock-solid technical decisions out of the box:

| Library | Category | Version | Description | | -------------------------------- | -------------------- | ------- | ---------------------------------------------- | | React Native | Mobile Framework | v0.74 | The best cross-platform mobile framework | | React | UI Framework | v18 | The most popular UI framework in the world | | TypeScript | Language | v5 | Static typechecking | | React Navigation | Navigation | v6 | Performant and consistent navigation framework | | MobX-State-Tree | State Management | v5 | Observable state tree | | MobX-React-Lite | React Integration | v3 | Re-render React performantly | | Expo | SDK | v51 | Allows (optional) Expo modules | | Expo Font | Custom Fonts | v12 | Import custom fonts | | Expo Localization | Internationalization | v15 | i18n support (including RTL!) | | Expo Status Bar | Status Bar Library | v1 | Status bar support | | RN Reanimated | Animations | v3 | Beautiful and performant animations | | MMKV | Persistence | v2 | State persistence | | apisauce | REST client | v2 | Communicate with back-end | | Reactotron RN | Inspector/Debugger | v3 | JS debugging | | Hermes | JS engine | | Fine-tuned JS engine for RN | | Jest | Test Runner | v26 | Standard test runner for JS apps | | Maestro | Testing Framework | | Automate end-to-end UI testing | | date-fns | Date library | v2 | Excellent date library | | react-native-keyboard-controller | Keyboard library | v1 | Great keyboard manager library | | FlashList | FlatList replacement | v1 | A performant drop-in replacement for FlatList |

Ignite also comes with a component library that is tuned for custom designs, theming support, testing, custom fonts, generators, and much, much more.

Quick Start

Prerequisites:

  • You'll need at least a recent version of Node to run the CLI
  • For compiling/running in a simulator, make sure you're set up for React Native by following the official documentation.

The Ignite CLI will walk you through the steps to ignite a new React Native app:

# Get walked through the prompts for the different options to start your new app
npx ignite-cli@latest new PizzaApp

# Accept all the recommended defaults and get straight to coding!
npx ignite-cli@latest new PizzaApp --yes

Once you're up and running, check out our Getting Started Guide.

If you'd like to follow a tutorial, check out this one from Robin Heinze.

Troubleshooting

The above commands may fail with various errors, depending on your operating system and dependency versions. Some troubleshooting steps to follow:

  • Uninstall global versions of the Ignite CLI via npm uninstall -g ignite-cli and use the CLI via npx ignite-cli
  • Make sure you are using a reasonably recent version of Node. This can be checked via the node --version command. If you require multiple Node versions on your system, install nvm, and then run nvm install --lts. At the time of writing, Node LTS is v20.x.x.
  • If the installation fails because of an Xcode error (missing Xcode command line tools), the easiest way to install them is to run sudo xcode-select --install in your terminal.
  • If Xcode and command line tools are already installed, but the installation complains about missing patch dependencies, you may need to switch the Xcode location to something else: sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
  • Opening the project in Xcode can give you other insights into what's happening: open ./ios/<yourapp>.xcworkspace
  • Add the --debug switch to the Ignite CLI new command to provide additional output during project initialization

Reporting Bugs / Getting Help

If you run into problems, first search the issues and discussions in this repository. If you don't find anything, you can come talk to our friendly and active developers in the Infinite Red Community Slack (community.infinite.red).

If you still need help after reaching out to the proper channels, feel free to open a new GitHub issue via npx ignite-cli issue "Unable to Ignite new app" (as an example). This will help start writing your issue with the correct diagnostic information included.

Contributing to Ignite

Want to contribute to Ignite? Check out the contributing guide for more info on how to work with the codebase.

Need Inspiration?

If you need battle-tested solutions from Infinite Red experts on everything from Accessibility, to CI/CD configuration, head to Ignite Cookbook for code snippets from our team and the community!

No time to learn React Native? Hire Infinite Red for your next project

We get it – sometimes there just isn’t enough time on a project to learn the ins and outs of a new framework. Infinite Red’s here to help! Our experienced team of React Native engineers have worked with companies like Microsoft, GasBuddy, Zoom, and Mercari to bring some of the most complex React Native projects to life.

Whether it’s running a full project or training a team on React Native, we can help you solve your company’s toughest engineering challenges – and make it a great experience at the same time.

Ready to see how we can work together? Send us a message

Further Reading