Skip to content
This repository was archived by the owner on Feb 12, 2024. It is now read-only.

Commit 25d3144

Browse files
committed
fix: use node-fetch in electron-renderer
`fetch` needs to be polyfilled before importing ky-universal: ky-universal won't use node-fetch because electron-renderer already has global.fetch defined and we can't use the one from electron-renderer as it returns different errors and makes HTTPS mocking impossible in tests License: MIT Signed-off-by: Marcin Rataj <[email protected]>
1 parent 4fb5b4b commit 25d3144

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/core/components/files-regular/add-from-url.js

+10-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
11
'use strict'
22

33
const { URL } = require('iso-url')
4-
const { default: ky } = require('ky-universal')
54
const nodeify = require('promise-nodeify')
5+
const { isElectronRenderer } = require('ipfs-utils/src/env')
6+
if (isElectronRenderer) {
7+
// `fetch` needs to be polyfilled before importing ky-universal:
8+
// ky-universal won't use node-fetch because electron-renderer already has global.fetch defined
9+
// and we can't use the one from electron-renderer as it returns different
10+
// errors and makes HTTPS mocking impossible in tests
11+
// TODO: remove when upstream fix lands
12+
global.fetch = require('node-fetch')
13+
}
14+
const { default: ky } = require('ky-universal')
615

716
module.exports = (ipfs) => {
817
const addFromURL = async (url, opts = {}) => {

0 commit comments

Comments
 (0)