https://github.com/unjs/impound
Builder-agnostic plugin to allow restricting import patterns in certain parts of your code-base.
https://github.com/unjs/impound
Last synced: 4 months ago
JSON representation
Builder-agnostic plugin to allow restricting import patterns in certain parts of your code-base.
- Host: GitHub
- URL: https://github.com/unjs/impound
- Owner: unjs
- License: mit
- Created: 2024-08-29T11:47:44.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2026-03-09T18:48:18.000Z (5 months ago)
- Last Synced: 2026-03-09T20:48:00.328Z (5 months ago)
- Language: TypeScript
- Homepage:
- Size: 1.41 MB
- Stars: 56
- Watchers: 1
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# impound
[![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]
> Build plugin to restrict import patterns in certain parts of your code-base.
This package is an [unplugin](https://unplugin.unjs.io/) which provides support for a wide range of bundlers.
## Usage
Install package:
```sh
# npm
npm install impound
```
```js
// rollup.config.js
import { dirname } from 'node:path'
import { fileURLToPath } from 'node:url'
import { ImpoundPlugin } from 'impound'
export default {
plugins: [
ImpoundPlugin.rollup({
cwd: dirname(fileURLToPath(import.meta.url)),
include: [/src\/*/],
patterns: [
[/^node:.*/], // disallows all node imports
['@nuxt/kit', 'Importing from @nuxt kit is not allowed in your src/ directory'] // custom error message
]
}),
],
}
```
## 💻 Development
- Clone this repository
- Enable [Corepack](https://github.com/nodejs/corepack) using `corepack enable`
- Install dependencies using `pnpm install`
- Run interactive tests using `pnpm dev`
## License
Made with ❤️
Published under [MIT License](./LICENCE).
[npm-version-src]: https://img.shields.io/npm/v/impound?style=flat-square
[npm-version-href]: https://npmjs.com/package/impound
[npm-downloads-src]: https://img.shields.io/npm/dm/impound?style=flat-square
[npm-downloads-href]: https://npm.chart.dev/impound
[github-actions-src]: https://img.shields.io/github/actions/workflow/status/unjs/impound/ci.yml?branch=main&style=flat-square
[github-actions-href]: https://github.com/unjs/impound/actions?query=workflow%3Aci
[codecov-src]: https://img.shields.io/codecov/c/gh/unjs/impound/main?style=flat-square
[codecov-href]: https://codecov.io/gh/unjs/impound