0.1.3 • Published 5 months ago

es-interop v0.1.3

Weekly downloads
-
License
ISC
Repository
github
Last release
5 months ago

es-interop

npm

Load modules dynamically from ESM, CJS, TS, JSON, etc.

Usage

pnpm i es-interop
import { loadModule, resolveModule } from 'es-interop'

// Load or resolve
await loadModule('some-module', import.meta.url) // load `some-module` (prefer ESM while CJS is also working)
await resolveModule('some-module', import.meta.url) // resolve `some-module` (prefer ESM while CJS is also working)

// in Node CommonJS
// const { loadModule, resolveModule } = require('es-interop')
await loadModule('some-module', __filename) // load `some-module` (also prefer ESM)

// from file
await loadModule('/path/to/some-module.js', import.meta.url) // load `some-module.js`

// other formats
await loadModule('/path/to/some-module.json', import.meta.url) // load `some-module.json`
await loadModule('/path/to/some-module.ts', import.meta.url) // load `some-module.ts`

Synchronous CJS

import { loadCJSModule, resolveCJSModule } from 'es-interop'

loadCJSModule('some-module', import.meta.url) // load `some-module` with Node resolution algorithm
resolveCJSModule('some-module', import.meta.url) // resolve `some-module` with Node resolution algorithm

Default Imports Interop

import { interopDefault, loadModule } from 'es-interop'

const mod = await loadModule('some-module', import.meta.url)
interopDefault(mod) // Whether from ESM or CJS
0.1.3

5 months ago

0.1.2

5 months ago

0.1.1

5 months ago

0.1.0

5 months ago