Home

Awesome

npm Sonar Quality Gate bundle size

nx-dynamic-mf

Nx helper for ng-dynamic-mf

Motivation 💥

This plugin provides a way to conviniently use the ng-dynamic-mf library in Nx workspaces.

Features 🔥

✅ Start up the whole workspace with a single command (nx construct)

✅ Supports multiple modules.<name>.json files in the workspace

✅ Supports serving and building of apps (auto detection based on modules.<name>.json)

✅ Supports --watch flag for building apps

More features including generators and more to come...

Built With 🔧

Getting Started 🚀

Install

pnpm

pnpm install -D nx-dynamic-mf

npm

npm install -D nx-dynamic-mf

yarn

yarn add -D nx-dynamic-mf

Add to Workspace

Add a new target to your host app:

{
  "targets": {
    "construct": {
      "builder": "nx-dynamic-mf:construct",
      "options": {
        "modulesFolder": "src/modules"
      }
    }
  }
}

Try it out

  nx construct

Additional Options

Use a different modules.<name>.json file:

  nx construct -m example

This will use the modules.example.json file instead of the default modules.default.json file.


Watch certain projects for changes and rebuild them:

Watch all builds:

  nx construct --watch

Watch certain builds:

  nx construct --watch proj1

or

  nx construct --watch proj1 --watch proj2

or

  nx construct --watch proj1,proj2

Contributing 🧑🏻‍💻

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License 🔑

Distributed under the MIT License. See LICENSE.txt for more information.

Contact 📧

Janik Schumacher - @LoaderB0T - linkedin

Project Link: https://github.com/LoaderB0T/ng-dynamic-module-federation