JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 11115
  • Score
    100M100P100Q125774F
  • License MIT

Lib to ESM code snippet.

Package Exports

  • lib-esm

Readme

lib-esm

Lib to ESM code snippet.

NPM version NPM Downloads

Install

npm i lib-esm

Usage

import libEsm from 'lib-esm'
// or
// const libEsm = require('lib-esm')

const result = libEsm({
  lib: 'lib-name',
  members: [
    'foo',
    'bar',
  ],
});

console.log(result.snippet);
Output

CommonJs format

import { createRequire } from "node:module";
const cjs_require = createRequire(import.meta.url);
const _M_ = cjs_require("lib-name");
export const foo = _M_.foo;
export const bar = _M_.bar;
export const keyword_default = _M_.default || _M_;
export {
  keyword_default as default,
};

IIFE format

const _M_ = window["lib-name"];
export const foo = _M_.foo;
export const bar = _M_.bar;
export const keyword_default = _M_.default || _M_;
export {
  keyword_default as default,
};

API (Define)

/** Lib to ESM code snippet. */
function libEsm(options: {
  /**
   * require id
   */
  require?: string;
  /**
   * export members
   */
  exports?: string[];
  /**
   * Prevent name conflicts
   */
  conflictId?: string;
  /**
   * Generate code snippet format
   * 
   * 🌰 e.g.
   * ```js
   * const _M_ = require("lib") // cjs
   * const _M_ = window["lib"] // iife
   * ```
   * 
   * @default "cjs"
   */
  format?: "cjs" | "iife";
}): {
  /** `require` snippets. */
  require: string;
  /** `export` snippets. */
  exports: string;
  /** Keywords alias */
  keywords: Record<string, string>;
}