@moneko/core 3.24.10 → 3.24.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import e from"mini-css-extract-plugin";import i from"terser-webpack-plugin";import n from"webpack";import{BundleAnalyzerPlugin as m}from"webpack-bundle-analyzer";import{merge as r}from"webpack-merge";import{commonConfig as t}from"../common.mjs";import{CONFIG as o}from"../config.mjs";import{getMinifyOption as s}from"../options/js-minify.mjs";import{LightningCssMinifyPlugin as l}from"../plugin/lightningcss-plugin.mjs";import{getLightningCssTargets as p}from"../polyfills/targets.mjs";let{optimize:{MinChunkSizePlugin:a}}=n,u=[];o.minifier&&(u.push(new i(s(o.minifier.type,o.minifier.options))),u.push(new l({targets:p()})));let f={maxAssetSize:256e3,maxEntrypointSize:256e3,assetFilter:e=>!e.endsWith(".map")&&!e.endsWith("ce28377f3a428346.js"),...o.performance},c=r(t,{performance:o.performance&&f,plugins:[new e({filename:"style/[name].bundle.css",chunkFilename:"style/[name].chunk.css",ignoreOrder:!0}),o.splitChunk&&new a({minChunkSize:1e4}),o.bundleAnalyzer&&new m({analyzerMode:"static",reportFilename:"report.html",openAnalyzer:!1,defaultSizes:"gzip",logLevel:"silent",...o.bundleAnalyzer})].filter(Boolean),optimization:{splitChunks:o.splitChunk,runtimeChunk:o.runtimeChunk,chunkIds:"deterministic",moduleIds:"deterministic",removeAvailableModules:!0,removeEmptyChunks:!0,mergeDuplicateChunks:!0,minimize:!0,minimizer:u}});export default c;
1
+ import e from"mini-css-extract-plugin";import i from"terser-webpack-plugin";import n from"webpack";import{BundleAnalyzerPlugin as m}from"webpack-bundle-analyzer";import{merge as r}from"webpack-merge";import{commonConfig as t}from"../common.mjs";import{CONFIG as o}from"../config.mjs";import{getMinifyOption as s}from"../options/js-minify.mjs";import{LightningCssMinifyPlugin as l}from"../plugin/lightningcss-plugin.mjs";import{getLightningCssTargets as p}from"../polyfills/targets.mjs";let{optimize:{MinChunkSizePlugin:a}}=n,u=[];o.minifier&&(u.push(new i(s(o.minifier.type,o.minifier.options))),u.push(new l({targets:p()})));let c={maxAssetSize:256e3,maxEntrypointSize:256e3,assetFilter:e=>!e.endsWith(".map")&&!e.endsWith("ce28377f3a428346.js"),...o.performance},f=r(t,{performance:o.performance&&c,plugins:[new e({filename:"style/[name].bundle.css",chunkFilename:"style/[name].chunk.css",ignoreOrder:!0}),o.splitChunk&&new a({minChunkSize:51200}),o.bundleAnalyzer&&new m({analyzerMode:"static",reportFilename:"report.html",openAnalyzer:!1,defaultSizes:"gzip",logLevel:"silent",...o.bundleAnalyzer})].filter(Boolean),optimization:{splitChunks:o.splitChunk,runtimeChunk:o.runtimeChunk,chunkIds:"deterministic",moduleIds:"deterministic",concatenateModules:!0,emitOnErrors:!1,removeAvailableModules:!0,removeEmptyChunks:!0,mergeDuplicateChunks:!0,minimize:!0,minimizer:u}});export default f;
package/lib/build.mjs CHANGED
@@ -1 +1 @@
1
- import o from"webpack";import{merge as r}from"webpack-merge";import t from"./build/common.mjs";import i from"./build/server.mjs";import{CONFIG as m}from"./config.mjs";import e from"./module.config.mjs";import s from"./plugin/done.mjs";import{SSR as n}from"./process-env.mjs";import l from"./utils/print.mjs";import p from"./utils/seo.mjs";import a from"./utils/progress.mjs";import f from"chalk";import{empty as u}from"./utils/index.mjs";let{ProgressPlugin:g}=o,c=r(t,{module:e(!1),plugins:[m.done&&new s({done:m.done}),!!m.bar&&new g({handler(o,r,...t){let i=m.bar;a({showBar:!0,percentage:o,title:i.name||"Build",color:i.color,info:t.length?`[${r}] ${t.join(" ")}`:"",output:c.output?.path})}})].filter(Boolean)}),h=[c];n&&h.push(r(t,i));let d=o(h);async function w(){await new Promise(o=>{d.run((r,t)=>{if(r)throw r;if(t&&(t.hasErrors()||t.hasWarnings()))for(let o=0,r=t.stats.length;o<r;o++){let r=t.stats[o];for(let o=0,t=r.compilation.warnings.length;o<t;o++)l(f.yellowBright(r.compilation.warnings[o].message));for(let o=0,t=r.compilation.errors.length;o<t;o++)l(f.redBright(r.compilation.errors[o].message))}o(r)})}),m.seo&&p()}await w(),process.on("exit",u);
1
+ import o from"webpack";import{merge as r}from"webpack-merge";import i from"./build/common.mjs";import{CONFIG as m}from"./config.mjs";import e from"./module.config.mjs";import t from"./plugin/done.mjs";import n from"./utils/print.mjs";import s from"./utils/seo.mjs";import a from"./utils/progress.mjs";import l from"chalk";import{empty as p}from"./utils/index.mjs";let{ProgressPlugin:c}=o,f=r(i,{module:e(!1),plugins:[m.done&&new t({done:m.done}),!!m.bar&&new c({handler(o,r,...i){let e=m.bar;a({showBar:!0,percentage:o,title:e.name||"Build",color:e.color,info:i.length?`[${r}] ${i.join(" ")}`:"",output:f.output?.path})}})].filter(Boolean)}),u=o(f);async function h(){let o=await new Promise((o,r)=>{u.run((i,m)=>{i&&r(i),m?o(m):r(Error("编译过程中没有生成统计信息"))})});(o.hasErrors()||o.hasWarnings())&&function(o){let{warnings:r,errors:i}=o.compilation;r.forEach(o=>{n(l.yellowBright(o.message))}),i.forEach(o=>{n(l.redBright(o.message))})}(o),await new Promise(r=>{o.compilation.compiler.cache.shutdown(o=>{o&&n(l.redBright(o)),r()})}),m.seo&&s()}process.on("exit",p),await h();
package/lib/common.mjs CHANGED
@@ -1 +1 @@
1
- import{CONFIG as e,PUBLICPATH as t}from"./config.mjs";import o,{CUSTOMCONFIG as a}from"./paths.mjs";import s from"./plugin/override-resolve.mjs";import n from"./plugins.config.mjs";import{NODE_ENV as i,PACKAGENAME as l,PACKAGEVERSION as r,isDev as m,isLibrary as p}from"./process-env.mjs";import{isObject as c,node_modules as u,resolveProgram as h}from"./utils/index.mjs";import{join as d,resolve as f,extname as g}from"path";import{exampleModuleName as y}from"./vm/example.mjs";import b from"./vm/info.mjs";export const outputConfig={path:h(p?"docs":"dist"),filename:"js/[name].bundle.js",chunkFilename:`js/[${m?"name":"contenthash"}].js`,assetModuleFilename:e=>{let t=g(e.filename||"").substring(1);return`assets/${t?`${t}/`:""}[name]${"js"===t?"":"[hash]"}[ext]`},library:{name:`${b.projectName}`,type:"umd",umdNamedDefine:!0},globalObject:"window",chunkLoadingGlobal:`webpackJsonp_${l}`,pathinfo:m,clean:!0,publicPath:t,asyncChunks:!0,charset:!0,iife:!0,crossOriginLoading:"anonymous",enabledWasmLoadingTypes:["fetch"],hotUpdateChunkFilename:"[id].[fullhash].hot.js",hotUpdateMainFilename:"[runtime].[fullhash].hot.json"};let j={main:[e.polyfill&&d(o.corePath,"./polyfills/replace-children.mjs"),u("@app/entry")].filter(Boolean)};e.entry&&("string"==typeof e.entry?j={main:[e.entry]}:Object.keys(e.entry)&&(j=Object.assign(j,e.entry))),"string"==typeof j.main&&(j.main=[j.main]),e.output&&("string"==typeof e.output?outputConfig.path=e.output:Object.keys(e.output)&&Object.assign(outputConfig,e.output));let v={type:"filesystem",allowCollectingMemory:!0,cacheDirectory:o.webpackCachePath,memoryCacheUnaffected:!0,name:`.${[a,i].filter(Boolean).join("-")}`,version:`${r}`};!1===e.cache?v=!1:c(e.cache)&&(v=Object.assign(v,e.cache));let C=Object.assign({original:e.alias["@"],override:a&&h(a)},e.overrideResolve);export const commonConfig={name:"client",target:"web",devtool:e.devtool,entry:j,mode:m?"development":"production",stats:"errors-only",cache:v,snapshot:{immutablePaths:[/node_modules\/(?!@app\/(?:locales|router|example|comment|docs)(?:\/|$))/],managedPaths:[/^@app\/.+/],buildDependencies:{timestamp:!0}},infrastructureLogging:{level:"error"},externalsPresets:e.externalsPresets,plugins:n,node:{global:!1},experiments:{topLevelAwait:!0,asyncWebAssembly:!0,cacheUnaffected:!0,layers:!0,lazyCompilation:e.lazyCompilation&&m&&{imports:!0,entries:!0,test:e=>{let t=e.nameForCondition();return!!(t&&(t.startsWith(u(y))||t.startsWith(u("@app/comment"))||t.startsWith(o.pagesPath)||t.startsWith(o.componentsPath)))}},buildHttp:c(e.buildHttp)?{allowedUris:[],lockfileLocation:f(o.httpCachePath,"http.lock"),cacheLocation:f(o.httpCachePath,"data"),upgrade:!0,...e.buildHttp}:e.buildHttp,backCompat:!0,futureDefaults:!0,css:!1,outputModule:!1},resolve:{extensions:["...",".jsx",".ts",".tsx"],alias:e.alias,modules:[o.nodeModules,o.pnpmNodeModules],mainFields:["browser","module","main"],mainFiles:["index"],plugins:[e.overrideResolve&&new s(C),...e.resolvePlugins].filter(Boolean),fallback:{path:!1,fs:!1,crypto:!1,assert:!1}},externals:e.externals,output:outputConfig};
1
+ import{CONFIG as e,PUBLICPATH as t}from"./config.mjs";import o,{CUSTOMCONFIG as a}from"./paths.mjs";import n from"./plugin/override-resolve.mjs";import s from"./plugins.config.mjs";import{NODE_ENV as i,PACKAGENAME as l,PACKAGEVERSION as r,isDev as m,isLibrary as p}from"./process-env.mjs";import{isObject as c,node_modules as u,resolveProgram as h}from"./utils/index.mjs";import{join as d,resolve as f,extname as g}from"path";import{exampleModuleName as b}from"./vm/example.mjs";import y from"./vm/info.mjs";export const outputConfig={path:h(p?"docs":"dist"),filename:"js/[name].bundle.js",chunkFilename:`js/[${m?"name":"contenthash"}].js`,assetModuleFilename:e=>{let t=g(e.filename||"").substring(1);return`assets/${t}/[name][hash][ext]`},library:{name:`${y.projectName}`,type:"umd",umdNamedDefine:!0},globalObject:"window",chunkLoadingGlobal:`webpackJsonp_${l}`,pathinfo:m,clean:!0,publicPath:t,asyncChunks:!0,charset:!0,iife:!0,crossOriginLoading:"anonymous",enabledWasmLoadingTypes:["fetch"],hotUpdateChunkFilename:"[id].[fullhash].hot.js",hotUpdateMainFilename:"[runtime].[fullhash].hot.json"};let j={main:[e.polyfill&&d(o.corePath,"./polyfills/replace-children.mjs"),u("@app/entry")].filter(Boolean)};e.entry&&("string"==typeof e.entry?j={main:[e.entry]}:Object.keys(e.entry)&&(j=Object.assign(j,e.entry))),"string"==typeof j.main&&(j.main=[j.main]),e.output&&("string"==typeof e.output?outputConfig.path=e.output:Object.keys(e.output)&&Object.assign(outputConfig,e.output));let v={type:"filesystem",allowCollectingMemory:!0,cacheDirectory:o.webpackCachePath,memoryCacheUnaffected:!0,name:`.${[a,i].filter(Boolean).join("-")}`,version:`${r}`,buildDependencies:{config:[o.configPath,o.customConfigPath]}};!1===e.cache?v=!1:c(e.cache)&&(v=Object.assign(v,e.cache));let C=Object.assign({original:e.alias["@"],override:a&&h(a)},e.overrideResolve);export const commonConfig={name:"client",target:"web",devtool:e.devtool,entry:j,mode:m?"development":"production",stats:"errors-only",cache:v,snapshot:{immutablePaths:[/node_modules\/(?!(@app|@moneko)\/)/],managedPaths:[/^@app\/.+/,/^@moneko\/.+/],buildDependencies:{timestamp:!0,hash:!0}},infrastructureLogging:{level:"error"},externalsPresets:e.externalsPresets,plugins:s,node:{global:!1,__filename:!1,__dirname:!1},experiments:{topLevelAwait:!0,asyncWebAssembly:!0,cacheUnaffected:!0,layers:!0,lazyCompilation:e.lazyCompilation&&m&&{imports:!0,entries:!0,test:e=>{let t=e.nameForCondition();return!!(t&&(t.startsWith(u(b))||t.startsWith(u("@app/comment"))||t.startsWith(o.pagesPath)||t.startsWith(o.componentsPath)))}},buildHttp:c(e.buildHttp)?{allowedUris:[],lockfileLocation:f(o.httpCachePath,"http.lock"),cacheLocation:f(o.httpCachePath,"data"),upgrade:!0,...e.buildHttp}:e.buildHttp,backCompat:!0,futureDefaults:!0,css:!1,outputModule:!1},resolve:{extensions:[".mts",".mjs",".ts",".tsx",".js",".jsx",".json",".wasm"],alias:e.alias,modules:[o.nodeModules,o.pnpmNodeModules],mainFields:["browser","module","main"],mainFiles:["index"],plugins:[e.overrideResolve&&new n(C),...e.resolvePlugins].filter(Boolean),preferAbsolute:!0,cache:!0,fallback:{}},externals:e.externals,output:outputConfig};
package/lib/dev/mock.mjs CHANGED
@@ -1 +1 @@
1
- import e from"http";import{watch as t}from"chokidar";import o from"express";import{mock as r}from"mock-json-schema";import{merge as a}from"webpack-merge";import s from"../utils/print.mjs";import n from"../utils/match-path.mjs";import i from"../utils/require.mjs";import c from"../utils/log.mjs";function p(e,t,o){if(delete i.cache[t],o[t]){for(let r in o[t])Object.prototype.hasOwnProperty.call(o[t],r)&&(e[r]=null,delete e[r]);o[t]=null,delete o[t]}}export const yApiSchemaMock=(t,o)=>new Promise(s=>{e.get(`${t.host}/api/interface/get?id=${t.id}&token=${t.token}`,e=>{e.setEncoding("utf8");let t="";e.on("data",e=>{t+=e}),e.on("end",()=>{try{let e=JSON.parse(t);if(e?.data?.res_body_is_json_schema){let t=JSON.parse(e.data.res_body),n=r(t);void 0!==o?s(a(n,o)):s(n)}}catch(e){c(e)}})})});export const yApiMock=(t,o)=>new Promise((r,a)=>{let s=new URL(o.host),n={hostname:s.hostname,port:s.port,path:t.path.replace(new RegExp(o.pathRewrite),`/mock/${o.projectId}/`),method:t.method,headers:t.headers,query:t.query},i=e.request(n,e=>{e.setEncoding("utf8");let t="";e.on("data",e=>{t+=e}),e.on("end",()=>{try{r(JSON.parse(t))}catch(e){c(e)}})});i.on("error",e=>{a(e.message)}),i.write(JSON.stringify(t.body)),i.end()});export default(e=>{let r={},a={};return t(e).on("all",async function(e,t){switch(process.stdout.write("update mock..."),e){case"add":case"change":p(a,t,r);let o=i(t).default;r[t]=o,a=Object.assign(a,o);break;case"unlink":p(a,t,r)}s("update mock success")}),function(e,t,r){let s=`${e.method} ${e.path}`,i=Object.keys(a).filter(function(e){return RegExp(`^${e.replace(/(:\w*)[^/]/g,"((?!/).)")}*$`).test(s)});if(!a[s]&&(!i||!(i.length>0)))return r();{let c;let p=e.get("Content-Type");switch(p){case"text/plain":c=o.raw({type:"text/plain"});break;case"text/html":c=o.text({type:"text/html"});break;case"application/x-www-form-urlencoded":c=o.urlencoded({extended:!1});break;default:c=o.json()}p?.startsWith("multipart/form-data;")&&(c=o.static("./public")),c(e,t,function(){let o=a[s]||a[i[0]];if("function"==typeof o){let a=n(i[0].split(" ")[1],e.url);a&&Object.assign(e.params,a.params),o(e,t,r)}else t.json(o)})}}});
1
+ import e from"http";import{watch as t}from"chokidar";import o from"express";import{mock as r}from"mock-json-schema";import{merge as a}from"webpack-merge";import s from"../utils/print.mjs";import n from"../utils/match-path.mjs";import i from"../utils/require.mjs";import c from"../utils/log.mjs";function p(e,t,o){if(delete i.cache[t],o[t]){for(let r in o[t])Object.prototype.hasOwnProperty.call(o[t],r)&&(e[r]=null,delete e[r]);o[t]=null,delete o[t]}}export const yApiSchemaMock=(t,o)=>new Promise(s=>{e.get(`${t.host}/api/interface/get?id=${t.id}&token=${t.token}`,e=>{e.setEncoding("utf8");let t="";e.on("data",e=>{t+=e}),e.on("end",()=>{try{let e=JSON.parse(t);if(e?.data?.res_body_is_json_schema){let t=JSON.parse(e.data.res_body),n=r(t);void 0!==o?s(a(n,o)):s(n)}}catch(e){c(e)}})})});export const yApiMock=(t,o)=>new Promise((r,a)=>{let s=new URL(o.host),n={hostname:s.hostname,port:s.port,path:t.path.replace(new RegExp(o.pathRewrite),`/mock/${o.projectId}/`),method:t.method,headers:t.headers,query:t.query},i=e.request(n,e=>{e.setEncoding("utf8");let t="";e.on("data",e=>{t+=e}),e.on("end",()=>{try{r(JSON.parse(t))}catch(e){c(e)}})});i.on("error",e=>{a(e.message)}),i.write(JSON.stringify(t.body)),i.end()});export default(e=>{let r={},a={};return t(e).on("all",async function(e,t){switch(process.stdout.write("update mock..."),e){case"add":case"change":try{p(a,t,r);let e=i(t).default;r[t]=e,a=Object.assign(a,e)}catch{}break;case"unlink":p(a,t,r)}s("update mock success")}),function(e,t,r){let s=`${e.method} ${e.path}`,i=Object.keys(a).filter(function(e){return RegExp(`^${e.replace(/(:\w*)[^/]/g,"((?!/).)")}*$`).test(s)});if(!a[s]&&(!i||!(i.length>0)))return r();{let c;let p=e.get("Content-Type");switch(p){case"text/plain":c=o.raw({type:"text/plain"});break;case"text/html":c=o.text({type:"text/html"});break;case"application/x-www-form-urlencoded":c=o.urlencoded({extended:!1});break;default:c=o.json()}p?.startsWith("multipart/form-data;")&&(c=o.static("./public")),c(e,t,function(){let o=a[s]||a[i[0]];if("function"==typeof o){let a=n(i[0].split(" ")[1],e.url);a&&Object.assign(e.params,a.params),o(e,t,r)}else t.json(o)})}}});
package/lib/dev.mjs CHANGED
@@ -1 +1 @@
1
- let e;import t from"express";import o from"https";import i from"multer";import s from"webpack";import r from"webpack-dev-middleware";import l from"webpack-hot-middleware";import{merge as n}from"webpack-merge";import m from"./build/server.mjs";import{commonConfig as a}from"./common.mjs";import{CONFIG as p,PUBLICPATH as c}from"./config.mjs";import{PORT as d,devLog as u}from"./dev/config.mjs";import h from"./dev/mock.mjs";import f from"./dev/proxy.mjs";import g from"./module.config.mjs";import w,{CUSTOMCONFIG as v}from"./paths.mjs";import{SSR as x,isLibrary as k,isReact as y,refresh as $}from"./process-env.mjs";import j from"./utils/has-pkg.mjs";import{empty as b,resolveProgram as P}from"./utils/index.mjs";import S from"./utils/progress.mjs";import C from"./utils/sigint-exit.mjs";import A from"./options/reslove.mjs";import{watchFile as T}from"fs";import{join as M}from"path";import{spawn as O,exec as B}from"child_process";import E from"./utils/print.mjs";import I from"chalk";import{directoryExists as _,loadFile as D,loadFileSync as H}from"@moneko/utils";let{HotModuleReplacementPlugin:U,ProgressPlugin:G,WatchIgnorePlugin:L}=s,N=j("stylelint-webpack-plugin")&&(await import("stylelint-webpack-plugin")).default,R=j("eslint-webpack-plugin")&&(await import("eslint-webpack-plugin")).default,q=y&&(await import("@pmmmwh/react-refresh-webpack-plugin")).default,z=["js","jsx","ts","tsx","json","html","vue"],F=z.join(","),W=["css","scss","sass","less","ts","tsx","js","jsx"],X=W.join(","),K=["node_modules/","es/","lib/","umd/","docs/","coverage/","dist/"],J=`${c.endsWith("/")?"":"/"}__hmr__`,Q=new URLSearchParams({name:"client",path:J,dynamicPublicPath:!0,timeout:2e3,reload:!$,quiet:!0,noInfo:!0,overlay:!0}).toString(),V=a.output.path;x&&(V=P(`${k?"docs":"dist"}/client`));let Y=n(a,{entry:{main:[`${A.hotMiddlewareClient}?${Q}`]},output:{path:V},module:g(!1),optimization:{minimize:!1,concatenateModules:!1,removeAvailableModules:!1,removeEmptyChunks:!1,splitChunks:!1},plugins:[new U,new L({paths:[/\.d\.ts$/]}),q&&new q,R&&new R({fix:!0,threads:!0,files:[`${p.alias["@"]}/**/*.{${F}}`,k&&`${p.alias["@pkg"]}/**/*.{${F}}`].filter(Boolean),extensions:z,exclude:K,cache:!0,cacheLocation:`${w.lineCachePath}/.eslintcache`,lintDirtyModulesOnly:!0,overrideConfigFile:P("eslint.config.mjs"),configType:"flat"}),N&&new N({fix:!0,threads:!0,files:[`${p.alias["@"]}/**/*.{${X}}`,k&&`${p.alias["@pkg"]}/**/*.{${X}}`].filter(Boolean),extensions:W,exclude:K,cache:!0,cacheLocation:`${w.lineCachePath}/.stylelintcache`,lintDirtyModulesOnly:!0}),!!p.bar&&new G({handler(e,t,...o){let i=p.bar;S({showBar:!0,percentage:e,title:i.name||"Build",color:i.color,info:o.length?`[${t}] ${o.join(" ")}`:"",output:Y.output?.path})}})].filter(Boolean)}),Z=[Y];x&&Z.push(n(a,m));let ee=s(Z);ee.compilers[0].hooks.done.tap("client-log",e=>{u(null,e)});let et=t(),eo=i(),ei=r(ee,{writeToDisk:!1,index:"index.html",headers:e=>({"Access-Control-Allow-Origin":e.headers.origin||"*","Access-Control-Allow-Credentials":"true","Access-Control-Allow-Headers":"DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization","Access-Control-Allow-Methods":"GET, POST, OPTIONS, DELETE, PATCH, PUT",...p.devServer.headers}),serverSideRender:x,lastModified:!0,publicPath:Y.output?.publicPath}),es=l(ee,{log:!1,path:J,heartbeat:2e3});et.use(t.static(M(w.programPath,"./public"))).use(ei).use(J,es),_(w.mockPath)&&et.use(eo.any(),h(w.mockPath)),p.proxy&&f(et,p.proxy);let er=`${Y.output.path}/index.html`;if(et.use((e,t,o)=>{if("GET"===e.method){let i=e.get("Accept");if(i?.includes("text/html")){let e=ei.context.outputFileSystem,o=e?.readFileSync?.(er);t.headersSent||(t.setHeader("Content-Type","text/html"),t.send(o))}else if("text/event-stream"===i&&e.url.endsWith(J))return e.url=J,es(e,t,o);else return o()}else{if("OPTIONS"!==e.method)return o();t.sendStatus(200)}}),p.devServer.https){let[t,i]=await Promise.all([D(p.devServer.https.key),D(p.devServer.https.cert)]);t||(E(I.redBright(`无法加载私钥。请检查路径和文件是否存在,并确保路径正确:${p.devServer.https.key}`)),process.exit(1)),i||(E(I.redBright(`无法加载证书。请检查路径和文件是否存在,并确保路径正确:${p.devServer.https.cert}`)),process.exit(1)),e=o.createServer({key:t,cert:i},et)}let el=(e||et).listen(d,"0.0.0.0",()=>{});function en(){process.exit(0)}function em(e,t){let o=H(e);t&&null!==o&&T(e,async function(){let i=H(e);o.trim().replace(/^\s*[\r\n]/gm,"")!==i?.trim().replace(/^\s*[\r\n]/gm,"")?(E(I.yellow(`检测到工程配置${I.blue(`[${t}]`)}变更, 程序即将重启...`)),B("win32"===process.platform?`netstat -ano | findstr :${d}`:`lsof -i :${d}`,(e,t)=>{let o=ea?t.split(/\s+/).pop():t.split("\n")[1]?.split(/\s+/)[1];o?process.kill(Number(o),"SIGHUP"):E(`未找到占用端口 ${d} 的进程`)})):E(I.gray(`未变更`))})}em(w.configPath,"index"),em(w.customConfigPath,v);let ea="win32"===process.platform;process.on("SIGHUP",function(){ei.close(b),el.close(b),el.closeAllConnections(),function(){let e=O(process.argv[0],process.argv.slice(1),{detached:!1,stdio:"inherit"});e.unref(),e.on("close",en)}()}),process.on("exit",function(){ei.close(b),el.close(b),el.closeAllConnections()}),C(en);
1
+ let e;import t from"express";import o from"https";import i from"multer";import s from"webpack";import r from"webpack-dev-middleware";import n from"webpack-hot-middleware";import{merge as l}from"webpack-merge";import{commonConfig as a}from"./common.mjs";import{CONFIG as m,PUBLICPATH as p}from"./config.mjs";import{PORT as c,devLog as u}from"./dev/config.mjs";import d from"./dev/mock.mjs";import h from"./dev/proxy.mjs";import f from"./module.config.mjs";import g,{CUSTOMCONFIG as x}from"./paths.mjs";import{isLibrary as w,isReact as k,refresh as v}from"./process-env.mjs";import y from"./utils/has-pkg.mjs";import{empty as C,resolveProgram as $}from"./utils/index.mjs";import j from"./utils/progress.mjs";import S from"./utils/sigint-exit.mjs";import P from"./options/reslove.mjs";import{watchFile as b}from"fs";import{join as A}from"path";import{spawn as T,exec as E}from"child_process";import M from"./utils/print.mjs";import O from"chalk";import{directoryExists as _,loadFile as I,loadFileSync as B}from"@moneko/utils";let{HotModuleReplacementPlugin:R,ProgressPlugin:q,WatchIgnorePlugin:z}=s,D=y("stylelint-webpack-plugin")&&(await import("stylelint-webpack-plugin")).default,G=y("eslint-webpack-plugin")&&(await import("eslint-webpack-plugin")).default,H=k&&(await import("@pmmmwh/react-refresh-webpack-plugin")).default,U=["js","jsx","ts","tsx","json","html","vue"],L=U.join(","),N=["css","scss","sass","less","ts","tsx","js","jsx"],F=N.join(","),W=["node_modules/","es/","lib/","umd/","docs/","coverage/","dist/"],X=`${p.endsWith("/")?"":"/"}__hmr__`,K=new URLSearchParams({name:"client",path:X,dynamicPublicPath:!0,timeout:2e3,reload:!v,quiet:!0,noInfo:!0,overlay:!0,autoConnect:!0}).toString(),J=a.output.path,Q=l(a,{entry:{main:[`${P.hotMiddlewareClient}?${K}`]},output:{path:J},module:f(!1),optimization:{minimize:!1,concatenateModules:!1,removeAvailableModules:!1,removeEmptyChunks:!0,providedExports:!0,usedExports:!1,sideEffects:!1,splitChunks:{chunks:"all",minChunks:1,minSize:30720,maxSize:0,maxAsyncRequests:60,maxInitialRequests:50,hidePathInfo:!1,cacheGroups:{vendors:{test:/[\\/]node_modules[\\/]/,priority:-10,reuseExistingChunk:!0},default:{minChunks:1,priority:-20,reuseExistingChunk:!0}}}},plugins:[new R,new z({paths:[/node_modules\/(?!(@app|@moneko)).+/,/\.d\.ts$/]}),H&&new H,G&&new G({fix:!0,threads:!0,files:[`${m.alias["@"]}/**/*.{${L}}`,w&&`${m.alias["@pkg"]}/**/*.{${L}}`].filter(Boolean),extensions:U,exclude:W,cache:!0,cacheLocation:`${g.lineCachePath}/.eslintcache`,lintDirtyModulesOnly:!0,overrideConfigFile:$("eslint.config.mjs"),configType:"flat"}),D&&new D({fix:!0,threads:!0,files:[`${m.alias["@"]}/**/*.{${F}}`,w&&`${m.alias["@pkg"]}/**/*.{${F}}`].filter(Boolean),extensions:N,exclude:W,cache:!0,cacheLocation:`${g.lineCachePath}/.stylelintcache`,lintDirtyModulesOnly:!0}),!!m.bar&&new q({handler(e,t,...o){let i=m.bar;j({showBar:!0,percentage:e,title:i.name||"Build",color:i.color,info:o.length?`[${t}] ${o.join(" ")}`:"",output:Q.output?.path})}})].filter(Boolean)}),V=s(Q);V.hooks.done.tap("client-log",e=>{u(null,e)}),V.watch({aggregateTimeout:1e3,ignored:/node_modules\/(?!(@app|@moneko)).+/},(e,t)=>{u(e,t)});let Y=t(),Z=i(),ee={"Access-Control-Allow-Origin":"*","Access-Control-Allow-Credentials":"true","Access-Control-Allow-Headers":"DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization","Access-Control-Allow-Methods":"GET, POST, OPTIONS, DELETE, PATCH, PUT",...m.devServer.headers},et=r(V,{writeToDisk:!1,index:"index.html",headers:e=>({...ee,"Access-Control-Allow-Origin":e.headers.origin||"*"}),serverSideRender:!1,lastModified:!0,publicPath:Q.output?.publicPath}),eo=n(V,{log:!1,path:X,heartbeat:2e3});Y.use(t.static(A(g.programPath,"./public"))).use(et).use(X,eo),_(g.mockPath)&&Y.use(Z.any(),d(g.mockPath)),m.proxy&&h(Y,m.proxy);let ei=`${Q.output.path}/index.html`;if(Y.use((e,t,o)=>{if("GET"===e.method){let i=e.get("Accept");if(i?.includes("text/html")){let e=et.context.outputFileSystem,o=e?.readFileSync?.(ei);t.headersSent||(t.setHeader("Content-Type","text/html"),t.send(o))}else if("text/event-stream"===i&&e.url.endsWith(X))return e.url=X,eo(e,t,o);else return o()}else{if("OPTIONS"!==e.method)return o();t.sendStatus(200)}}),m.devServer.https){let[t,i]=await Promise.all([I(m.devServer.https.key),I(m.devServer.https.cert)]);t||(M(O.redBright(`无法加载私钥。请检查路径和文件是否存在,并确保路径正确:${m.devServer.https.key}`)),process.exit(1)),i||(M(O.redBright(`无法加载证书。请检查路径和文件是否存在,并确保路径正确:${m.devServer.https.cert}`)),process.exit(1)),e=o.createServer({key:t,cert:i},Y)}let es=(e||Y).listen(c,"0.0.0.0",()=>{});function er(){process.exit(0)}function en(e,t){let o=B(e);t&&null!==o&&b(e,async function(){let i=B(e);o.trim().replace(/^\s*[\r\n]/gm,"")!==i?.trim().replace(/^\s*[\r\n]/gm,"")?(M(O.yellow(`检测到工程配置${O.blue(`[${t}]`)}变更, 程序即将重启...`)),E("win32"===process.platform?`netstat -ano | findstr :${c}`:`lsof -i :${c}`,(e,t)=>{let o=el?t.split(/\s+/).pop():t.split("\n")[1]?.split(/\s+/)[1];o?process.kill(Number(o),"SIGHUP"):M(`未找到占用端口 ${c} 的进程`)})):M(O.gray(`未变更`))})}en(g.configPath,"index"),en(g.customConfigPath,x);let el="win32"===process.platform;process.on("SIGHUP",function(){et.close(C),es.close(C),es.closeAllConnections(),function(){let e=T(process.argv[0],process.argv.slice(1),{detached:!1,stdio:"inherit"});e.unref(),e.on("close",er)}()}),process.on("exit",function(){et.close(C),es.close(C),es.closeAllConnections()}),S(er);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return n}});const e=require("@babel/core"),t=u(require("@moneko/css/babel")),r=u(require("../utils/log.mjs"));function u(e){return e&&e.__esModule?e:{default:e}}async function n(u){let n=this.async();try{let r=await (0,e.transformAsync)(u,{plugins:[[t.default,{}]]});n(null,r?.code||void 0,r?.map||void 0)}catch(e){n(e),(0,r.default)(e)}}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return a}});const e=require("@babel/core"),t=u(require("@moneko/css/babel")),r=u(require("../utils/log.mjs"));function u(e){return e&&e.__esModule?e:{default:e}}async function a(u){let a=this.async();this.cacheable&&this.cacheable();try{let r=await (0,e.transformAsync)(u,{plugins:[[t.default,{}]]});a(null,r?.code||void 0,r?.map||void 0)}catch(e){a(e),(0,r.default)(e)}}
@@ -1 +1 @@
1
- "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return u}});const t=require("buffer"),r=require("lightningcss"),n=(e=require("../utils/log.mjs"))&&e.__esModule?e:{default:e},i={Declaration:{custom(e){if("content"===e.name&&1===e.value.length){let t=e.value[0];if("token"===t.type&&"string"===t.value.type)return[{property:e.name,raw:JSON.stringify(t.value.value.replace(/[\u4e00-\u9faF]/g,function(e){return`\\${e.charCodeAt(0).toString(16)}`}))}]}}}};function u(e,u){let o=this.async(),{implementation:s,visitor:a,rem:f,...l}=this.getOptions();if(s&&"function"!=typeof s.transform){o(TypeError(`[lightningcss]: implementation.transform must be an 'lightningcss' transform function. Received ${typeof s.transform}`));return}let c=s?.transform?s.transform:r.transform;try{f&&!i.Length&&(i.Length=function(e){if("px"===e.unit)return{unit:"rem",value:e.value/16}});let{code:r,map:n}=c({filename:this.resourcePath,code:t.Buffer.from(e),minify:!0,visitor:{...i,...a},sourceMap:!!this.sourceMap,inputSourceMap:this.sourceMap&&u?JSON.stringify(u):void 0,...l});o(null,r.toString(),n&&JSON.parse(n.toString()))}catch(e){o(e),(0,n.default)(e)}}
1
+ "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return u}});const t=require("buffer"),r=require("lightningcss"),n=(e=require("../utils/log.mjs"))&&e.__esModule?e:{default:e},i={Declaration:{custom(e){if("content"===e.name&&1===e.value.length){let t=e.value[0];if("token"===t.type&&"string"===t.value.type)return[{property:e.name,raw:JSON.stringify(t.value.value.replace(/[\u4e00-\u9faF]/g,function(e){return`\\${e.charCodeAt(0).toString(16)}`}))}]}}}};function u(e,u){let o=this.async();this.cacheable&&this.cacheable();let{implementation:a,visitor:s,rem:f,...l}=this.getOptions();if(a&&"function"!=typeof a.transform){o(TypeError(`[lightningcss]: implementation.transform must be an 'lightningcss' transform function. Received ${typeof a.transform}`));return}let c=a?.transform?a.transform:r.transform;try{f&&!i.Length&&(i.Length=function(e){if("px"===e.unit)return{unit:"rem",value:e.value/16}});let{code:r,map:n}=c({filename:this.resourcePath,code:t.Buffer.from(e),minify:!0,visitor:{...i,...s},sourceMap:!!this.sourceMap,inputSourceMap:this.sourceMap&&u?JSON.stringify(u):void 0,...l});o(null,r.toString(),n&&JSON.parse(n.toString()))}catch(e){o(e),(0,n.default)(e)}}
@@ -1 +1 @@
1
- "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return s}});const t=require("@moneko/mdx"),r=(e=require("../utils/log.mjs"))&&e.__esModule?e:{default:e};async function s(e){let s=this.async();try{let r=await (0,t.mdx)({value:e,filepath:this.resourcePath,...this.getOptions()});s(null,r.code)}catch(e){s(e),(0,r.default)(e)}}
1
+ "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return s}});const t=require("@moneko/mdx"),r=(e=require("../utils/log.mjs"))&&e.__esModule?e:{default:e};async function s(e){let s=this.async();this.cacheable&&this.cacheable();try{let r=await (0,t.mdx)({value:e,filepath:this.resourcePath,...this.getOptions()});s(null,r.code)}catch(e){s(e),(0,r.default)(e)}}
@@ -1 +1 @@
1
- "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return n}});const r=(e=require("babel-plugin-react-compiler"))&&e.__esModule?e:{default:e},t=require("@babel/core");async function n(e){let n=this.async(),l=(0,t.transformSync)(e,{plugins:[[r.default,this.getOptions()]]});if(null===l){n(Error(`Failed to transform "${this.resourcePath}"`));return}n(null,l.code||"",null===l.map?void 0:l.map)}
1
+ "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return l}});const t=(e=require("babel-plugin-react-compiler"))&&e.__esModule?e:{default:e},r=require("@babel/core");async function l(e){let l=this.async();this.cacheable&&this.cacheable();let a=(0,r.transformSync)(e,{plugins:[[t.default,this.getOptions()]]});if(null===a){l(Error(`Failed to transform "${this.resourcePath}"`));return}l(null,a.code||"",null===a.map?void 0:a.map)}
@@ -1 +1 @@
1
- "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),function(e,n){for(var r in n)Object.defineProperty(e,r,{enumerable:!0,get:n[r]})}(exports,{custom:function(){return u},default:function(){return o}});const n=require("@babel/core"),r=(e=require("solid-refresh/babel"))&&e.__esModule?e:{default:e};async function t(e){let t=this.async(),u=(0,n.transformSync)(e,{plugins:[[r.default,{bundler:"webpack5"}]]});t(null,u?.code||void 0,u?.map||void 0)}function u(e){return t.bind(this,e)}const o=t;
1
+ "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(exports,{custom:function(){return u},default:function(){return c}});const t=require("@babel/core"),n=(e=require("solid-refresh/babel"))&&e.__esModule?e:{default:e};async function r(e){let r=this.async();this.cacheable&&this.cacheable();let u=(0,t.transformSync)(e,{plugins:[[n.default,{bundler:"webpack5"}]]});r(null,u?.code||void 0,u?.map||void 0)}function u(e){return r.bind(this,e)}const c=r;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return i}});const e=require("fs"),t=s(require("../utils/log.mjs")),r=s(require("../utils/parse-module-meta.mjs"));function s(e){return e&&e.__esModule?e:{default:e}}const u={};function i(s){let i=this.resourcePath,{comment:n,generateDoc:a,getCommentPath:l}=this.getOptions();try{let t=(0,e.statSync)(i).mtime.getTime();if(u[i]!==t){Object.assign(u,{[i]:t});let{file:e,pkg:o,meta:c}=(0,r.default)(l(i));n.setData(e,a(s,i)),n.setData(o,c)}}catch(e){(0,t.default)(e)}return s}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return i}});const e=require("fs"),t=r(require("../utils/log.mjs")),s=r(require("../utils/parse-module-meta.mjs"));function r(e){return e&&e.__esModule?e:{default:e}}const u={};function i(r){this.cacheable&&this.cacheable();let i=this.resourcePath;try{let t=(0,e.statSync)(i).mtime.getTime();if(u[i]!==t){Object.assign(u,{[i]:t});let{comment:e,generateDoc:a,getCommentPath:l}=this.getOptions(),{file:c,pkg:n,meta:o}=(0,s.default)(l(i));e.setData(c,a(r,i)),e.setData(n,o)}}catch(e){(0,t.default)(e)}return r}
@@ -1 +1 @@
1
- let e;import{CONFIG as s}from"./config.mjs";import o from"./options/modify-vars.mjs";import t from"./options/swcrc.mjs";import r,{CUSTOMCONFIG as a}from"./paths.mjs";import{getLightningCssTargets as n}from"./polyfills/targets.mjs";import{FRAMEWORK as i,isDev as l,isLibrary as m,refresh as c}from"./process-env.mjs";import d from"./rule.mjs";import p from"./utils/has-pkg.mjs";import{node_modules as u,resolveProgram as f,toCamelCase as j}from"./utils/index.mjs";import y from"./utils/svg-to-data-uri.mjs";import{comment as h,getCommentPath as v}from"./vm/docs.mjs";import g from"./vm/generate-doc.mjs";import x from"./options/css-extract.mjs";import{saveFileSync as L}from"@moneko/utils";import w from"./utils/reactive-object.mjs";import P from"./options/reslove.mjs";import _ from"./utils/require.mjs";import{sep as M}from"path";let $={loader:`${r.corePath}/loader/lightningcss.cjs`,options:{sourceMap:!!s.sourceMap,analyzeDependencies:!1,targets:n(),drafts:{nesting:!0,customMedia:!0},errorRecovery:!1,unusedSymbols:[],rem:!!s.rem}},C={loader:P.lessLoader,options:{sourceMap:!!s.sourceMap,lessOptions:{modifyVars:o,javascriptEnabled:!0}}};function k(e){try{let s=_.resolve(e).split(M),o=s.lastIndexOf("node_modules");return -1!==o?s.slice(0,o).join(M):s.join(M)}catch(s){return u(e)}}let O=[...s.cssModules,`@moneko/${i}`,"neko-ui"].map(e=>k(e)).filter(e=>null!==e),I=["components","example","mock","site","src","server"].map(f);function b(e){return[...I,...s.rulesInclude?.[e]?.map(e=>k(e)).filter(e=>null!==e)||[]]}a&&I.push(f(a)),s.overrideResolve&&s.overrideResolve.override&&I.push(s.overrideResolve.override);let R=b("css"),S=b("js"),z=b("media"),B=b("wasm"),D=b("font");P.sassLoader&&(e={loader:P.sassLoader,options:{implementation:await import("sass"),sassOptions:{}}});let W=m&&l&&{test:d.tsdoc,include:s.alias["@pkg"],exclude:[d.node_modules,d.__tests__],enforce:"pre",loader:`${r.corePath}/loader/ts-doc.cjs`,options:{comment:h,generateDoc:g,getCommentPath:v}},J=[{resourceQuery:/raw/i,type:"asset/source"},{resourceQuery:/url/i,type:"asset/resource",generator:{filename(e){let s=e.filename;return s&&s.toLocaleLowerCase().endsWith("wasm?url")?"wasm/[name][ext]":"assets/[name][ext]"}}},{test:d.wasm,type:"webassembly/async",include:B},{test:d.txt,type:"asset/source"},{test:d.image,type:"asset",dependency:{not:["url"]},parser:{dataUrlCondition:{maxSize:4096}},generator:{filename:e=>e.filename?.toLocaleLowerCase().endsWith(".svg")?"assets/svg/[name][ext]":"assets/images/[name][ext]",dataUrl:(e,s)=>s.filename.toLocaleLowerCase().endsWith(".svg")?y(e.toString()):e},include:z},{test:d.video,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/video/[name][ext]"},include:z},{test:d.font,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/fonts/[name][ext]"},include:D}],N=s.prefixJsLoader.filter(Boolean)||[];s.refresh&&c&&"solid"===i&&N.unshift({loader:`${r.corePath}/loader/solid.cjs`}),"react"===i&&s.reactCompiler&&N.unshift({loader:`${r.corePath}/loader/react-compiler.cjs`,options:s.reactCompiler}),!l&&p("@moneko/css")&&N.unshift(`${r.corePath}/loader/css-in-js-minify.cjs`);let Q=new w({});function U(e){Q.setData(`${e.resourcePath}.d.ts`,e.exports.map(({name:e,value:s})=>`export const ${j(e)}: '${s}';`).join("\n")+"\n")}Q.on("change",(e,s)=>{L(e,s)});export default(o=>{let a={loader:P.swcLoader,options:t(o)},n={loader:P.cssLoader,options:{modules:{auto:e=>{if(e){for(let s=0,o=O.length;s<o;s++)if(e.includes(O[s]))return d.css_module.test(e)}return d.node_modules_css_module.test(e)},localIdentName:"[path][name]_[local]",exportLocalsConvention:"dashesOnly",exportOnlyLocals:o,getJSON:s.cssModuleDefinition?U:void 0},importLoaders:2}};return{parser:{javascript:{commonjsMagicComments:!0,dynamicImportMode:"lazy",dynamicImportPrefetch:!1,dynamicImportPreload:!1,importMeta:!0,importMetaContext:!0}},noParse:s.noParse,rules:[!1!==s.htmlPluginOption&&W,{oneOf:[...J,{test:d.js,use:[...N,a],include:S},{test:d.css,use:[x,P.cssLoader,$],include:R},e&&{test:d.scss,use:[x,n,$,e],include:R},{test:d.less,use:[x,n,$,C],include:R},{test:d.markdown,use:[...N,{loader:`${r.corePath}/loader/mdx.cjs`,options:s.mdx}],exclude:[d.node_modules]}].filter(Boolean)},...s.moduleRules].filter(Boolean)}});
1
+ let e;import{CONFIG as s}from"./config.mjs";import o from"./options/modify-vars.mjs";import t from"./options/swcrc.mjs";import r,{CUSTOMCONFIG as a}from"./paths.mjs";import{getLightningCssTargets as n}from"./polyfills/targets.mjs";import{FRAMEWORK as i,isDev as m,isLibrary as l,refresh as c}from"./process-env.mjs";import d from"./rule.mjs";import p from"./utils/has-pkg.mjs";import{node_modules as u,resolveProgram as f,toCamelCase as j}from"./utils/index.mjs";import h from"./utils/svg-to-data-uri.mjs";import{comment as y,getCommentPath as v}from"./vm/docs.mjs";import g from"./vm/generate-doc.mjs";import x from"./options/css-extract.mjs";import{saveFileSync as w}from"@moneko/utils";import L from"./utils/reactive-object.mjs";import P from"./options/reslove.mjs";import M from"./utils/require.mjs";import{sep as _}from"path";let k={loader:`${r.corePath}/loader/lightningcss.cjs`,options:{sourceMap:!!s.sourceMap,analyzeDependencies:!1,targets:n(),drafts:{nesting:!0,customMedia:!0},errorRecovery:!1,unusedSymbols:[],rem:!!s.rem}},$={loader:P.lessLoader,options:{sourceMap:!!s.sourceMap,lessOptions:{modifyVars:o,javascriptEnabled:!0}}},C=new Map;function O(e){if(C.has(e))return C.get(e);try{let s;let o=M.resolve(e).split(_),t=o.lastIndexOf("node_modules");return s=-1!==t?o.slice(0,t).join(_):o.join(_),C.set(e,s),s}catch(o){let s=u(e);return C.set(e,s),s}}let I=[...s.cssModules,`@moneko/${i}`,"neko-ui"].map(e=>O(e)).filter(e=>null!==e),b=["components","example","mock","site","src","server"].map(f);function R(e){return new Promise(o=>{o([...b,...s.rulesInclude?.[e]?.map(O)||[]])})}a&&b.push(f(a)),s.overrideResolve&&s.overrideResolve.override&&b.push(s.overrideResolve.override);let[S,z,B,D,W]=await Promise.all([R("css"),R("js"),R("media"),R("wasm"),R("font")]);P.sassLoader&&(e={loader:P.sassLoader,options:{implementation:await import("sass"),sassOptions:{}}});let J=l&&m&&{test:d.tsdoc,include:s.alias["@pkg"],exclude:[/node_modules\/(?!(@app|@moneko)).+/,d.__tests__],enforce:"pre",loader:`${r.corePath}/loader/ts-doc.cjs`,options:{comment:y,generateDoc:g,getCommentPath:v}},N=[{resourceQuery:/raw/i,type:"asset/source"},{resourceQuery:/url/i,type:"asset/resource",generator:{filename(e){let s=e.filename;return s&&s.toLocaleLowerCase().endsWith("wasm?url")?"wasm/[name][ext]":"assets/[name][ext]"}}},{test:d.wasm,type:"webassembly/async",include:D},{test:d.txt,type:"asset/source"},{test:d.image,type:"asset",dependency:{not:["url"]},parser:{dataUrlCondition:{maxSize:4096}},generator:{filename:e=>e.filename?.toLocaleLowerCase().endsWith(".svg")?"assets/svg/[name][ext]":"assets/images/[name][ext]",dataUrl:(e,s)=>s.filename.toLocaleLowerCase().endsWith(".svg")?h(e.toString()):e},include:B},{test:d.video,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/video/[name][ext]"},include:B},{test:d.font,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/fonts/[name][ext]"},include:W}],Q=s.prefixJsLoader.filter(Boolean)||[];s.refresh&&c&&"solid"===i&&Q.unshift({loader:`${r.corePath}/loader/solid.cjs`}),"react"===i&&s.reactCompiler&&Q.unshift({loader:`${r.corePath}/loader/react-compiler.cjs`,options:s.reactCompiler}),!m&&p("@moneko/css")&&Q.unshift(`${r.corePath}/loader/css-in-js-minify.cjs`);let U=new L({});function q(e){U.setData(`${e.resourcePath}.d.ts`,e.exports.map(({name:e,value:s})=>`export const ${j(e)}: '${s}';`).join("\n")+"\n")}U.on("change",(e,s)=>{w(e,s)});export default(o=>{let a={loader:P.swcLoader,options:t(o)},n={loader:P.cssLoader,options:{modules:{auto:e=>{if(e){for(let s=0,o=I.length;s<o;s++)if(e.includes(I[s]))return d.css_module.test(e)}return d.node_modules_css_module.test(e)},localIdentName:"[path][name]_[local]",exportLocalsConvention:"dashesOnly",exportOnlyLocals:o,getJSON:s.cssModuleDefinition?q:void 0},importLoaders:2}};return{parser:{javascript:{commonjsMagicComments:!0,dynamicImportMode:"lazy",dynamicImportPrefetch:!1,dynamicImportPreload:!1,importMeta:!0,importMetaContext:!0}},noParse:s.noParse,rules:[!1!==s.htmlPluginOption&&J,{oneOf:[...N,{test:d.js,use:[...Q,a],include:z},{test:d.css,use:[x,P.cssLoader,k],include:S},e&&{test:d.scss,use:[x,n,k,e],include:S},{test:d.less,use:[x,n,k,$],include:S},{test:d.markdown,use:[...Q,{loader:`${r.corePath}/loader/mdx.cjs`,options:s.mdx}],exclude:[/node_modules\/(?!(@app|@moneko)).+/]}].filter(Boolean)},...s.moduleRules].filter(Boolean)}});
@@ -1 +1 @@
1
- let t=function(){let t={priority:-10,reuseExistingChunk:!0};return function(e){return{...t,test:e}}}(),e={chunks:"all",minSize:1024,minChunks:1,hidePathInfo:!0,cacheGroups:{CHANGELOG:t(/CHANGELOG\.md/),site:t(/site/)}};export default e;
1
+ let e=function(){let e={priority:-10,reuseExistingChunk:!0};return function(i){return{...e,test:i}}}(),i={chunks:"all",minChunks:1,minSize:2e4,maxSize:25e4,enforceSizeThreshold:5e5,maxAsyncRequests:30,maxInitialRequests:30,hidePathInfo:!0,cacheGroups:{CHANGELOG:e(/CHANGELOG\.md/),site:e(/site/),vendors:{test:/[\\/]node_modules[\\/]/,priority:-10,reuseExistingChunk:!0},common:{minChunks:2,priority:-20,reuseExistingChunk:!0}}};export default i;
@@ -1 +1 @@
1
- import t from"webpack-virtual-modules";import{isLibrary as o}from"../process-env.mjs";import{node_modules as i}from"../utils/index.mjs";import e from"../utils/parse-module-meta.mjs";import{comment as s,docs as r}from"../vm/docs.mjs";import{examples as l}from"../vm/example.mjs";import{locales as m}from"../vm/locales.mjs";import n from"../vm/modules.mjs";import{route as p}from"../vm/routes.mjs";import a from"../paths.mjs";let f={};for(let t in n)if(Object.prototype.hasOwnProperty.call(n,t)){let{file:o,pkg:i,meta:s}=e(t);f[i]=s,f[o]=n[t]}export class VirtualModuleWebpackPlugin{constructor(o={}){this.virtualModules=new t(f),this.options={},this.init=!1;let i={};for(let t in o)if(Object.prototype.hasOwnProperty.call(o,t)){let{file:s,pkg:r,meta:l}=e(t),m=o[t],n=m;n=s.endsWith("json")?"string"==typeof m?m:JSON.stringify(m):"string"==typeof m?m:`export default ${JSON.stringify(m)}`,Object.assign(i,{[s]:n,[r]:l})}this.options=i}modify(t,o,e){let s=e||"",r=o.startsWith(a.nodeModules)?o:i(o),l=t.inputFileSystem;for(;l&&l._inputFileSystem;)l=l._inputFileSystem;let m=l?._virtualFiles?.[r];m&&m.contents===s||(this.virtualModules.writeModule(r,s),t.watching?.invalidate())}apply(t){this.virtualModules.apply(t);let i=(o,i)=>{this.modify(t,o,i)};p.on("change",i),m.on("change",i),o&&(l.on("change",i),r.on("change",i),s.on("change",i)),t.hooks.beforeCompile.tap("VirtualModuleWebpackPlugin",()=>{if(!this.init){for(let t in this.init=!0,this.options)Object.prototype.hasOwnProperty.call(this.options,t)&&i(t,this.options[t]);for(let t of l)i(t[0],t[1]);for(let t of r)i(t[0],t[1]);for(let t of s)i(t[0],t[1])}})}}
1
+ import t from"webpack-virtual-modules";import{isLibrary as o}from"../process-env.mjs";import{node_modules as i}from"../utils/index.mjs";import e from"../utils/parse-module-meta.mjs";import{comment as s,docs as r}from"../vm/docs.mjs";import{examples as l}from"../vm/example.mjs";import{locales as n}from"../vm/locales.mjs";import m from"../vm/modules.mjs";import{route as p}from"../vm/routes.mjs";import a from"../paths.mjs";let f={};for(let t in m)if(Object.prototype.hasOwnProperty.call(m,t)){let{file:o,pkg:i,meta:s}=e(t);f[i]=s,f[o]=m[t]}export class VirtualModuleWebpackPlugin{constructor(o={}){this.virtualModules=new t(f),this.options={},this.init=!1;let i={};for(let t in o)if(Object.prototype.hasOwnProperty.call(o,t)){let{file:s,pkg:r,meta:l}=e(t),n=o[t],m=n;m=s.endsWith("json")?"string"==typeof n?n:JSON.stringify(n):"string"==typeof n?n:`export default ${JSON.stringify(n)}`,Object.assign(i,{[s]:m,[r]:l})}this.options=i}modify(t,o,e){let s=e||"",r=o.startsWith(a.nodeModules)?o:i(o),l=t.inputFileSystem;for(;l&&l._inputFileSystem;)l=l._inputFileSystem;let n=l?._virtualFiles?.[r];n&&n.contents===s||(this.virtualModules.writeModule(r,s),t.watching?.invalidate())}apply(t){this.virtualModules.apply(t);let i=(o,i)=>{this.modify(t,o,i)};p.on("change",i),n.on("change",i),o&&(l.on("change",i),r.on("change",i),s.on("change",i)),t.hooks.compilation.tap("VirtualModuleWebpackPlugin",()=>{if(!this.init){for(let t in this.init=!0,this.options)Object.prototype.hasOwnProperty.call(this.options,t)&&i(t,this.options[t]);for(let t of l)i(t[0],t[1]);for(let t of r)i(t[0],t[1]);for(let t of s)i(t[0],t[1])}})}}
@@ -1 +1 @@
1
- import e from"html-webpack-plugin";import t from"webpack";import{CONFIG as o}from"./config.mjs";import l from"./options/html-plugin-option.mjs";import{AddEntryAttributePlugin as i}from"./plugin/add-entry-attribute.mjs";import r from"./plugin/module-federation.mjs";import{VirtualModuleWebpackPlugin as n}from"./plugin/virtual-module.mjs";import{isMicro as p}from"./process-env.mjs";import{CopyPlugin as m}from"./plugin/copy.mjs";let{DefinePlugin:s,SourceMapDevToolPlugin:a,IgnorePlugin:c}=t,u=o.basename.split("/").filter(Boolean).length,f=`${Array(u).fill("..").join("/")+(u?"/":"")}404.html`,{pathSegmentsToKeep:h=u,path:d=f}=o.fixBrowserRouter||{},g=[...r,new n(o.virtualModule),o.htmlPluginOption&&new e(l),o.fixBrowserRouter&&new e({filename:d,inject:!1,templateContent:()=>`<html lang="en"><head><title>${l.title}</title><script>const pathKeep = ${h||u};const l = window.location;l.replace(l.protocol + '//' + l.hostname + (l.port ? ':' + l.port : '') + l.pathname.split('/').slice(0, 1 + pathKeep).join('/') + '/?/' + l.pathname.slice(1).split('/').slice(pathKeep).join('/').replace(/&/g, '~and~') + (l.search ? '&' + l.search.slice(1).replace(/&/g, '~and~') : '') + l.hash);</script></head><body></body></html>`}),new m(o.copy),p&&new i({test:/main\.bundle\.js$/}),new s({"process.env":JSON.stringify(o.env)}),new c({resourceRegExp:/\/__tests__\//}),o.sourceMap&&new a(o.sourceMap),...o.plugins].filter(e=>!!e);export default g;
1
+ import e from"html-webpack-plugin";import t from"webpack";import{CONFIG as o}from"./config.mjs";import l from"./options/html-plugin-option.mjs";import{AddEntryAttributePlugin as i}from"./plugin/add-entry-attribute.mjs";import r from"./plugin/module-federation.mjs";import{VirtualModuleWebpackPlugin as p}from"./plugin/virtual-module.mjs";import{isMicro as n}from"./process-env.mjs";import{CopyPlugin as s}from"./plugin/copy.mjs";let{DefinePlugin:m,SourceMapDevToolPlugin:a,IgnorePlugin:c}=t,u=o.basename.split("/").filter(Boolean).length,f=`${Array(u).fill("..").join("/")+(u?"/":"")}404.html`,{pathSegmentsToKeep:h=u,path:d=f}=o.fixBrowserRouter||{},g=[...r,new p(o.virtualModule),o.htmlPluginOption&&new e(l),o.fixBrowserRouter&&new e({filename:d,inject:!1,templateContent:()=>`<html lang="en"><head><title>${l.title}</title><script>const pathKeep = ${h||u};const l = window.location;l.replace(l.protocol + '//' + l.hostname + (l.port ? ':' + l.port : '') + l.pathname.split('/').slice(0, 1 + pathKeep).join('/') + '/?/' + l.pathname.slice(1).split('/').slice(pathKeep).join('/').replace(/&/g, '~and~') + (l.search ? '&' + l.search.slice(1).replace(/&/g, '~and~') : '') + l.hash);</script></head><body></body></html>`}),new s(o.copy),n&&new i({test:/main\.bundle\.js$/}),new m({"process.env":JSON.stringify(o.env)}),new c({resourceRegExp:/\/(__(tests|mocks)__|test|spec|e2e)\//}),o.sourceMap&&new a(o.sourceMap),...o.plugins].filter(e=>!!e);export default g;
@@ -1,2 +1,2 @@
1
1
  import{basename as e,join as t}from"path";import{watch as o}from"chokidar";import{CONFIG as a}from"../config.mjs";import{FRAMEWORK as l,isDev as r}from"../process-env.mjs";import n from"../utils/reactive-object.mjs";import s from"../utils/sigint-exit.mjs";import{directoryExists as c,scanFolderSync as i}from"@moneko/utils";import g from"../utils/require.mjs";import u from"../utils/parse-module-meta.mjs";let f={react:'import sso from "shared-store-object";',solid:'import { createEffect, createRoot, getOwner } from "solid-js";import { createStore } from "solid-js/store";'},p={react:'let storageKey="localizable.language",language=localStorage.getItem(storageKey)||"zh_CN",{translation:a,...defaultLocale}=Object.assign({title:"简体中文",language:"zh_CN",translation:{}},resources[language]||resources.zh_CN),localizable=sso({lang:defaultLocale,t:a});export function setLang(a){let{translation:e,...l}=resources[a]||{};e&&(localizable.lang=l,localizable.t=e,localStorage.setItem(storageKey,l.language))}export default localizable;',solid:'let locale=createRoot(()=>{let e="localizable.language",a=localStorage.getItem(e)||"zh_CN",{translation:l,...o}=Object.assign({title:"简体中文",language:"zh_CN",translation:{}},resources[a]||resources.zh_CN),[n,c]=createStore({lang:o,t:l});return createEffect(()=>{let a=resources[n.lang.language]?.translation;a&&(c("t",a),localStorage.setItem(e,n.lang.language))}),{localizable:n,setLocalizable:c,setLang:function(e){let{translation:a,...l}=resources[e]||{};a&&c("lang",l)}}},getOwner());export const setLocalizable=locale.setLocalizable;export const t=locale.localizable.t;export const lang=locale.localizable.lang;export const setLang=locale.setLang;'}[l];function m(e,t){return`${f[l]}
2
- export function template(r,n){return r.replace(/\\\${\\w+}/g,function(r){var t=r.slice(2,-1);var e=n[t];return e!==void 0?e.toString():""})}function deepFreeze(o) { const p = Reflect.ownKeys(o);for (const k of p) {const v = o[k];if ((v && typeof v === "object") || typeof v === "function") {deepFreeze(v);}}return Object.freeze(o);}export const locales = ${JSON.stringify(e)};const _res = ${JSON.stringify(t)};const resources = deepFreeze(_res);${p}`}let{file:d,pkg:z,meta:b}=u("@app/locales");export const localesModuleName=d;export const locales=new n({[d]:m([],{}),[z]:b});let h={};async function j(t,o){let a=e(t).replace(/\.[^.]+$/,"");"deleted"===o?delete h[a]:(delete g.cache[t],Object.assign(h,{[a]:g(t).default}));let l=[],r={};for(let e in h)if(Object.prototype.hasOwnProperty.call(h,e)){let{language:t=a,title:o=t,icon:n,translation:s={}}=h[e];l.push({language:t,title:o,icon:n}),r[t]={language:t,title:o,icon:n,translation:s}}locales.setData(d,m(l,r)),locales.setData(z,b)}let y=t(a.alias["@"],"./locales");if(c(y)&&!1!==a.htmlPluginOption){let e=i(y,[".ts$"]).filter(e=>!/^\..*|\.d\.ts$/.test(e));await Promise.all(e.map(e=>j(e,"added"))),r&&function(e,t){let a=o(e,{ignored:t,persistent:!0,ignoreInitial:!0});function l(){a.unwatch(e),a.close()}a.on("add",e=>{j(e,"added")}),a.on("change",e=>{j(e,"change")}),a.on("unlink",e=>{j(e,"deleted")}),a.once("ready",()=>{r||l()}),s(l)}(y,[/^\..*/,/!\.ts$/,/\.d\.ts$/])}
2
+ export function template(r,n){return r.replace(/\\\${\\w+}/g,function(r){var t=r.slice(2,-1);var e=n[t];return e!==void 0?e.toString():""})}function deepFreeze(o) { const p = Reflect.ownKeys(o);for (const k of p) {const v = o[k];if ((v && typeof v === "object") || typeof v === "function") {deepFreeze(v);}}return Object.freeze(o);}export const locales = ${JSON.stringify(e)};const _res = ${JSON.stringify(t)};const resources = deepFreeze(_res);${p}`}let{file:d,pkg:z,meta:b}=u("@app/locales");export const localesModuleName=d;export const locales=new n({[d]:m([],{}),[z]:b});let h={};async function j(t,o){let a=e(t).replace(/\.[^.]+$/,"");try{"deleted"===o?delete h[a]:(delete g.cache[t],Object.assign(h,{[a]:g(t).default}));let e=[],l={};for(let t in h)if(Object.prototype.hasOwnProperty.call(h,t)){let{language:o=a,title:r=o,icon:n,translation:s={}}=h[t];e.push({language:o,title:r,icon:n}),l[o]={language:o,title:r,icon:n,translation:s}}locales.setData(d,m(e,l)),locales.setData(z,b)}catch{}}let y=t(a.alias["@"],"./locales");if(c(y)&&!1!==a.htmlPluginOption){let e=i(y,[".ts$"]).filter(e=>!/^\..*|\.d\.ts$/.test(e));await Promise.all(e.map(e=>j(e,"added"))),r&&function(e,t){let a=o(e,{ignored:t,persistent:!0,ignoreInitial:!0});function l(){a.unwatch(e),a.close()}a.on("add",e=>{j(e,"added")}),a.on("change",e=>{j(e,"change")}),a.on("unlink",e=>{j(e,"deleted")}),a.once("ready",()=>{r||l()}),s(l)}(y,[/^\..*/,/!\.ts$/,/\.d\.ts$/])}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moneko/core",
3
- "version": "3.24.10",
3
+ "version": "3.24.12",
4
4
  "description": "core",
5
5
  "main": "lib/index.mjs",
6
6
  "type": "module",