html-crush
Version:
Minify email templates
42 lines (39 loc) • 1.1 kB
TypeScript
type Range =
| [from: number, to: number]
| [from: number, to: number, whatToInsert: string | null | undefined];
type Ranges = Range[] | null;
declare const version: string;
interface Opts {
lineLengthLimit: number;
removeIndentations: boolean;
removeLineBreaks: boolean;
removeHTMLComments: boolean | 0 | 1 | 2;
removeCSSComments: boolean;
reportProgressFunc: null | ((percDone: number) => void);
reportProgressFuncFrom: number;
reportProgressFuncTo: number;
breakToTheLeftOf: string[];
mindTheInlineTags: string[];
}
declare const defaults: Opts;
interface Res {
log: {
timeTakenInMilliseconds: number;
originalLength: number;
cleanedLength: number;
bytesSaved: number;
percentageReducedOfOriginal: number;
};
applicableOpts: {
removeHTMLComments: boolean;
removeCSSComments: boolean;
};
ranges: Ranges;
result: string;
}
/**
* Minifies HTML/CSS: valid or broken, pure or mixed with other languages
*/
declare function crush(str: string, opts?: Partial<Opts>): Res;
export { crush, defaults, version };
export type { Opts, Res };