
Company News
Socket Named to Rising in Cyber 2026 List of Top Cybersecurity Startups
Socket was named to the Rising in Cyber 2026 list, recognizing 30 private cybersecurity startups selected by CISOs and security executives.
@rolldown/pluginutils
Advanced tools
A utility library for building flexible, composable filter expressions that can be used in plugin hook filters of Rolldown/Vite/Rollup/Unplugin plugins.
A utility library for building flexible, composable filter expressions that can be used in plugin hook filters of Rolldown/Vite/Rollup/Unplugin plugins.
pnpm add @rolldown/pluginutils
import { exactRegex, makeIdFiltersToMatchWithQuery, prefixRegex } from '@rolldown/pluginutils';
// Match exactly 'foo.js'
const filter = exactRegex('foo.js');
// Match any id starting with 'lib/'
const prefix = prefixRegex('lib/');
// Match ids with query params (e.g. 'foo.js?bar')
const idFilters = makeIdFiltersToMatchWithQuery(['**/*.js', /\.ts$/]);
// Usage in a plugin to define a hook filter
const myPlugin = {
resolveId: {
filter: {
id: [exactRegex('MY_ID_TO_CHECK'), /some-other-regex/],
},
handler(id) {
// Your code here
},
},
};
[!WARNING] Composable filters are not yet supported in Vite or unplugin. They can be used in Rolldown plugins only.
import { and, id, include, moduleType, query } from '@rolldown/pluginutils';
// Build a filter expression
const filterExpr = and(id(/\.ts$/), moduleType('ts'), query('foo', true));
// Usage in a plugin to define a hook filter
const myPlugin = {
transform: {
filter: [include(filterExpr)],
handler(code, id, options) {
// Your code here
},
},
};
exactRegex(str: string, flags?: string): RegExp — Matches the exact string.prefixRegex(str: string, flags?: string): RegExp — Matches values with the given prefix.makeIdFiltersToMatchWithQuery(input: string | RegExp | (string | RegExp)[]): string | RegExp | (string | RegExp)[] — Adapts filters to match ids with query params.and(...exprs) / or(...exprs) / not(expr) — Logical composition of filter expressions.id(pattern, params?) — Filter by id. A string pattern is matched by exact equality (not glob); a RegExp is tested against the id.importerId(pattern, params?) — Filter by importer id. A string pattern is matched by exact equality; a RegExp is tested against the importer id. Only usable with the resolveId hook.moduleType(type) — Filter by module type (e.g. 'js', 'tsx', or 'json').code(pattern) — Filter by code content.query(key, pattern) — Filter by query parameter.include(expr) / exclude(expr) — Top-level include/exclude wrappers.queries(obj) — Compose multiple query filters.filterVitePlugins(plugins) — Filters out Vite plugins with apply: 'serve'.FAQs
A utility library for building flexible, composable filter expressions that can be used in plugin hook filters of Rolldown/Vite/Rollup/Unplugin plugins.
The npm package @rolldown/pluginutils receives a total of 88,211,420 weekly downloads. As such, @rolldown/pluginutils popularity was classified as popular.
We found that @rolldown/pluginutils demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?

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.

Company News
Socket was named to the Rising in Cyber 2026 list, recognizing 30 private cybersecurity startups selected by CISOs and security executives.

Research
Socket detected 84 compromised TanStack npm package artifacts modified with suspected CI credential-stealing malware.

Security News
A dispute over fsnotify maintainer access set off supply chain alarms around one of Go’s most widely used filesystem libraries.