meilisearch / meilisearch-js

JavaScript client for the Meilisearch API

Home Page:https://www.meilisearch.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Remove `cross-fetch` dependency

flevi29 opened this issue · comments

As detailed in #1610, cross-fetch isn't helping much. The only thing it does is use node-fetch on older Node.js versions.

Also we are using two additional web standards that won't run on IE11 and we're not polyfilling:

const constructURL = new URL(url, this.url)
if (params) {
const queryParams = new URLSearchParams()
Object.keys(params)
.filter((x: string) => params[x] !== null)
.map((x: string) => queryParams.set(x, params[x]))
constructURL.search = queryParams.toString()
}

I propose we remove this polyfill, users of this library can import a polyfill script for fetch (browser) (node) and the other stuff themselves in the few cases where they might still need to do so, and if they're targeting IE11, they already need to do this with URL https://github.com/lifaon74/url-polyfill. I believe polyfilling should be the responsibility of the final apps/websites.

#1656 is kind of a blocker for this, as removing cross-fetch would break tests, and that PR already fixes them.