@rolldown/pluginutils
Advanced tools
+31
-1
@@ -85,2 +85,32 @@ //#region src/composable-filters.d.ts | ||
| //#endregion | ||
| //#region src/filter-vite-plugins.d.ts | ||
| /** | ||
| * Filters out Vite plugins that have `apply: 'serve'` set. | ||
| * | ||
| * Since Rolldown operates in build mode, plugins marked with `apply: 'serve'` | ||
| * are intended only for Vite's dev server and should be excluded from the build process. | ||
| * | ||
| * @param plugins - Array of plugins (can include nested arrays) | ||
| * @returns Filtered array with serve-only plugins removed | ||
| * | ||
| * @example | ||
| * ```ts | ||
| * import { defineConfig } from 'rolldown'; | ||
| * import { filterVitePlugins } from '@rolldown/pluginutils'; | ||
| * import viteReact from '@vitejs/plugin-react'; | ||
| * | ||
| * export default defineConfig({ | ||
| * plugins: filterVitePlugins([ | ||
| * viteReact(), | ||
| * { | ||
| * name: 'dev-only', | ||
| * apply: 'serve', // This will be filtered out | ||
| * // ... | ||
| * } | ||
| * ]) | ||
| * }); | ||
| * ``` | ||
| */ | ||
| declare function filterVitePlugins<T = any>(plugins: T | T[] | null | undefined | false): T[]; | ||
| //#endregion | ||
| //#region src/simple-filters.d.ts | ||
@@ -158,2 +188,2 @@ /** | ||
| //#endregion | ||
| export { FilterExpression, FilterExpressionKind, QueryFilterObject, TopLevelFilterExpression, and, code, exactRegex, exclude, exprInterpreter, id, include, interpreter, interpreterImpl, makeIdFiltersToMatchWithQuery, moduleType, not, or, prefixRegex, queries, query }; | ||
| export { FilterExpression, FilterExpressionKind, QueryFilterObject, TopLevelFilterExpression, and, code, exactRegex, exclude, exprInterpreter, filterVitePlugins, id, include, interpreter, interpreterImpl, makeIdFiltersToMatchWithQuery, moduleType, not, or, prefixRegex, queries, query }; |
+60
-4
@@ -130,6 +130,5 @@ //#region src/utils.ts | ||
| function queries(queryFilter) { | ||
| let arr = Object.entries(queryFilter).map(([key, value]) => { | ||
| return and(...Object.entries(queryFilter).map(([key, value]) => { | ||
| return new Query(key, value); | ||
| }); | ||
| return and(...arr); | ||
| })); | ||
| } | ||
@@ -187,2 +186,59 @@ function interpreter(exprs, code$1, id$1, moduleType$1) { | ||
| //#endregion | ||
| //#region src/filter-vite-plugins.ts | ||
| /** | ||
| * Filters out Vite plugins that have `apply: 'serve'` set. | ||
| * | ||
| * Since Rolldown operates in build mode, plugins marked with `apply: 'serve'` | ||
| * are intended only for Vite's dev server and should be excluded from the build process. | ||
| * | ||
| * @param plugins - Array of plugins (can include nested arrays) | ||
| * @returns Filtered array with serve-only plugins removed | ||
| * | ||
| * @example | ||
| * ```ts | ||
| * import { defineConfig } from 'rolldown'; | ||
| * import { filterVitePlugins } from '@rolldown/pluginutils'; | ||
| * import viteReact from '@vitejs/plugin-react'; | ||
| * | ||
| * export default defineConfig({ | ||
| * plugins: filterVitePlugins([ | ||
| * viteReact(), | ||
| * { | ||
| * name: 'dev-only', | ||
| * apply: 'serve', // This will be filtered out | ||
| * // ... | ||
| * } | ||
| * ]) | ||
| * }); | ||
| * ``` | ||
| */ | ||
| function filterVitePlugins(plugins) { | ||
| if (!plugins) return []; | ||
| const pluginArray = Array.isArray(plugins) ? plugins : [plugins]; | ||
| const result = []; | ||
| for (const plugin of pluginArray) { | ||
| if (!plugin) continue; | ||
| if (Array.isArray(plugin)) { | ||
| result.push(...filterVitePlugins(plugin)); | ||
| continue; | ||
| } | ||
| const pluginWithApply = plugin; | ||
| if ("apply" in pluginWithApply) { | ||
| const applyValue = pluginWithApply.apply; | ||
| if (typeof applyValue === "function") try { | ||
| if (applyValue({}, { | ||
| command: "build", | ||
| mode: "production" | ||
| })) result.push(plugin); | ||
| } catch { | ||
| result.push(plugin); | ||
| } | ||
| else if (applyValue === "serve") continue; | ||
| else result.push(plugin); | ||
| } else result.push(plugin); | ||
| } | ||
| return result; | ||
| } | ||
| //#endregion | ||
| //#region src/simple-filters.ts | ||
@@ -252,2 +308,2 @@ /** | ||
| //#endregion | ||
| export { and, code, exactRegex, exclude, exprInterpreter, id, include, interpreter, interpreterImpl, makeIdFiltersToMatchWithQuery, moduleType, not, or, prefixRegex, queries, query }; | ||
| export { and, code, exactRegex, exclude, exprInterpreter, filterVitePlugins, id, include, interpreter, interpreterImpl, makeIdFiltersToMatchWithQuery, moduleType, not, or, prefixRegex, queries, query }; |
+1
-1
| { | ||
| "name": "@rolldown/pluginutils", | ||
| "version": "1.0.0-beta.42", | ||
| "version": "1.0.0-beta.43", | ||
| "license": "MIT", | ||
@@ -5,0 +5,0 @@ "type": "module", |
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
18850
14.96%301
22.36%1
Infinity%