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

The future of node-fetch #567

Closed
bitinn opened this issue Jan 16, 2019 · 28 comments
Closed

The future of node-fetch #567

bitinn opened this issue Jan 16, 2019 · 28 comments
Assignees
Labels

Comments

@bitinn
Copy link
Collaborator

bitinn commented Jan 16, 2019

(Sometimes you gotta write a clickbait issue to get people's attention.)

The current status of node-fetch is fine:

  • I believe 95% of the Fetch API use cases are covered either by us or other implementations.
  • node-fetch is lean enough (150KB, zero dependency), people can write their own wrapper or even fork our code to fit their own purpose.
  • Fetch API is now quite stable so we are not dealing with many breaking changes.
  • In short, if you are on 1.x or 2.x releases, and it works for you, great, no need to worry.

The future status of node-fetch could be better:

  • It doesn't have an active maintainer, (contributors) all have their own lives.
  • There are certainly things we would like to work on to make node-fetch easier to use. (see open PRs).

What to do?

  • We need an active maintainer: someone need to own this package's npm publishing right, and have free time and proper motivation to maintain node-fetch changelog and releases.
  • We need a small team that help on non-trivial things: like making a PR spec compliant, which again require free time and proper motivation.

If you are such a candidate, or better yet, can negotiate with your employer to be payed to maintain node-fetch, let us know in the comments.

@buu700
Copy link

buu700 commented Jan 24, 2019

Tangentially related: nodejs/node#19393

Implement window.fetch into core

The fact that node-fetch is even still needed just feels strange.

@robertgrzonka
Copy link

I would love to help! ❤️
I'll take a look at open PR's later that day and will be back to let you know if I am able to help.

@anothertempore
Copy link

I really want to help! My team is using this library.

But I don't think I am that familiar with the source code, I think I can do some simple thing If you don't mind:)

@rkzhap123
Copy link

I wan't to contribute at this library!
I used many fetchs in my projects :)
so familar with this project.

@runofthemillgeek
Copy link

Interested as well. Is there a channel where you guys meet/discuss? 🤔

@Richienb
Copy link
Member

@bitinn I'm interested in continuing development of node-fetch. I'm a relatively heavy user of this library, usually through cross-fetch for my npm packages which need to make HTTP requests.

At the moment, I've got a couple of free hours most days to maintain this project.

@rkzhap123
Copy link

there's any discord channel or slack? I want to discuss with guys.

@Richienb
Copy link
Member

Richienb commented Aug 1, 2019

@bitinn Friendly ping!

@bitinn
Copy link
Collaborator Author

bitinn commented Aug 1, 2019

@rkzhap123 sorry, none yet, maybe you and @jimmywarting can help setup one?

@Richienb sorry, too busy on other project right now, we are happy to have you, any existing PRs you want to work on?


To All:

If anyone is thinking about leading this project, my suggestion is to seek some financial backing or sponsorship first: through your company, or Patreon, or even GitHub sponsors.

  • So if you represent a company, which use node-fetch and is happy to sponsor you to maintain this project, then I am happy to put its logo on the top of our readme :)

  • If you participate in open-source and is sponsored by people via platforms like Patreon or GitHub sponsors, I am happy to link people to your page too :)

  • Unless you have a lot of free time and are willing to work for free, (which, let me be honest, isn't very sustainable), driving a project like node-fetch can burn you out. V2 release took 1 year to land, I suspect V3 can also take months to land, make sure you are ok with that.

(I have also applied for GitHub sponsors on its launch but haven't heard back from GitHub since, so I can't justify my time to work on this right now... apologize for the delay in response.)

@Richienb
Copy link
Member

Richienb commented Aug 2, 2019

@bitinn At the moment, it looks like #311 needs to be completed. What is it on hold for?

@bitinn
Copy link
Collaborator Author

bitinn commented Aug 2, 2019

@Richienb probably spec compliance related, been a long while since I last look into it, nodejs native might have enough feature to support it without an external dependency, so new PR welcomed (file it against v3 where older nodejs release like v4 and v6 will be dropped.)

#640 and #654 are worth reviewing too.

@Richienb
Copy link
Member

Richienb commented Aug 2, 2019

@bitinn For v3, what will the minimum supported version be in relation to https://node.green/? I can only assume it's 7.5.0

@Richienb
Copy link
Member

Richienb commented Aug 2, 2019

@bitinn #659 adds data uri support using native nodejs functionality.

@rkzhap123
Copy link

you guys prefer discord or slack? anything else?

@runofthemillgeek
Copy link

@rkzhap123 +1 for Discord.

@xxczaki
Copy link
Member

xxczaki commented Sep 7, 2019

@bitinn I’m happy to become an active maintainer (project leader). I have made several npm packages & worked on many open-source projects.

If we were to talk about money, I do have a Patreon and I also applied for Github Sponsors recently (still waiting in queue), so that shouldn’t be a problem.

We could also create an Open Collective page for node-fetch and place backers and/or sponsors in the README (automatically).

@bitinn
Copy link
Collaborator Author

bitinn commented Sep 7, 2019

So @xxczaki reached out to me on Twitter and said he would like to lead this project, personally I am supportive, but I asked him to reply in this issue to serve as a formal offer.

To help smooth things out for @xxczaki, I am proposing the following:

  • I will add @xxczaki to collaboration team, my hope is he can start working on v3 releases.

  • Once @xxczaki accepts and hash out a roadmap (what to change, what to drop, what might break etc.), we will review and agree to this roadmap.

  • Once this is done, we will add his patreon page to our repo's sponsor button, so he can potentially get some reward for his work.

  • @jimmywarting, could I give you node-fetch npm package publishing right, so that you can help publish new releases, and act as a code reviewer? If you have got a patreon page I am happy to link them too :)

  • I am not active in nodejs open-source scene anymore, so I often can't review PR or response to issues in time, so if anyone is willing to join as a backer code reviewer, I am happy to have you. (Requirement: you need good knowledge of Fetch spec.)

  • Last thing I should note: I really appreciate @xxczaki offers to help, but I don't know him personally; this was the case with @TimothyGu, who led the v2 releases; we never talked online beyond GitHub issues, and Timothy happened to be answering issues here, so I asked him for help.

OK, that's long enough, let me know what you think?

cc @jimmywarting @TimothyGu @jkantr @gr2m

(PS: @rkzhap123, I will vote for discord, feel free to put the invite link here once you created it :)

@xxczaki
Copy link
Member

xxczaki commented Sep 7, 2019

@bitinn Sounds good to me 😄

@bitinn
Copy link
Collaborator Author

bitinn commented Sep 7, 2019

@xxczaki I have added you as a collaborator. You can look into existing PRs and issues to prepare a v3 roadmap, if you are unsure about something, just ping people and ask.

@jimmywarting
Copy link
Collaborator

sure, i have been thinking of getting patreon but i guess i'm holding on until github sponsors becomes available instead

@bitinn
Copy link
Collaborator Author

bitinn commented Sep 7, 2019

@jimmywarting quick question, is endless your npm account? I added it but can't verify it with npm owner ls, weird. (nevermind it's done)

@Richienb
Copy link
Member

Richienb commented Sep 7, 2019

@xxczaki, our new leader, what is the minimum version of Node that we will be targeting in v3?

@xxczaki
Copy link
Member

xxczaki commented Sep 7, 2019

@Richienb See #668 😄

tl;dr: Node.js 8

@Richienb
Copy link
Member

Richienb commented Sep 7, 2019

@bitinn I can be a backer code reviewer. There are heaps of things in the roadmap that needs doing and I'm up for creating and reviewing PRs to resolve them. 👍

@Richienb
Copy link
Member

Activity for this issue has mostly moved to #668. Closing.

@syuta-sugawara
Copy link

@bitinn
hi.
I'm software engineer in Japan.
Would it be possible to ask you something?

Now,I use node-fetch v2.
Will development of node-fetch v2 continue?
Do I need to update node-fetch to v3?

@jimmywarting
Copy link
Collaborator

jimmywarting commented Nov 26, 2021

v2 will continue to get security and bug patches but not so much new features.
v2 and v3 is pretty similar in the api surface.
if you only use simple stuff like fetch(url).then(res => res.jsoni()) then you won't benefit so much from the update.

The biggest major change is the switch to being esm-only. And it's a huge deal/refactoring process for everyone to switch to being ESM also. so they will not update any time soon, that's why we will continue to support it with only security and bug patches in v2

Some key feature stuff in v3 are:

  • esm-only
  • deprecated buffer() and use of "form-data" package in favor of more spec compatible one instead
  • fetch-blob v3 is also a major change that is now also esm-only and it's now returning a whatwg:stream instead of a node:stream when calling blob.stream()

so to answer your question @syuta-sugawara:
not necessarily but in the long run, yes i would advice you to update

@syuta-sugawara
Copy link

@jimmywarting
Sure.thanks.

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

No branches or pull requests

11 participants