/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@marko/build@4.3.2/dist/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault"),_extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));const fs=require("fs"),path=require("path"),webpack=require("webpack"),browserslist=require("browserslist"),postcssPresetEnv=require("postcss-preset-env"),ExtractCSSPlugin=require("mini-css-extract-plugin"),InjectPlugin=require("webpack-inject-plugin").default,MarkoPlugin=require("@marko/webpack/plugin").default,resolveFrom=require("resolve-from"),{getUserAgentRegExp:getUserAgentRegExp}=require("browserslist-useragent-regexp"),{useAppModuleOrFallback:useAppModuleOrFallback,getRouterCode:getRouterCode}=require("./util"),EMPTY=[],SERVER_FILE=path.join(__dirname,"./files/server.js"),MIDDLEWARE_FILE=path.join(__dirname,"./files/middleware.js"),CWD=process.cwd(),NMS_INDEX=__dirname.indexOf(path.sep+"node_modules"+path.sep),ROOT=-1===NMS_INDEX?__dirname:__dirname.slice(0,NMS_INDEX+2),IDENTITY_FN=e=>e;exports.loadWebpackConfig=e=>{let s,r=e.entry;const t=path.parse(r).root;for(;!s;){let e;if(fs.existsSync(e=path.join(r,"webpack.config.js")))s=require(e);else{if(fs.existsSync(path.join(r,"package.json")))break;if(r===t)break}r=path.dirname(r)}if(!s){const{getServerConfig:r,getBrowserConfigs:t}=configBuilder(e);s=[...t(),r()]}return s};const configBuilder=exports.configBuilder=({entry:e,production:s=!0,output:r="build"})=>{const t=fs.statSync(e).isDirectory(),o=`[${s?"id":"name"}].[contenthash:8]`,i=(s?"":"[name].")+"[contenthash:8]",n=s?process.env.NODE_ENV="production":"development",a=s?"production":"development",l=path.resolve(CWD,r),u=path.join(l,"assets"),p="/assets/",c=t?e:path.dirname(e),d=c.startsWith(ROOT)?ROOT:c,m=new MarkoPlugin,g=(process.env.APP_DIR=c,require.resolve("./marko-compiler")),f=loadBrowsersLists(e,s),v=e=>({presets:[require.resolve("@babel/preset-env")],plugins:[require.resolve("babel-plugin-macros")],targets:e,comments:!1,compact:!1,babelrc:!1,configFile:!1,browserslistConfigFile:!1,overrides:[{test:/\.[cm]?ts$/,presets:[require.resolve("@babel/preset-typescript")]}]}),b=e=>({loader:require.resolve("babel-loader"),options:(0,_extends2.default)({},v(e),{cacheDirectory:!0})}),h=({isServer:e,targets:r})=>{const t=(s=EMPTY)=>{if(e){const e=[{loader:require.resolve("css-loader"),options:{importLoaders:s.length,esModule:!1,modules:{exportOnlyLocals:!0}}},...s],r=[require.resolve("ignore-loader")];return[s=>/\.modules?\.\w+$/.test(s.resource)?e:r]}return[{loader:ExtractCSSPlugin.loader,options:{publicPath:""}},{loader:require.resolve("css-loader"),options:{importLoaders:s.length+1}},{loader:require.resolve("postcss-loader"),options:{postcssOptions:{plugins:[postcssPresetEnv({browsers:r})]}}},...s]};return[{test:/\.[cm]?[jt]s$/,exclude:!s||e?/node_modules/:void 0,use:[b(r)]},{test:/\.marko$/,use:[{loader:require.resolve("@marko/webpack/loader"),options:{compiler:g,hydrateIncludeImports:/\.\w+(?<![cm]?js|json|wasm|marko)$/,babelConfig:v(r)}}]},{test:/\.css$/,use:t()},{test:/\.less$/,use:t([{loader:"less-loader",options:{lessOptions:{rewriteUrls:"local"}}},ensurePkgs(c,["less-loader","less"])])},{test:/\.s[ac]ss$/,use:t(["resolve-url-loader",{loader:"sass-loader",options:{sourceMap:!0}},ensurePkgs(c,["sass-loader","sass"])])},{test:/\.styl$/,use:t(["stylus-loader",ensurePkgs(c,["stylus-loader","stylus"])])},{test:e=>e&&!/\.([cm]?[jt]s|json|css|less|s[ac]ss|styl|wasm|marko)$/.test(e),use:[{loader:require.resolve("file-loader"),options:{name:`${i}.[ext]`,outputPath:path.relative(e?l:u,u),publicPath:e=>e,postTransformPublicPath:e=>`__webpack_public_path__ + ${e}`}},s&&{loader:require("image-minimizer-webpack-plugin").loader,options:{filter:(e,s)=>/\.(jpe?g|png|gif|svg)$/.test(s),minimizerOptions:{plugins:[require.resolve("imagemin-gifsicle"),require.resolve("imagemin-jpegtran"),require.resolve("imagemin-optipng"),require.resolve("imagemin-svgo")]}}}].filter(Boolean)}]},w=e=>({mode:a,context:d,resolve:{alias:{marko:useAppModuleOrFallback(c,"marko"),"connect-gzip-static":useAppModuleOrFallback(c,"connect-gzip-static")},extensions:[".wasm",".mjs",".js",".json",".ts",".mts",".marko"]},cache:{type:"filesystem"},module:{rules:h(e)}});let E=[],_=[];if(s){const e=require("css-minimizer-webpack-plugin"),s=require("compression-webpack-plugin"),r=e=>[new s({test:e,algorithm:"gzip",filename:"[path][base].gz"}),new s({test:e,algorithm:"brotliCompress",filename:"[path][base].br",compressionOptions:{level:11}})];E=E.concat(r(/^assets/)),_=_.concat(new e,r())}const k=(e,r=IDENTITY_FN)=>r((0,_extends2.default)({name:`Browser-${e.env}`,target:e.targets.length?`browserslist:${e.targets.join(", ")}`:"web",devtool:s?"source-map":"eval-cheap-module-source-map",optimization:{splitChunks:{chunks:"all",maxInitialRequests:3}},output:{publicPath:p,path:u,filename:`${o}.js`},plugins:[new webpack.DefinePlugin({"typeof window":'"object"',"process.browser":!0,"process.env.BUNDLE":!0,"process.env.NODE_ENV":JSON.stringify(n)}),new ExtractCSSPlugin({filename:`${i}.css`,ignoreOrder:!0}),m.browser,..._]},w({isServer:!1,targets:e.targets})),e);return{getServerConfig:(r=IDENTITY_FN)=>r((0,_extends2.default)({name:"Server",target:"async-node",devtool:"inline-nosources-cheap-module-source-map",entry:{index:SERVER_FILE,middleware:MIDDLEWARE_FILE},optimization:{minimize:!1},output:{path:l,filename:"[name].js",publicPath:p,libraryTarget:"commonjs2",chunkFilename:`${o}.js`,devtoolModuleFilenameTemplate:"[absolute-resource-path]"},plugins:[new webpack.DefinePlugin({"typeof window":'"undefined"',"process.browser":void 0,"process.env.BUNDLE":!0,"process.env.NODE_ENV":JSON.stringify(n)}),new InjectPlugin((()=>`global.BROWSER_ENVS = [${f.map((({env:e,targets:s},r)=>`{ \n                  env: ${JSON.stringify(e)}, \n                  test: ${r===f.length-1?"null":getUserAgentRegExp({browsers:s,allowHigherVersions:!0})} \n                }`)).join(", ")}]`)),new InjectPlugin((async function(){const r=[];return t?(this.cacheable(!1),r.push(await getRouterCode(e,[l,"**/node_modules","**/components"],s))):e.endsWith(".js")?r.push(`import middleware from ${JSON.stringify(e)}`,"global.MARKO_MIDDLEWARE = middleware"):r.push(`import template from ${JSON.stringify(e)}`,"global.GET_ROUTE = () => ({ key: 'main', template })"),r.join(";\n")})),m.server,...E]},w({isServer:!0,targets:{node:"current"}}))),getBrowserConfig:k,getBrowserConfigs:e=>f.map((s=>k(s,e)))}};function loadBrowsersLists(e,s){const r=browserslist.findConfig(e);if(r){const e=Object.entries(r).map((([e,s])=>({env:e,targets:s}))),t=e.filter((({env:e,targets:r})=>r.length&&(s?"dev"!==e:"dev"===e)));return t.length?t:e}return s?[{env:"modern",targets:["supports es6-module","unreleased versions"]},{env:"legacy",targets:browserslist.defaults}]:[{env:"dev",targets:["last 1 Chrome versions","last 1 Firefox versions","last 1 Edge versions","last 1 Safari versions"]}]}function ensurePkgs(e,s){let r=!1;return t=>{if(!r){r=!0;for(const r of s)if(!resolveFrom.silent(e,r))throw new Error(`To load ${path.extname(t.resource)} files you must first install the following packages: ${s.join(", ")}.`)}return EMPTY}}
//# sourceMappingURL=/sm/3d573cb2c54962df8a88aa5a96d80da2f8d81b49536d1544fe8d2b260eae3b27.map