max-remotes-helper
v1.0.0
Published
Helper library for Module Federation remotes in BO ecosystem
Maintainers
Readme
bo-remotes-helper
Helper library for Module Federation remotes in the BO ecosystem.
Purpose
bo-remotes-helper provides common functionality for remote modules in the BO system, specifically designed to work with Module Federation without the heavy Node.js dependencies that bo-library has.
Features
- 🔐 Lightweight Authentication Context - No Node.js polyfills required
- 🛡️ Secured Component - Permission-based conditional rendering
- 🔧 Remote Utilities - Common functions for remote modules
- 📦 Module Federation Ready - Pre-configured shared dependencies
- 💾 Token Management - Browser-compatible token handling
Installation
npm install bo-remotes-helperUsage
Basic Setup
import { RemoteWrapper, useRemoteAuth, Secured } from 'bo-remotes-helper';
// Wrap your remote component
export const MyRemoteComponent = ({ token }) => {
return (
<RemoteWrapper token={token}>
<MyContent />
</RemoteWrapper>
);
};
// Use authentication context
const MyContent = () => {
const { state, hasPermission } = useRemoteAuth();
return (
<div>
<h1>Welcome {state.user?.name}</h1>
<Secured permission="edit">
<button>Edit Content</button>
</Secured>
</div>
);
};Module Federation Configuration
import { useRemoteConfig } from 'bo-remotes-helper';
const { getWebpackConfig } = useRemoteConfig();
const config = getWebpackConfig('my-remote', {
'./MyComponent': './src/MyComponent',
});API Reference
Components
RemoteWrapper
Main wrapper component that provides authentication context.
Secured
Conditional rendering component based on permissions.
Hooks
useRemoteAuth()
Access authentication state and methods.
useRemoteConfig()
Get standard Module Federation configuration.
Utils
Token utilities
decodeToken(token)- Decode JWT safelyisTokenExpired(token)- Check token expirationtokenStorage- Browser storage utilities
Module utilities
loadRemoteModule()- Dynamic remote loadingisRemoteAvailable()- Check remote availability
Differences from bo-library
| Feature | bo-library | bo-remotes-helper | |---------|------------|-------------------| | Authentication | Full JWT verification | Client-side decode only | | Node.js APIs | Required (crypto, etc.) | Browser-only | | Bundle size | Large | Lightweight | | Use case | Host applications | Remote modules |
Development
# Install dependencies
npm install
# Build
npm run build
# Watch mode
npm run dev
# Test
npm run testIntegration with bo-module-react-template
This library is designed to be the standard authentication solution for all remote modules created from bo-module-react-template.
