/repack

A Webpack-based toolkit to build your React Native application with full support of Webpack ecosystem.

Primary LanguageTypeScriptMIT LicenseMIT

A toolkit to build your React Native application with Rspack or Webpack.


Build Status Version MIT License Chat PRs Welcome Code of Conduct Sponsored by Callstack

Re.Pack is a next generation of Haul — a Webpack-based bundler for React Native applications.

Re.Pack uses Rspack (or Webpack 5) and React Native Community CLI's plugin system to allow you to bundle your application using Webpack and easily switch from Metro.

Features

  • Webpack ecosystem, plugins and utilities
  • Build production bundle for iOS, Android and out-of-tree platforms
  • Build development bundle for iOS, Android and out-of-tree platforms
  • Development server with support for:
    • Remote JS debugging
    • Source Map symbolication
    • Hot Module Replacement and React Refresh
    • Reloading application from CLI using r key
  • Built-in Hot Module Replacement + React Refresh support
  • Flipper support:
    • Crash Reporter,
    • Application logs
    • Layout
    • Network
    • Hermes debugger
    • React DevTools
    • Development server (debugging/verbose) logs
  • Hermes support:
    • Running the production/development bundle using Hermes engine
    • Transforming production bundle into bytecode bundle
    • Inspecting running Hermes engine with Flipper
    • ChunksToHermesBytecodePlugin plugin to transform async chunks into Hermes bytecode
  • Code splitting (experimental):
    • Dynamic import() support with and without React.lazy() (recommended).
    • Arbitrary scripts (only for advanced users).
  • REST API for development server:
    • GET /api/platforms - platforms with active compilations.
    • GET /api/:platform/assets - assets emitted from compilation.
    • GET /api/:platform/stats - data about compilation.
  • Module Federation support
  • Code signing and verification
  • @callstack/repack-init - tool that automates the integration of the Re.Pack into React Native projects
  • Rspack support

Examples

Explore examples of React Native applications using Re.Pack here: https://github.com/callstack/repack-examples.

For a more comprehensive example of a Super App setup with Module Federation please visit our Super App Showcase repository.

Documentation

The documentation is available at re-pack.dev.

You can also use the following links to jump to specific topics:

Made with ❤️ at Callstack

@callstack/repack is an open source project and will always remain free to use. If you think it's cool, please star it 🌟. Callstack is a group of React and React Native geeks, contact us at hello@callstack.com if you need any help with these or just want to say hi!

Like the project? ⚛️ Join the team who does amazing stuff for clients and drives React Native Open Source! 🔥