Socket
Socket
Sign inDemoInstall

inclusion

Package Overview
Dependencies
1
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

inclusion


Version published
Maintainers
1
Install size
14.6 kB
Created

Readme

Source

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

Keywords

FAQs

Last updated on 09 Aug 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc