externality
v1.0.2
Published
[![npm version][npm-version-src]][npm-version-href] [![npm downloads][npm-downloads-src]][npm-downloads-href] [![Github Actions][github-actions-src]][github-actions-href] [![Codecov][codecov-src]][codecov-href] [![bundle][bundle-src]][bundle-href]
Downloads
2,215,826
Readme
Externality
Externality is a set of utilities for handling identifying whether a given package or path should be considered an external package that can be imported at runtime, or whether is should be bundled in a build step.
It also contains a webpack and rollup plugin for encapsulating this functionality.
Install
Install using npm or yarn:
npm i externality
# or
yarn add externality
Rollup plugin
import { rollupExternals } from 'externality'
Webpack plugin
import { webpackExternals } from 'externality'
Utils
resolveId
This utility is powered by enhanced-resolve
and will resolve a given module/path with support for extensions, CJS/ESM and more.
import { resolveId } from 'externality'
await resolveId('my-lib', { type: 'commonjs' })
// {
// id: 'my-lib',
// path: '/path/to/node_modules/my-lib/index.js',
// type: 'commonjs'
// }
isExternal
import { isExternal } from 'externality'
await isExternal('my-lib', '.')
// {
// id: 'my-lib',
// external: true
// }