๐ฎ Nuz is an open-source project, the runtime package manager for web platform.
๐ This branch to prepare for the 1.0.0 version, suggestions and bug reports are welcome!
๐ฎ Nuz is an ecosystem to manage runtime packages for web platform.
Nuz is like a Node.js require but the modules will be resolved from the network at runtime instead of bundle in the main source. This changes the way the web platform is developed, everything is almost shared and updated consistently and constantly, it also solves the problem when implement Micro Frontends.
When you use a require like below:
require('module-awesome')
Traditionally, the resolver will look for this module in the node_modules
directory (or where you have configured paths) to find module-awesome and use it. module-awesome will be bundled into your code when deploy to production, and when you need to change or upgrade you will have to bundle it all up.
Use with Nuz, module-awesome will be resolved from the network and use it. You will not need to bundle module-awesome into your code when deploy to production. When you need to update, you also do not need to bundle used places!
For example, if you have a homepage like Facebook's, your business develops products under "product teams" and you have multiple teams together, you don't want teams dependent on each other and you want everything to read, from APIs to Frontends.
Take a look at the picture below (source from internet, I have added note).
We have teams that follow the scope comment:
Name | Description | Other |
---|---|---|
@nuz/core | Core to manage and handles resolve runtime packages in the application. | |
@nuz/cli | The command-line interfaces to manage modules and interact with the registry server. | |
@nuz/registry | A factory to create the registry server for the Nuz ecosystem. |
And other packages just create to using in the main packages.
See more information about documents here ๐
Please see our CONTRIBUTING.md ๐
Hieu Lam (@lamhieu-vk).