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

rn-scaffold

v0.0.16

Published

*Warning*: This is in beta: we've successfully used it with one or two projects though.

Downloads

3

Readme

rn-scaffold

Warning: This is in beta: we've successfully used it with one or two projects though.

rn-scaffold is a tool to help automate setting up the common parts of a react-native project:

  • Different environments, debug, staging and release
  • Provisioning profiles using match
  • Deployment to Testflight and Playstore
  • Notifications with firebase

It's opinionated, designed for real-life apps. We built it after building 5+ apps and doing the same steps over and over and screwing them up.

Getting started

Install rn scaffold using: npm install -g rn-scaffold

In general we'll only be supporting the last minor version of the previous version of React Native (since this one is the most stable).

Usage

If in doubt commands should be run in order listed below to avoid any errors!

rn-scaffold react-native-init

  • runs react-native init
  • renames your project correctly and updates the android package / file structure
  • to switch react-native version use the flag --react-native-version

rn-scaffold prettier-lint

  • Adds eslint, prettier and lint-staged to your project.

rn-scaffold react-native-config

  • adds different build environments debug, staging and release to ios and android.
  • adds different bundleIds and app names per environment, e.g. com.myApp.debug, myApp debug ect
  • adds different app icons per environment
  • adds react-native-schemes-manager to manage adding new environment to ios project
  • adds code snippets to pass current environmet though intialProps into react-native app to allow correct config to be loaded
  • add generates apk signing key stores for android environments

rn-scaffold provisioning-profiles (Requires manual steps that user needs complete, see logs for details)

  • generates provisioning profiles per environment (debug, staging, release) for ios app on developer.apple.com
  • syncs generated provisioning profiles to local machine

rn-scaffold ios-deployment (Requires rn-scaffold provisioning-profiles command to have been run first)

  • adds deployment npm scripts for staging and release builds of app to app store
  • adds pushToITunes.sh script to build ipa files and push them to itunes connect
  • adds cocoa pods to app to create .xcworkspace file to generate ipa from

rn-scaffold android-deployment

  • adds deployment npm scripts for staging and release builds of app to play store

rn-scaffold notifications (Requires rn-scaffold provisioning-profiles to have been run and cocoa pods to be installed. Requires a lot of manual user steps, see logs or details)

  • generates ios certificates for push notifications per environment (debug, staging, release)
  • adds FirebaseMessaging pod and installs react-native-fcm
  • adds code to ios to handle multiple bundleIds for GoogleService-Info.plist files

Running Locally

You can test local changes by doing something like:

(cd ../../scaffolding && npm i && npm build) && node ../../scaffolding/build/bin.js react-native-config