UNPKG

879 BJavaScriptView Raw
1"use strict";
2
3const HtmlMinifier = require('html-minifier').minify;
4
5module.exports = function(code, settings) {
6
7 code = HtmlMinifier(code, {
8 collapseBooleanAttributes: true,
9 collapseInlineTagWhitespace: true,
10 collapseWhitespace: true,
11 customEventAttributes: settings.eventAttributes,
12 decodeEntities: true,
13 includeAutoGeneratedTags: false,
14 minifyCSS: settings.minifyCSS,
15 minifyJS: settings.minifyJS,
16 removeAttributeQuotes: true,
17 removeComments: true,
18 removeEmptyAttributes: true,
19 removeOptionalTags: true,
20 removeRedundantAttributes: true,
21 removeScriptTypeAttributes: true,
22 removeStyleLinkTypeAttributes: true,
23 removeTagWhitespace: true,
24 sortAttributes: true,
25 sortClassName: true,
26 trimCustomFragments: true,
27 });
28
29 return code
30 .replace(/<zc-space ?\/?>/g, ' ')
31 .replace(/<zc-newline ?\/>/g, '\n')
32 .replace(/<zc-tab ?\/>/g, '\t');
33
34};