Détail du package

commonjs-esm-loader

luicfrr1.2kMIT1.0.5

Loads ESM modules on CommonJS projects

commonjs, esm, loader, module

readme

📚 Introduction

Trying to load a fresh installed package and got the error cannot use import statement outside a module? This packaged is the sollution for your problems.

I've created it after Googling a lot trying to find a sollution on how to import an ESM package in a big and consolidated CommonJS project... Migrate whole project to ESM architecture just to use a single package was not an option.

Is this package usefull to you? Support it buying me a coffee ☕ or giving a ⭐ on GitHub.

🧰 Installation

To install, you can use npm or yarn:

npm install commonjs-esm-loader
# or
yarn add commonjs-esm-loader

💡 Usage

OBS: Using pdfreader package as example because it was the package that makes me create this project, but it works with any ESM package you want to load.

JavaScript

import { importEsmModule } from 'commonjs-esm-loader'

async function myFunction() {
  const { PdfReader } = await importEsmModule( 'pdfreader' )
  // your package is loaded and ready to use :)
  new PdfReader( ... )
}

TypeScript

import { importEsmModule } from 'commonjs-esm-loader'
// load package type so intellisense can work
import type PdfReaderType from 'pdfreader'

async function myFunction() {
  const { PdfReader } = await importEsmModule<typeof PdfReaderType>( 'pdfreader' )
  // your package is loaded, typed and ready to use :)
  new PdfReader( ... )
}

👷 Built With

  • TypeScript - Open-source language which builds on JavaScript

📚 Author

changelog

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

1.0.4 (2025-06-10)

1.0.2 (2023-11-06)

Fixes on eslint Added error message if module load fails