Skip to content

Release 3.0.0

Choose a tag to compare

@jbinda jbinda released this 16 Sep 12:13
· 4 commits to v3 since this release

Highlights

  • support Module Federation out of the box inside @callstack/repack package - see detailed CHANGELOG
  • introduce ScriptManager which handles loading local and remote scripts
  • custom ModuleFederationPlugin which support for remote@location syntax
  • support for CJS and ESM versions of Webpack config
  • introduce @callstack/repack-dev-server package - see detailed CHANGELOG
  • introduce @callstack/repack-debugger-app package - see detailed CHANGELOG

Breaking changes

  • Webpack configuration in webpack.config
  • refactored ChunkManager into ScriptManager

To see how to migrate from V2 check migration guide

Changelog

See detailed changelog

@callstack/repack

  • 1c29413 repack@3.0.0-next.8 (detailed CHANGELOG)

    • Expose --reverse-port argument in start command to fix dev server on Android 9960a7b
    • Pass SHARE_ENV to Worker to keep process envs from parent process 4bfeab1
    • TesterApp was refactored to ephasize relavant logic as clear as possible 3b5eb32
  • eadd108 repack@3.0.0-next.7 (detailed CHANGELOG)

    • Custom Module Federation plugin - Repack.plugins.ModuleFederationPlugin b588690:
      • Add custom ModuleFederationPlugin plugin with defaults for React Native
      • automatic remotes conversion to promise new Promise (via Federated.createRemote)
      • support for remote@location syntax
    • Priority for resolvers in ScriptManager b588690
  • 884e614 repack@3.0.0-next.6 (detailed CHANGELOG)

    • Prevent importModule from crashing with cannot read property __isInitialized of undefined ecf7829
    • Fix bi-directional imports in Module Federation 4e15c38
  • 1d70683 repack@3.0.0-next.5 (detailed CHANGELOG)

    • ScriptManager adjustments fa097f7:
      • Added ability to provide multiple resolvers to ScriptManager using ScriptManager.shared.addResolver
      • Removed ScriptManager.configure and split the functionality into ScriptManager.shared.setStore and ScriptManager.shared.addResolver
      • Added methods to remove a single resolver and to remove all resolvers
      • Returning undefined from a resolver will cause next resolver in line to be used (as long as other resolvers were added), if no resolver processed the request the error is thrown.
  • 6f560fd repack@3.0.0-next.4 (detailed CHANGELOG)

    • Module Federation 96a6b27:
      • Keep track of initialized remote containers to prevent performance degradation and crashes.
  • f544464 repack@3.0.0-next.3 (detailed CHANGELOG)

    • Assets loader b088203:
      • Add inline: boolean option to @callstack/repack/assets-loader.
      • Add support for calculating width, height and scale for inlined assets.
      • Add support for inlining multiple scales.
  • a067171 repack@3.0.0-next.2 (detailed CHANGELOG)

    • Added implementation for API functionalities in @callstack/repack-dev-server:
      • GET /api/platforms - List all platforms with active compilations
      • GET /api/:platform/assets - List all assets (name and size) for a given compilation
      • GET /api/:platform/stats - Get Webpack compilation stats
      • Websocket server under /api URI for logs and compilations events
  • 04fe409 repack@3.0.0-next.1 (detailed CHANGELOG)

    • HMR:
      • Upgraded @pmmmwh/react-refresh-webpack-plugin to 0.5.7 and added react-refresh@^0.14.0 as a @callstack/repack dependency.
      • RepackTargetPlugin now requires to pass hmr?: boolean property to a constructor - only relevant, if you're not using RepackPlugin
  • 05d126e repack@3.0.0-next.0 (detailed CHANGELOG)

    • ScriptManager:
    • Webpack improvements:
      • All Repack plugins are consolidated under single RepackPlugin, all sub-plugins are available under plugins
      • Added support for CJS and ESM versions of Webpack config
      • Added CJS and ESM templates for Webpack config
    • CLI:
      • Added --silent option to webpack-start command to silent all logs
      • Added --log-file <path> option to webpack-start command to log all messages to a file
      • Added --json webpack-start command to log all messages as JSON

@callstack/dev-server-repack