1.0.3 • Published 1 year ago
@plasmicapp/isomorphic-unfetch v1.0.3
Isomorphic Unfetch
Switches between unfetch & node-fetch for client & server.
Fork differences:
1. On Node, node-fetch
is always used instead of global.fetch
.
This is a workaround this undici
bug
which is negatively affecting many versions of Node and Next.js.
2. Don't polyfill, leave global.fetch
alone.
3. Applies a patch on node-fetch-cjs to this node-fetch bug by following this PR. Then we inline node-fetch-cjs into the built version of server.js, so that it will contain our patched version of node-fetch-cjs.
Install
This project uses node and npm. Go check them out if you don't have them locally installed.
$ npm i isomorphic-unfetch
Then with a module bundler like rollup or webpack, use as you would anything else:
// using ES6 modules
import fetch from 'isomorphic-unfetch'
// using CommonJS modules
const fetch = require('isomorphic-unfetch')
Usage
As a ponyfill:
import fetch from 'isomorphic-unfetch';
fetch('/foo.json')
.then( r => r.json() )
.then( data => {
console.log(data);
});
Globally, as a polyfill:
import 'isomorphic-unfetch';
// "fetch" is now installed globally if it wasn't already available
fetch('/foo.json')
.then( r => r.json() )
.then( data => {
console.log(data);
});