Problems with the packages update, metainfo, default node version in RunKit playground


1). Specifying the default NodeJs runtime version from available list in the playground.

I have a problem with testing the dbc-code-contracts in RunKit playground. The “engines” entry is defined in the package.json file, which has the certain range:

  "version"   : "0.15.0",
  "engines"  : { "node": ">=7.10.1" },

The try it out link is always set to the 8.9.0 NodeJs version. Shouldn’t 7.10.1 be the minimum version in RunKit playground, as it was set in the package.json file?

2). Displaying the correct information in the overview section.

As you can see, there are three different versions in screenshot. Why does such a mess exist?

3). Updating packages.

Can you explain, why are different versions of the NodeJs runtime available from the list in playground? For example, NodeJs 7.10.1 loads the 0.16.0 version, but others load 0.8.24.


Hi jek-nov,

The node version is chosen as the maximum satisfying version – this arguably matches node’s behavior: if you set node:">= 7.10.0", npm will only complain when you install this package in a version of node smaller than this version. However, if you really want to pin it to the 7 ranges, you can change it to: "node": ">=7.10.0 <8.0.0". This will give you what you want definitely with no room for interpretation. I would generally recommend against this, but I’m not 100% what your use case is here so it is of course up to you.

Separately, it appears that RunKit has now properly consumed your package and the versions match, but it has not built correctly yet. We’re working on this and hoping to get it fully functional ASAP.


An update: we’ve determined that the reason your package isn’t building is due to a way we’re incorrectly handling sub dependencies (which your build depends on). We’re working out a solution now, but just wanted to let you know where things stood.