JSPM

inclusion

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 4408
  • Score
    100M100P100Q133986F
  • License ISC

Dynamic imports for all

Package Exports

  • inclusion

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (inclusion) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

inclusion

Dynamic imports for all

Using dynamic import in legacy compiled-to-JS environments can be problematic. It's often transpiled to require by Babel, TypeScript etc. Configurations can be changed to not do this, but that can have other unintended side effects on resulting compiled code.

inclusion wraps import so that it can be used in these scenarios. It's also fine to use it for other scenarios.

API

inclusion(modulePath) => Promise => exports

Given an ESM module (someEsmModule) like the following:

export default function () { return 'hi' }
export const ABC = 123 

We can import and interact with it in a CJS environment (which is what most compile-to-JS libraries still currently do, as used in the wild), like so:

'use strict'
async function doSomething () {
  const { default: someEsmModule, ABC } = await inclusion('some-esm-module')
  console.log(someEsmModule(), ABC) // hi 123
}

Test

npm test
Suites:   1 passed, 1 of 1 completed
Asserts:  3 passed, of 3
Time:     456.13ms
----------|----------|----------|----------|----------|-------------------|
File      |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |
----------|----------|----------|----------|----------|-------------------|
All files |      100 |      100 |      100 |      100 |                   |
 index.js |      100 |      100 |      100 |      100 |                   |
----------|----------|----------|----------|----------|-------------------|

LICENSE

ISC