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

@echobind/react-native-template

v0.4.0

Published

<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> [![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors-) <!-- ALL-CONTRIBUTORS-BADGE:END -->

Downloads

15

Readme

react-native-template

All Contributors

Table of Contents

Quickstart

To get started with our template, run one of the following commands:

# using npx, install our latest version from npm
npx react-native init MyApp --template=@echobind/react-native-template

# using npx and the github repo directly
npx react-native init MyApp --template=https://github.com/echobind/react-native-template

# using yarn & the react-native cli
yarn global add react-native-cli
react-native init MyApp --template=https://github.com/echobind/react-native-template

If you see an error after installing using the first option, pass the flag --ignore-existing and run:

npx --ignore-existing react-native init MyApp --template=@echobind/react-native-template

About The Project

Here at Echobind, we value developer productivity. After having built lots of React Native projects, we decided to put together our own template to speed up development. Our template includes the following:

🏆 Dev Productivity:

  • Hygen templates to easily generate components, screens, and utils with tests and stories.
  • vscode settings for common overrides (🎨 Colors, formatOnSave and rulers width that matches prettier)
  • default Fastlane scripts for icon generation
  • global styles and colors
  • react-navigation preconfigured with a common setup
  • Pre-configured scripts in package.json to start the app & deal with simulators
  • Setup lint-staged to run eslint checks on precommit
  • Setup the app for TypeScript

We hope it saves you as much time as it saves us! 👍

Built With

Getting Started

Prerequisites

While not required, we recommend using a version manager for Ruby and Node. Some popular version managers are:

** Ruby **

  • (chruby)[https://github.com/postmodern/chruby]
  • (rbenv)[https://github.com/rbenv/rbenv]

** Node **

Follow the install docs for the version manager of your choice.

During the setup proceess, we will automatically check the versions on your machine and prompt you to install anything you're missing.

Usage

In order to use this template, follow these steps:

  1. Initialize a new react-native app: npx react-native init MyApp --template=https://github.com/echobind/react-native-template
  2. Change directories into your new app: cd MyApp
  3. Run the setup script: node ./setup. A successful setup will give you the green light: ✅ Setup completed!

During the setup process we will do the following:

  • Setup a display name for your app
  • Setup a bundle identifier (ex: com.myapp.mobile)
  • Use Solidarity to ensure your environment has all expected dependencies installed
  • Run bundle install and pod install so you don't have to
  • Setup placeholder icon and a splash screen
  • Setup the first integration test which can be run with the scripts from your package.json with yarn e2e:ios-debug or yarn e2e:android-debug (android emulator must be setup and open)

Troubleshooting

If you get an error with an iOS Release build for ios/Pods/OpenSSL-Universal/ios/lib/libcrypto.a(cryptlib.o) You should be able to resolve by updating the build settings image

Template Preview

on an iPhone 12:

CI / Deployment:

In order to set up CI/Deployment, we've created custom hygen templates to save you time. These live in our hygen-templates-echobind repository. You'll find installation instructions, which will allow you to set up the following:

  • CircleCI preconfigured for React Native. Fast build times!
  • Fastlane lanes for alpha, beta, and production releases. These should be run on CI only!
  • AppCenter integration for easy alpha distribution

After installing those, head into the "Setup CircleCI" docs in ./docs/circle-ci.md, which will walk you through the installation.

For more info, please follow the instructions in the hygen-templates-echobind repo.

Docs

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Publish New Release

This template is available on npm at @echobind/react-native-template. In order to publish a new release, please follow this process:

Prerequisites

  1. You must be an Echobind employee
  2. You must have an npm registry account
  3. You must be a member of the @echobind organization on npm

Create a New Release

This is handled by semantic-release and CircleCI. When a commit is merged into master, it analyzes it, then runs a new release based on the type of commit (i.e fix is a patch whereas feat is considered a minor or feature relase).

Acknowledgements

We'd like to thank the internal team for making this template, and the following organizations:

License

The Echobind React Native template is open source software licensed as MIT.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!