Skip to content
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

Mark as deprecated on npm? #866

Closed
jsumners-nr opened this issue Jun 11, 2024 · 15 comments
Closed

Mark as deprecated on npm? #866

jsumners-nr opened this issue Jun 11, 2024 · 15 comments

Comments

@jsumners-nr
Copy link

@kriskowal would you be up for marking this package as deprecated on npm? I am able to see significant usage persisting today despite the notice in the readme and the lack of maintenance/releases over a long period of time. I believe this is due to no visible notice when the package is installed.

@kriskowal
Copy link
Owner

It’s a good idea and would be a worthwhile experiment to see whether it makes a difference. I suspect that the projects that continue to rely on Q are in a deep maintenance mode and would not be moved by warnings. And, deprecation is only really meaningful if it suggests that a project is likely to break if they adopt the next major version. I might be more inclined to deprecate q@^1 if I were planning to introduce a q@^2.

It’s not impossible that I would find a use for q@^2.

I will continue to mull this idea.

@kriskowal
Copy link
Owner

(The reason I would consider making a q@^2 is that native Promises do not support handled-promises or eventual-send https://github.com/endojs/endo/tree/master/packages/eventual-send)

@jsumners-nr
Copy link
Author

I suspect that the projects that continue to rely on Q are in a deep maintenance mode and would not be moved by warnings.

That is possible. All I can see is usage statistics that tie q usage to Node v20. In my personal time, I have seen that marking a package as deprecated on npm is quite effective at getting people to notice.

@benjamingr
Copy link
Collaborator

@jsumners-nr the best thing you can do to reduce adoption is probably opening PRs for big packages that have Q as a dependency with a change migrating to native promises

@jsumners-nr
Copy link
Author

There are over 10,000 direct dependencies of q according to npmjs.com. It would be an insurmountable task to determine which packages are still "maintained" and targetable. It is far easier to nip the problem at the source.

@kriskowal
Copy link
Owner

It occurs to me that this is probably my one big chance to say something nice to a lot of people.

@ljharb
Copy link

ljharb commented Jun 11, 2024

@kriskowal deprecation warnings definitely aren't just used for an upcoming major; if a project is effectively sunset, or even if it just won't get further support, a deprecation message is quite appropriate.

@kriskowal
Copy link
Owner

Taking my victory lap now.

image

@jsumners-nr
Copy link
Author

Beautiful! Thank you very much for taking the time to consider this and act upon it.

@lgzhang
Copy link

lgzhang commented Sep 2, 2024

@kriskowal Excuse me, after q marked as deprecated on npm. When I install on nodejs 14 version. It will broken. Can you recover the download version list.

image

@ljharb
Copy link

ljharb commented Sep 2, 2024

Check the box right above that that says “show deprecated versions”. Nothing’s broken by deprecating.

@lgzhang
Copy link

lgzhang commented Sep 3, 2024

@ljharb Thanks, But it will be error when npm install on nodejs 14.
image

@lgzhang
Copy link

lgzhang commented Sep 3, 2024

And this is a deep dependency,q -->coa -->svgo-->...postcss....-->vue-cli-service@4. I commit a isssue to coa, but the repo is too old and the author not reply.

@ljharb
Copy link

ljharb commented Sep 3, 2024

@lgzhang the error isn't because the package is deprecated, it's because you're using an old and unsupported version of npm. node 14 is also many years EOL, so you should be upgrading that too.

@lgzhang
Copy link

lgzhang commented Sep 3, 2024

@ljharb Thanks,It's unfortunate that nodejs 14 is currently being used in the production environment and upgrading is not that easy, it requires approval from the company.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants