https://github.com/pengzhanbo/create-filter
Constructs a filter function which can be used to determine whether or not certain modules should be operated upon.
https://github.com/pengzhanbo/create-filter
Last synced: 2 months ago
JSON representation
Constructs a filter function which can be used to determine whether or not certain modules should be operated upon.
- Host: GitHub
- URL: https://github.com/pengzhanbo/create-filter
- Owner: pengzhanbo
- License: mit
- Created: 2023-02-07T16:01:52.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-26T14:27:26.000Z (12 months ago)
- Last Synced: 2025-01-06T03:32:01.232Z (5 months ago)
- Language: TypeScript
- Size: 96.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome - pengzhanbo/create-filter - Constructs a filter function which can be used to determine whether or not certain modules should be operated upon. (TypeScript)
- awesome - pengzhanbo/create-filter - Constructs a filter function which can be used to determine whether or not certain modules should be operated upon. (TypeScript)
README
# createFilter
Constructs a filter function which can be used to determine whether or not certain modules should be operated upon.
> Fork for [rollup](https://github.com/rollup/plugins/tree/master/packages/pluginutils#createfilter)
## Install
```sh
# npm
npm i create-filter
# yarn
yarn add create-filter
# pnpm
pnpm add create-filter
```## Usage
```ts
import createFilter from 'create-filter'const filter = createFilter(['**/*.js'], ['**/__test__/**'], {
resolve: true
})const isSource = filter('src/index.js')
```## `createFilter(include, exclude, options)`
### include and exclude
Type: `String | RegExp | Array[...String|RegExp]`
A valid [picomatch](https://github.com/micromatch/picomatch#globbing-features) pattern, or array of patterns. If `options.include` is omitted or has zero length, filter will return true by default. Otherwise, an ID must match one or more of the `picomatch` patterns, and must not match any of the `options.exclude` patterns.
Note that `picomatch` patterns are very similar to [minimatch](https://github.com/isaacs/minimatch#readme) patterns, and in most use cases, they are interchangeable. If you have more specific pattern matching needs, you can view [this comparison table](https://github.com/micromatch/picomatch#library-comparisons) to learn more about where the libraries differ.
### options
**`resolve`**
Type: `String | Boolean | null`
Optionally resolves the patterns against a directory other than `process.cwd()`. If a `String` is specified, then the value will be used as the base directory. Relative paths will be resolved against `process.cwd()` first. If `false`, then the patterns will not be resolved against any directory. This can be useful if you want to create a filter for virtual module names.