Populating a registry & best practices for maintaining manifests
Over the weekend, I did a quick hack on the zephyr rspack plugin cuz I wanted to extract the URL, with the idea that I could hook into the deploy step and publish the latest version to a registry api.
PR (I'll clean it up soon): https://github.com/ZephyrCloudIO/zephyr-packages/pull/224
Example usage:
Plugin has the hook https://github.com/near-everything/every-plugin/blob/main/plugins/telegram/rspack.config.cjs, then app has the registry: https://github.com/near-everything/every-plugin/blob/433e4ba6fb90bd8224a129c6ba85130db744c547/examples/efizzybusybot/main.ts#L38
I was told to be using something like Tags? Is this accessible via API?
Let's consider applications with full manifests, how are folks incorporating this into their pipeline? i.e, get the production remote url, update in the manifest, etc -- or is this typically a manual process and sign-off?
GitHub
adds hooks option to ZephyrEngine, for reacting onDeployComplete by...
What's added in this PR?
Provide an implementation summary. What did you add beyond the described task? What are the additional details you'd like people to pay attention to? To he...
GitHub
every-plugin/examples/efizzybusybot/main.ts at 433e4ba6fb90bd8224a1...
A composable plugin runtime for loading, initializing, and executing remote plugins - near-everything/every-plugin
4 Replies
Oh! Found some docs! https://docs.zephyr-cloud.io/features/tags-environments
Zephyr Cloud Docs
Documentation for Zephyr Cloud - The developer-first SaaS platform for Module Federation, micro-frontends, and modern web applications.
Also something important I've noticed, you're using Module Federation 1.5
The bundled version of module federation are not the latest version and lack some features.
Ideally you should be using
@module-federation/enhanced
which is Module Fedeartion 2.0
If you also switch to @module-federation/enhanced you will be providing your apps with an mf-manifest.json by default which you might be able to use for some of those
For example https://nestor-lopez-4929-tractor-v2-app-zephyr-examples--c585eb388-ze.zephyr-cloud.io/mf-manifest.jsonYeah I have been eying this for a while, I think I attempted an upgrade on a branch once -- but things are in a much better place for an upgrade now.
Although, could you please advise on what a proper migration might look like? I'm mostly self-taught on the MF side, and remote node modules has felt very niche 😆
Since rn, these plugins are fully async, loaded on runtime (remoteUrl defined in my "registry", that gets fed into the plugin runtime) -- would I replace the registry with a manifest? And then loadRemote uses.... manifest url?
https://github.com/near-everything/every-plugin/blob/433e4ba6fb90bd8224a129c6ba85130db744c547/packages/core/src/runtime/services/module-federation.service.ts#L143
I guess my host app really should be using the ModuleFederation build plugin for LSP... rather than the inferred type binding method I'm using rn
I've updated the pull request
https://github.com/ZephyrCloudIO/zephyr-packages/pull/224
GitHub
adds hooks option to ZephyrEngine, for reacting onDeployComplete by...
What's added in this PR?
This adds hooks to withZephyr, enabling functionality for hooking into steps of the ZephyrEngine. It introduces an initial hook for "onDeployComplete&q...