A tiny `esm` snippets interop lib
npm install lib-esmA tiny esm snippets interop lib.


``bash`
npm i lib-esm
`js
import libEsm from 'lib-esm'
// or
// const libEsm = require('lib-esm').default
const snippets = libEsm({
window: 'lib-name',
require: 'lib-name',
exports: [
'foo',
'bar',
],
})
console.log(${snippets.window}\n${snippets.exports})${snippets.require}\n${snippets.exports}
console.log()`
snippets.window
`js`
const _M_ = window["lib-name"];
snippets.require
`js`
import _M_node_module from "node:module";
const _M_ = _M_node_module.createRequire(import.meta.url)("lib-name");
snippets.exports
`js`
export const foo = _M_.foo;
export const bar = _M_.bar;
const keyword_default = _M_.default || _M_;
export {
keyword_default as default,
};
`tswindow[iife-name]
/* Lib to ESM code snippets /
function libEsm(options: {
/**
* IIFE name
*/
window?: string;
/**
* require id
*/
require?: string;
/**
* export members
*/
exports?: string[];
/**
* Prevent name conflicts
*/
conflict?: string;
}): {
/* snippets /require(id)
window: string;
/* snippets /export
require: string;
/* snippets /``
exports: string;
/* Keywords alias /
keywords: Record
}