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.dependenciesxpack.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
dependenciestoxpack.dependencies - move xPack references from
devDependenciestoxpack.devDependencies - if any, keep the npm references in
dependenciesanddevDependencies - update
xpack.minimumXpmRequiredto at least 0.14.0 - add
npm installto 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.