How to handle Node.js error : TypeError: WooCommerceRestApi is not a constructor [closed]

Question

The server runs on Node.js and making API requests to my WP site.
I was using NPM @woocommerce/woocommerce-rest-api successfully to manage API requests to Woocommerce/ WP website.

Was using babel and CJS version:

const WooCommerceRestApi = require("@woocommerce/woocommerce-rest-api").default;

const api = new WooCommerceRestApi({
  url: "http://example.com",
  consumerKey: "ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  consumerSecret: "cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  version: "wc/v3"
});

But since Node 14 is offering a simple way to use ESM I have added the following configuration to the package.json, so I can use the import statement:
"type": "module"

So I should have been able to use this format:

import WooCommerceRestApi from "@woocommerce/woocommerce-rest-api";

const api = new WooCommerceRestApi({
  url: "http://example.com",
  consumerKey: "ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  consumerSecret: "cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  version: "wc/v3"
});

But now I get this error:

file:///xxxxxx/test.js:5
const api = new WooCommerceRestApi({
            ^

TypeError: WooCommerceRestApi is not a constructor
    at file:///xxxxxxxx/test.js:5:13
    at ModuleJob.run (internal/modules/esm/module_job.js:138:23)
    at async Loader.import (internal/modules/esm/loader.js:178:24)

Why would that happen?

0
, , , yoni349 8 months 0 Answers 123 views 0

Leave an answer