@rolldown/pluginutils
Last updated 10 months ago by rolldownbot .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @rolldown/pluginutils 
SYNC missed versions from official npm registry.

@rolldown/pluginutils

A utility library for building flexible, composable filter expressions that can be used in plugin hook filters of Rolldown/Vite/Rollup/Unplugin plugins.

Installation

pnpm add @rolldown/pluginutils

Usage

Simple Filters

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
    },
  },
};

Composable Filters

[!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
    },
  },
};

API Reference

Simple Filters

  • 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.

Composable Filters

  • 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.

Utilities

  • filterVitePlugins(plugins) — Filters out Vite plugins with apply: 'serve'.

Current Tags

  • 1.0.0-beta.31-commit.832324a                                ...           canary (8 months ago)
  • 1.0.0-rc.15                                ...           latest (2 days ago)
  • 1.0.0-beta.13-commit.024b632                                ...           nightly (10 months ago)

119 Versions

  • 1.0.0-rc.15                                ...           2 days ago
  • 1.0.0-rc.14                                ...           3 days ago
  • 1.0.0-rc.13                                ...           10 days ago
  • 1.0.0-rc.12                                ...           17 days ago
  • 1.0.0-rc.11                                ...           19 days ago
  • 1.0.0-rc.10                                ...           24 days ago
  • 1.0.0-rc.9                                ...           a month ago
  • 1.0.0-rc.8                                ...           a month ago
  • 1.0.0-rc.7                                ...           a month ago
  • 1.0.0-rc.6                                ...           2 months ago
  • 1.0.0-rc.5                                ...           2 months ago
  • 1.0.0-rc.4                                ...           2 months ago
  • 1.0.0-rc.3                                ...           2 months ago
  • 1.0.0-rc.2                                ...           2 months ago
  • 1.0.0-rc.1                                ...           3 months ago
  • 1.0.0-beta.60                                ...           3 months ago
  • 1.0.0-beta.59                                ...           3 months ago
  • 1.0.0-beta.58                                ...           3 months ago
  • 1.0.0-beta.57                                ...           4 months ago
  • 1.0.0-beta.56                                ...           4 months ago
  • 1.0.0-beta.55                                ...           4 months ago
  • 1.0.0-beta.54                                ...           4 months ago
  • 1.0.0-beta.53                                ...           4 months ago
  • 1.0.0-beta.52                                ...           5 months ago
  • 1.0.0-beta.51                                ...           5 months ago
  • 1.0.0-beta.50                                ...           5 months ago
  • 1.0.0-beta.49                                ...           5 months ago
  • 1.0.0-beta.48                                ...           5 months ago
  • 1.0.0-beta.47                                ...           5 months ago
  • 1.0.0-beta.46                                ...           5 months ago
  • 1.0.0-beta.45                                ...           6 months ago
  • 1.0.0-beta.44                                ...           6 months ago
  • 1.0.0-beta.43                                ...           6 months ago
  • 1.0.0-beta.42                                ...           6 months ago
  • 1.0.0-beta.41                                ...           6 months ago
  • 1.0.0-beta.40                                ...           7 months ago
  • 1.0.0-beta.39                                ...           7 months ago
  • 1.0.0-beta.38                                ...           7 months ago
  • 1.0.0-beta.37                                ...           7 months ago
  • 1.0.0-beta.36                                ...           7 months ago
  • 1.0.0-beta.35                                ...           7 months ago
  • 1.0.0-beta.34                                ...           8 months ago
  • 1.0.0-beta.33                                ...           8 months ago
  • 1.0.0-beta.32                                ...           8 months ago
  • 1.0.0-beta.31-commit.832324a                                ...           8 months ago
  • 1.0.0-beta.31                                ...           8 months ago
  • 1.0.0-beta.30                                ...           8 months ago
  • 1.0.0-beta.29-commit.fe1bea3                                ...           9 months ago
  • 1.0.0-beta.29                                ...           9 months ago
  • 1.0.0-beta.28-commit.7ef342d                                ...           9 months ago
  • 1.0.0-beta.28-commit.aaef991                                ...           9 months ago
  • 1.0.0-beta.28-commit.cd50e5f                                ...           9 months ago
  • 1.0.0-beta.28                                ...           9 months ago
  • 1.0.0-beta.27                                ...           9 months ago
  • 1.0.0-beta.26-commit.8095fa9                                ...           9 months ago
  • 1.0.0-beta.26-commit.851abcb                                ...           9 months ago
  • 1.0.0-beta.26-commit.e5d5666                                ...           9 months ago
  • 1.0.0-beta.26-commit.abdc470                                ...           9 months ago
  • 1.0.0-beta.26-commit.ce29359                                ...           9 months ago
  • 1.0.0-beta.26-commit.d3c250b                                ...           9 months ago
  • 1.0.0-beta.26                                ...           9 months ago
  • 1.0.0-beta.25                                ...           9 months ago
  • 1.0.0-beta.24                                ...           9 months ago
  • 1.0.0-beta.23                                ...           9 months ago
  • 1.0.0-beta.22                                ...           9 months ago
  • 1.0.0-beta.21                                ...           9 months ago
  • 1.0.0-beta.20                                ...           10 months ago
  • 1.0.0-beta.19                                ...           10 months ago
  • 1.0.0-beta.18                                ...           10 months ago
  • 1.0.0-beta.17                                ...           10 months ago
  • 1.0.0-beta.16                                ...           10 months ago
  • 1.0.0-beta.15                                ...           10 months ago
  • 1.0.0-beta.14-commit.12b8061                                ...           10 months ago
  • 1.0.0-beta.14                                ...           10 months ago
  • 1.0.0-beta.13-commit.024b632                                ...           10 months ago
  • 1.0.0-beta.13-commit.6bb8d8d                                ...           10 months ago
  • 1.0.0-beta.13                                ...           10 months ago
  • 1.0.0-beta.12-commit.ee57cb6                                ...           10 months ago
  • 1.0.0-beta.12                                ...           10 months ago
  • 1.0.0-beta.11-commit.0a985f3                                ...           10 months ago
  • 1.0.0-beta.11-commit.f051675                                ...           10 months ago
  • 1.0.0-beta.11-commit.9abc457                                ...           10 months ago
  • 1.0.0-beta.11-commit.83d4d62                                ...           10 months ago
  • 1.0.0-beta.11                                ...           10 months ago
  • 1.0.0-beta.10-commit.229c919                                ...           10 months ago
  • 1.0.0-beta.10-commit.174c548                                ...           10 months ago
  • 1.0.0-beta.10-commit.bf212da                                ...           10 months ago
  • 1.0.0-beta.10-commit.885ee53                                ...           10 months ago
  • 1.0.0-beta.10-commit.2c4c2a8                                ...           10 months ago
  • 1.0.0-beta.10-commit.81375fe                                ...           10 months ago
  • 1.0.0-beta.10-commit.87188ed                                ...           10 months ago
  • 1.0.0-beta.10-commit.ac4e5db                                ...           10 months ago
  • 1.0.0-beta.10                                ...           10 months ago
  • 1.0.0-beta.9-commit.0ec9e7d                                ...           10 months ago
  • 1.0.0-beta.9-commit.ca4e9dd                                ...           10 months ago
  • 1.0.0-beta.9-commit.b174110                                ...           10 months ago
  • 1.0.0-beta.9-commit.273d50e                                ...           a year ago
  • 1.0.0-beta.9-commit.8371a90                                ...           a year ago
  • 1.0.0-beta.9-commit.d91dfb5                                ...           a year ago
  • 1.0.0-beta.9-commit.aca15b3                                ...           a year ago
  • 1.0.0-beta.9-commit.51df2b7                                ...           a year ago
  • 1.0.0-beta.9-commit.ce72026                                ...           a year ago
  • 1.0.0-beta.9-commit.76c39c6                                ...           a year ago
  • 1.0.0-beta.9-commit.43425a0                                ...           a year ago
  • 1.0.0-beta.9                                ...           a year ago
  • 1.0.0-beta.8-commit.360c072                                ...           a year ago
  • 1.0.0-beta.8-commit.a29b7fb                                ...           a year ago
  • 1.0.0-beta.8-commit.53a64a8                                ...           a year ago
  • 1.0.0-beta.8-commit.709eb63                                ...           a year ago
  • 1.0.0-beta.8-commit.bf53a10                                ...           a year ago
  • 1.0.0-beta.8-commit.985af6d                                ...           a year ago
  • 1.0.0-beta.8-commit.d95f99e                                ...           a year ago
  • 1.0.0-beta.8-commit.66f4623                                ...           a year ago
  • 1.0.0-beta.8-commit.8951737                                ...           a year ago
  • 1.0.0-beta.8-commit.2a5c6a6                                ...           a year ago
  • 1.0.0-beta.8-commit.05b3e10                                ...           a year ago
  • 1.0.0-beta.8-commit.e5c11c6                                ...           a year ago
  • 1.0.0-beta.8-commit.f97bbba                                ...           a year ago
  • 1.0.0-beta.8-commit.56abf23                                ...           a year ago
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (0)
None
Dev Dependencies (4)

Copyright 2013 - present © cnpmjs.org | Home |