Closed kalik1 closed 1 month ago
I've been looking in other angular libraries and they normally change major version number at the same time that the angular dependency changes, even using the same major number.
Sometimes packages lock step their major version with that of their peer dependency, but we have both socket.io
and angular
. I think since socket.io is i) less frequently changing major version ii) a less obvious peer iii) invisibly coupled to the server side as well, a more important target to lock step with than Angular. So ngx-socket-io 4.x matches with socket io 4.x
I'd therefore advise you to specify a stricter version constraint for ngx-socket-io
, so that only patch version updates are automatically installed. We could update the README version support table to also list which angular versions are supported.
I'm not familiar with npm
much, but can't we specify laxer peer dependencies? eg include @angular/common>12,<14
?
As stated in SemVer in rule 7,
Minor version Y (x.Y.z | x > 0) MUST be incremented if new, backwards compatible functionality is introduced to the public API. [....]
In this case the functionality is not backward compatible, because it breaks the public API (in this case the Angular version)..
@Helveg i think that ngx-socket-io should respect semantic versioning.
I'm not familiar with npm much, but can't we specify laxer peer dependencies? eg include @angular/common>12,<14?
It should be possible (I'm not sure 100%, can't verify right now), but I definitely think this is the best solution....
This issue is stale because it has been open for 30 days with no activity.
@rodgc I now have a bit more experience with maintaining JS packages and I agree with this thread: We should drastically relax our peer dependency. A good plan of action here is:
peerDependencies
: 14.x - 18.x
This issue is stale because it has been open for 30 days with no activity.
This issue was closed because it has been inactive for 7 days since being marked as stale.
In minor a version update, it changes the angular major version in peer dependencies. This change, breaks all the ^12.0.0 applications:
in 4.1.0
package.json
in 4.2.0
package.json
I think that if this angular version dependency is really needed, it should update also this package's major version, otherwise it should not change the
peerDependencies
section inpackage.json
.Quick fix: Set
"ngx-socket-io": "~4.1.0",
inpackage.json