{"version":3,"file":"index.mjs","sources":["../src/index.js"],"sourcesContent":["/**\r\n * Copyright (c) 2021, Anton Babakhin\r\n * All rights reserved. (MIT Licensed)\r\n *\r\n * critical-css-inliner\r\n */\r\n\r\nconst criticalCSSParser = require('critical-css-parser');\r\nconst inline = require('inline-critical');\r\nconst fs = require('fs');\r\nconst path = require('path');\r\n\r\nconst DEFAULTS = {\r\n  base: 'dist/',\r\n  src: 'index.html',\r\n  target: 'index-critical.html',\r\n  inlineGoogleFonts: true,\r\n  minify: true,\r\n  ignoreStylesheets: [/bootstrap/],\r\n  whitelist: /#foo|\\.bar/\r\n};\r\n\r\n/**\r\n * Inline critical CSS\r\n * @param  {object} options Options\r\n * @return {Promise<true>} Result success\r\n */\r\nasync function criticalCSSInliner(options) {\r\n\r\n  const props = { ...DEFAULTS, ...options };\r\n\r\n  const css = await criticalCSSParser({\r\n    type: 'localServer',\r\n    entrypoint: props.base,\r\n    filename: props.src,\r\n    enableGoogleFonts: props.inlineGoogleFonts,\r\n    minify: props.minify,\r\n    whitelist: props.whitelist\r\n  });\r\n\r\n  const html = fs.readFileSync(path.resolve(props.base, props.src), 'utf8');\r\n\r\n  const inlined = inline(html, css.critical, {\r\n    extract: true,\r\n    basePath: props.base,\r\n    minify: props.minify,\r\n    ignore: props.ignoreStylesheets\r\n  });\r\n\r\n  fs.writeFileSync(path.resolve(props.base, props.target), inlined, 'utf8');\r\n\r\n  return true;\r\n\r\n}\r\n\r\nmodule.exports = criticalCSSInliner;\r\n"],"names":["criticalCSSParser","require","inline","fs","path","DEFAULTS","base","src","target","inlineGoogleFonts","minify","ignoreStylesheets","whitelist","module","exports","options","props","type","entrypoint","filename","enableGoogleFonts","css","html","readFileSync","resolve","inlined","critical","extract","basePath","ignore","writeFileSync"],"mappings":"mNAOMA,EAAoBC,QAAQ,uBAC5BC,EAASD,QAAQ,mBACjBE,EAAKF,QAAQ,MACbG,EAAOH,QAAQ,QAEfI,EAAW,CACfC,KAAM,QACNC,IAAK,aACLC,OAAQ,sBACRC,mBAAmB,EACnBC,QAAQ,EACRC,kBAAmB,CAAC,aACpBC,UAAW,cAoCbC,OAAOC,iBA5B2BC,OAEhC,IAAMC,OAAaX,EAAaU,GAFS,uBAIvBf,EAAkB,CAClCiB,KAAM,cACNC,WAAYF,EAAMV,KAClBa,SAAUH,EAAMT,IAChBa,kBAAmBJ,EAAMP,kBACzBC,OAAQM,EAAMN,OACdE,UAAWI,EAAMJ,2BANbS,GASN,IAAMC,EAAOnB,EAAGoB,aAAanB,EAAKoB,QAAQR,EAAMV,KAAMU,EAAMT,KAAM,QAE5DkB,EAAUvB,EAAOoB,EAAMD,EAAIK,SAAU,CACzCC,SAAS,EACTC,SAAUZ,EAAMV,KAChBI,OAAQM,EAAMN,OACdmB,OAAQb,EAAML,oBAKhB,OAFAR,EAAG2B,cAAc1B,EAAKoB,QAAQR,EAAMV,KAAMU,EAAMR,QAASiB,EAAS"}