0001: Share npm dependencies
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 xpm 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 xpm references from
dependencies
toxpack.dependencies
- move xpm references from
devDependencies
toxpack.devDependencies
- if any, keep the npm references in
dependencies
anddevDependencies
- 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.