Zoeken op website

javascript - @mdx-js/mdx importeren in een eenvoudige typescript nodejs-app


In een heel eenvoudig node16 TypeScript 4.8-project, een CLI, wil ik de @mdx-js/mdx-bibliotheek gebruiken, die wordt gedistribueerd als ESM.

Ik ben een beetje verdwaald met alle CommonJS/ESM/ES2020 vocabulaire, sorry....

Mijn tsconfig:

{
    "compilerOptions": {
        "target": "es2020",
        "lib": [
            "es2020",
            "es2022"
        ],
        "module": "node16",
        "rootDir": "./src",
        "moduleResolution": "node",
        "resolveJsonModule": true,
        "allowJs": true,
        "checkJs": true,
        "declaration": true,
        "outDir": "./build",
        "allowSyntheticDefaultImports": true,
        "esModuleInterop": true,
        "forceConsistentCasingInFileNames": true,
        "strict": true,
        "noImplicitAny": true,
        "skipLibCheck": true
    },
    "files": [....],
}

Bij het uitvoeren van een naïve import: import { compileSync } from '@mdx-js/mdx';

Ik kreeg een fout:

Error [ERR_REQUIRE_ESM]: require() of ES Module node_modules/@mdx-js/mdx/index.js from DirDocFileReader.ts not supported.
Instead change the require of index.js in DirDocFileReader.ts to a dynamic import() which is available in all CommonJS modules.