Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

node-fetch-cjs

Package Overview
Dependencies
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-fetch-cjs

A wrapper for node-fetch (a light-weight module that brings Fetch API to node.js) to be used in commonjs environment.

  • 3.3.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
4.4K
decreased by-3.16%
Maintainers
1
Weekly downloads
 
Created
Source

Node Fetch CJS

This package is a wrapper for Node Fetch v3 for commonjs environments.

Motivation

Since v3, node-fetch only provides an ESM version of the package.

While this choice is a good choice for the future, it is impacting a lot of codebases built on commonjs environment. Some of them could update their code to import node-fetch using native import() but many could not. This is especially true for TypeScript users who cannot mix commonjs and ESM imports in their projects.

This module bundles node-fetch using esbuild and apply some custom transformations to make sure it works in commonjs environments.

If you are able to migrate to the official v3 release of node-fetch, we highly recommend to use the official node-fetch. This package is built to help users who could not migrate easily.

This repository is automatically updated when a new version of node-fetch is released

Installation

$ npm install node-fetch-cjs

Usage

Destructuring export (recommended):

const { default: fetch, Headers } = require("node-fetch-cjs");

fetch(/* ... */).then(/* ... */);

const headers = new Headers();

Legacy export:

const fetch = require("node-fetch-cjs");

fetch.default(/* ... */).then(/* ... */);

const headers = new fetch.Headers();

Full documentation

Full documentation is available on the node-fetch repository.

Differences

In order to be fully CJS compatible, we had to bundle dependencies from node-fetch directly into this package. This means that both fetch-blob and formdata-polyfill are bundled.

For your convenience, these dependencies are exported to allow you to use them in your code:

const { Blob, FormData } = require("node-fetch-cjs");

const blob = new Blob(["content"], { type: "text/plain" });
const text = await blob.text();

const data = new FormData();
data.append("key", "value");

TypeScript

Types are bundled with node-fetch-cjs, so you don't need to install any additional packages.

Acknowledgement

Thanks to node-fetch/node-fetch for their work to allow all of us to use fetch in Node.JS environments.

License

MIT

Keywords

FAQs

Package last updated on 12 Sep 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc