2.6.8 • Published 8 months ago

@hubspire/expo-app v2.6.8

Weekly downloads
-
License
-
Repository
bitbucket
Last release
8 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

11 months ago

2.2.0

11 months ago

2.4.1

10 months ago

2.2.3

11 months ago

2.2.2

11 months ago

2.6.1

10 months ago

2.4.3

10 months ago

2.2.5

11 months ago

2.6.0

10 months ago

2.4.2

10 months ago

2.2.4

11 months ago

2.6.3

10 months ago

2.4.5

10 months ago

2.2.7

11 months ago

2.6.2

10 months ago

2.2.6

11 months ago

2.5.6

10 months ago

2.5.5

10 months ago

2.3.7

10 months ago

2.1.9

11 months ago

2.5.8

10 months ago

2.5.7

10 months ago

2.5.9

10 months ago

2.3.0

11 months ago

2.1.2

11 months ago

2.1.1

11 months ago

2.5.0

10 months ago

2.3.2

11 months ago

2.1.4

11 months ago

2.1.3

11 months ago

2.5.2

10 months ago

2.3.4

10 months ago

2.1.6

11 months ago

2.5.1

10 months ago

2.1.5

11 months ago

2.5.4

10 months ago

2.3.6

10 months ago

2.1.8

11 months ago

2.5.3

10 months ago

2.3.5

10 months ago

2.1.7

11 months ago

2.1.0

11 months ago

2.4.7

10 months ago

2.6.4

10 months ago

2.4.6

10 months ago

2.2.8

11 months ago

2.6.7

8 months ago

2.4.9

10 months ago

2.6.6

9 months ago

2.4.8

10 months ago

2.6.8

8 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