Skip to content
/ rechunk Public
forked from crherman7/rechunk

πŸš€ Render Remote Chunks with React Native

License

Notifications You must be signed in to change notification settings

devs9/rechunk

Β 
Β 

Repository files navigation

ReChunk Banner

npm version Downloads Bundle Size TypeScript License PRs Welcome

ReChunk is a lightweight React Native library that enables secure over-the-air updates and dynamic component loading, allowing you to update your app's UI without app store submissions.

Website Β β€’Β  Documentation Β β€’Β  Discord Community

Why ReChunk?

  • πŸ“± Bypass App Store Updates: Deploy UI changes without waiting for app store approval
  • πŸ”„ Instant Updates: Push changes to all users simultaneously
  • πŸ›  Developer Friendly: Simple API with TypeScript support
  • πŸƒ Performance First: Minimal bundle size impact and optimized loading

Installation

npm install @rechunk/core
npm install -D @rechunk/cli @rechunk/babel-plugin @rechunk/metro-config

# or

yarn add @rechunk/core
yarn add -D @rechunk/cli @rechunk/babel-plugin @rechunk/metro-config

Quick Example

'use rechunk';

import {View, Text, TouchableOpacity, StyleSheet} from 'react-native';
import React, {useState} from 'react';

interface FeatureCardProps {
  title: string;
  description: string;
  onPress?: () => void;
}

export default function RemoteFeatureCard({
  title = 'New Feature',
  description = 'Try out our latest update!',
  onPress,
}: FeatureCardProps) {
  const [pressed, setPressed] = useState(false);

  const handlePress = () => {
    setPressed(true);
    onPress?.();
  };

  return (
    <TouchableOpacity
      style={[styles.container, pressed && styles.pressed]}
      onPress={handlePress}>
      <View style={styles.content}>
        <Text style={styles.title}>{title}</Text>
        <Text style={styles.description}>{description}</Text>
      </View>
    </TouchableOpacity>
  );
}

const styles = StyleSheet.create({
  container: {
    backgroundColor: '#FFFFFF',
    borderRadius: 12,
    padding: 16,
    margin: 8,
    shadowColor: '#000',
    shadowOffset: {
      width: 0,
      height: 2,
    },
    shadowOpacity: 0.25,
    shadowRadius: 3.84,
    elevation: 5,
  },
  pressed: {
    opacity: 0.8,
    transform: [{scale: 0.98}],
  },
  content: {
    gap: 8,
  },
  title: {
    fontSize: 18,
    fontWeight: 'bold',
    color: '#000000',
  },
  description: {
    fontSize: 14,
    color: '#666666',
  },
});

Features

  • πŸš€ Over-The-Air Updates: Deploy React Native components instantly without app store submissions. Push UI changes directly to your users in real-time.
  • ⚑️ Zero-Config Hosting: Host your components anywhere - from S3 to your own servers. Zero vendor lock-in, maximum flexibility.
  • πŸ”’ Built-in Security: Industry-standard digital signatures verify every component. Keep your dynamic updates secure and your users protected.

Getting Started

Visit our Quick Start Guide to begin using ReChunk in your project.

Community

Join our growing community! We're excited to help and hear your feedback:

  • πŸ’¬ Join our Discord for real-time discussions
  • ⭐ Star us on GitHub to show your support

Contributing

Please read our Contributing Guide and help us build ReChunk together. For questions or feedback, feel free to open an issue.

Code of Conduct

Please review our Code of Conduct for guidelines on community interaction.

License

ReChunk is licensed under the MIT License.

About

πŸš€ Render Remote Chunks with React Native

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 83.7%
  • MDX 10.0%
  • JavaScript 1.8%
  • Shell 1.3%
  • CSS 0.9%
  • Kotlin 0.8%
  • Other 1.5%