2.6.8 • Published 6 months ago

@hubspire/expo-app v2.6.8

Weekly downloads
-
License
-
Repository
bitbucket
Last release
6 months ago

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

Bitbucket: bitbucket-pipelines.yml

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.

EAS: eas-build-on-success.sh

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
    • Integration with Figma API
    • Component template generation
    • Style extraction and application
    • Generate test cases
    • Generate stories
    • Prompt optimizations and corrections
2.2.1

9 months ago

2.2.0

9 months ago

2.4.1

9 months ago

2.2.3

9 months ago

2.2.2

9 months ago

2.6.1

8 months ago

2.4.3

9 months ago

2.2.5

9 months ago

2.6.0

8 months ago

2.4.2

9 months ago

2.2.4

9 months ago

2.6.3

8 months ago

2.4.5

9 months ago

2.2.7

9 months ago

2.6.2

8 months ago

2.2.6

9 months ago

2.5.6

8 months ago

2.5.5

8 months ago

2.3.7

9 months ago

2.1.9

9 months ago

2.5.8

8 months ago

2.5.7

8 months ago

2.5.9

8 months ago

2.3.0

9 months ago

2.1.2

9 months ago

2.1.1

9 months ago

2.5.0

8 months ago

2.3.2

9 months ago

2.1.4

9 months ago

2.1.3

9 months ago

2.5.2

8 months ago

2.3.4

9 months ago

2.1.6

9 months ago

2.5.1

8 months ago

2.1.5

9 months ago

2.5.4

8 months ago

2.3.6

9 months ago

2.1.8

9 months ago

2.5.3

8 months ago

2.3.5

9 months ago

2.1.7

9 months ago

2.1.0

9 months ago

2.4.7

9 months ago

2.6.4

8 months ago

2.4.6

9 months ago

2.2.8

9 months ago

2.6.7

7 months ago

2.4.9

8 months ago

2.6.6

8 months ago

2.4.8

8 months ago

2.6.8

6 months ago

2.0.3

1 year ago

2.0.2

1 year ago

2.0.0

1 year ago

1.5.7

2 years ago

1.5.6

2 years ago

1.5.5

2 years ago

1.5.4

2 years ago

1.5.3

2 years ago

1.4.6

2 years ago

1.5.2

2 years ago

1.5.1

2 years ago

1.5.0

2 years ago

1.4.8

2 years ago

1.4.7

2 years ago

1.4.5

2 years ago

1.4.4

2 years ago

1.4.3

2 years ago

1.4.2

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

1.3.0

2 years ago

1.2.0

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.1.9

2 years ago

1.1.8

2 years ago

1.1.7

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.2.3

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.2.1

2 years ago

1.1.2

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago