2.3 KiB
Component Replacement Workflow
Detailed steps for scanning site metadata, finding OOTB components, and replacing them with open code equivalents.
Extracting All OOTB Components from Site Metadata
Step 1: Scan Theme Layouts
- Search in:
force-app/main/default/digitalExperiences/site/<store-name>/sfdc_cms__themeLayout/*/content.json - Parse each
content.jsonfile - Extract all values from
"definition"keys
Step 2: Scan Views
- Search in:
force-app/main/default/digitalExperiences/site/<store-name>/sfdc_cms__view/*/content.json - Parse each
content.jsonfile - Extract all values from
"definition"keys
Step 3: Filter to OOTB Components
Keep any "definition" value that starts with commerce (covers commerce_builder:*, commerce_cart:*, commerce:*, commerce_my_account:*, and any other commerce namespaces).
Step 4: Return Deduplicated List
Example output: ["commerce_builder:cartBadge", "commerce_builder:cartContents", "commerce/searchInput"]
Finding a Specific OOTB Component
- Run the extraction above to get all OOTB components
- Check if the target component exists in the list
- If found: return the list of
content.jsonfiles where it appears - If not found:
- Inform user: "Component {name} not found in site metadata"
- Display all components currently used in the site
- Ask: "Would you like to replace one of these instead?"
Replacing an OOTB Component
Step 1: Determine Open Code Name
Apply the mapping rules from ootb-to-opencode-mapping.md.
The OOTB component definition comes from content.json — any "definition" value starting with commerce is an OOTB component. Use the full definition value (e.g., commerce_builder:cartBadge) to apply the mapping.
Step 2: Verify Open Code Component Exists
Check in cloned repo: .tmp/b2b-commerce-open-source-components/force-app/main/default/sfdc_cms__lwc/
If not found, list all available open code components and ask user to select.
Step 3: Update Site Metadata
For each content.json file where the OOTB component is found:
- Replace the
"definition"value only - Preserve all other JSON properties and structure
Step 4: Track Changes
- Log every file modified
- Count total replacements made
- Report summary to user