Recipes for GA - #41
Merged
aman06it merged 12 commits intoJul 21, 2026
Merged
Conversation
…folding Reposition the React Recipes site as Multi-Framework Recipes per docs/multi-framework-recipes-ui-plan.md. - Registry: recipes now carry flavors[] (hosting × framework) with resolveFlavor / hasFlavor / listRecipes helpers. - Navbar: rebrand to Multi-Framework Recipes, add framework switcher (Vue/Angular disabled "(soon)", persisted to localStorage). - Home: hosting radio filter, Hosting Models explainer, footer link to the (placeholder) advanced server-recipes repo. - Standard category pages: hosting/framework chip next to the header. - Embedding (MFE): URL-driven flavor switcher (host/fw params), contextual server-repo callout when externally-hosted, all unbuilt flavors visible as disabled "(soon)" tabs. - Search: index hosting/framework keywords + category name; result rows show flavor chips. - mfe-app/: standalone Vite app (Externally-Hosted React guests). - force-app/main/default/lwc/: lwc-shell host components for the seven MFE recipes (basic embed, receive data, send event, auto-resize, theme tokens, dirty state, GraphQL bridge) plus a vendor lwc-shell shim and the Localhost CSP trusted site. Verified: tsc -b, eslint, vitest 233/233.
Replaces the legacy @salesforce/experimental-mfe-bridge / vendored
<lwc-shell> stack with the GA-track @salesforce/platform-sdk and the
<lightning-embedding> base component, matching the lo2demo-sfdx
react-sdk pattern.
Guest (mfe-app):
- Switch dependency from @salesforce/experimental-mfe-bridge to
@salesforce/platform-sdk@10.9.2; add side-effect import
@salesforce/platform-sdk/sf-embedding in main.tsx
- Add SdkProvider context + useSdk() hook; resolve chat/view SDKs
once at startup via top-level await Promise.all
- Rewrite all six recipes against the SDK surface:
- BasicEmbed: chat.getHostContext()
- ReceiveData: view.getUiProps() + URLSearchParams fallback
- SendEvent: view.dispatchEvent(name, data)
- AutoResize: view.resize() driven by ResizeObserver
- ThemeTokens: view.getTheme() + chat.getHostContext()
- DirtyState: view.markDirtyState() / clearDirtyState()
- Drop GraphQLBridge recipe (host-side bridge.graphql() retired)
Host (LWC):
- Replace each mfe* host with a declarative <lightning-embedding>
wrapper; drop imperative document.createElement('lwc-shell') and
c/vendorLwcShell imports
- Delete vendored vendorLwcShell (no longer needed; <lightning-embedding>
is provided by the platform)
- Delete mfeGraphQL host
Explorer / docs:
- Rename Embedding route /mfe -> /embedding
- Update Mfe.tsx, recipeRegistry, READMEs, CSP description, and Home
page copy to reflect the SDK-shaped recipes
…n-ui-bundle to ^10.24.0 (trailheadapps#40)
- ReceiveData: host publishes via props binding; guest reads getUiState (drop URL query-param remount) - ThemeTokens: publish tokens on both style variables and props channels for base-component version resilience; guest prefers styles.variables, falls back to props - AutoResize: rely on bootstrap's auto-attached EmbeddingResizer; remove fixed-height cap so iframe grows with content - bump @salesforce/platform-sdk to ^11.27.0 - ignore *.tsbuildinfo
Bumps [websocket-driver](https://github.com/faye/websocket-driver-node) from 0.7.4 to 0.7.5. - [Changelog](https://github.com/faye/websocket-driver-node/blob/main/CHANGELOG.md) - [Commits](faye/websocket-driver-node@0.7.4...0.7.5) --- updated-dependencies: - dependency-name: websocket-driver dependency-version: 0.7.5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
# Conflicts: # README.md # force-app/main/react-recipes/uiBundles/reactRecipes/package-lock.json # force-app/main/react-recipes/uiBundles/reactRecipes/package.json
… keep lightning-embedding architecture
aman06it
merged commit Jul 21, 2026
2f1d97a
into
trailheadapps:feature/microfrontend-recipes
5 of 8 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
What issues does this PR fix or reference?
#
The PR fulfills these requirements:
Functionality Before
<insert gif and/or summary>
Functionality After
<insert gif and/or summary>