require() of ES module index.js not supported

Viewed 25

I am using the below code in order to import a library (p-limit):

import pLimit, { LimitFunction } from 'p-limit';

const limit = pLimit(20);

let limitConcurrency: LimitFunction
import('p-limit').then((pLimit) => {
    limitConcurrency = pLimit.default(20);
});

however, every time I want to compile my code, I get the following error:

Error [ERR_REQUIRE_ESM]: require() of ES Module C:\Users\User\Documents\GitHub\server\node_modules\p-limit\index.js from C:\Users\User\Documents\GitHub\server\src\controllers\CardsController.ts not supported.
Instead change the require of index.js in C:\Users\User\Documents\GitHub\server\src\controllers\CardsController.ts to a dynamic import() which is available in all CommonJS modules.

My tsconfig.json looks like this:

{
    "compilerOptions": {
      "target": "es6",
      "module": "CommonJS",
      "moduleResolution": "node",
      "strict": true,
      "esModuleInterop": true,
      "skipLibCheck": true,
      "forceConsistentCasingInFileNames": true,
      "lib": ["ES2021"],
      "resolveJsonModule": true,
      "allowSyntheticDefaultImports": true
    },
    "include": ["./src/**/*", "types.tsx"],
    "exclude": [
        "./plugins/**/*",
        "./typings/**/*",
        "./built/**/*"
    ]
  }

How can I solve this?

0 Answers
Related