rollup-plugin-stats
Version:
Output Rollup stats
49 lines (48 loc) • 1.68 kB
TypeScript
import type { OutputAsset, OutputBundle, OutputChunk, RenderedModule } from 'rollup';
import { type ExcludeFilepathPatterns } from './utils/check-exclude-filepath';
export type AssetStatsOptionalProperties = {
source?: OutputAsset['source'];
};
export type AssetStats = Omit<OutputAsset, keyof AssetStatsOptionalProperties> & AssetStatsOptionalProperties;
export type ModuleStatsOptionalProperties = {
code?: RenderedModule['code'] | null;
};
export type ModuleStats = Omit<RenderedModule, keyof ModuleStatsOptionalProperties> & ModuleStatsOptionalProperties;
export type ChunkStatsOptionalProperties = {
code?: OutputChunk['code'];
map?: OutputChunk['map'];
};
export type ChunkStats = Omit<OutputChunk, keyof ChunkStatsOptionalProperties | 'modules'> & {
modules: Record<string, ModuleStats>;
} & ChunkStatsOptionalProperties;
export type Stats = Record<string, AssetStats | ChunkStats>;
export type StatsOptions = {
/**
* Output asset/module sources
* @default false
*/
source?: boolean;
/**
* Output chunk map
* @default false
*/
map?: boolean;
/**
* Exclude matching assets
*/
excludeAssets?: ExcludeFilepathPatterns;
/**
* Exclude matching modules
*/
excludeModules?: ExcludeFilepathPatterns;
};
/**
* Extract bundler stats
*
* Shallow clone stats object before any processing using `omit` to
* 1. resolve getters
* 2. prevent changes to the stats object
*
* @NOTE structuredClone is not supported by rolldown-vite: https://github.com/vitejs/rolldown-vite/issues/128
*/
export default function extractRollupStats(bundle: OutputBundle, options?: StatsOptions): Stats;