@rechunk/core
Version:
Core functionality for ReChunk dynamic code loading and chunk management in React Native
116 lines (81 loc) • 1.98 kB
Markdown
Core functionality for ReChunk dynamic code loading and chunk management in React Native.
- 🚀 Dynamic code loading
- 🔒 Secure chunk verification
- 💾 Smart caching
- 🔄 Event emitter support
- 📦 Type-safe imports
- ⚡️ Optimized performance
```bash
npm install @rechunk/core
yarn add @rechunk/core
pnpm add @rechunk/core
```
```typescript
import ReChunk, {importChunk} from '@rechunk/core';
// Dynamic import
const MyComponent = React.lazy(() => importChunk('component-id'));
```
```typescript
import ReChunk from '@rechunk/core';
ReChunk.addConfiguration({
verify: true,
publicKey: 'YOUR_PUBLIC_KEY',
resolver: async chunkId => {
// Custom chunk resolution
return {data: '...', token: '...'};
},
});
```
```typescript
import {on} from '@rechunk/core';
on('chunkId', () => {
console.log('Chunk loaded!');
});
```
```typescript
async function importChunk<T extends string>(
chunkId: ValidateReChunkEntry<T>,
): Promise<{default: React.ComponentType<any>}>;
```
```typescript
interface Configuration {
verify?: boolean;
publicKey?: string;
resolver?: ResolverFunction;
global?: CustomRequire;
}
function addConfiguration(config: Configuration): void;
```
```typescript
function on(event: string, callback: Function, ctx?: any): TinyEmitter;
```
- JWS verification
- Runtime integrity checks
- Secure module loading
- Configurable verification
```typescript
// Valid import
const Component = await importChunk('valid-chunk');
// Type error
const Invalid = await importChunk('invalid-chunk');
// ^^^^^^^^^^^^^^^ Error: Not a valid chunk
```
Contributions are welcome! Please read our contributing guidelines first.
MIT