Skip to main content

Installation

Prerequisites

  • Node.js 18 or higher
  • Expo SDK 56 or higher (for Expo projects)
  • React Native 0.85 or higher

Install from GitHub Packages

This package is published on GitHub Packages. You'll need to configure npm to authenticate with GitHub.

tip

Scaffolding with create-app? The .npmrc below is already included in every template — you only need step 1 to generate a token, then export it as PERSONAL_ACCESS_TOKEN before running npm install.

1. Create a Personal Access Token (PAT)

  1. Go to GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic)
  2. Generate a new token with read:packages scope
  3. Copy the token

2. Configure .npmrc

Create or update .npmrc in your project root:

@multinaire:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${PERSONAL_ACCESS_TOKEN}

Set the environment variable with your token:

# Add to your shell profile (.bashrc, .zshrc, etc.)
export PERSONAL_ACCESS_TOKEN=your_github_pat_here

Or for CI/CD, set PERSONAL_ACCESS_TOKEN as a secret environment variable.

You can name the environment variable anything, as long as it matches the .npmrc entry — PERSONAL_ACCESS_TOKEN is used here (and in every @multinaire/expo-ui template) for consistency.

3. Install the Package

npm install @multinaire/expo-ui

Or with yarn:

yarn add @multinaire/expo-ui

Peer Dependencies

The library has several peer dependencies. Most are already included in a standard Expo project:

# Icons
npm install iconsax-react-nativejs

# Core dependencies (usually already installed)
npm install expo expo-font expo-image react-native-reanimated react-native-svg

# Navigation (if using navigation components)
npm install expo-router react-native-screens react-native-safe-area-context

# Storage (for persisting theme/language preferences)
npm install @react-native-async-storage/async-storage

# i18n (for localization)
npm install i18next react-i18next

# Date picker (if using DateTimePicker)
npm install react-native-ui-datepicker

# Bottom sheet (used by Popup on native platforms)
npm install @swmansion/react-native-bottom-sheet

# Markdown (used by MarkdownTypography)
npm install react-native-enriched-markdown

Verify Installation

Create a simple test to verify the installation:

import { Typography } from '@multinaire/expo-ui';

export default function App() {
return <Typography>Installation successful!</Typography>;
}

If you see the text rendered, the installation is complete.

Next Steps