2020-08-25 23:48:42 -04:00
/ * *
2022-06-22 09:39:08 -04:00
* Minifies a Buffer containing UTF - 8 HTML code .
2020-08-25 23:48:42 -04:00
*
2022-06-21 09:03:35 -04:00
* @param src - Source HTML code
* @param cfg - Configurable minifier settings to use
* @returns Minified HTML code
2020-08-25 23:48:42 -04:00
* /
2022-06-21 22:24:52 -04:00
export function minify (
src : Buffer ,
cfg : {
/** Do not minify DOCTYPEs. Minified DOCTYPEs may not be spec compliant. */
do_not_minify_doctype? : boolean ;
/** Ensure all unquoted attribute values in the output do not contain any characters prohibited by the WHATWG specification. */
ensure_spec_compliant_unquoted_attribute_values? : boolean ;
/** Do not omit closing tags when possible. */
keep_closing_tags? : boolean ;
/** Do not omit `<html>` and `<head>` opening tags when they don't have attributes. */
keep_html_and_head_opening_tags? : boolean ;
/** Keep spaces between attributes when possible to conform to HTML standards. */
keep_spaces_between_attributes? : boolean ;
/** Keep all comments. */
keep_comments? : boolean ;
/ * *
* If enabled , content in ` <script> ` tags with a JS or no [ MIME type ] ( https : //mimesniff.spec.whatwg.org/#javascript-mime-type) will be minified using [minify-js](https://github.com/wilsonzlin/minify-js).
* /
minify_js? : boolean ;
/ * *
* If enabled , CSS in ` <style> ` tags and ` style ` attributes will be minified .
* /
minify_css? : boolean ;
2023-02-16 03:23:03 -05:00
/ * *
* Use optimisation level 1 for the CSS minifier . This is currently the default , but may change in the future if higher levels become safe .
* /
minify_css_level_1? : boolean ;
/ * *
* Use optimisation level 2 for the CSS minifier . This is mostly safe , but may perform some dangerous optimisations .
* /
minify_css_level_2? : boolean ;
/ * *
* Use optimisation level 3 for the CSS minifier . This performs many dangerous optimisations , so ensure any input works with this level .
* /
minify_css_level_3? : boolean ;
2022-06-21 22:24:52 -04:00
/** Remove all bangs. */
remove_bangs? : boolean ;
/** Remove all processing_instructions. */
remove_processing_instructions? : boolean ;
}
) : Buffer ;