Skip to content

Commit 95f542a

Browse files
authored
change from node-fetch to undici (#680)
1 parent 6114e85 commit 95f542a

File tree

8 files changed

+35
-13
lines changed

8 files changed

+35
-13
lines changed

packages/node/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@
3535
"dependencies": {
3636
"@lukeed/uuid": "^2.0.0",
3737
"@segment/analytics-core": "1.1.2",
38-
"node-fetch": "^2.6.7",
39-
"tslib": "^2.4.0"
38+
"tslib": "^2.4.0",
39+
"undici": "^5.12.0"
4040
},
4141
"devDependencies": {
4242
"@internal/config": "0.0.0",

packages/node/src/__tests__/graceful-shutdown-integration.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { createSuccess } from './test-helpers/factories'
22

33
const fetcher = jest.fn()
4-
jest.mock('../lib/fetch', () => fetcher)
4+
jest.mock('../lib/fetch', () => ({ fetch: fetcher }))
55

66
import { Analytics, SegmentEvent } from '../app/analytics-node'
77
import { sleep } from './test-helpers/sleep'

packages/node/src/__tests__/http-integration.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const fetcher = jest.fn()
2-
jest.mock('../lib/fetch', () => fetcher)
2+
jest.mock('../lib/fetch', () => ({ fetch: fetcher }))
33

44
import { createSuccess } from './test-helpers/factories'
55
import { version } from '../../package.json'

packages/node/src/__tests__/integration.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const fetcher = jest.fn()
2-
jest.mock('../lib/fetch', () => fetcher)
2+
jest.mock('../lib/fetch', () => ({ fetch: fetcher }))
33

44
import { CorePlugin as Plugin } from '@segment/analytics-core'
55
import { resolveCtx } from './test-helpers/resolve-ctx'

packages/node/src/lib/fetch.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
import { default as nodeFetch } from 'node-fetch'
1+
import { fetch as _fetch } from 'undici'
22

3-
// made this a default export so it mocks the same as node-fetch in tests.
4-
const fetch = globalThis.fetch || nodeFetch
5-
6-
export default fetch
3+
export const fetch = globalThis.fetch || _fetch

packages/node/src/plugins/segmentio/__tests__/index.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const fetcher = jest.fn()
2-
jest.mock('../../../lib/fetch', () => fetcher)
2+
jest.mock('../../../lib/fetch', () => ({ fetch: fetcher }))
33

44
import { CoreContext } from '@segment/analytics-core'
55
import { createNodeEventFactory } from '../../../lib/create-node-event-factory'

packages/node/src/plugins/segmentio/publisher.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { backoff, CoreContext } from '@segment/analytics-core'
22
import { tryCreateFormattedUrl } from '../../lib/create-url'
33
import { extractPromiseParts } from '../../lib/extract-promise-parts'
4-
import fetch from '../../lib/fetch'
4+
import { fetch } from '../../lib/fetch'
55
import { ContextBatch } from './context-batch'
66

77
function sleep(timeoutInMs: number): Promise<void> {

yarn.lock

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1897,8 +1897,8 @@ __metadata:
18971897
"@lukeed/uuid": ^2.0.0
18981898
"@segment/analytics-core": 1.1.2
18991899
"@types/node": ^14
1900-
node-fetch: ^2.6.7
19011900
tslib: ^2.4.0
1901+
undici: ^5.12.0
19021902
languageName: unknown
19031903
linkType: soft
19041904

@@ -5118,6 +5118,15 @@ __metadata:
51185118
languageName: node
51195119
linkType: hard
51205120

5121+
"busboy@npm:^1.6.0":
5122+
version: 1.6.0
5123+
resolution: "busboy@npm:1.6.0"
5124+
dependencies:
5125+
streamsearch: ^1.1.0
5126+
checksum: 32801e2c0164e12106bf236291a00795c3c4e4b709ae02132883fe8478ba2ae23743b11c5735a0aae8afe65ac4b6ca4568b91f0d9fed1fdbc32ede824a73746e
5127+
languageName: node
5128+
linkType: hard
5129+
51215130
"bytes-iec@npm:^3.1.1":
51225131
version: 3.1.1
51235132
resolution: "bytes-iec@npm:3.1.1"
@@ -12691,6 +12700,13 @@ __metadata:
1269112700
languageName: node
1269212701
linkType: hard
1269312702

12703+
"streamsearch@npm:^1.1.0":
12704+
version: 1.1.0
12705+
resolution: "streamsearch@npm:1.1.0"
12706+
checksum: 1cce16cea8405d7a233d32ca5e00a00169cc0e19fbc02aa839959985f267335d435c07f96e5e0edd0eadc6d39c98d5435fb5bbbdefc62c41834eadc5622ad942
12707+
languageName: node
12708+
linkType: hard
12709+
1269412710
"string-argv@npm:^0.3.1":
1269512711
version: 0.3.1
1269612712
resolution: "string-argv@npm:0.3.1"
@@ -13667,6 +13683,15 @@ __metadata:
1366713683
languageName: node
1366813684
linkType: hard
1366913685

13686+
"undici@npm:^5.12.0":
13687+
version: 5.12.0
13688+
resolution: "undici@npm:5.12.0"
13689+
dependencies:
13690+
busboy: ^1.6.0
13691+
checksum: fbc227704943c05aa3dc1630695e10309c17d0a535678594d136db107c50593248e9ace70e1ab77496a6c837bf14aa2ab3c501a7a6c45fb6277dbf0846e15ffe
13692+
languageName: node
13693+
linkType: hard
13694+
1367013695
"unfetch@npm:^3.1.1":
1367113696
version: 3.1.2
1367213697
resolution: "unfetch@npm:3.1.2"

0 commit comments

Comments
 (0)