Skip to content

Native federation is moving! #1044

@Aukevanoost

Description

@Aukevanoost

Hi all!

2025 marked an important milestone for Native Federation, the last couple of months have been dedicated to improving the performance and robustness of the native federation ecosystem. This year will be no different when we enter the maturing stage. Therefore we're proud to announce the moving of Native-federation to its own Github organization which can be found here: https://github.com/native-federation/

What does this mean?

This means that this repository (native federation v3) will transition to a maintenance state. It will only be used for security updates and patches, new features can be requested in the new v4 repositories.

What changed?

The v4 release allows us to do some (really needed) internal refactoring. We broke the ecosystem up into 3 repositories:

Secondly, the new major version allowed us to modernize the stack to a more up-to-date setup! So we moved some things around!

  • The new orchestrator is now supported! It still needs a bit of love (no SSE yet) but it works flawless with the NF ecosystem. And it supports dependency sharing 🎉
  • All packages are now fully ESM! This is a breaking change in the federation.config.js, check the new syntax here: https://github.com/Aukevanoost/native-federation-examples-ng/blob/nf-beta/projects/mfe1/federation.config.js
  • We've moved around some types, They're all still there but some might be renamed:
    • BuildAdapterOptions -> NFBuildAdapterOptions
    • BuildAdapter -> NFBuildAdapter
    • BuildResult -> NFBuildAdapterResult
    • Renamed all config objects to be a bit clearer: Check the diff
    • We updated the runtime processRemoteInfos -> fetchAndRegisterRemotes
    • the core library is not dependent on the runtime anymore, but the other way around. Types from the runtime have been moved to core.
    • We added some fine-grained secondary entrypoints/barrel files to the core library like /domain for all interfaces and contracts and /config for all "config" related services.
    • All the renames and contract changes can be found in the commits native-federation@ce1f64c and native-federation@acbf811
  • Removed the deprecated "transient" flag. native-federation@91a1040

We need feedback!

We uploaded some versions and new libraries to support the v4 ecosystem! Please play around with it, try different things. For now we only uploaded the core libraries but more will follow!

  "devDependencies": {
    "@angular-architects/native-federation-v4": "^21.1.0",   // To test the Angular builder
    "@softarc/native-federation-orchestrator": "4.0.0-RC1",  // The new orchestrator!
    "@softarc/native-federation-runtime": "4.0.0-RC1",      // The current runtime in v4
    "@softarc/native-federation": "4.0.0-RC1",               // Native federation v4
  }

However, you can also see an example pre-built repo here: https://github.com/Aukevanoost/native-federation-examples-ng/tree/nf-beta

When is the full release?

T.B.A.

Any other questions, findings and feedback would be great so we can make the migration as smooth as possible!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions