/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/harp@0.47.2/lib/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
var path=require("path"),fs=require("fs-extra"),terraform=require("terraform"),async=require("async"),connect=require("connect"),mime=require("mime-types"),helpers=require("./helpers"),middleware=require("./middleware"),pkg=require("../package.json"),url=require("url"),hrn=require("human-readable-numbers");exports.server=function(e,r){r=r||{};var t=connect();return(r.log||r.l)&&t.use(middleware.setupLog),t.use(middleware.regProjectFinder(e)),t.use(middleware.setup),t.use(middleware.basicAuth),t.use(middleware.underscore),t.use(middleware.mwl),t.use(middleware.denySymlink(r)),t.use(middleware.static),t.use(middleware.poly),t.use(middleware.process),t.use(middleware.fallback2),t},exports.multihost=function(e,r,t){var i=connect();i.use(middleware.notMultihostURL),i.use(middleware.index(e)),i.use(middleware.hostProjectFinder(e)),i.use(middleware.setup),i.use(middleware.basicAuth),i.use(middleware.underscore),i.use(middleware.mwl),i.use(middleware.static),i.use(middleware.poly),i.use(middleware.process),i.use(middleware.fallback2),i.listen(r.port||9e3,t)},exports.mount=function(e,r){if(r)var t=new RegExp("^"+e);else r=e,e=null;var i=middleware.regProjectFinder(r);return function(e,r,n){if(t){if(!e.url.match(t))return n();var s=e.url;e.url=e.url.replace(t,"/")}i(e,r,(function(){middleware.setup(e,r,(function(){middleware.static(e,r,(function(){middleware.poly(e,r,(function(){middleware.process(e,r,(function(){s&&(e.url=s),n()}))}))}))}))}))}},exports.pipeline=function(e){console.log("Deprecated, please use MOUNT instead, this will be removed in a future version.");var r=path.resolve(e),t=terraform.root(r);return function(e,i,n){var s=helpers.normalizeUrl(e.url),a=terraform.helpers.buildPriorityList(s),o=terraform.helpers.findFirstFile(r,a);if(!o)return n();t.render(o,(function(e,r){if(e)return n(e);if(!r)return n();var t=terraform.helpers.outputType(o),s=helpers.mimeType(t),a=mime.charsets.lookup(s);i.statusCode=200,i.setHeader("Content-Type",s+(a?"; charset="+a:"")),i.setHeader("Content-Length",Buffer.byteLength(r,a)),i.end(r)}))}},exports.pkg=pkg,exports.middleware=middleware,exports.compile=function(e,r,t,i){i||(i=t,t={log:!1});const n=process.hrtime();var s={types:{}};i||"function"!=typeof r||(i=r,r="www"),r||(r="www");try{r=path.resolve(e,r);var a=helpers.setup(e,"production"),o=terraform.root(a.publicPath,a.config.globals)}catch(e){return i(e)}if(!helpers.willAllow(e,r))return i({type:"Invalid Output Path",message:"Output path cannot be greater then one level up from project path and must be in directory starting with `_` (underscore).",projectPath:e,outputPath:r});var l=function(e){var r=hrn.toHumanString(e);return/\d+\D$/.test(r)?r:r+"B"},u=function(e,i){process.nextTick((function(){o.render(e,(function(n,s){if(n)return i(n);if(!s)return i();var a=path.resolve(r,terraform.helpers.outputPath(e));fs.mkdirp(path.dirname(a),(function(r){var n=s.length,o=l(n).padStart(8," "),u=`/${terraform.helpers.outputPath(e)}`;t.log&&console.log(o.green,u),fs.writeFile(a,s,i)}))}))}))},d=function(e,i){var n=path.extname(e);if(terraform.helpers.shouldIgnore(e)||-1!==[".jsx",".jade",".ejs",".md",".styl",".less",".scss",".sass",".coffee",".cjs"].indexOf(n))i();else{var s=path.resolve(r,e);fs.mkdirp(path.dirname(s),(function(r){fs.stat(path.resolve(a.publicPath,e),(function(r,n){var o=n.size,u=l(o).padStart(8," "),d=`/${e}`;t.log&&console.log(u.grey,d),fs.copy(path.resolve(a.publicPath,e),s,i)}))}))}};helpers.prime(r,{ignore:e},(function(e){e&&console.log(e),helpers.ls(a.publicPath,(function(e,r){async.each(r,u,(function(e){e?i(e):async.each(r,d,(function(e){s.duration=process.hrtime(n),a.config.harp_version=pkg.version,delete a.config.globals,a.stats=s,i(null,a)}))}))}))}))};
//# sourceMappingURL=/sm/2c0eabc3ce7e637956d88682d4d3f0b052184fd280709cdca100b81fa1e97ef8.map