{"version":3,"sources":["jsdelivr-header.js","/npm/bestikk-uglify@3.0.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aACA,MAAM,IAAM,QAAQ,eACd,aAAe,QAAQ,iBAEvB,oBAAsB,WAC1B,MAAM,EAAS,aAAa,SAAS,qBAAsB,CAAE,SAAU,SACvE,OAAO,2BAA2B,EACpC,EAEM,2BAA6B,SAAU,GAC3C,MAAM,EAAQ,EAAM,MAAM,MAC1B,IAAI,EACJ,IAAK,MAAM,KAAQ,GACb,EAAK,WAAW,iBAAmB,EAAK,WAAW,sBACrD,EAAkB,GAGtB,GAAI,EAAiB,CACnB,MAAM,EAAc,EAAgB,MAAM,YAAY,GACtD,IAAI,EAEF,GADgC,IAA9B,EAAY,QAAQ,KACJ,CAAC,KAAM,EAAa,EAAG,GAEvB,EAAY,MAAM,uCAEtC,MAAM,EAAQ,SAAS,EAAgB,IACjC,EAAQ,SAAS,EAAgB,IACjC,EAAQ,SAAS,EAAgB,IACjC,EAAO,EAAgB,GAC7B,OAAc,IAAV,EACK,CACL,MAAO,EACP,MAAO,EACP,MAAO,SAAS,EAAK,QAAQ,KAAM,MAG9B,CACL,QACA,QACA,QAGN,CACA,MAAM,IAAI,MAAM,uCAAyC,EAC3D,EAEM,kBAAoB,WAExB,IAEE,GADwB,sBACJ,MAAQ,EAE1B,OADA,IAAI,MAAM,+CACH,CAEX,CAAE,MAAO,GAGP,OAFA,IAAI,MAAM,UAAY,GACtB,IAAI,MAAM,2CACH,CACT,CACA,OAAO,CACT,EAEA,MAAM,OACJ,WAAA,CAAa,GACX,KAAK,qBAAuB,oBAC5B,KAAK,YAAc,iCACnB,KAAK,KAAO,GAAQ,CAAC,wBACvB,CAEA,YAAM,CAAQ,EAAQ,GACpB,OAAI,KAAK,qBACA,IAAI,SAAQ,CAAC,EAAS,KAE3B,aAAa,KAAK,aAAa,aAAa,KAAK,eAAe,KAAK,KAAK,KAAK,yBAAyB,KAAe,KAAU,GAC3H,GACF,IAAI,MAAM,UAAY,GACf,EAAO,IAET,EAAQ,CAAC,IACjB,KAGL,IAAI,KAAK,8EACF,CAAC,EACV,EAGF,OAAO,QAAU,OACjB,OAAO,QAAQ,4BAA8B","file":"/npm/bestikk-uglify@3.0.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/bestikk-uglify@3.0.1/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict'\nconst log = require('bestikk-log')\nconst childProcess = require('child_process')\n\nconst javaSemanticVersion = function () {\n  const result = childProcess.execSync('java -version 2>&1', { encoding: 'utf8' })\n  return extractJavaSemanticVersion(result)\n}\n\nconst extractJavaSemanticVersion = function (input) {\n  const lines = input.split('\\n')\n  let javaVersionLine\n  for (const line of lines) {\n    if (line.startsWith('java version') || line.startsWith('openjdk version')) {\n      javaVersionLine = line\n    }\n  }\n  if (javaVersionLine) {\n    const javaVersion = javaVersionLine.match(/\"(.*?)\"/i)[1]\n    let semanticVersion\n    if (javaVersion.indexOf('.') === -1) { // Check if version is formatted as number\n      semanticVersion = [null, javaVersion, 0, 0]\n    } else {\n      semanticVersion = javaVersion.match(/([0-9]+)\\.([0-9]+)\\.([0-9]+)(_.*)?/i)\n    }\n    const major = parseInt(semanticVersion[1])\n    const minor = parseInt(semanticVersion[2])\n    const patch = parseInt(semanticVersion[3])\n    const meta = semanticVersion[4]\n    if (major === 1) {\n      return {\n        major: minor,\n        minor: patch,\n        patch: parseInt(meta.replace(/_/g, ''))\n      }\n    } else {\n      return {\n        major,\n        minor,\n        patch\n      }\n    }\n  }\n  throw new Error('Unable to find the java version in: ' + lines)\n}\n\nconst checkRequirements = function () {\n  // Java 8 or higher must be available in PATH\n  try {\n    const semanticVersion = javaSemanticVersion()\n    if (semanticVersion.major < 8) {\n      log.error('Closure Compiler requires Java 8 or higher')\n      return false\n    }\n  } catch (e) {\n    log.error('error: ' + e)\n    log.error('\\'java\\' binary is not available in PATH')\n    return false\n  }\n  return true\n}\n\nclass Uglify {\n  constructor (args) {\n    this.requirementSatisfied = checkRequirements()\n    this.compilerJar = 'closure-compiler-v20190215.jar'\n    this.args = args || ['--warning_level=QUIET']\n  }\n\n  async minify (source, destination) {\n    if (this.requirementSatisfied) {\n      return new Promise((resolve, reject) => {\n        // eslint-disable-next-line n/no-path-concat\n        childProcess.exec(`java -jar ${__dirname}/${this.compilerJar} ${this.args.join(' ')} --js_output_file=${destination} ${source}`, error => {\n          if (error) {\n            log.error('error: ' + error)\n            return reject(error)\n          }\n          return resolve({})\n        })\n      })\n    }\n    log.warn('Requirements are not satisfied (see previous errors), skipping minify task')\n    return {}\n  }\n}\n\nmodule.exports = Uglify\nmodule.exports._extractJavaSemanticVersion = extractJavaSemanticVersion\n"]}