Updating FSA Spartacus to Version 4.0
Note: Spartacus 4.x is no longer maintained. Please upgrade to the latest version.
Note: Spartacus 4.x was tested with SAP Commerce Cloud versions 1905 to 2205. Spartacus 4.x has not been verified to work with (and is not guaranteed to work with) SAP Commerce Cloud 2211 or later releases.
NOTE: We strongly recommend you upgrade your FSA Spartacus libraries to version 3.0.1 first, and then upgrade to version 4.x.
Table of Contents
- Upgrading FSA Spartacus Libraries from Version 3.0.0 to 3.0.1
- Overview
- Upgrading FSA Spartacus Libraries from Version 3.0.1 to 4.x
Upgrading FSA Spartacus Libraries from Version 3.0.0 to 3.0.1
Overview
Patch version 3.0.1 of FSA Spartacus Libraries contains a fix related to missing dependencies detected in version 3.0.0.
Prerequisites
Before upgrading your FSA Spartacus libraries to version 3.0.1, you must address the following prerequisites:
- Make sure all of your
@spartacuslibraries are upgraded to Spartacus 3.4.0. - Note that this version of Spartacus requires Angular version 10.2.4. If your Angular version is <10.2.4, you must update it before updating Spartacus. For more information, see the official Angular Update Guide.
Updating FSA Spartacus
-
Depending on whether you use yarn or npm for installations, delete
yarn.lockfile orpackage-lock.jsonfile from your project. -
Go to the
package.jsonfile at the root of your project and make sure you have the following versions of Spartacus libraries:"@spartacus/assets": "^3.4.0", "@spartacus/core": "^3.4.0", "@spartacus/organization": "3.4.0", "@spartacus/storefinder": "^3.4.0", "@spartacus/storefront": "3.4.0", "@spartacus/user": "3.4.0", "@spartacus/styles": "^3.4.0", -
Upgrade FSA Spartacus libraries:
"@spartacus/dynamicforms": "^3.0.1", "@spartacus/fsa-storefront": "^3.0.1", "@spartacus/fsa-styles": "^3.0.1", -
To complete the update, run the following commands:
yarn install yarn start
NOTE: If you get errors related to font-icons, perform the following steps:
-
Run the following command:
ng add @spartacus/fsa-schematics --baseSite=sample-financial-site --currency=usd,eur --language=en,de,fr -
When prompted, enter your base site URL (that is, your back-end server URL).
-
After that, you should be able to run
ng serveoryarn startwithout any errors.
Upgrading FSA Spartacus Libraries from Version 3.0.1 to 4.x
Prerequisites
Before upgrading your FSA Spartacus libraries to version 4.x, you must address the following prerequisites:
- Angular CLI: Version 12.0.5 or later.
- node.js: Version 14.18.1 or later.
- Spartacus: Minimum version 4.0, the latest minor/patch version is recommended.
Updating FSA Spartacus
-
Depending on whether you use
yarnornpmfor installations, deleteyarn.lockfile orpackage-lock.jsonfile from your project. -
Go to the
package.jsonfile at the root of your project and replace existing dependencies with the following:"@angular/animations": "~12.0.5", "@angular/common": "~12.0.5", "@angular/compiler": "~12.0.5", "@angular/core": "~12.0.5", "@angular/forms": "~12.0.5", "@angular/platform-browser": "~12.0.5", "@angular/platform-browser-dynamic": "~12.0.5", "@angular/platform-server": "~12.0.5", "@angular/pwa": "~12.0.5", "@angular/router": "~12.0.5", "@angular/service-worker": "~12.0.5", "@compodoc/compodoc": "^1.1.10", "@ng-bootstrap/ng-bootstrap": "~10.0.0", "@ng-select/ng-select": "~7.0.1", "@ngrx/effects": "~12.1.0", "@ngrx/router-store": "~12.1.0", "@ngrx/store": "~12.1.0", "@nguniversal/express-engine": "~12.0.2", "@spartacus/dynamicforms": "^4.0.0", "@spartacus/fsa-storefront": "^4.0.0", "@spartacus/fsa-styles": "^4.0.0", "@spartacus/asm": "4.2.1", "@spartacus/assets": "4.2.0", "@spartacus/cart": "4.2.1", "@spartacus/cds": "4.2.1", "@spartacus/checkout": "4.2.1", "@spartacus/core": "4.3.0", "@spartacus/digital-payments": "4.2.1", "@spartacus/organization": "4.2.1", "@spartacus/product": "4.2.1", "@spartacus/product-configurator": "4.2.1", "@spartacus/smartedit": "4.2.1", "@spartacus/storefinder": "4.2.1", "@spartacus/storefront": "4.2.0", "@spartacus/styles": "4.2.1", "@spartacus/tracking": "4.2.1", "@spartacus/user": "4.2.1", "@syncpilot/bpool-guest-lib": "^0.2.6", "@types/googlemaps": "^3.37.5", "angular-oauth2-oidc": "~10.0.1", "blob-util": "^2.0.2", "bootstrap": "^4.3.1", "comment-json": "^4.1.0", "echarts": "^5.0.2", "express": "^4.15.2", "file-saver": "^2.0.2", "hamburgers": "^1.1.3", "i18next": "^20.2.2", "i18next-http-backend": "^1.2.2", "i18next-xhr-backend": "^3.2.2", "ngx-echarts": "^6.0.1", "ngx-infinite-scroll": "^8.0.0", "parse5": "^6.0.1", "resize-observer-polyfill": "^1.5.1", "rxjs": "^6.6.0", "ts-loader": "^6.0.4", "tslib": "^2.3.0", "zone.js": "~0.11.4"NOTE: Make sure that all Angular packages that you already have under
devDependenciesin yourpackage.jsonfile match the version of the@angular/corelibrary, which is ~12.0.5. -
Next, install dependencies with the following command:
yarn install - After the installation is completed, your app structure needs to be updated to meet new Spartacus requirements.
To do that, you need to replace the existing
appfolder with the one that contains the required structure. You can download a ready-madeappfolder with the new structure on the link provided below. Perform the following steps:- Download new app.zip.
- Navigate to
mystore/src/. - Delete the existing
appfolder. - Unpack the downloaded
app.zipfolder to that same location (mystore/src/).
- Now that you have the new app structure, you need to set the
baseUrl:- Navigate to
app/spartacus. - Find and open
fs-configuration.module.ts, which holds the configuration necessary for the FSA to function correctly. - Edit
baseUrlproperty so that it points to your back-end server.
- Navigate to
-
To complete the update, run the following command:
yarn start