spec/uglify/core.js
function compileHTML(html, opts, pcex) {
  if (Array.isArray(opts)) {
    pcex = opts
    opts = {}
  }
  else {
    if (!pcex) pcex = []
    if (!opts) opts = {}
  }

  html = html.replace(/\r\n?/g, '\n').replace(HTML_COMMENT,
    function (s) { return s[0] === '<' ? '' : s }).replace(TRIM_TRAIL, '')

  // `_bp` is undefined when `compileHTML` is not called by compile
  if (!pcex._bp) pcex._bp = brackets.array(opts.brackets)

  return _compileHTML(html, opts, pcex)
}
function compileHTML(html, opts, pcex) {
  if (Array.isArray(opts)) {
    pcex = opts
    opts = {}
  }
  else {
    if (!pcex) pcex = []
    if (!opts) opts = {}
  }

  html = html.replace(/\r\n?/g, '\n').replace(HTML_COMMENT,
    function (s) { return s[0] === '<' ? '' : s }).replace(TRIM_TRAIL, '')

  // `_bp` is undefined when `compileHTML` is not called by compile
  if (!pcex._bp) pcex._bp = brackets.array(opts.brackets)

  return _compileHTML(html, opts, pcex)
}
function compileHTML ( html , opts , pcex ) { if ( Array . isArray ( opts ) ) { pcex = opts opts = { } } else { if ( ! pcex ) pcex = [ ] if ( ! opts ) opts = { } } html = html . replace ( / \r\n? / g , '\n' ) . replace ( HTML_COMMENT , function ( s ) { return s [ 0 ] === '<' ? '' : s } ) . replace ( TRIM_TRAIL , '' ) // `_bp` is undefined when `compileHTML` is not called by compile if ( ! pcex . _bp ) pcex . _bp = brackets . array ( opts . brackets ) return _compileHTML ( html , opts , pcex ) }
Parses and formats the HTML text.

@param   {string} html   - Can contain embedded HTML comments and literal whitespace
@param   {Object} opts   - Collected user options. Includes the brackets array in `_bp`
@param   {Array}  [pcex] - Keeps precompiled expressions
@returns {string} The parsed HTML text
@see http://www.w3.org/TR/html5/syntax.html
 istanbul ignore next
Parses and formats the HTML text .