sdin
Version:
JavaScript package builder.
2 lines • 4.82 kB
JavaScript
import r from"@babel/runtime/helpers/defineProperty";function n(t,e){var o,r=Object.keys(t);return Object.getOwnPropertySymbols&&(o=Object.getOwnPropertySymbols(t),e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)),r}function a(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?n(Object(o),!0).forEach(function(e){r(t,e,o[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):n(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))})}return t}import{outputFile as s}from"fs-extra";import i from"html-webpack-plugin";import{mapValues as e,defaultsDeep as t,padStart as l}from"lodash";import{TJSXS_FILE_EXTENSIONS as o,withModulePath as c,withRootPath as p}from"../../utils/path";import{getScriptString as u,getHtmlString as m}from"./template";import{getDependenceName as d,getDependenceVersion as f}from"../../utils/npm";import h from"@pmmmwh/react-refresh-webpack-plugin";import{DefinePlugin as g,HotModuleReplacementPlugin as b,NoEmitOnErrorsPlugin as w}from"webpack";async function y(e){var t,o=[],r={},n=c("webpack-hot-middleware/client?reload=true");for(t of e.pages){var a=e.withTmp(e.name,"".concat(t.name,".jsx"));o.push(s(a,u(t,a))),r[t.name]=[n,a]}return await Promise.all(o),r}function x(e){var t,o=[new b,new h({overlay:{sockIntegration:"whm"}}),new g(e.toMacros()),new w];for(t of e.pages)o.push(new i({minify:!0,inject:!0,chunks:[t.name],filename:"htm/".concat([t.path],".html"),templateContent:m(t)}));return o}function v(t){return{extensions:o,alias:a({react:t.withRoot("node_modules/react"),"react-dom":t.withRoot("node_modules/react-dom")},e(t.alias,e=>t.withRoot(e)))}}function O(e){return{modules:[e.withRoot("node_modules"),p("node_modules")]}}function S(e){var t,o={};for(t in e.externals){var r=d(t);f(e.pkg,r)||(o[r]=e.externals[t])}return o}function j(){return{maxSize:524288,cacheGroups:a(a({},P([2,4,8,16,32,64],"s",101,k)),P([2,4,8,16,32,64],"m",201,C))}}function P(t,o,r,n){var a={};for(let e=0;e<t.length;e++){var s=t[e+1],i=t[e],s=s?s-1:0,c=l(i.toString(),2,"0"),s=l(s.toString(),2,"0"),c="".concat(o).concat(c).concat(s);a[c]=n(c,r+e,i)}return a}function k(e,t,o){return{name:e,chunks:"initial",minSize:1,priority:t,minChunks:o}}function C(e,t,o){return{test:/node_modules/,name:e,chunks:"initial",priority:t,minChunks:o}}function R(e){return[M(e),D(e),_(e),E(e),$(e),...e.rules,z(),I(e),N(e)]}function M(e){return t({generator:{filename:"raw/[name].[contenthash][ext]"}},e.rawRule,{type:"asset/source",test:/\.txt$/})}function D(e){return t({generator:{filename:"fnt/[name].[contenthash][ext]"}},e.fontRule,{type:"asset",test:/\.(woff2?|eot|ttf|otf)(\?.*)?$/,parser:{dataUrlCondition:{maxSize:10240}}})}function _(e){return t({generator:{filename:"img/[name].[contenthash][ext]"}},e.imageRule,{type:"asset",test:/\.(png|jpg|jpeg|svg|webp|gif|bmp|tif)(\?.*)?$/,parser:{dataUrlCondition:{maxSize:10240}}})}function E(e){return t({generator:{filename:"ado/[name].[contenthash][ext]"}},e.audioRule,{type:"asset",test:/\.(mp3|wma|wav|aac|amr|ogg)(\?.*)?$/,parser:{dataUrlCondition:{maxSize:20480}}})}function $(e){return t({generator:{filename:"vdo/[name].[contenthash][ext]"}},e.videoRule,{type:"asset",test:/\.(mp4|3gp|webm|mpg|avi|wmv|flv)(\?.*)?$/,parser:{dataUrlCondition:{maxSize:20480}}})}function z(){return{test:/\.css$/,use:["style-loader",{loader:"css-loader",options:{sourceMap:!0,importLoaders:1,modules:!1}},{loader:"postcss-loader",options:{sourceMap:!0,postcssOptions:{plugins:[c("postcss-import"),c("postcss-preset-env")]}}}]}}function I(e){return{test:/\.(sass|scss)$/,use:["style-loader",{loader:"css-loader",options:{sourceMap:!0,importLoaders:2,modules:e.sassModule&&{localIdentName:"[local]_[hash:base64:7]",localIdentContext:e.src,exportLocalsConvention:"camelCaseOnly"}}},{loader:"postcss-loader",options:{sourceMap:!0,postcssOptions:{plugins:[c("postcss-import"),c("postcss-preset-env")]}}},{loader:"sass-loader",options:{sourceMap:!0}}]}}function N(e){var{babelIncludes:e,babelExcludes:t}=e,o={};return 0<e.length&&(o.include=e),o.exclude=[/node_modules/],0<t.length&&(o.exclude=o.exclude.concat(t)),a(a({},o),{},{test:/\.(js|jsx|ts|tsx)$/,use:[{loader:"babel-loader",options:{compact:!1,babelrc:!1,sourceMap:!0,configFile:!1,cacheDirectory:!0,cacheCompression:!1,presets:[[c("@babel/preset-env"),{targets:[">= 0.2%","not dead","node >= 16"]}],c("@babel/preset-react"),c("@babel/preset-typescript")],plugins:[c("@babel/plugin-transform-runtime"),c("react-refresh/babel")]}}]})}export{y as getWebpackEntry,x as getWebpackPlugins,v as getWebpackResolve,O as getWebpackResolveLoader,S as getWebpackExternals,j as getWebpackSplitChunks,R as getWebpackRules};
//# sourceMappingURL=webpack.js.map