Uninstall the Marketplace from B2B Demo Marketplace
Edit on GitHubThis document describes how to uninstall marketplace features from the B2B Demo Marketplace to transform it into a standard B2B Demo Shop.
Overview
The B2B Demo Marketplace comes with all marketplace-specific features pre-installed, including the Merchant Portal, marketplace product management, and merchant-related functionality. If you want to use the B2B Demo Marketplace as a starting point for a standard B2B project without marketplace features, you can use the provided uninstallation scripts to remove all marketplace-specific features.
The uninstallation process consists of two main scripts:
| Script | Purpose |
|---|---|
uninstall-marketplace-modules.sh |
Removes backend marketplace features, including Composer packages, PHP dependency providers, configuration files, and data import entities |
uninstall-frontend-marketplace.sh |
Removes frontend marketplace files, including Merchant Portal configuration, Angular dependencies, and frontend build configurations |
Prerequisites
Before you begin the uninstallation process, make sure you have the following:
- A latest working version of B2B Demo Marketplace installation based: on https://github.com/spryker-shop/b2b-demo-marketplace
- Docker SDK installed and configured
- Python 3 installed on your system
- Node.js and npm installed
- Sufficient disk space for rebuilding the application
Uninstall marketplace features
1. Locate the uninstallation scripts
The uninstallation scripts are included in the B2B Demo Marketplace repository. After cloning the repository, you can find them in the root directory:
- uninstall-marketplace-modules.sh - Backend uninstallation script
- uninstall-marketplace-config.json - Configuration file for the backend script
- uninstall-frontend-marketplace.sh - Frontend uninstallation script
2. Make the scripts executable
Run the following commands to make the scripts executable:
chmod +x uninstall-marketplace-modules.sh
chmod +x uninstall-frontend-marketplace.sh
3. Run the backend uninstallation script
Execute the backend uninstallation script to remove all marketplace-specific backend features:
./uninstall-marketplace-modules.sh
This script performs the following operations:
- Removes Marketplace Features: Uninstalls all
spryker-feature/marketplace-*Composer packages - Removes Marketplace Core Modules: Uninstalls individual
spryker/*marketplace modules - Cleans PHP Dependency Providers: Removes marketplace-specific plugins, event subscribers, and configurations from dependency provider files
- Updates Configuration Files: Removes marketplace-related settings from configuration files
- Removes Marketplace Directories: Deletes marketplace-specific module directories from
src/Pyz/ - Updates Data Import Configuration: Removes marketplace data import entities from YAML import files
- Updates Docker Configuration: Removes Merchant Portal commands from Docker installation files
- Updates Deploy Files: Removes Merchant Portal application definitions from deploy files
- Processes XML and Test Files: Updates OMS configurations and test files as needed
The script displays progress messages for each step. Review the output to make sure all operations complete successfully.
4. Run the frontend uninstallation script
After the backend uninstallation completes, execute the frontend uninstallation script:
./uninstall-frontend-marketplace.sh
This script performs the following operations:
- Removes Frontend Configuration Files: Deletes
tsconfig.mp.json,.stylelintrc.mp.js, andangular.json - Removes Frontend Directories: Deletes the
frontend/merchant-portaldirectory - Cleans ESLint Configuration: Removes Merchant Portal configuration blocks from
eslint.config.mjs - Cleans package.json: Removes
mp:*scripts and Angular-related dependencies - Updates npm Dependencies: Runs
npm installto update the dependency tree - Installs Required Packages: Installs
@babel/coreand@babel/runtimepackages - Cleans npm Cache: Removes the
node_modules/.cachedirectory
5. Rebuild the application
After both scripts complete, rebuild your application to apply the changes:
docker/sdk clean && docker/sdk boot deploy.dev.yml && docker/sdk up
Use the deploy file appropriate for your environment. For production-like environments, use deploy.yml instead of
deploy.dev.yml.
6. Verify the uninstallation
To verify that the marketplace features have been successfully removed:
- Check that the Merchant Portal is no longer accessible
- Verify that marketplace-specific database tables are not being used
- Check that no marketplace-related errors appear in the application logs
- Test the B2B storefront functionality to ensure it works correctly
7. Remove the uninstallation scripts
After successfully uninstalling the marketplace features, remove the uninstallation scripts from your project:
rm uninstall-marketplace-modules.sh
rm uninstall-marketplace-config.json
rm uninstall-frontend-marketplace.sh
Always remove the uninstallation scripts after completing the uninstallation process. These scripts should never be deployed to production environments, as they can make destructive changes to your codebase and configuration.
What gets removed
The uninstallation scripts remove the following features:
Marketplace features removed
spryker-feature/marketplace-agent-assistspryker-feature/marketplace-cartspryker-feature/marketplace-commentsspryker-feature/marketplace-merchant-commissionspryker-feature/marketplace-merchant-contract-requestsspryker-feature/marketplace-merchant-contractsspryker-feature/marketplace-merchant-custom-pricesspryker-feature/marketplace-merchant-order-thresholdspryker-feature/marketplace-merchant-portal-product-managementspryker-feature/marketplace-merchant-portal-product-offer-managementspryker-feature/marketplace-merchant-portal-product-offer-service-pointsspryker-feature/marketplace-merchant-portal-product-offer-shipmentspryker-feature/marketplace-merchantportal-corespryker-feature/marketplace-order-managementspryker-feature/marketplace-packaging-unitsspryker-feature/marketplace-product-approval-processspryker-feature/marketplace-product-optionsspryker-feature/marketplace-promotions-discountsspryker-feature/marketplace-return-managementspryker-feature/marketplace-shopping-listsspryker-feature/merchant-categoryspryker-feature/merchant-opening-hoursspryker-feature/merchant-portal-data-importspryker-feature/product-approval-process
Marketplace core modules removed
spryker/agent-dashboard-merchant-portal-guispryker/agent-security-blocker-merchant-portal-guispryker/agent-security-merchant-portal-guispryker/availability-merchant-portal-guispryker/cart-note-merchant-portal-guispryker/category-merchant-commission-connectorspryker/dashboard-merchant-portal-guispryker/dummy-marketplace-paymentspryker/merchant-app-merchant-portal-guispryker/merchant-categories-rest-apispryker/merchant-discount-connectorspryker/merchant-opening-hours-rest-apispryker/merchant-product-offer-shopping-lists-rest-apispryker/merchant-product-shopping-lists-rest-apispryker/merchant-products-rest-apispryker/merchant-profile-merchant-portal-guispryker/merchant-sales-returns-rest-apispryker/merchant-shipments-rest-apispryker/merchants-rest-apispryker/multi-factor-auth-merchant-portalspryker/price-product-merchant-commission-connectorspryker/product-merchant-commission-connectorspryker/product-option-merchant-portal-guispryker/sales-merchant-portal-guispryker/security-blocker-merchant-portal-guispryker/tax-merchant-portal-gui
Directories removed
src/Pyz/Zed/MerchantPortalApplicationsrc/Pyz/Zed/MerchantSalesOrdersrc/Pyz/Zed/MerchantOmssrc/Pyz/Zed/Merchantsrc/Pyz/Zed/MerchantUser- Other marketplace-specific module directories
public/MerchantPortal
Troubleshooting
Script fails with “Configuration file not found” error
Make sure the uninstall-marketplace-config.json file is placed in the same directory as the
uninstall-marketplace-modules.sh script.
Composer removal fails
If Composer fails to remove packages, try running the removal command manually with additional flags:
composer remove --ignore-platform-req=ext-grpc --ignore-platform-req=ext-redis PACKAGE_NAME
Application fails to build after uninstallation
- Clear all caches:
docker/sdk cli console cache:empty-all
- Regenerate transfer objects:
docker/sdk cli console transfer:generate
- Run a full rebuild:
docker/sdk prune && docker/sdk boot deploy.dev.yml && docker/sdk up
Database errors after uninstallation
If you encounter database-related errors, you may need to drop and recreate your database:
docker/sdk cli console propel:install
This command drops all existing data. Use it only in development environments or if you have a proper backup.
Customizing the uninstallation
The uninstallation behavior is controlled by the uninstall-marketplace-config.json configuration file. You can modify
this file to:
- Add or remove packages from the uninstallation list
- Adjust which files and directories are processed
- Customize the cleanup operations for specific files
For detailed information about the configuration file structure and available operations, see the UNINSTALL_MAINTENANCE_GUIDE.md file.
Thank you!
For submitting the form