Issues with setting up Sitecore Experience Commerce 9.0 BizFx SDK


Description

Problem 1:

The following errors might occur when running the "npm install" command to download dependent modules:

npm ERR! notarget No matching version found for @speak/ng-bcl@~0.8.0
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.
npm ERR! notarget
npm ERR! notarget It was specified as a dependency of '@sitecore/bizfx-sdk'
npm ERR! notarget No matching version found for @speak/styling@0.9.0-r00078
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.
npm ERR! notarget
npm ERR! notarget It was specified as a dependency of '@sitecore/bizfx-sdk'

Cause: The SPEAK packages are not available from the Sitecore public Nuget feeds. They are only available from the Experience Commerce 9 release packages.

Problem 2:

If you are using BizFX SDK from Experience Commerce 9.0 Initial Release, you might get errors similar to the following when running the "ng serve" and "ng build" commands:

ERROR in C:/bizfxSDK/src/app/components/actions/sc-bizfx-action.component.ts (116,26): Supplied parameters do not match any signature of call target.
ERROR in C:/bizfxSDK/src/app/components/actions/sc-bizfx-actiongrid.component.ts (61,32): Supplied parameters do not match any signature of call target.
ERROR in C:/bizfxSDK/src/app/components/actions/sc-bizfx-action.component.ts (116,26): Supplied parameters do not match any signature of call target.
ERROR in C:/bizfxSDK/src/app/components/actions/sc-bizfx-actiongrid.component.ts (61,32): Supplied parameters do not match any signature of call target.

Cause: The version of BizFX SDK must match with the version of bizfx packages on the Sitecore public Nuget feed. Otherwise, it can cause incompatibility issues as above.

Solution

The README.md content in the BizFX SDK packages for Sitecore Experience Commerce Initial Release and Update-1 contains outdated information. To build BizFX SDK and fix the described issues, follow the correct instructions below:

# Sitecore Commerce Business Tools SDK
# Setup
Before you start developing, make sure you have the Sitecore feed in your user's npm config.

Go to C:\Users\[your user]\.npmrc and add the following lines to the file:

@speak:registry=https://sitecore.myget.org/F/sc-npm-packages/npm/
@sitecore:registry=https://sitecore.myget.org/F/sc-npm-packages/npm/

If the file does not exist, run:

npm config set @speak:registry=https://sitecore.myget.org/F/sc-npm-packages/npm/
npm config set @sitecore:registry=https://sitecore.myget.org/F/sc-npm-packages/npm/

Install the SPEAK and BizFx packages, run:

npm install speak-ng-blc-0.8.0.tgz
npm install speak-styling-0.9.0-r00078.tgz

For XC9 Initial Release:
npm install @sitecore/bizfx 1.0.572 For XC9 Update1: npm install @sitecore/bizfx 1.1.9 You can find the SPEAK tarball files at the root of the Sitecore.Commerce.[version].zip file. Run npm install ## Development server Run ng serve for a dev server. Navigate to http://localhost:4200/. The app automatically reloads if you change any of the source files. ## Code scaffolding Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module. ## Build Run ng build to build the project. The build artifacts are stored in the dist/ directory. Use the -prod flag for a production build. ## Running unit tests Run ng test to execute the unit tests via Karma. ## Running end-to-end tests Run ng e2e to execute the end-to-end tests via Protractor. ## Further help To get more help on the Angular CLI use ng help or check out the Angular CLI README.