This blui-react-native is the one stop repository for all of the Brightlayer UI React Native packages, showcase examples and consolidated dev docs projects within a single codebase. You need to clone this repo and do yarn install at root level, all of the projects dependencies will be installed together, then checkout to any of the project folder and run.
Prerequisites:
Node.js and npm installed (https://nodejs.org/en/download/package-manager)
Clone the Repository:
git clone https://github.com/etn-ccis/blui-react-native.gitInstall Dependencies:
cd blui-react-native
yarn installRun docs project:
cd docs
yarn devRun example projects:
cd examples/showcase
yarn startThis repository includes a sophisticated hot reloading system that enables real-time development across all packages and example applications. The watch system automatically builds and syncs changes from library packages to example apps, providing instant feedback during development.
For the best development experience, use the unified watcher that monitors all packages simultaneously:
# Start watching all packages (recommended)
yarn watch:allThis single command will:
- Watch for changes in all 4 packages (components, themes, auth-workflows, progress-icons)
- Automatically rebuild TypeScript files when changed
- Sync built files to relevant example applications
- Provide color-coded logs for easy debugging
- Start watcher first: Run
yarn watch:allbefore starting example apps for best experience - Save triggers rebuild: Any save in package
src/directories triggers automatic rebuild and sync - Check logs: Color-coded logs help identify which package is being processed
- Graceful shutdown: Use
Ctrl+Cto properly stop all watchers
Each package syncs to specific example applications:
| Package | Example Apps |
|---|---|
| Components | showcase, designPatterns, expoShowcase |
| Themes | showcase, designPatterns, expoShowcase |
| Progress Icons | showcase, designPatterns, expoShowcase |
| Auth Workflows | workflowexample-expo, workflow |
- File Watching: Uses
chokidarto monitor TypeScript/TSX files in packagesrc/directories - Incremental Build: Compiles only changed files using TypeScript's incremental compilation
- ESM Compatibility: Runs
tsc-esm-fixto ensure ES module compatibility - File Sync: Copies built files (
.js,.d.ts,.map) towatchPackagesdirectories - Metro Reload: Updates file timestamps to trigger React Native Metro bundler reload