Overview

Initially xpm shared dependencies with npm, in the same top dependencies and devDependencies properties.

The advantage was that npm aware tools and sites were able to list these dependencies.

However, this required xpm install to also handle the npm dependencies, which made things more complicated than they should have been.

Changes

To simplify things, given that the xPack dependencies have a different nature than node modules and require a different logic, it was considered that it would be better to completely separate the definitions in package.json, and move them below the xpack object.

Thus, for source and binary xPacks, starting with xpm v0.14.0, the definitions are:

  • xpack.dependencies
  • xpack.devDependencies

Action points

For a while, packages that have a xpack.minimumXpmRequired less than 0.14.0, will still be able to use the shared definitions with npm, but it is recommended to update the packages.

To do this, it is required to:

  • update xpm to at least v0.14.0
  • move xPack references from dependencies to xpack.dependencies
  • move xPack references from devDependencies to xpack.devDependencies
  • if any, keep the npm references in dependencies and devDependencies
  • update xpack.minimumXpmRequired to at least 0.14.0
  • add npm install to CI configurations (if needed)

End-of-life

This policy is expected to remain available until the major rewrite of xpm, planned for v1.0.0.