rollup-plugin-webpack-stats
Version:
[](https://www.npmjs.com/package/rollup-plugin-webpack-stats) [](https://www.npmjs.com/package/rollup-plugin-webpack-stats)
76 lines (75 loc) • 2.45 kB
TypeScript
import type { Stats, AssetStats, ChunkStats, ModuleStats } from 'rollup-plugin-stats/extract';
export type WebpackStatsFilteredAsset = {
name: string;
size?: number;
};
export interface WebpackStatsFilteredChunk {
id: number | string;
entry: boolean;
initial: boolean;
files?: Array<string>;
names?: Array<string>;
}
export interface WebpackStatsFilteredModule {
name: string;
size?: number;
chunks: Array<string | number>;
}
export interface WebpackStatsFilteredConcatenatedModule {
name: string;
size?: number;
}
export interface WebpackStatsFilteredRootModule extends WebpackStatsFilteredModule {
modules?: Array<WebpackStatsFilteredConcatenatedModule>;
}
export interface WebpackStatsFiltered {
builtAt: number;
hash?: string;
assets: Array<WebpackStatsFilteredAsset>;
chunks: Array<WebpackStatsFilteredChunk>;
modules: Array<WebpackStatsFilteredRootModule>;
}
export type ChunksIssuers = Record<string, Array<ChunkStats>>;
/**
* Recursivily check if a chunk is async based on the chunks issuers
*/
export declare const lookupChunkAsync: (chunksIssuers: ChunksIssuers, chunk: ChunkStats, processedChunks?: Array<string>) => boolean;
type AssetSource = ChunkStats | AssetStats;
type ChunkSource = ChunkStats;
type ModuleSource = {
fileName: string;
} & ModuleStats;
/**
* Store transformed sources
*/
declare class TransformSources {
constructor();
entries: Record<string, unknown>;
push(id: string, source: AssetSource | ChunkSource | ModuleSource): void;
/**
* Get asset source
*/
getByAsset: (asset: WebpackStatsFilteredAsset) => AssetSource;
/**
* Get chunk source
*/
getByChunk: (chunk: WebpackStatsFilteredChunk) => ChunkSource;
/**
* Get module source
*/
getByModule: (module: WebpackStatsFilteredModule) => ModuleSource;
}
export type TransformCallback = (stats: WebpackStatsFiltered, sources: TransformSources, bundle: Stats) => WebpackStatsFiltered;
export type BundleTransformOptions = {
/**
* Extract module original size or rendered size
* default: false
*/
moduleOriginalSize?: boolean;
/**
* Callback function to access and mutate the resulting stats after the transformation
*/
transform?: TransformCallback;
};
export declare const bundleToWebpackStats: (bundle: Stats, pluginOptions?: BundleTransformOptions) => WebpackStatsFiltered;
export {};