Skip to content

Commit fd4e7d4

Browse files
use global fetch by default
1 parent 096d0df commit fd4e7d4

File tree

3 files changed

+16
-41
lines changed

3 files changed

+16
-41
lines changed

packages/snack-sdk/src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import Snack, {
2828
SnackLogListener,
2929
} from './Session';
3030
import defaultConfig from './defaultConfig';
31+
import { setSnackSDKFetch } from './utils';
3132

3233
export * from './transports';
3334
export * from './types';
@@ -60,4 +61,5 @@ export {
6061
Snack,
6162
createRuntimeUrl,
6263
parseRuntimeUrl,
64+
setSnackSDKFetch,
6365
};

packages/snack-sdk/src/utils.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,22 @@
1-
import nodeFetch from 'node-fetch';
21
import { customAlphabet } from 'nanoid';
32
import { SDKVersion, createRuntimeUrl } from 'snack-content';
43

54
import { SnackError, SnackUser } from './types';
65

7-
export { nodeFetch as fetch };
6+
let fetchFn: typeof fetch = fetch;
7+
8+
/**
9+
* Stable reference to the fetch function that is used internally.
10+
*/
11+
const internalFetch: typeof fetch = (...args) => {
12+
return fetchFn(...args);
13+
};
14+
15+
export { internalFetch as fetch };
16+
17+
export function setSnackSDKFetch(fn: typeof fetch) {
18+
fetchFn = fn;
19+
}
820

921
/**
1022
* All valid characters to generate a new channel ID.

yarn.lock

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -6489,11 +6489,6 @@ data-uri-to-buffer@3:
64896489
resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636"
64906490
integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==
64916491

6492-
data-uri-to-buffer@^4.0.0:
6493-
version "4.0.1"
6494-
resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e"
6495-
integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==
6496-
64976492
data-urls@^2.0.0:
64986493
version "2.0.0"
64996494
resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b"
@@ -7994,14 +7989,6 @@ fbjs@^0.8.0:
79947989
setimmediate "^1.0.5"
79957990
ua-parser-js "^0.7.18"
79967991

7997-
fetch-blob@^3.1.2, fetch-blob@^3.1.4:
7998-
version "3.2.0"
7999-
resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9"
8000-
integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==
8001-
dependencies:
8002-
node-domexception "^1.0.0"
8003-
web-streams-polyfill "^3.0.3"
8004-
80057992
figgy-pudding@^3.5.1:
80067993
version "3.5.2"
80077994
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
@@ -8202,13 +8189,6 @@ form-data@~2.3.2:
82028189
combined-stream "^1.0.6"
82038190
mime-types "^2.1.12"
82048191

8205-
formdata-polyfill@^4.0.10:
8206-
version "4.0.10"
8207-
resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423"
8208-
integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==
8209-
dependencies:
8210-
fetch-blob "^3.1.2"
8211-
82128192
formidable@^1.2.2:
82138193
version "1.2.2"
82148194
resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.2.tgz#bf69aea2972982675f00865342b982986f6b8dd9"
@@ -12378,11 +12358,6 @@ node-dir@^0.1.17:
1237812358
dependencies:
1237912359
minimatch "^3.0.2"
1238012360

12381-
node-domexception@^1.0.0:
12382-
version "1.0.0"
12383-
resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5"
12384-
integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
12385-
1238612361
node-fetch@2.6.1, node-fetch@^2.6.0, node-fetch@^2.6.1:
1238712362
version "2.6.1"
1238812363
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
@@ -12403,15 +12378,6 @@ node-fetch@^2.6.9:
1240312378
dependencies:
1240412379
whatwg-url "^5.0.0"
1240512380

12406-
node-fetch@^3.3.2:
12407-
version "3.3.2"
12408-
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b"
12409-
integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==
12410-
dependencies:
12411-
data-uri-to-buffer "^4.0.0"
12412-
fetch-blob "^3.1.4"
12413-
formdata-polyfill "^4.0.10"
12414-
1241512381
node-forge@^0.10.0:
1241612382
version "0.10.0"
1241712383
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3"
@@ -16916,11 +16882,6 @@ watchpack@^2.2.0:
1691616882
glob-to-regexp "^0.4.1"
1691716883
graceful-fs "^4.1.2"
1691816884

16919-
web-streams-polyfill@^3.0.3:
16920-
version "3.3.3"
16921-
resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b"
16922-
integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==
16923-
1692416885
webidl-conversions@^3.0.0:
1692516886
version "3.0.1"
1692616887
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"

0 commit comments

Comments
 (0)