Vigia

Оновлення node-fetch з 2.x до 3.x

Порівняння публічного API node-fetch 2.7.0 і 3.3.2, обчислене автоматично за їхніми типами TypeScript. Змінена сигнатура — можлива несумісна зміна, а не гарантія.

Підсумок

Видалені шляхи імпорту1
Видалені експорти6
Змінені сигнатури5
Видалені члени класів або інтерфейсів19
Змінені члени класів або інтерфейсів14
Нові застарівання3
Зміни вимог (engines, peer-залежності)2
Нові експорти7

Видалені шляхи імпорту

Видалені шляхи імпорту
node-fetch/externals

Видалені експорти

importexportkindБуло
node-fetchHeaderInittypeHeaders | string[][] | { [key: string]: string | string[]; }
node-fetchRequestModetype"same-origin" | "cors" | "no-cors"
node-fetchRequestCachetype"default" | "force-cache" | "no-cache" | "no-store" | "only-if-cached" | "reload"
node-fetchResponseTypetype"error" | "default" | "cors" | "basic" | "opaque" | "opaqueredirect"
node-fetchRequestContexttype"object" | "audio" | "beacon" | "cspreport" | "download" | "embed" | "eventsource" | "favicon" | "fetch" | "font" | "form" | "frame" | "hyperlink" | "iframe" | "image" | "imageset" | "import" | "internal" | "location" | "manifest" | "ping" | "plugin" | "prefetch" | "script" | "serviceworker" | "sharedworker" | "style" | "subresource" | "track" | "video" | "worker" | "xmlhttprequest" | "xslt"
node-fetchRequestCredentialstype"omit" | "include" | "same-origin"

Змінені сигнатури

exportБулоСтало
node-fetch · Blobclassany
node-fetch · Bodyclassinterface
node-fetch · default(url: RequestInfo, init?: RequestInit | undefined): Promise<Response>(url: URL | RequestInfo, init?: RequestInit | undefined): Promise<Response>
node-fetch · HeadersInitHeaders | string[][] | { [key: string]: string | string[]; }Headers | Record<string, string> | Iterable<readonly [string, string]> | Iterable<Iterable<string>>
node-fetch · RequestInfostring | Request | URLLikestring | Request

Видалені члени класів або інтерфейсів

memberimportБуло
Body.timeoutnode-fetchnumber
Body.textConvertednode-fetch(): Promise<string>
Request.portnode-fetchnumber | undefined
Request.agentnode-fetchany
Request.follownode-fetchnumber
Request.contextnode-fetchRequestContext
Request.counternode-fetchnumber
Request.timeoutnode-fetchnumber
Request.compressnode-fetchboolean
Request.hostnamenode-fetchstring
Request.protocolnode-fetchstring
Request.textConvertednode-fetch(): Promise<string>
Response.timeoutnode-fetchnumber
Response.textConvertednode-fetch(): Promise<string>
RequestInit.timeoutnode-fetchnumber | undefined
ResponseInit.urlnode-fetchstring | undefined
ResponseInit.sizenode-fetchnumber | undefined
ResponseInit.counternode-fetchnumber | undefined
ResponseInit.timeoutnode-fetchnumber | undefined

Змінені члени класів або інтерфейсів

memberБулоСтало
Body.bodyNodeJS.ReadableStreamany
Body.json(): Promise<any>(): Promise<unknown>
Body.constructor(body?: any, opts?: { size?: number | undefined; timeout?: number | undefined; } | undefined): Body
Headers.raw(): { [k: string]: string[]; }(): Record<string, string[]>
Headers.forEach(callback: (value: string, name: string) => void): void(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any): void
Request.bodyNodeJS.ReadableStreamany
Request.json(): Promise<any>(): Promise<unknown>
Request.constructor(input: RequestInfo, init?: RequestInit | undefined): Request(input: URL | RequestInfo, init?: RequestInit | undefined): Request
Response.bodyNodeJS.ReadableStreamany
Response.json(): Promise<any>(): Promise<unknown>
Response.static redirect(url: string, status: number): Response(url: string, status?: number | undefined): Response
AbortError.type"aborted"string
AbortError.constructor(message: string): AbortError(message?: string | undefined): AbortError | (message?: string | undefined, options?: ErrorOptions | undefined): AbortError
FetchError.constructor(message: string, type: string, systemError?: SystemError | undefined): FetchError(message: string, type: string, systemError?: Record<string, unknown> | undefined): FetchError

Нові застарівання

export@deprecated
node-fetch · Body.bufferUse `body.arrayBuffer()` instead.
node-fetch · Request.bufferUse `body.arrayBuffer()` instead.
node-fetch · Response.bufferUse `body.arrayBuffer()` instead.

Зміни вимог (engines, peer-залежності)

БулоСтало
engines.node4.x || >=6.0.0^12.20.0 || ^14.13.1 || >=16.0.0
peerDependencies.encoding^0.1.0—
Нові експорти (7)
importexportkind
node-fetchFilevariable
node-fetchFormDatavariable
node-fetchblobFromvariable
node-fetchfileFromvariable
node-fetchblobFromSyncvariable
node-fetchfileFromSyncvariable
node-fetchReferrerPolicytype

Поширені запитання

Які несумісні зміни під час оновлення node-fetch з 2 до 3?

Між node-fetch 2.7.0 і 3.3.2 Vigia знайшла видалених експортів: 6, змінених сигнатур: 5, видалених або змінених членів класів та інтерфейсів: 33.

Що застаріло в node-fetch 3?

У node-fetch 3.3.2 новими застарілими позначено експортів або членів: 3.

Для агентів

GET https://vigia.coredls.cloud/v1/packages/npm/node-fetch/upgrade?from=2.7.0&to=3.3.2