Skip to content

Latest commit

 

History

History
97 lines (69 loc) · 2.76 KB

File metadata and controls

97 lines (69 loc) · 2.76 KB

Running and sharing the example

The example is an Expo 57 development-build project. It does not depend on the native modules bundled with Expo Go.

Local development build

From the repository root:

bun install
bun run example:ios
# or
bun run example:android

Expo generates the native project, builds it, installs it on the selected simulator or device, and starts Metro. The generated example/ios and example/android directories are ignored because Expo can recreate them from the checked-in app configuration.

After the client is installed, start Metro without rebuilding:

bun run example

Add -- --tunnel when the device cannot reach the development machine over the local network. Its QR opens only in a matching installed development client.

Shared EAS development build

An Expo account owner must link the example before the first cloud build:

cd example
bunx eas-cli@latest login
bunx eas-cli@latest init

Do not commit a fabricated Expo project ID. eas init writes the real owner and project identity.

Build an internally distributable client:

bunx eas-cli@latest build --profile development --platform android
bunx eas-cli@latest build --profile development --platform ios

For an iOS simulator artifact:

bunx eas-cli@latest build \
  --profile development-simulator \
  --platform ios

Android internal builds can be shared as installable APKs. Physical iOS builds still require Apple signing and registered devices; use the simulator profile for a shareable simulator build.

Static web gallery

Build the Expo web export from the repository root:

bun install --frozen-lockfile --minimum-release-age 0
bun run example:export:web

The deployable directory is example/dist. It is a static CanvasKit site; no Worker runtime is required.

Cloudflare Pages

Connect the repository to Pages and use:

  • Build command: bun install --frozen-lockfile --minimum-release-age 0 && bun run example:export:web
  • Build output directory: example/dist
  • Root directory: repository root

The same output can be uploaded with Wrangler if the project is managed from CI. A Worker is only useful later if the gallery gains saved/shareable chart configurations or another server-side feature.

GitHub Pages

The repository includes .github/workflows/demo.yml. Enable GitHub Pages with GitHub Actions as its source, then run the workflow manually. It builds the same static export and deploys it as the Pages artifact. The workflow sets EXPO_BASE_URL from the repository name so Metro's scripts and assets resolve under a project Pages URL such as /react-native-dither-kit.

The web URL is the permanent public demo. The native development client is for contributors and testers who install its matching binary.