-
Notifications
You must be signed in to change notification settings - Fork 29.9k
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
node-fetch: restore types (for v2), update version, allow agent: false
#58693
node-fetch: restore types (for v2), update version, allow agent: false
#58693
Commits on Feb 9, 2022
-
Revert "🤖 Merge PR DefinitelyTyped#55533 Remove node-fetch - not need…
…ed as of 3.0.0 by @ImRodry" This reverts commit 4d9b113. node-fetch@3 makes two major changes: they started shipping TS types with the package, and they switched it to being an ESM-only module. The latter means that apps which aren't built in a way that supports ESM (or other npm modules depending on `node-fetch` which don't want to break their non-ESM users) need to continue using v2. In fact, the README for `node-fetch` explicitly states > If you cannot switch to ESM, please use v2 which remains compatible > with CommonJS. Critical bug fixes will continue to be published for > v2. Stats on npmjs.com show that v2 has 43 times more downloads in the past 7 days than v3. I applaud node-fetch's forward-thinking approach to ESM, and am not here to tell them that their choice for v3 is wrong. But practically speaking, v2 is still heavily used and many projects will not be able to upgrade to v3 without breaking their own backwards compatibility promises. So it makes sense to continue to maintain v2-specific node-fetch types (especially as there are specific issues with the published types, as the next commit in this PR shows).
Configuration menu - View commit details
-
Copy full SHA for 613277b - Browse repository at this point
Copy the full SHA 613277bView commit details -
Configuration menu - View commit details
-
Copy full SHA for c0ef341 - Browse repository at this point
Copy the full SHA c0ef341View commit details -
node-fetch: update version to 2.6
v2.6 is the current (and presumably final) minor release of v2. Apparently these types already included at least one v2.6 feature (`agent` as a function). So, updating the version as suggested at-rule DefinitelyTyped#55533 (comment)
Configuration menu - View commit details
-
Copy full SHA for 2766011 - Browse repository at this point
Copy the full SHA 2766011View commit details -
node-fetch:
agent
can be a booleanThe `agent` option is (after checking to see if it's a function, and if so replacing itself with the return value of calling it) passed directly to `http.request` (or `https.request`) so we should be able to pass any type supported there. Notably, `agent: false` is distinct from `agent: undefined`. A PR making essentially the same change was merged upstream (the upstream repo maintains their own types for v3 but not for v2): node-fetch/node-fetch#1502
Configuration menu - View commit details
-
Copy full SHA for af88e00 - Browse repository at this point
Copy the full SHA af88e00View commit details
Commits on Feb 13, 2022
-
Update types/node-fetch/tsconfig.json
Co-authored-by: Nicolas Rodriguez <programnicolas@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 5e1aa5d - Browse repository at this point
Copy the full SHA 5e1aa5dView commit details -
Update types/node-fetch/index.d.ts
Co-authored-by: Niklas Lindgren <nikc@iki.fi>
Configuration menu - View commit details
-
Copy full SHA for 1492eaa - Browse repository at this point
Copy the full SHA 1492eaaView commit details -
Update types/node-fetch/package.json
Co-authored-by: Piotr Błażejewicz (Peter Blazejewicz) <peterblazejewicz@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 1ac3891 - Browse repository at this point
Copy the full SHA 1ac3891View commit details