Skip to content

unjs/externality

Repository files navigation

npm version npm downloads Github Actions Codecov bundle

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
// }

License

MIT