Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
d68f34c
chore: RN 0.72.0-rc.3 and Expo 49 alpha.3
frankcalise May 24, 2023
772f1de
chore: alpha4 expo 49 and RN rc6
frankcalise Jun 14, 2023
6c62b83
chore: package updates
frankcalise Jun 29, 2023
e64d38a
chore: merge branch 'master' into feat/rn-72-expo-49
frankcalise Jun 30, 2023
ca98ae8
chore: remove webpack-config dep, expo uses metro now
frankcalise Jun 30, 2023
0c77940
feat(web): metro over webpack for SDK 49
frankcalise Jun 30, 2023
ef58d4f
chore: tsc fix
frankcalise Jun 30, 2023
f10956a
Ignite Expresso (#2476 by @frankcalise)
frankcalise Jul 13, 2023
ed0b3af
docs(readme): move documentation link higher, update versions
frankcalise Jul 13, 2023
005c2de
feat(boilerplate): add in default eas.json for EAS Build
frankcalise Jul 13, 2023
bf300e1
chore(boilerplate): eas.json updates
frankcalise Jul 14, 2023
ea415d8
chore: cherry-pick 2e24ef8
mazenchami Jul 10, 2023
c3fd3c5
chore: remaining TS strict fixes
frankcalise Jul 14, 2023
6962ad7
feat(boilerplate): expo TS paths in favor of babel plugin
frankcalise Jul 14, 2023
c62ed38
fix(demo): podcast list data
frankcalise Jul 17, 2023
c4d79dd
fix(demo): tab icons
frankcalise Jul 17, 2023
434a4e8
fix(boilerplate): podfile.lock
frankcalise Jul 17, 2023
c240385
overloading Array.filter for the special case of the Boolean constructor
mazenchami Jul 17, 2023
735121b
fix(boilerplate): update reactotron deps, type fixes
frankcalise Jul 20, 2023
4a5e225
chore: gitignore for flame cli 🔥
frankcalise Jul 20, 2023
322975f
refactor(cli): rework experimental flag for more flexible options
frankcalise Jul 20, 2023
3044899
fix(cli): kebab-case over camelCase for flags
frankcalise Jul 20, 2023
dbcd641
fix(ReactotronConfig): update to chain
joshuayoes Jul 20, 2023
e94a25a
Merge branch 'master' into feat/rn-72-expo-49
jamonholmgren Jul 25, 2023
757f850
chore(boilerplate): remove native dirs
frankcalise Jul 26, 2023
2cecd7c
feat(cli): workflow options go/prebuild/manual
frankcalise Jul 26, 2023
cf24469
feat(boilerplate): add fabric bool to demo debug screen
frankcalise Jul 26, 2023
9502968
chore(boilerplate): dep updates
frankcalise Jul 26, 2023
653af08
fix(cli): workflow name value mapping
frankcalise Jul 26, 2023
d345de6
fix(cli): fix cache issue with tests
frankcalise Jul 26, 2023
0d1a8d9
docs(releasing-ignite): fixed package.json snippet to be more accurate
frankcalise Jul 27, 2023
af34b66
fix(cli): #2225 remove-demo finds all empty dirs
frankcalise Jul 27, 2023
99e5946
fix(boilerplate): #2230
frankcalise Jul 27, 2023
2ca37f7
chore(boilerplate): update reactotron deps
frankcalise Jul 27, 2023
74650b6
fix(cli): drop improper flag from prebuild
frankcalise Jul 28, 2023
7fd9e1b
feat(cli): add prebuild progress message
frankcalise Jul 28, 2023
688e553
fix(boilerplate): removed unnecessary expo deps
frankcalise Jul 28, 2023
efc5e1d
fix(cli): new arch bools before prebuild
frankcalise Jul 28, 2023
e5d045a
chore: dir clean up, win32 compat
frankcalise Aug 2, 2023
258e8c0
feat(boilerplate): config plugin scaffolding (#2487 by @frankcalise)
frankcalise Aug 4, 2023
65c4d0b
fix(cli): new arch toggle
frankcalise Aug 5, 2023
11cc2c8
docs(readme): add more badges
frankcalise Aug 5, 2023
ea88b0c
docs(readme): remove expo badge
frankcalise Aug 5, 2023
b13852b
Merge branch 'master' into feat/rn-72-expo-49
frankcalise Aug 8, 2023
7d8eef5
Update README.md
frankcalise Aug 22, 2023
ba65810
chore(boilerplate): remove unused overrides
frankcalise Aug 22, 2023
9a37093
fix(boilerplate): better new arch support
frankcalise Aug 23, 2023
eecac88
chore(boilerplate) Update react-native to 0.72.5 (#2505)
markrickert Sep 28, 2023
7d78fc6
feat(cli): add bun support (#2497 by @frankcalise @jamonholmgren)
frankcalise Oct 1, 2023
4f03467
chore: Merge branch 'master' into feat/rn-72-expo-49
frankcalise Oct 1, 2023
9b768dd
Merge branch 'master' into feat/rn-72-expo-49
frankcalise Oct 3, 2023
fce89e1
fix(cli): Expo Go compat deps (#2508 by @frankcalise and @markrickert)
frankcalise Oct 3, 2023
19a0aff
fix(boilerplate): update type import
frankcalise Oct 4, 2023
b1b33c2
fix: ios compiling issue when the user specifies the new architecture…
markrickert Oct 10, 2023
bddaea5
Merge branch 'master' into feat/rn-72-expo-49
frankcalise Oct 10, 2023
1ac2870
feat(boilerplate) `@shopify/flash-list` integration and ListView HOC …
markrickert Oct 11, 2023
23c3953
Merge branch 'master' into feat/rn-72-expo-49
frankcalise Oct 11, 2023
126ecf4
fix(cli): remove sharp dependency
frankcalise Oct 12, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,21 @@
defaults: &defaults
docker:
# Choose the version of Node you want here
- image: cimg/node:18.15.0
- image: cimg/node:18.17.1
working_directory: /mnt/ramdisk/repo

version: 2.1
orbs:
# https://circleci.com/developer/orbs/orb/cmgriffing/bun-orb
bun-orb: cmgriffing/bun-orb@0.0.26
jobs:
tests:
<<: *defaults
resource_class: large
steps:
- checkout
- bun-orb/setup:
version: 1.0.3
- restore_cache:
name: Restore node modules
keys:
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,8 @@ coverage
# newly spun-up apps, but we do want to ignore it in
# Ignite's source repo.
boilerplate/yarn.lock
boilerplate/bun.lockb
boilerplate/.gitignore.template

# flame CLI
.config
28 changes: 16 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,48 +3,52 @@
# Ignite - the battle-tested React Native boilerplate

<a href="https://badge.fury.io/js/ignite-cli" target="_blank"><img src="https://badge.fury.io/js/ignite-cli.svg" alt="npm version" height="20"></a>
![GitHub Repo stars](https://img.shields.io/github/stars/infinitered/ignite)
![Twitter Follow](https://img.shields.io/twitter/follow/ir_ignite)
[![CircleCI](https://dl.circleci.com/status-badge/img/gh/infinitered/ignite/tree/master.svg?style=svg)](https://dl.circleci.com/status-badge/redirect/gh/infinitered/ignite/tree/master)

## Battle-tested React Native boilerplate
## Proven React Native boilerplate

The culmination of over six years of constant React Native development, Ignite is the most popular React Native app boilerplate for both Expo and bare React Native.
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](https://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 Video

Check out the [Getting Started with Ignite](https://www.youtube.com/watch?v=KOSvDlFyg20) video for a 13 minute overview!

## [Full Documentation](https://github.com/infinitered/ignite/blob/master/docs)

We've put great effort into the documentation as a team, please [read through it here](https://github.com/infinitered/ignite/blob/master/docs). 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](#reporting-bugs--getting-help) 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.71 | The best cross-platform mobile framework |
| React Native | Mobile Framework | v0.72 | The best cross-platform mobile framework |
| React | UI Framework | v18 | The most popular UI framework in the world |
| TypeScript | Language | v4 | Static typechecking |
| 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 | v48 | Allows (optional) Expo modules |
| Expo Font | Custom Fonts | v10 | Import custom fonts |
| Expo Localization | Internationalization | v13 | i18n support (including RTL!) |
| Expo | SDK | v49 | Allows (optional) Expo modules |
| Expo Font | Custom Fonts | v11 | Import custom fonts |
| Expo Localization | Internationalization | v14 | i18n support (including RTL!) |
| Expo Status Bar | Status Bar Library | v1 | Status bar support |
| RN Reanimated | Animations | v2 | Beautiful and performant animations |
| RN Reanimated | Animations | v3 | Beautiful and performant animations |
| AsyncStorage | Persistence | v1 | State persistence |
| apisauce | REST client | v2 | Communicate with back-end |
| Flipper | Debugger | | Native debugging |
| Reactotron RN | Inspector/Debugger | v2 | JS debugging |
| 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 |
| FlashList | FlatList replacement | v1 | A performant drop-in replacement for FlatList |

Ignite also comes with a [component library](https://github.com/infinitered/ignite/blob/master/docs/Components.md) that is tuned for custom designs, theming support, testing, custom fonts, generators, and much, much more.

[Check out the documentation!](https://github.com/infinitered/ignite/blob/master/docs)

## Quick Start

Prerequisites:
Expand Down
6 changes: 6 additions & 0 deletions boilerplate/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,10 @@ buck-out/
.expo/*
bin/Exponent.app

# If using Expo Go/Prebuild, uncomment these:
# android
# ios

npm-debug.*
*.jks
*.p8
Expand All @@ -84,3 +88,5 @@ web-build/

# Configurations
!env.js

/coverage
19 changes: 0 additions & 19 deletions boilerplate/App.js

This file was deleted.

11 changes: 11 additions & 0 deletions boilerplate/App.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import App from "./app/app"
import React from "react"
import * as SplashScreen from "expo-splash-screen"

SplashScreen.preventAutoHideAsync()

function IgniteApp() {
return <App hideSplashScreen={SplashScreen.hideAsync} />
}

export default IgniteApp
15 changes: 0 additions & 15 deletions boilerplate/android/.gitignore

This file was deleted.

55 changes: 0 additions & 55 deletions boilerplate/android/app/BUCK

This file was deleted.

Loading