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.


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)


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


Comments on the content of this page that might be useful for other readers are welcomed here. For question and general support, please use GitHub Discussions.