@hubspire/expo-app

2.6.8 • Public • Published

Expo Application Template

This package helps to setup an Expo application using HubSpire's template.

Prerequisites

Make sure you have:

  • set up a bitbucket repository for the project with write access.
  • set up a Sentry account for the project.
  • the development, staging and production base API URLs.

Usage

To create the Expo project using this template, run:

$ bunx create-expo-app <ProjectName> --template @hubspire/expo-app

Getting Started

NOTE: When running scripts, it's important to initiate them from the top-level directory of the project.

Project setup

  • Create a .env file in root and add these environment variables:
GIT_REMOTE_URL =
SENTRY_ORG =
SENTRY_PROJECT =
SENTRY_AUTH_TOKEN =
SENTRY_DSN =
DEV_API_URL =
STAGING_API_URL =
PROD_API_URL =
OPENAPI_KEY =
FIGMA_TOKEN =
FIGMA_FILE =

Now run:

$ bun run project-setup
  • Make sure that you are running this script before making any changes to the project by yourself. This will :
  • Create the default environment files with the required environment variables for you. It will also update the env field inside eas.json with the values you provide during setup.
  • Remove/Update some values in the app.config.ts, eas.json, eas-build-on-success.sh and package.json files which are exclusive for the template project.
  • Remove readme file used for the template project.
  • Add secret folders and files to gitignore.
  • Initialise new repository for the project.
  • Publish an initial commit to the remote url you provided.

Setup push notification

  • Add your google-services.json (3 files for 3 environments) files inside assets/secrets folder.
  • Add environment secrets GOOGLE_SERVICES_JSON with their corresponding values for eas build to have access to these variables.
  • Make sure you have set up server credentials for android.
  • Make sure you have enabled push notification and generated APNS key for your iOS build when prompted during eas build.
  • Listeners to display notification, deep linking configurations for push notification and a button to send a test notification has been set up in the template.
  • Refer this documentation for more.

EAS

Install eas cli.

$ bun install -g eas-cli

Login to Expo account if you haven't already.

$ eas login

Configure eas build.

$ bun run build:configure

Configure eas update.

$ bun run update:configure

Add environment variables in the Expo account.

Build and run development build using eas

$ bun run build:dev:eas

Testing

Unit Testing: Jest

$ bun run test:unit

E2E Testing: Maestro

$ bun run test:e2e:dev

CI/CD

NOTE: Make sure you have set up the EXPO_TOKEN environment variable in your repository and MAESTRO_API_KEY as an environment secret.

Commits to _release/development branch will trigger EAS build using development:e2e profile.

Commits to release/staging branch will trigger EAS build using preview profile.

Commits to release/production branch will trigger EAS build using production profile.

A successful EAS build with the development:e2e profile will trigger E2E testing using Maestro. The flows are expected to be located inside the .maestro folder at the top-level directory of the project.

Work in Progress

This project is actively being developed. Current work in progress includes:

  • [ ] Automated component generation from Figma designs
    • [x] Integration with Figma API
    • [x] Component template generation
    • [x] Style extraction and application
    • [x] Generate test cases
    • [x] Generate stories
    • [ ] Prompt optimizations and corrections

Dependents (0)

Package Sidebar

Install

npm i @hubspire/expo-app

Weekly Downloads

94

Version

2.6.8

License

none

Unpacked Size

1.41 MB

Total Files

106

Last publish

Collaborators

  • hosam-hsm
  • sijeesh_hubspire
  • anoop-benzier
  • vimalhuber
  • suraj_hubspire