-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refresh development dependencies and use prettier 3 for formatting #202
Conversation
…using type:module
… is using type:module
…erabilities reported from npm audit
Kindly review: |
Hey Priyank, long time no see! This looks fine. Could you leave out the addition of I guess the fact that the new version of |
@papandreou Thank you for the quick review. You mentioned "dependency churn". What is that in relation with package-lock.json here ? Can you point me for something to search for about it ? The Regarding Regarding pinning to specific versions, the reason is that the newer versions of those packages are marked as "type": "module" and to get those to work would lead to bigger refactoring. Hence marked the pinning explicitly. Also looking for approval from @alexjeffburke since he has recently worked on some changes and kept Node.js 16 support which I had to drop for |
I disagree, it's not worth the extra churn. Please revert. |
Co-authored-by: Andreas Lind <[email protected]>
All resolved now I believe 😄 |
Looks good to me now! Happy to merge it as-is, but you're welcome to wait and see if Alex has time to review it also. |
Hi, Thanks for the ping. There’s a few things here we probably need to circle over, but we’ll have to pick discussions up Monday/Tuesday in the coming week :) |
Thank you @papandreou 😃 @alexjeffburke |
@alexjeffburke @alexjeffburke @papandreou |
Hi, I’m sorry for the delay, I’ve actually been under the weather with a nasty cold. I’ve been drafting a response to you already thjs morning, please hold off until we can have that discussion. Thanks, Alex J Burke. |
@alexjeffburke |
Hi, Let me say up-front I really appreciate your spending time on this. As a general rule, we try to make individual changes in separate changes rather mix things together like this. For example, you've bumped prettier and thus a bunch of reformatting is in here as well as the bump of different versions. I would like to see the prettier bump and formatting stuff in a separate PR. So, a little bit of background. Originally What this has meant practically is, at least on my part, trying to keep the versions exposed here in sync with what is supported by impro. From my perspective it does not make sense to ship this with versions that may not be compatible with the thing actually orchestrating the hard image processing work. In addition, as a maintainer here and an author of much of Given the above, first question: have you verified that the sharp version you're pulling in here is fully compatible with Secondly, there does seems to be a lot of churn in this PR. The versions of libraries were specifically defined with carets and tildes to make sure that the latest patch versions of them are always installed. For example, you've changed inkscape Thirdly, you mentioned vulnerabilities and I must push back rather strongly against that: production installs of this module and its dependencies generate no audit warnings at all, and I actively made quite sure of that when I did the last release (which was v11 on the 18th December) so the suggestion of critical vulnerabilities when audit is reporting on dev dependencies isn't warranted. That is probably enough questions to start with, so let's take it from there :) Thanks, Alex J Burke. |
While there are multiple changes in the same PR, they were broken into separate commits with each commit doing something of its own. If that approach doesn't work, I can cherry-pick those changes accordingly and submit them as separate PRs 👍 That merge conflict scenario is more common for cases where Regarding Regarding updating minor versions (eg: inkscape ^3.0.0 to ^3.1.1), I attempted to mark the latest versions of the package wherever possible. This approach ensures that the application which is consuming it also installs the at least that version. Otherwise, there is an edge-case scenario as per Personally, to avoid this edge case scenario, in my projects which consume various npm packages, I remove Since it is a workaround-able thing, I can update the MR / raise separate MR to fix that 👍 Regarding the vulnerabilities, I don't remember if I had checked it for The primary purpose for my PR was to identify/fix any direct/indirect security vulnerabilities. The approach I took was to update all the dependencies to their latest versions (and handle related changes). Which would be followed by any other updates, if required, in the project which is consuming this library. Action points from my end:
Does it sound fine? |
Hi, Let's get to that actionable point you mentioned. Comments inline and will close with some agreements.
@papandreou wisely requested that removal and I wholeheartedly support that. Package locking is for applications to pin dependencies to specific versions for the needs of the application (for example pinning to the specific version of something for reasons needed by the consumer). We're a library and thus have different needs/constraints :)
For the record, I didn't request any changes to versioning in
Yep. As I mentioned above, this a difference between versioning as regards libraries versus applications. The default npm behaviour of installing the latest semver compatible versions is for libraries where we specify compatible versions while the exact installed versions via locking etc is for applications. Managing lock files is best left to application authors.
Yeah, that sounds like a fine list. To avoid confusion, let me independently enumerate what I'm hoping to see:
Thanks, Alex J Burke. |
Hi there, I've taken the liberty to make the changes restoring the versions that we discussed and have thus been able to squash and merge the other bits. I've moved the sharp version bump and associated major version bump into its own branch - Thanks, Alex J Burke. |
Also adds a 'Sample guide for updating image test data' in test/processImage.js.
Changes related to changing the sharp version which requires a major version bump moved to separate PR.