guess-webpack
Version:
Webpack plugins for the Machine Learning-driven bundler
73 lines (72 loc) • 1.85 kB
TypeScript
import { Graph, RoutingModule } from '../../common/interfaces';
export declare enum Mode {
Angular = "angular",
ReactTSX = "react-tsx",
ReactJSX = "react-jsx",
PreactJSX = "preact-jsx",
Gatsby = "gatsby",
Auto = "auto"
}
export declare type RouteProvider = () => Promise<RoutingModule[]>;
export declare type Cluster = string[];
export declare type Clusters = Cluster[];
export declare type ClusteringAlgorithm = (graph: Graph, modules: Module[], totalClusters: number) => Clusters;
export interface Module {
modulePath: string;
parentModulePath: string;
}
export declare type CompressedPrefetchGraph = number[][][];
export interface CompressedGraphMap {
chunks: string[];
routes: string[];
}
export interface PrefetchConfig {
'4g': number;
'3g': number;
'2g': number;
'slow-2g': number;
}
export interface PrefetchPluginConfig {
debug?: boolean;
data: Graph;
basePath: string;
prefetchConfig?: PrefetchConfig;
routes: RoutingModule[];
delegate: boolean;
}
export interface BundleEntryNeighbor {
route: string;
probability: number;
file: string;
}
export interface BundleEntryGraph {
[route: string]: BundleEntryNeighbor[];
}
export interface PrefetchNeighbor {
route: string;
probability: number;
chunk: string;
}
export interface PrefetchGraph {
[route: string]: PrefetchNeighbor[];
}
export interface PrefetchAotNeighbor {
probability: number;
chunks: string[];
}
export interface FileChunkMap {
[path: string]: {
file: string;
deps: Set<string>;
} | null;
}
export interface PrefetchAotGraph {
[route: string]: PrefetchAotNeighbor[];
}
export interface PrefetchAotPluginConfig {
debug?: boolean;
data: Graph;
base: string;
prefetchConfig?: PrefetchConfig;
routes: RoutingModule[];
}