Upgrading Recipe Extensions

The starter publications provided by Stibo DX (such as tomorrow-online and starter-publication) include a default recipe, recipe/recipe.js. Most of the recipe functionality, however, is provided by recipe extensions. The recipe extensions provided by Stibo DX are published on an NPM server, npm.escenic.com and are downloaded from npm.escenic.com the first time they are required (that is, the first time the recipe is executed).

Each extension published on npm.escenic.com is separately maintained and has its own version number. As corrections and improvements are made to an extension, new versions may be published. This will not, however, have any effect on your publications, since your recipe depends on a specific version of each extension, specified in the file recipe/package.json. If you upgrade your CUE Front installation, you will get new versions of the Cook, Cleaver and so on, but the recipe will not be upgraded. The recipe is part of your application: you may well have made changes to recipe/package.json (added extensions of your own, for example) that should not be overridden.

In order to upgrade recipe extensions, therefore, you must explicitly require new versions by editing recipe/package.json yourself. In order to be able to do this, you need to know which recipe extensions have been upgraded and what changes have been made. You can upgrade recipe extensions in two ways:

  • As part of general CUE Front upgrades

  • Between CUE Front releases

Sometimes, upgrading a recipe extension will involve additional tasks. Before upgrading a recipe extension, therefore, you should always review the extension's README file (published on npm.escenic.com) and check for upgrade instructions.