Skip to content

Bare React Native

BeeUI maintains a true bare React Native consumer independently of the Expo runtime. The accepted fixture regenerates a pinned native project, overlays the BeeUI-specific source/config, packs the BeeUI packages, installs those tarballs, and bundles Android and iOS through Metro.

Terminal window
corepack enable
pnpm install --frozen-lockfile
pnpm build
cd examples/bare-rn-consumer
bash setup.sh
bash bundle.sh

setup.sh uses the pinned React Native Community CLI/RN versions to regenerate the native project, applies src-overrides/, then installs packed BeeUI artifacts plus the native peer set. bundle.sh produces non-empty Android and iOS Metro bundles without an Expo runtime.

The generated android//ios/ native project tree is deliberately reproducible rather than treated as BeeUI documentation. The stable integration source lives in the fixture’s src-overrides/ files:

  • App.tsx — provider/components and Android Back example;
  • index.js — application registration;
  • metro.config.js — Metro + Uniwind integration;
  • global.css — Tailwind/Uniwind/BeeUI semantic theme entry.

For a real application, own your generated native project as normal; the fixture only separates regenerable CLI boilerplate from the BeeUI integration contract.

The application-side shape stays the same as Expo:

import {
BeeUIProvider,
SafeArea,
Screen,
Text,
} from '@beemvp/beeui-ui';
export function App() {
return (
<BeeUIProvider>
<Screen>
<SafeArea edges={['top', 'left', 'right', 'bottom']} className="flex-1">
<Text variant="title">BeeUI on bare React Native</Text>
</SafeArea>
</Screen>
</BeeUIProvider>
);
}

Native dependencies used by a selected component remain normal application dependencies. The executable fixture is the authority for the currently tested peer set; do not copy an old dependency list from a blog post or release note.

A passing bundle.sh proves packed-package resolution + bare Metro bundling for Android and iOS. It is not equivalent to Gradle/Xcode native compilation and not equivalent to simulator/device interaction. BeeUI’s heavier CI/native-runtime evidence is classified separately.

See Compatibility for supported versions and Accessibility for what deterministic, compile, browser, and device evidence each claim uses.