@moneko/core 3.9.17-beta.25 → 3.9.17-beta.27

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.
package/lib/build.mjs CHANGED
@@ -1 +1 @@
1
- import{removeDirAll as o}from"@moneko/mdx";import m from"webpack";import{merge as r}from"webpack-merge";import e from"webpackbar";import i from"./build/common.mjs";import s from"./build/server.mjs";import{CONFIG as t}from"./config.mjs";import p from"./module.config.mjs";import n from"./paths.mjs";import a from"./plugin/done.mjs";import{SSR as f}from"./process-env.mjs";import l from"./utils/compiler-listener.mjs";import c from"./utils/log.mjs";import u from"./utils/seo.mjs";let j=[r(i,{module:p(!1),plugins:[t.done&&new a({done:t.done}),t.bar&&new e(t.bar)].filter(Boolean)})];f&&j.push(r(i,s));let[d,g]=m(j).compilers,h=[l("client",d)];async function w(){m(j).run((o,m)=>{if(o)throw o;m&&m.stats.forEach(o=>{o.compilation.warnings.forEach(o=>c(o.message)),o.compilation.errors.forEach(o=>c(o.message))})}),await Promise.all(h),t.seo&&u()}g&&h.push(l("server",g)),await w(),process.on("exit",function(){o(n.cachePath)});
1
+ import{removeDirAll as o}from"@moneko/mdx";import r from"webpack";import{merge as m}from"webpack-merge";import e from"webpackbar";import i from"./build/common.mjs";import t from"./build/server.mjs";import{CONFIG as s}from"./config.mjs";import n from"./module.config.mjs";import l from"./paths.mjs";import p from"./plugin/done.mjs";import{SSR as a}from"./process-env.mjs";import f from"./utils/compiler-listener.mjs";import c from"./utils/log.mjs";import u from"./utils/seo.mjs";let g=[m(i,{module:n(!1),plugins:[s.done&&new p({done:s.done}),s.bar&&new e(s.bar)].filter(Boolean)})];a&&g.push(m(i,t));let[j,w]=r(g).compilers,d=[f("client",j)];async function h(){r(g).run((o,r)=>{if(o)throw o;if(r)for(let o=0,m=r.stats.length;o<m;o++){let m=r.stats[o];for(let o=0,r=m.compilation.warnings.length;o<r;o++)c(m.compilation.warnings[o].message);for(let o=0,r=m.compilation.errors.length;o<r;o++)c(m.compilation.errors[o].message)}}),await Promise.all(d),s.seo&&u()}w&&d.push(f("server",w)),await h(),process.on("exit",function(){o(l.cachePath)});
package/lib/common.mjs CHANGED
@@ -1 +1 @@
1
- import{CONFIG as e,PUBLICPATH as t}from"./config.mjs";import o,{CUSTOMCONFIG as s}from"./paths.mjs";import r from"./plugin/override-resolve.mjs";import n from"./plugins.config.mjs";import{PACKAGENAME as i,PACKAGEVERSION as a,isDev as l,isLibrary as p}from"./process-env.mjs";import{resolveNodeModulesPath as c,resolveProgramPath as m}from"./utils/index.mjs";export const outputConfig={path:m(p?"docs":"dist"),filename:"js/[name].bundle.js",chunkFilename:`js/[${l?"name":"chunkhash"}].js`,assetModuleFilename:e=>{let t=e.filename;return t&&t.endsWith("?url")&&/(?:webworker|worker)(\.|\b).*\.(js|ts)\b/.test(t.replace("?url",""))?"worker/[name][ext]":"assets/[name][hash][ext]"},library:{name:i,type:"window"},globalObject:"window",chunkLoadingGlobal:`webpackJsonp_${i}`,pathinfo:l,clean:!0,publicPath:t,asyncChunks:!0,charset:!0};let u={main:[e.polyfill&&`${o.corePath}/polyfills/replace-children.js`,c("@app/entry")].filter(Boolean)};e.entry&&("string"==typeof e.entry?u={main:[e.entry]}:Object.keys(e.entry)&&(u=Object.assign(u,e.entry))),"string"==typeof u.main&&(u.main=[u.main]),e.output&&("string"==typeof e.output?outputConfig.path=e.output:Object.keys(e.output)&&Object.assign(outputConfig,e.output));let f=!1;e.cacheDirectory&&(f={type:"filesystem",store:"pack",allowCollectingMemory:!0,cacheDirectory:e.cacheDirectory,memoryCacheUnaffected:!0,name:[s,process.env.NODE_ENV].filter(Boolean).join("-"),version:a});let d=Object.assign({original:e.alias["@"],override:s&&m(s)},e.overrideResolve);export const commonConfig={devtool:e.devtool,entry:u,mode:l?"development":"production",stats:"errors-only",cache:f,infrastructureLogging:{level:"error"},target:"web",externalsPresets:e.externalsPresets,plugins:n,node:{global:!1},experiments:{topLevelAwait:!0,asyncWebAssembly:!0,cacheUnaffected:!0,layers:!0,lazyCompilation:l&&{imports:!1,entries:!1},buildHttp:e.buildHttp,backCompat:!0,futureDefaults:!1,css:!1,outputModule:!1},resolve:{extensions:["...",".jsx",".ts",".tsx"],alias:e.alias,modules:[o.nodeModules],mainFields:["browser","module","main"],mainFiles:["index"],plugins:[e.overrideResolve&&new r(d),...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 s}from"./paths.mjs";import r from"./plugin/override-resolve.mjs";import n from"./plugins.config.mjs";import{PACKAGENAME as i,PACKAGEVERSION as l,isDev as a,isLibrary as p}from"./process-env.mjs";import m from"./rule.mjs";import{resolveNodeModulesPath as c,resolveProgramPath as u}from"./utils/index.mjs";export const outputConfig={path:u(p?"docs":"dist"),filename:"js/[name].bundle.js",chunkFilename:`js/[${a?"name":"chunkhash"}].js`,assetModuleFilename:e=>{let t=e.filename;return t?.endsWith("?url")&&m.worker_file.test(t.replace("?url",""))?"worker/[name][ext]":"assets/[name][hash][ext]"},library:{name:i,type:"window"},globalObject:"window",chunkLoadingGlobal:`webpackJsonp_${i}`,pathinfo:a,clean:!0,publicPath:t,asyncChunks:!0,charset:!0};let f={main:[e.polyfill&&`${o.corePath}/polyfills/replace-children.js`,c("@app/entry")].filter(Boolean)};e.entry&&("string"==typeof e.entry?f={main:[e.entry]}:Object.keys(e.entry)&&(f=Object.assign(f,e.entry))),"string"==typeof f.main&&(f.main=[f.main]),e.output&&("string"==typeof e.output?outputConfig.path=e.output:Object.keys(e.output)&&Object.assign(outputConfig,e.output));let d=!1;e.cacheDirectory&&(d={type:"filesystem",store:"pack",allowCollectingMemory:!0,cacheDirectory:e.cacheDirectory,memoryCacheUnaffected:!0,name:[s,process.env.NODE_ENV].filter(Boolean).join("-"),version:l});let y=Object.assign({original:e.alias["@"],override:s&&u(s)},e.overrideResolve);export const commonConfig={devtool:e.devtool,entry:f,mode:a?"development":"production",stats:"errors-only",cache:d,infrastructureLogging:{level:"error"},target:"web",externalsPresets:e.externalsPresets,plugins:n,node:{global:!1},experiments:{topLevelAwait:!0,asyncWebAssembly:!0,cacheUnaffected:!0,layers:!0,lazyCompilation:a&&{imports:!1,entries:!1},buildHttp:e.buildHttp,backCompat:!0,futureDefaults:!1,css:!1,outputModule:!1},resolve:{extensions:["...",".jsx",".ts",".tsx"],alias:e.alias,modules:[o.nodeModules],mainFields:["browser","module","main"],mainFiles:["index"],plugins:[e.overrideResolve&&new r(y),...e.resolvePlugins].filter(Boolean),fallback:{path:!1,fs:!1,crypto:!1,assert:!1}},externals:e.externals,output:outputConfig};
package/lib/dev/net.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare function getIPv4(): null;
1
+ export declare function getIPv4(): string | null;
2
2
  export declare function getPort<T = number>(start: T, end: number, host?: string): Promise<T>;
package/lib/dev/net.mjs CHANGED
@@ -1 +1 @@
1
- import{createConnection as e}from"net";import{networkInterfaces as r}from"os";export function getIPv4(){let e=r(),t=null;return Object.keys(e).forEach(r=>{e[r]?.forEach(e=>{"IPv4"!==e.family||e.internal||(t=e.address)})}),t}export function getPort(r,t,o="0.0.0.0"){return new Promise(n=>{if("number"!=typeof r)n(r);else{let f=e(r,o);f.on("connect",()=>{f.destroy(),n(getPort(r+1,t,o))}),f.on("error",()=>{n(r)})}})}
1
+ import{createConnection as e}from"net";import{networkInterfaces as t}from"os";export function getIPv4(){let e=t(),r=null,o=Object.keys(e);for(let t=0,n=o.length;t<n;t++){let n=e[o[t]]||[];for(let e=0,t=n.length;e<t;e++){let t=n[e];"IPv4"!==t.family||t.internal||(r=t.address)}}return r}export function getPort(t,r,o="0.0.0.0"){return new Promise(n=>{if("number"!=typeof t)n(t);else{let l=e(t,o);l.on("connect",()=>{l.destroy(),n(getPort(t+1,r,o))}),l.on("error",()=>{n(t)})}})}
package/lib/dev/proxy.mjs CHANGED
@@ -1 +1 @@
1
- import{createProxyMiddleware as e}from"http-proxy-middleware";export default((r,o)=>{Object.keys(o).forEach(t=>{let l=o[t],p=e(t,{logLevel:"error",...l});r.use(t,p)})});
1
+ import{createProxyMiddleware as e}from"http-proxy-middleware";export default((t,r)=>{let l=Object.keys(r);for(let o=0,p=l.length;o<p;o++){let p=l[o],d=r[p],f=e(p,{logLevel:"error",...d});t.use(p,f)}});
package/lib/dev.mjs CHANGED
@@ -1 +1 @@
1
- import{directoryExists as e,removeDirAll as t}from"@moneko/mdx";import o from"express";import i from"multer";import r from"webpack";import s from"webpack-dev-middleware";import m from"webpack-hot-middleware";import{merge as l}from"webpack-merge";import n from"webpackbar";import a from"./build/server.mjs";import{commonConfig as p}from"./common.mjs";import{CONFIG as c}from"./config.mjs";import{PORT as d,devLog as u,headers as f}from"./dev/config.mjs";import h from"./dev/mock.mjs";import w from"./dev/proxy.mjs";import g from"./module.config.mjs";import x from"./paths.mjs";import{SSR as j,isLibrary as k,isReact as b}from"./process-env.mjs";import y from"./rule.mjs";import v from"./utils/compiler-listener.mjs";import $ from"./utils/has-pkg.mjs";import{empty as _,resolveProgramPath as P}from"./utils/index.mjs";let{HotModuleReplacementPlugin:S}=r,D=$("stylelint-webpack-plugin")&&(await import("stylelint-webpack-plugin")).default,T=$("eslint-webpack-plugin")&&(await import("eslint-webpack-plugin")).default,B=b&&(await import("@pmmmwh/react-refresh-webpack-plugin")).default,I=["js","jsx","ts","tsx","json","html","vue"],E=I.join(","),F=["css","scss","sass","less","ts","tsx","js","jsx"],G=F.join(","),M=["node_modules/","es/","lib/","umd/","docs/","coverage/","dist/"],O=new URLSearchParams({timeout:2e3,reload:!0,quiet:!0,noInfo:!0,overlay:!0,dynamicPublicPath:!0}).toString(),R=p.output.path;j&&(R=P(`${k?"docs":"dist"}/client`));let U=l(p,{entry:{main:[`webpack-hot-middleware/client?name=client&path=//localhost:${d}/__hmr__&${O}`]},output:{path:R},module:g(!1),plugins:[new S,B&&new B,T&&new T({fix:!0,threads:!0,files:[`${c.alias["@"]}/**/*.{${E}}`,k&&`${c.alias["@pkg"]}/**/*.{${E}}`].filter(Boolean),extensions:I,exclude:M,cache:!0,lintDirtyModulesOnly:!0}),D&&new D({fix:!0,threads:!0,files:[`${c.alias["@"]}/**/*.{${G}}`,k&&`${c.alias["@pkg"]}/**/*.{${G}}`].filter(Boolean),extensions:F,exclude:M,cache:!0,lintDirtyModulesOnly:!0}),c.bar&&new n(c.bar)].filter(Boolean)}),q=[U];j&&q.push(l(p,a));let[A,C]=r(q).compilers;A.hooks.done.tap("client",e=>{u(null,e)});let L=o(),N=i(),z=s(A,{writeToDisk:!1,index:"index.html",headers:()=>f,serverSideRender:j});if(L.use(z),L.use(m(A,{log:!1,path:"/__hmr__",heartbeat:2e3,ignoreUnaccepted:!1,ignoreDeclined:!0,ignoreErrored:!0})),c.proxy&&w(L,c.proxy),e(x.mockPath)){let e=h(x.mockPath);L.use(e)}let H=`${U.output.path}/index.html`;L.all("/*",N.any(),function(e,t,o){if("GET"!==e.method)return o();{let e=z.context.outputFileSystem,o=e?.readFileSync?.(H);t.end(o)}});let J=[v("client",A)];C&&(C.watch({aggregateTimeout:20,ignored:y.dev_watch_ignored,poll:1e3,stdin:!0},u),J.push(v("server",C))),await Promise.all(J);let K=L.listen(d,()=>{});process.on("exit",function(){K.close(_),K.closeAllConnections(),t(x.cachePath)}),process.on("SIGINT",function(){process.exit()});
1
+ import{directoryExists as e,removeDirAll as t}from"@moneko/mdx";import o from"express";import i from"multer";import r from"webpack";import s from"webpack-dev-middleware";import m from"webpack-hot-middleware";import{merge as l}from"webpack-merge";import n from"webpackbar";import a from"./build/server.mjs";import{commonConfig as p}from"./common.mjs";import{CONFIG as c}from"./config.mjs";import{PORT as d,devLog as u,headers as f}from"./dev/config.mjs";import h from"./dev/mock.mjs";import w from"./dev/proxy.mjs";import g from"./module.config.mjs";import x from"./paths.mjs";import{SSR as j,isLibrary as k,isReact as b}from"./process-env.mjs";import y from"./rule.mjs";import $ from"./utils/compiler-listener.mjs";import v from"./utils/has-pkg.mjs";import{empty as _,resolveProgramPath as P}from"./utils/index.mjs";let{HotModuleReplacementPlugin:S,WatchIgnorePlugin:D}=r,T=v("stylelint-webpack-plugin")&&(await import("stylelint-webpack-plugin")).default,B=v("eslint-webpack-plugin")&&(await import("eslint-webpack-plugin")).default,I=b&&(await import("@pmmmwh/react-refresh-webpack-plugin")).default,E=["js","jsx","ts","tsx","json","html","vue"],F=E.join(","),G=["css","scss","sass","less","ts","tsx","js","jsx"],M=G.join(","),O=["node_modules/","es/","lib/","umd/","docs/","coverage/","dist/"],R=new URLSearchParams({timeout:2e3,reload:!0,quiet:!0,noInfo:!0,overlay:!0,dynamicPublicPath:!0}).toString(),U=p.output.path;j&&(U=P(`${k?"docs":"dist"}/client`));let q=l(p,{entry:{main:[`webpack-hot-middleware/client?name=client&path=//localhost:${d}/__hmr__&${R}`]},output:{path:U},module:g(!1),plugins:[new S,new D({paths:[/\.d\.ts$/]}),I&&new I,B&&new B({fix:!0,threads:!0,files:[`${c.alias["@"]}/**/*.{${F}}`,k&&`${c.alias["@pkg"]}/**/*.{${F}}`].filter(Boolean),extensions:E,exclude:O,cache:!0,lintDirtyModulesOnly:!0}),T&&new T({fix:!0,threads:!0,files:[`${c.alias["@"]}/**/*.{${M}}`,k&&`${c.alias["@pkg"]}/**/*.{${M}}`].filter(Boolean),extensions:G,exclude:O,cache:!0,lintDirtyModulesOnly:!0}),c.bar&&new n(c.bar)].filter(Boolean)}),A=[q];j&&A.push(l(p,a));let[C,L]=r(A).compilers;C.hooks.done.tap("client",e=>{u(null,e)});let N=o(),z=i(),H=s(C,{writeToDisk:!1,index:"index.html",headers:()=>f,serverSideRender:j});if(N.use(H),N.use(m(C,{log:!1,path:"/__hmr__",heartbeat:2e3,ignoreUnaccepted:!1,ignoreDeclined:!0,ignoreErrored:!0})),c.proxy&&w(N,c.proxy),e(x.mockPath)){let e=h(x.mockPath);N.use(e)}let J=`${q.output.path}/index.html`;N.all("/*",z.any(),function(e,t,o){if("GET"!==e.method)return o();{let e=H.context.outputFileSystem,o=e?.readFileSync?.(J);t.end(o)}});let K=[$("client",C)];L&&(L.watch({aggregateTimeout:20,ignored:y.dev_watch_ignored,poll:1e3,stdin:!0},u),K.push($("server",L))),await Promise.all(K);let Q=N.listen(d,()=>{});process.on("exit",function(){Q.close(_),Q.closeAllConnections(),t(x.cachePath)}),process.on("SIGINT",function(){process.exit()});
@@ -1 +1 @@
1
- let e;import s from"mini-css-extract-plugin";import{CONFIG as o,PUBLICPATH as t}from"./config.mjs";import r from"./options/modify-vars.mjs";import a from"./options/swcrc.mjs";import n,{CUSTOMCONFIG as l}from"./paths.mjs";import{getLightningCssTargets as i}from"./polyfills/targets.mjs";import{FRAMEWORK as m,isDev as d,isLibrary as c,isMicro as p}from"./process-env.mjs";import u from"./rule.mjs";import f from"./utils/has-pkg.mjs";import{resolveNodeModulesPath as y,resolveProgramPath as g}from"./utils/index.mjs";import v from"./utils/svg-to-data-uri.mjs";import{comment as j,getCommentPath as x}from"./vm/docs.mjs";import h from"./vm/generate-doc.mjs";let _=p?t:"../",w={loader:s.loader,options:{publicPath:"/"!==_?_:"../"}},b={loader:`${n.corePath}/loader/lightningcss.cjs`,options:{sourceMap:!!o.sourceMap,analyzeDependencies:!1,targets:i(),drafts:{nesting:!0,customMedia:!0},errorRecovery:!1,unusedSymbols:[],rem:!!o.rem}};d&&(w="style-loader");let k=[...o.cssModules,`@moneko/${m}`,"neko-ui"].map(y),M=["components","example","mock","site","src","server"].map(g);function O(e){return M.concat(o.rulesInclude?.[e]?.map(y)||[])}l&&M.push(g(l)),o.overrideResolve&&o.overrideResolve.override&&M.push(o.overrideResolve.override);let P=O("css"),R=O("js"),L=O("media"),$=O("wasm"),B=O("font");f("sass")&&(e={loader:"sass-loader",options:{implementation:await import("sass"),sassOptions:{}}});let I=c&&d&&{test:u.tsdoc,include:o.alias["@pkg"],exclude:[u.node_modules,u.__tests__],enforce:"pre",loader:`${n.corePath}/loader/ts-doc.cjs`,options:{comment:j,generateDoc:h,getCommentPath:x}},Q=[{resourceQuery:/raw/i,type:"asset/source"},{resourceQuery:/url/i,type:"asset/resource",generator:{filename:e=>{let s=e.filename;return s&&s.endsWith("wasm?url")?"wasm/[name][ext]":"assets/[name][ext]"}}},{test:u.wasm,type:"webassembly/async",include:$},{test:u.txt,type:"asset/source"},{test:u.ico,type:"asset/inline",include:L},{test:u.svg,type:"asset/inline",generator:{dataUrl:e=>v(e.toString())},include:L},{test:u.image,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/images/[name][ext]"},include:L},{test:u.video,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/video/[name][ext]"},include:L},{test:u.font,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/fonts/[name][ext]"},include:B}],S=o.prefixJsLoader.filter(Boolean)||[];export default(s=>{let t={loader:"swc-loader",options:a(s)},l={loader:"css-loader",options:{modules:{auto:e=>{if(e){for(let s=0,o=k.length;s<o;s++)if(e.includes(k[s]))return u.css_module.test(e)}return u.node_modules_css_module.test(e)},localIdentName:"[path][name]_[local]",exportLocalsConvention:"dashesOnly",exportOnlyLocals:s},importLoaders:2}};return{noParse:u.no_parse,rules:[I,{oneOf:[...Q,{test:u.js,use:[...S,t],include:R},{test:u.css,use:[w,"css-loader",b],include:P},e&&{test:u.scss,use:[w,l,b,e],include:P},{test:u.less,use:[w,l,b,{loader:"less-loader",options:{sourceMap:!!o.sourceMap,lessOptions:{modifyVars:r,javascriptEnabled:!0}}}],include:P},{test:u.markdown,use:[...S,{loader:`${n.corePath}/loader/mdx.cjs`,options:o.mdx}],exclude:[u.node_modules]}].filter(Boolean)},...o.moduleRules].filter(e=>"object"==typeof e)}});
1
+ let e;import s from"mini-css-extract-plugin";import{CONFIG as o,PUBLICPATH as t}from"./config.mjs";import r from"./options/modify-vars.mjs";import a from"./options/swcrc.mjs";import n,{CUSTOMCONFIG as l}from"./paths.mjs";import{getLightningCssTargets as i}from"./polyfills/targets.mjs";import{FRAMEWORK as m,isDev as d,isLibrary as c,isMicro as u}from"./process-env.mjs";import p from"./rule.mjs";import f from"./utils/has-pkg.mjs";import{resolveNodeModulesPath as y,resolveProgramPath as g}from"./utils/index.mjs";import v from"./utils/svg-to-data-uri.mjs";import{comment as j,getCommentPath as x}from"./vm/docs.mjs";import h from"./vm/generate-doc.mjs";let _=u?t:"../",w={loader:s.loader,options:{publicPath:"/"!==_?_:"../"}},k={loader:`${n.corePath}/loader/lightningcss.cjs`,options:{sourceMap:!!o.sourceMap,analyzeDependencies:!1,targets:i(),drafts:{nesting:!0,customMedia:!0},errorRecovery:!1,unusedSymbols:[],rem:!!o.rem}},M={loader:"less-loader",options:{sourceMap:!!o.sourceMap,lessOptions:{modifyVars:r,javascriptEnabled:!0}}};d&&(w="style-loader");let b=[...o.cssModules,`@moneko/${m}`,"neko-ui"].map(y),O=["components","example","mock","site","src","server"].map(g);function P(e){return[...O,...o.rulesInclude?.[e]?.map(y)||[]]}l&&O.push(g(l)),o.overrideResolve&&o.overrideResolve.override&&O.push(o.overrideResolve.override);let R=P("css"),L=P("js"),$=P("media"),B=P("wasm"),I=P("font");f("sass")&&(e={loader:"sass-loader",options:{implementation:await import("sass"),sassOptions:{}}});let Q=c&&d&&{test:p.tsdoc,include:o.alias["@pkg"],exclude:[p.node_modules,p.__tests__],enforce:"pre",loader:`${n.corePath}/loader/ts-doc.cjs`,options:{comment:j,generateDoc:h,getCommentPath:x}},S=[{resourceQuery:/raw/i,type:"asset/source"},{resourceQuery:/url/i,type:"asset/resource",generator:{filename:e=>{let s=e.filename;return s&&s.endsWith("wasm?url")?"wasm/[name][ext]":"assets/[name][ext]"}}},{test:p.wasm,type:"webassembly/async",include:B},{test:p.txt,type:"asset/source"},{test:p.ico,type:"asset/inline",include:$},{test:p.svg,type:"asset/inline",generator:{dataUrl:e=>v(e.toString())},include:$},{test:p.image,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/images/[name][ext]"},include:$},{test:p.video,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/video/[name][ext]"},include:$},{test:p.font,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/fonts/[name][ext]"},include:I}],z=o.prefixJsLoader.filter(Boolean)||[];export default(s=>{let t={loader:"swc-loader",options:a(s)},r={loader:"css-loader",options:{modules:{auto:e=>{if(e){for(let s=0,o=b.length;s<o;s++)if(e.includes(b[s]))return p.css_module.test(e)}return p.node_modules_css_module.test(e)},localIdentName:"[path][name]_[local]",exportLocalsConvention:"dashesOnly",exportOnlyLocals:s},importLoaders:2}};return{noParse:p.no_parse,rules:[Q,{oneOf:[...S,{test:p.js,use:[...z,t],include:L},{test:p.css,use:[w,"css-loader",k],include:R},e&&{test:p.scss,use:[w,r,k,e],include:R},{test:p.less,use:[w,r,k,M],include:R},{test:p.markdown,use:[...z,{loader:`${n.corePath}/loader/mdx.cjs`,options:o.mdx}],exclude:[p.node_modules]}].filter(Boolean)},...o.moduleRules].filter(Boolean)}});
@@ -1,4 +1,4 @@
1
1
  import type { JsMinifyOptions, Config as SwcConfig } from '@swc/core';
2
2
  export declare const swcMinifyOption: JsMinifyOptions;
3
- declare const _default: (ssr: boolean) => (dev: boolean) => SwcConfig;
3
+ declare const _default: (ssr: boolean) => SwcConfig;
4
4
  export default _default;
@@ -1 +1 @@
1
- import{merge as e}from"webpack-merge";import{CONFIG as o}from"../config.mjs";import r from"../paths.mjs";import s from"../polyfills/polyfills.mjs";import{isReact as t,isSolid as l,jsxImportSource as n}from"../process-env.mjs";export const swcMinifyOption={compress:{top_retain:[],keep_infinity:!0,global_defs:{"@alert":"console.log"},pure_funcs:["console.log","console.warn","console.error","console.info"],toplevel:!1,drop_console:!0,drop_debugger:!0,module:!1,ecma:2015,ie8:!1,keep_classnames:void 0,keep_fnames:!1},mangle:!0};let i=function(e){for(let o=0,r=Object.keys(e),s=r.length;o<s;o++)e[r[o]].transform=`${r[o]}/${e[r[o]].transform}`,e[r[o]].style&&(e[r[o]].style=`${r[o]}/${e[r[o]].style}`);return e}(o.importOnDemand||{}),p={include:s(),mode:"entry",coreJs:"3.35"};export default(s=>m=>e({module:{type:"es6",resolveFully:!0},jsc:{parser:{syntax:"typescript",tsx:!0,decorators:!0,dynamicImport:!0},loose:!0,target:o.polyfill?void 0:"es2017",externalHelpers:!1,transform:{legacyDecorator:!0,decoratorMetadata:!0,react:{runtime:"automatic",throwIfNamespace:!0,refresh:t&&m,development:m,importSource:n},optimizer:{simplify:!1}},minify:m?void 0:swcMinifyOption,experimental:{emitAssertForImportAttributes:!0,cacheRoot:r.swcCachePath,plugins:[["swc-plugin-another-transform-imports",i],l&&["@moneko/jsx-dom-expressions",{...o.jsxDomExpressions,generate:s?"ssr":"dom",hydratable:s}]].filter(Boolean)}},env:o.polyfill?p:void 0,sourceMaps:!0,parseMap:!0},"function"==typeof o.swcrc?o.swcrc(m):o.swcrc||{}));
1
+ import{merge as e}from"webpack-merge";import{CONFIG as o}from"../config.mjs";import r from"../paths.mjs";import s from"../polyfills/polyfills.mjs";import{isDev as t,isReact as l,isSolid as n,jsxImportSource as i}from"../process-env.mjs";export const swcMinifyOption={compress:{top_retain:[],keep_infinity:!0,global_defs:{"@alert":"console.log"},pure_funcs:["console.log","console.warn","console.error","console.info"],toplevel:!1,drop_console:!0,drop_debugger:!0,module:!1,ecma:2015,ie8:!1,keep_classnames:void 0,keep_fnames:!1},mangle:!0};let p=function(e){for(let o=0,r=Object.keys(e),s=r.length;o<s;o++)e[r[o]].transform=`${r[o]}/${e[r[o]].transform}`,e[r[o]].style&&(e[r[o]].style=`${r[o]}/${e[r[o]].style}`);return e}(o.importOnDemand||{}),m={include:s(),mode:"entry",coreJs:"3.35"};export default(s=>e({module:{type:"es6",resolveFully:!0},jsc:{parser:{syntax:"typescript",tsx:!0,decorators:!0,dynamicImport:!0},loose:!0,target:o.polyfill?void 0:"es2017",externalHelpers:!1,transform:{legacyDecorator:!0,decoratorMetadata:!0,react:{runtime:"automatic",throwIfNamespace:!0,refresh:l&&t,development:t,importSource:i},optimizer:{simplify:!1}},minify:t?void 0:swcMinifyOption,experimental:{emitAssertForImportAttributes:!0,cacheRoot:r.swcCachePath,plugins:[["swc-plugin-another-transform-imports",p],n&&["@moneko/jsx-dom-expressions",{...o.jsxDomExpressions,generate:s?"ssr":"dom",hydratable:s}]].filter(Boolean)}},env:o.polyfill?m:void 0,sourceMaps:!0,parseMap:!0},"function"==typeof o.swcrc?o.swcrc(t):o.swcrc||{}));
package/lib/paths.mjs CHANGED
@@ -1 +1 @@
1
- import e from"url";let o=JSON.parse(process.env.npm_config_argv||"{}")?.original;export const yarnArgv={};o?.forEach(e=>{let o=e.split("=");Object.assign(yarnArgv,{[o[0]]:o[1]||!0})});export const CUSTOMCONFIG=process.env.npm_config_config||yarnArgv.config;let t=process.cwd(),c=`${t}/node_modules`,a={nodeModules:c,corePath:e.fileURLToPath(new URL(".",import.meta.url)),programPath:t,webpackCachePath:`${c}/.temp_cache`,cachePath:`${c}/.cache/.mo`,httpCachePath:`${c}/.cache/http`,swcCachePath:`${c}/.swc`,configPath:`${t}/config/index.ts`,customConfigPath:`${t}/config/${CUSTOMCONFIG}.ts`,coveragePath:`${t}/coverage/clover.xml`,pagesPath:`${t}/src/pages`,componentsPath:`${t}/components`,mockPath:`${t}/mock`};export const routeDir="library"===process.env.APPTYPE?a.componentsPath:a.pagesPath;export default a;
1
+ import e from"url";let o=JSON.parse(process.env.npm_config_argv||"{}")?.original;export const yarnArgv={};for(let e=0,t=o.length;e<t;e++){let t=o[e].split("=");Object.assign(yarnArgv,{[t[0]]:t[1]||!0})}export const CUSTOMCONFIG=process.env.npm_config_config||yarnArgv.config;let t=process.cwd(),c=`${t}/node_modules`,a={nodeModules:c,corePath:e.fileURLToPath(new URL(".",import.meta.url)),programPath:t,webpackCachePath:`${c}/.temp_cache`,cachePath:`${c}/.cache/.mo`,httpCachePath:`${c}/.cache/http`,swcCachePath:`${c}/.swc`,configPath:`${t}/config/index.ts`,customConfigPath:`${t}/config/${CUSTOMCONFIG}.ts`,coveragePath:`${t}/coverage/clover.xml`,pagesPath:`${t}/src/pages`,componentsPath:`${t}/components`,mockPath:`${t}/mock`};export const routeDir="library"===process.env.APPTYPE?a.componentsPath:a.pagesPath;export default a;
@@ -1 +1 @@
1
- import t from"html-webpack-plugin";let s="AddEntryAttributePlugin";export class AddEntryAttributePlugin{constructor(t){this.test=t.test}apply(r){r.hooks.compilation.tap(s,r=>{t.getHooks(r).alterAssetTagGroups.tapAsync(s,(t,s)=>{t.headTags.forEach(t=>{"script"===t.tagName&&t.attributes.src&&this.test.test(t.attributes.src)&&(t.attributes.entry=!0)}),s(null,t)})})}}
1
+ import t from"html-webpack-plugin";let s="AddEntryAttributePlugin";export class AddEntryAttributePlugin{constructor(t){this.test=t.test}apply(e){e.hooks.compilation.tap(s,e=>{t.getHooks(e).alterAssetTagGroups.tapAsync(s,(t,s)=>{for(let s=0,e=t.headTags.length;s<e;s++){let e=t.headTags[s];"script"===e.tagName&&e.attributes.src&&this.test.test(e.attributes.src)&&(e.attributes.entry=!0)}s(null,t)})})}}
@@ -1 +1 @@
1
- import e from"webpack";let{sources:t}=e,r="ExternalRemotesPlugin";export default class{apply(e){e.hooks.make.tap(r,e=>{let n=[];e.hooks.buildModule.tap(r,e=>{"ExternalModule"===e.constructor.name&&"script"===e.externalType&&n.push(e)}),e.hooks.afterCodeGeneration.tap(r,function(){n.map(r=>{let n=function(e){let t=e.indexOf("@");if(t<=0||t===e.length-1)throw Error(`Invalid request "${e}"`);return[e.substring(t+1),e.substring(0,t)]}(r.request)[0],o=function(e){let t=[],r=[],n=!1,o=!1;for(let l of e)if("["===l){if(n){o=!0;break}n=!0,r.length&&(t.push(`"${r.join("")}"`),r.length=0)}else if("]"===l){if(!n){o=!0;break}n=!1,r.length&&(t.push(`${r.join("")}`),r.length=0),r.length=0}else r.push(l);if(n||o)throw Error(`Invalid template URL "${e}"`);return r.length&&t.push(`"${r.join("")}"`),t.join(" + ")}(n),l=e.codeGenerationResults.get(r,void 0).sources;l.set("javascript",new t.RawSource((l.get("javascript")?.source()).replace(`"${n}"`,o)))})})})}}
1
+ import e from"webpack";let{sources:t}=e,r="ExternalRemotesPlugin";export default class{apply(e){e.hooks.make.tap(r,e=>{let n=[];e.hooks.buildModule.tap(r,e=>{"ExternalModule"===e.constructor.name&&"script"===e.externalType&&n.push(e)}),e.hooks.afterCodeGeneration.tap(r,function(){n.map(r=>{let n=function(e){let t=e.indexOf("@");if(t<=0||t===e.length-1)throw Error(`Invalid request "${e}"`);return[e.substring(t+1),e.substring(0,t)]}(r.request)[0],o=function(e){let t=[],r=[],n=!1,o=!1;for(let l of e)if("["===l){if(n){o=!0;break}n=!0,r.length&&(t.push(`"${r.join("")}"`),r.length=0)}else if("]"===l){if(!n){o=!0;break}n=!1,r.length&&(t.push(`${r.join("")}`),r.length=0),r.length=0}else r.push(l);if(n||o)throw Error(`Invalid template URL "${e}"`);return r.length&&t.push(`"${r.join("")}"`),t.join(" + ")}(n),l=e.codeGenerationResults.get(r,void 0).sources,s=l.get("javascript")?.source();s&&l.set("javascript",new t.RawSource(s.replace(`"${n}"`,o)))})})})}}
@@ -1 +1 @@
1
- import e from"webpack";import r from"./external-remotes.mjs";import{CONFIG as t}from"../config.mjs";import{realResolve as o}from"../utils/index.mjs";let{NormalModuleReplacementPlugin:s,container:{ModuleFederationPlugin:a}}=e,m={},i={},l={},n=t.moduleFederation?.map(e=>{if(Array.isArray(e.remotes))for(let r=0,t=e.remotes.length;r<t;r++){let t=e.remotes[r],o=t.alias||t.name,s=t.filename||"remote_entry.js";if(l[o]=`${t.name}@${t.host}/${s}`,Array.isArray(t.library))for(let e=0,r=t.library.length;e<r;e++)m[t.library[e]]=`${o}/${t.library[e]}`}if(Array.isArray(e.exposes))for(let r=0,t=e.exposes.length;r<t;r++){let t=e.exposes[r];"string"==typeof t?i[`./${t}`]=o(t):"[object Object]"===Object.prototype.toString.call(t)&&(i[`./${t.name}`]=o(t.path))}return new a({filename:"remote_entry.js",...e,remotes:l,exposes:i})});n.length&&(n.push(new r),n.push(new s(/(.*)/,e=>{m[e.request]&&(e.request=m[e.request])})));export default n;
1
+ import e from"webpack";import r from"./external-remotes.mjs";import{CONFIG as t}from"../config.mjs";import{realResolve as o}from"../utils/index.mjs";let{NormalModuleReplacementPlugin:s,container:{ModuleFederationPlugin:a}}=e,m={},i={},l={},n=t.moduleFederation?.map(e=>{if(Array.isArray(e.remotes))for(let r=0,t=e.remotes.length;r<t;r++){let t=e.remotes[r],o=t.alias||t.name,s=t.filename||"remote_entry.js";if(l[o]=`${t.name}@${t.host}/${s}`,Array.isArray(t.library))for(let e=0,r=t.library.length;e<r;e++)m[t.library[e]]=`${o}/${t.library[e]}`}if(Array.isArray(e.exposes))for(let r=0,t=e.exposes.length;r<t;r++){let t=e.exposes[r];"string"==typeof t?i[`./${t}`]=o(t):"[object Object]"===Object.prototype.toString.call(t)&&(i[`./${t.name}`]=o(t.path))}return new a({filename:"remote_entry.js",...e,remotes:l,exposes:i})});n.length>0&&(n.push(new r),n.push(new s(/(.*)/,e=>{m[e.request]&&(e.request=m[e.request])})));export default n;
@@ -1 +1 @@
1
- import e from"add-asset-html-webpack-plugin";import t from"html-webpack-plugin";import l from"webpack";import{CONFIG as o}from"./config.mjs";import i from"./options/html-plugin-option.mjs";import{AddEntryAttributePlugin as p}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 a}from"./process-env.mjs";let{DefinePlugin:s,SourceMapDevToolPlugin:m,IgnorePlugin:c,WatchIgnorePlugin:h}=l,u=o.basename.split("/").filter(Boolean).length,f=`${Array(u).fill("..").join("/")+(u?"/":"")}404.html`,{pathSegmentsToKeep:d=u,path:w=f}=o.fixBrowserRouter||{},g=o.assetHtml.map(e=>({publicPath:"",...e})),j=[new h({paths:[/\.d\.ts$/]}),...r,new n(o.virtualModule),o.htmlPluginOption&&new t(i),o.fixBrowserRouter&&new t({filename:w,inject:!1,templateContent:()=>`<html lang="en"><head><title>${i.title}</title><script>const pathKeep = ${d||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 e(g),a&&new p({test:/main\.bundle\.js$/}),new s({"process.env":JSON.stringify(o.env)}),new c({resourceRegExp:/\/__tests__\//}),o.sourceMap&&new m(o.sourceMap),...o.plugins].filter(e=>!!e);export default j;
1
+ import e from"add-asset-html-webpack-plugin";import t from"html-webpack-plugin";import l from"webpack";import{CONFIG as o}from"./config.mjs";import i from"./options/html-plugin-option.mjs";import{AddEntryAttributePlugin as r}from"./plugin/add-entry-attribute.mjs";import p from"./plugin/module-federation.mjs";import{VirtualModuleWebpackPlugin as n}from"./plugin/virtual-module.mjs";import{isMicro as a}from"./process-env.mjs";let{DefinePlugin:m,SourceMapDevToolPlugin:s,IgnorePlugin:c}=l,u=o.basename.split("/").filter(Boolean).length,h=`${Array(u).fill("..").join("/")+(u?"/":"")}404.html`,{pathSegmentsToKeep:f=u,path:d=h}=o.fixBrowserRouter||{},g=o.assetHtml.map(e=>({publicPath:"",...e})),w=[...p,new n(o.virtualModule),o.htmlPluginOption&&new t(i),o.fixBrowserRouter&&new t({filename:d,inject:!1,templateContent:()=>`<html lang="en"><head><title>${i.title}</title><script>const pathKeep = ${f||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 e(g),a&&new r({test:/main\.bundle\.js$/}),new m({"process.env":JSON.stringify(o.env)}),new c({resourceRegExp:/\/__tests__\//}),o.sourceMap&&new s(o.sourceMap),...o.plugins].filter(e=>!!e);export default w;
@@ -1 +1 @@
1
- function e(...t){let o=this,r=t.length,l=Array(r);for(let e=0;e<r;e++)l[e]=t[e];for(;o.firstChild;)o.removeChild(o.firstChild);l.forEach(function(e){o.appendChild("string"==typeof e?document.createTextNode(e):e)})}Element.prototype.replaceChildren||(Element.prototype.replaceChildren=e),ShadowRoot.prototype.replaceChildren||(ShadowRoot.prototype.replaceChildren=e);
1
+ function e(...t){let o=t.length,r=Array(o);for(let e=0;e<o;e++)r[e]=t[e];for(;this.firstChild;)this.removeChild(this.firstChild);for(let e=0,t=r.length;e<t;e++){let t=r[e];this.appendChild("string"==typeof t?document.createTextNode(t):t)}}Element.prototype.replaceChildren||(Element.prototype.replaceChildren=e),ShadowRoot.prototype.replaceChildren||(ShadowRoot.prototype.replaceChildren=e);
package/lib/rule.d.mts CHANGED
@@ -18,5 +18,6 @@ declare const Rule: {
18
18
  node_modules: RegExp;
19
19
  __tests__: RegExp;
20
20
  dev_watch_ignored: RegExp;
21
+ worker_file: RegExp;
21
22
  };
22
23
  export default Rule;
package/lib/rule.mjs CHANGED
@@ -1 +1 @@
1
- export default{js:/\.(cj|mj|t|j)s(|x)$/i,css:/\.css$/i,less:/\.less$/i,scss:/\.(sa|sc)ss$/i,wasm:/\.wasm$/i,txt:/\.txt$/i,ico:/\.ico$/i,svg:/\.svg$/i,image:/\.(gif|png|jpe?g|webp)$/i,video:/\.(webm|mp4|ogv)$/i,font:/\.(woff2?|eot|ttf|otf)(\?.*)?$/i,markdown:/\.mdx?$/i,tsdoc:/^(?![._]).*(?<!\.test)\.(tsx?)$/,css_module:/(.*(?<!\.?global\.(le|c|sc|sa)ss)$)/i,node_modules_css_module:/(^(?!.*node_modules))(.*(?<!\.?global\.(le|c|sc|sa)ss)$)/i,no_parse:[/jquery|lodash|prismjs|prism\.js/,/react\.min\.js$/,/marked\.min\.js$/],node_modules:/node_modules/,__tests__:/(.+)\/__tests__\/(.+)/,dev_watch_ignored:/node_modules(?![\\/]@app)/};
1
+ export default{js:/\.(cj|mj|t|j)s(|x)$/i,css:/\.css$/i,less:/\.less$/i,scss:/\.(sa|sc)ss$/i,wasm:/\.wasm$/i,txt:/\.txt$/i,ico:/\.ico$/i,svg:/\.svg$/i,image:/\.(gif|png|jpe?g|webp)$/i,video:/\.(webm|mp4|ogv)$/i,font:/\.(woff2?|eot|ttf|otf)(\?.*)?$/i,markdown:/\.mdx?$/i,tsdoc:/^(?![._]).*(?<!\.test)\.(tsx?)$/,css_module:/(.*(?<!\.?global\.(le|c|sc|sa)ss)$)/i,node_modules_css_module:/(^(?!.*node_modules))(.*(?<!\.?global\.(le|c|sc|sa)ss)$)/i,no_parse:[/jquery|lodash|prismjs|prism\.js/,/react\.min\.js$/,/marked\.min\.js$/],node_modules:/node_modules/,__tests__:/(.+)\/__tests__\/(.+)/,dev_watch_ignored:/node_modules(?![\\/]@app)/,worker_file:/(?:webworker|worker)(\.|\b).*\.(js|ts)\b/};
@@ -1 +1 @@
1
- import o from"./log.mjs";export default function(r,a){return new Promise((e,s)=>{a.hooks.failed.tap(r,o=>{s(o)}),a.hooks.done.tap(r,r=>{r.hasErrors()||e(!0),r.compilation.warnings.forEach(r=>o(r.message)),r.compilation.errors.forEach(r=>o(r.message))})})}
1
+ import o from"./log.mjs";export default function(r,e){return new Promise((n,t)=>{e.hooks.failed.tap(r,o=>{t(o)}),e.hooks.done.tap(r,r=>{r.hasErrors()||n(!0);for(let e=0,n=r.compilation.warnings.length;e<n;e++)o(r.compilation.warnings[e].message);for(let e=0,n=r.compilation.errors.length;e<n;e++)o(r.compilation.errors[e].message)})})}
@@ -1 +1 @@
1
- import{resolve as t}from"path";import e from"./resolver-sync.mjs";import o from"../paths.mjs";export function toUpperCaseString(t){return t?.replace(/\b\w/g,t=>t.toUpperCase()).replace(/\./g," ")}export function resolveProgramPath(e){return t(o.programPath,`./${e}`)}export const resolveNodeModulesPath=t=>`${o.nodeModules}/${t}`;export const realResolve=t=>e.resolveSync({},o.programPath,t)||t;export function isObject(t){let e=typeof t;return null!==t&&("object"==e||"function"==e)}export function isFunction(t){if(!isObject(t))return!1;let e=Object.prototype.toString.call(t);return"[object Function]"==e||"[object AsyncFunction]"==e||"[object GeneratorFunction]"==e||"[object Proxy]"==e}export function empty(){}
1
+ import{resolve as t}from"path";import e from"./resolver-sync.mjs";import o from"../paths.mjs";export function toUpperCaseString(t){return t?.replaceAll(/\b\w/g,t=>t.toUpperCase()).replaceAll(/\./g," ")}export function resolveProgramPath(e){return t(o.programPath,`./${e}`)}export const resolveNodeModulesPath=t=>`${o.nodeModules}/${t}`;export const realResolve=t=>e.resolveSync({},o.programPath,t)||t;export function isObject(t){let e=typeof t;return null!==t&&("object"===e||"function"===e)}export function isFunction(t){if(!isObject(t))return!1;let e=Object.prototype.toString.call(t);return"[object Function]"===e||"[object AsyncFunction]"===e||"[object GeneratorFunction]"===e||"[object Proxy]"===e}export function empty(){}
package/lib/utils/log.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import r from"readline";export default function o(t){Array.isArray(t)?t.forEach(r=>{o(`${r}
2
- `)}):(r.cursorTo(process.stdout,0),process.stdout.write(t))}
1
+ import r from"readline";export default function e(o){if(Array.isArray(o))for(let r=0,t=o.length;r<t;r++)e(`${o[r]}
2
+ `);else r.cursorTo(process.stdout,0),process.stdout.write(o)}
@@ -1 +1 @@
1
- let f={aqua:/#00ffff(ff)?(?!\w)|#0ff(f)?(?!\w)/gi,azure:/#f0ffff(ff)?(?!\w)/gi,beige:/#f5f5dc(ff)?(?!\w)/gi,bisque:/#ffe4c4(ff)?(?!\w)/gi,black:/#000000(ff)?(?!\w)|#000(f)?(?!\w)/gi,blue:/#0000ff(ff)?(?!\w)|#00f(f)?(?!\w)/gi,brown:/#a52a2a(ff)?(?!\w)/gi,coral:/#ff7f50(ff)?(?!\w)/gi,cornsilk:/#fff8dc(ff)?(?!\w)/gi,crimson:/#dc143c(ff)?(?!\w)/gi,cyan:/#00ffff(ff)?(?!\w)|#0ff(f)?(?!\w)/gi,darkblue:/#00008b(ff)?(?!\w)/gi,darkcyan:/#008b8b(ff)?(?!\w)/gi,darkgrey:/#a9a9a9(ff)?(?!\w)/gi,darkred:/#8b0000(ff)?(?!\w)/gi,deeppink:/#ff1493(ff)?(?!\w)/gi,dimgrey:/#696969(ff)?(?!\w)/gi,gold:/#ffd700(ff)?(?!\w)/gi,green:/#008000(ff)?(?!\w)/gi,grey:/#808080(ff)?(?!\w)/gi,honeydew:/#f0fff0(ff)?(?!\w)/gi,hotpink:/#ff69b4(ff)?(?!\w)/gi,indigo:/#4b0082(ff)?(?!\w)/gi,ivory:/#fffff0(ff)?(?!\w)/gi,khaki:/#f0e68c(ff)?(?!\w)/gi,lavender:/#e6e6fa(ff)?(?!\w)/gi,lime:/#00ff00(ff)?(?!\w)|#0f0(f)?(?!\w)/gi,linen:/#faf0e6(ff)?(?!\w)/gi,maroon:/#800000(ff)?(?!\w)/gi,moccasin:/#ffe4b5(ff)?(?!\w)/gi,navy:/#000080(ff)?(?!\w)/gi,oldlace:/#fdf5e6(ff)?(?!\w)/gi,olive:/#808000(ff)?(?!\w)/gi,orange:/#ffa500(ff)?(?!\w)/gi,orchid:/#da70d6(ff)?(?!\w)/gi,peru:/#cd853f(ff)?(?!\w)/gi,pink:/#ffc0cb(ff)?(?!\w)/gi,plum:/#dda0dd(ff)?(?!\w)/gi,purple:/#800080(ff)?(?!\w)/gi,red:/#ff0000(ff)?(?!\w)|#f00(f)?(?!\w)/gi,salmon:/#fa8072(ff)?(?!\w)/gi,seagreen:/#2e8b57(ff)?(?!\w)/gi,seashell:/#fff5ee(ff)?(?!\w)/gi,sienna:/#a0522d(ff)?(?!\w)/gi,silver:/#c0c0c0(ff)?(?!\w)/gi,skyblue:/#87ceeb(ff)?(?!\w)/gi,snow:/#fffafa(ff)?(?!\w)/gi,tan:/#d2b48c(ff)?(?!\w)/gi,teal:/#008080(ff)?(?!\w)/gi,thistle:/#d8bfd8(ff)?(?!\w)/gi,tomato:/#ff6347(ff)?(?!\w)/gi,violet:/#ee82ee(ff)?(?!\w)/gi,wheat:/#f5deb3(ff)?(?!\w)/gi,white:/#ffffff(ff)?(?!\w)|#fff(f)?(?!\w)/gi};export default function(e){let i;if("string"!=typeof e)throw TypeError(`Expected a string, but received ${typeof e}`);let g=(i=(65279===e.charCodeAt(0)?e.slice(1):e).trim().replace(/\s+/g," "),Object.keys(f).forEach(function(e){f[e].test(i)&&(i=i.replace(f[e],e))}),i).replace(/"/g,"'");return`data:image/svg+xml,${encodeURIComponent(g).replace(/%[\dA-F]{2}/g,function(f){switch(f){case"%20":return" ";case"%3D":return"=";case"%3A":return":";case"%2F":return"/";default:return f.toLowerCase()}})}`}
1
+ let f={aqua:/#00ffff(ff)?(?!\w)|#0ff(f)?(?!\w)/gi,azure:/#f0ffff(ff)?(?!\w)/gi,beige:/#f5f5dc(ff)?(?!\w)/gi,bisque:/#ffe4c4(ff)?(?!\w)/gi,black:/#000000(ff)?(?!\w)|#000(f)?(?!\w)/gi,blue:/#0000ff(ff)?(?!\w)|#00f(f)?(?!\w)/gi,brown:/#a52a2a(ff)?(?!\w)/gi,coral:/#ff7f50(ff)?(?!\w)/gi,cornsilk:/#fff8dc(ff)?(?!\w)/gi,crimson:/#dc143c(ff)?(?!\w)/gi,cyan:/#00ffff(ff)?(?!\w)|#0ff(f)?(?!\w)/gi,darkblue:/#00008b(ff)?(?!\w)/gi,darkcyan:/#008b8b(ff)?(?!\w)/gi,darkgrey:/#a9a9a9(ff)?(?!\w)/gi,darkred:/#8b0000(ff)?(?!\w)/gi,deeppink:/#ff1493(ff)?(?!\w)/gi,dimgrey:/#696969(ff)?(?!\w)/gi,gold:/#ffd700(ff)?(?!\w)/gi,green:/#008000(ff)?(?!\w)/gi,grey:/#808080(ff)?(?!\w)/gi,honeydew:/#f0fff0(ff)?(?!\w)/gi,hotpink:/#ff69b4(ff)?(?!\w)/gi,indigo:/#4b0082(ff)?(?!\w)/gi,ivory:/#fffff0(ff)?(?!\w)/gi,khaki:/#f0e68c(ff)?(?!\w)/gi,lavender:/#e6e6fa(ff)?(?!\w)/gi,lime:/#00ff00(ff)?(?!\w)|#0f0(f)?(?!\w)/gi,linen:/#faf0e6(ff)?(?!\w)/gi,maroon:/#800000(ff)?(?!\w)/gi,moccasin:/#ffe4b5(ff)?(?!\w)/gi,navy:/#000080(ff)?(?!\w)/gi,oldlace:/#fdf5e6(ff)?(?!\w)/gi,olive:/#808000(ff)?(?!\w)/gi,orange:/#ffa500(ff)?(?!\w)/gi,orchid:/#da70d6(ff)?(?!\w)/gi,peru:/#cd853f(ff)?(?!\w)/gi,pink:/#ffc0cb(ff)?(?!\w)/gi,plum:/#dda0dd(ff)?(?!\w)/gi,purple:/#800080(ff)?(?!\w)/gi,red:/#ff0000(ff)?(?!\w)|#f00(f)?(?!\w)/gi,salmon:/#fa8072(ff)?(?!\w)/gi,seagreen:/#2e8b57(ff)?(?!\w)/gi,seashell:/#fff5ee(ff)?(?!\w)/gi,sienna:/#a0522d(ff)?(?!\w)/gi,silver:/#c0c0c0(ff)?(?!\w)/gi,skyblue:/#87ceeb(ff)?(?!\w)/gi,snow:/#fffafa(ff)?(?!\w)/gi,tan:/#d2b48c(ff)?(?!\w)/gi,teal:/#008080(ff)?(?!\w)/gi,thistle:/#d8bfd8(ff)?(?!\w)/gi,tomato:/#ff6347(ff)?(?!\w)/gi,violet:/#ee82ee(ff)?(?!\w)/gi,wheat:/#f5deb3(ff)?(?!\w)/gi,white:/#ffffff(ff)?(?!\w)|#fff(f)?(?!\w)/gi};export default function(e){if("string"!=typeof e)throw TypeError(`Expected a string, but received ${typeof e}`);let i=(function(e){let i=e,g=Object.keys(f);for(let e=0,w=g.length;e<w;e++){let w=g[e];f[w].test(i)&&(i=i.replace(f[w],w))}return i})((65279===e.charCodeAt(0)?e.slice(1):e).trim().replaceAll(/\s+/g," ")).replaceAll('"',"'");return`data:image/svg+xml,${encodeURIComponent(i).replaceAll(/%[\dA-F]{2}/g,function(f){switch(f){case"%20":return" ";case"%3D":return"=";case"%3A":return":";case"%2F":return"/";default:return f.toLowerCase()}})}`}
@@ -1 +1 @@
1
- import{fileExists as e,loadFileSync as r}from"@moneko/mdx";import{Parser as t}from"xml2js";import{PACKAGENAME as o}from"../process-env.mjs";export default function(c){let a={},i="export default {}";if(e(c))try{let e=r(c);(0,new t({explicitArray:!1,async:!1}).parseString)(e,(e,r)=>{e||(Object.assign(a,{[o]:r.coverage.project.metrics.$}),r.coverage.project.package.forEach(e=>{Object.assign(a,{[e.$.name]:e.metrics.$})})),i=`export default ${JSON.stringify(a)}`})}catch(e){}return i}
1
+ import{fileExists as e,loadFileSync as t}from"@moneko/mdx";import{Parser as r}from"xml2js";import{PACKAGENAME as o}from"../process-env.mjs";export default function(i){let a={},n="export default {}";if(e(i))try{let e=t(i);(0,new r({explicitArray:!1,async:!1}).parseString)(e,(e,t)=>{if(!e){let{metrics:e,package:r}=t.coverage.project;Object.assign(a,{[o]:e.$});for(let e=0,t=r.length;e<t;e++){let t=r[e];Object.assign(a,{[t.$.name]:t.metrics.$})}}n=`export default ${JSON.stringify(a)}`})}catch(e){}return n}
package/lib/vm/docs.mjs CHANGED
@@ -1 +1 @@
1
- import{loadFileSync as e,scanFolder as t}from"@moneko/mdx";import o from"./generate-doc.mjs";import{CONFIG as r}from"../config.mjs";import{FRAMEWORK as n,isLibrary as a,isReact as s,isSolid as m}from"../process-env.mjs";import p from"../utils/reactive-object.mjs";let l={react:"createElement",solid:"createComponent"}[n];export const docsModuleName="@app/docs";export const docs=new p({[docsModuleName]:"export default {}"});export const comment=new p({});export const getCommentPath=function(){let e=/^\/?(.+?)\.tsx?$/,t=r.alias["@pkg"]?.length;return o=>o.substring(t).replace(e,"@app/comment/$1.md")}();if(a){let a={},p=`import { ${l}${m?",Dynamic":""} } from "${{react:"react",solid:"solid-js"}[n]}${m?"/web":""}";import SuspenseComp from "@app/suspense";function call_then(res) {return {default: ${s?"() =>":""}${l}(${m?"Dynamic":"'n-md'"}, {text: res.default, ${m?"component: 'n-md', ":""}css: 'table td a {display:inline-flex;align-items:center;gap:2px;}table td a n-img{display:inline-block;overflow:hidden;border-radius:var(--border-radius);inline-size:18px;block-size:18px;}' })};}`,c=(e,t)=>{let o=e.replace(/^@app\/comment\//,"").split("/"),r=o.pop(),n=o.join("/");a[n]||(a[n]={}),t?a[n][r]&&delete a[n][r]:a[n][r]=`rr(() => ${l}(SuspenseComp, { comp: () => import(/* webpackChunkName: '${e}' */ '${e}?raw').then(call_then)}))rr`;let s={};for(let e in a)Object.prototype.hasOwnProperty.call(a,e)&&(s[e]=Object.values(a[e]));docs.setData(docsModuleName,`${p}export default ${JSON.stringify(s).replace(/"rr\((.+?)\)rr"/g,"$1")}`)};comment.on("change",(e,t)=>{c(e,t?.length<0)}),t(r.alias["@pkg"],["\\.tsx?$"]).filter(e=>!/(^|\/)\.[^\\/\\.]|\.test\./i.test(e)).forEach(t=>{let r=e(t);r&&comment.setData(getCommentPath(t),o(r,t))})}
1
+ import{loadFileSync as e,scanFolder as t}from"@moneko/mdx";import o from"./generate-doc.mjs";import{CONFIG as r}from"../config.mjs";import{FRAMEWORK as n,isLibrary as a,isReact as s,isSolid as m}from"../process-env.mjs";import l from"../utils/reactive-object.mjs";let p={react:"createElement",solid:"createComponent"}[n];export const docsModuleName="@app/docs";export const docs=new l({[docsModuleName]:"export default {}"});export const comment=new l({});export const getCommentPath=function(){let e=/^\/?(.+?)\.tsx?$/,t=r.alias["@pkg"]?.length;return o=>o.substring(t).replace(e,"@app/comment/$1.md")}();if(a){let a={},l=`import { ${p}${m?",Dynamic":""} } from "${{react:"react",solid:"solid-js"}[n]}${m?"/web":""}";import SuspenseComp from "@app/suspense";function call_then(res) {return {default: ${s?"() =>":""}${p}(${m?"Dynamic":"'n-md'"}, {text: res.default, ${m?"component: 'n-md', ":""}css: 'table td a {display:inline-flex;align-items:center;gap:2px;}table td a n-img{display:inline-block;overflow:hidden;border-radius:var(--border-radius);inline-size:18px;block-size:18px;}' })};}`,c=(e,t)=>{let o=e.replace(/^@app\/comment\//,"").split("/"),r=o.pop(),n=o.join("/");a[n]||(a[n]={}),t?a[n][r]&&delete a[n][r]:a[n][r]=`rr(() => ${p}(SuspenseComp, { comp: () => import(/* webpackChunkName: '${e}' */ '${e}?raw').then(call_then)}))rr`;let s={};for(let e in a)Object.prototype.hasOwnProperty.call(a,e)&&(s[e]=Object.values(a[e]));docs.setData(docsModuleName,`${l}export default ${JSON.stringify(s).replace(/"rr\((.+?)\)rr"/g,"$1")}`)};comment.on("change",(e,t)=>{c(e,t?.length<0)});let i=t(r.alias["@pkg"],["\\.tsx?$"]).filter(e=>!/(^|\/)\.[^\\/\\.]|\.test\./i.test(e));for(let t=0,r=i.length;t<r;t++){let r=i[t],n=e(r);n&&comment.setData(getCommentPath(r),o(n,r))}}
@@ -1 +1 @@
1
- import{dirname as e}from"path";import t from"typescript";import{CONFIG as n}from"../config.mjs";let{ScriptKind:l,ScriptTarget:r,SyntaxKind:o,createSourceFile:i,forEachChild:a,getLeadingCommentRanges:c,isInterfaceDeclaration:s,isQuestionToken:u,isPropertySignature:f,isFunctionTypeNode:p,isUnionTypeNode:m,isMethodSignature:g}=t,$={};function h(e){let t=c(e.getSourceFile().text,e.pos);if(t){let n=e.getSourceFile().text.substring(t[0].pos,t[0].end).match(/\/\*\*([\s\S]*?)\*\//);if(n)return n[1].replaceAll(/^\s*\* ?/gm,"").replace(/\s+$/,"").trim()}}function d(e){if(!e)return;let t=e.match(/@since\s+([^\n]+)/);return t?t[1].trim():void 0}function b(e){if(!e)return;let t=e.match(/@author (\w+)\s*(?:<([^>]+)>)?/);if(t&&t.length>0){let e=t[1].trim(),n=t[2]?.trim(),l=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(n);return n?l&&(n=`mailto:${n}`):n=`https://github.com/${e}`,`[![${e}](https://avatars.githubusercontent.com/${e}?s=64)${e}](${n})`}}function y(e){if(!e)return;let t=e.match(/@ignore\s+([^\n]+)/);return t?t[1].trim():void 0}let x=/(?<!['"])(unknown|any|void|bigint|object|undefined|null|boolean|number|string|symbol)(?!['"])/g;function j(e,t){if(!e)return;let l=e.replaceAll(/\b([A-Z][a-zA-Z0-9]*)\b/g,e=>{if($[e]){let l=`/${[n.basename,$[e]].join("/").split("/").filter(Boolean).join("/")}`;return t?`[\\color{#009688}{${e}}](${l})`:`[${e}](${l})`}return t?`\\color{#009688}{${e}}`:e});return t&&(l=l.replaceAll(x,e=>`\\color{#009688}{${e}}`)),l}function A(e){if(e)return(function(e){let t;if(!e)return;let n=[];for(;t=/\\color{([^|}]*)\|?([^|}]*)\|?([^|}]*)\|?([^}]*)}{([^}]*)}/g.exec(e);)n.push(t[0]);return e.replaceAll(/[{}[\]()=>]|keyof|typeof|true|false/g,e=>n.some(t=>t.includes(e))?e:`\\color{#569cd6}{${e}}`)})(e)?.replaceAll(/^\s*\|\s*|\s*\|\s*$/gm,"").replaceAll(/\n/g,"<br/>").replaceAll(/\*/g,"\\*").replaceAll(/\|/g,"\\|").replaceAll(/(['"])((?:(?!\1).)*)\1/g,"\\color{#ce9178}{$1$2$1}")}function T(e){if(e)return e.replaceAll(/^@[a-z].+/gm,"").replaceAll(/(\n\s+)+/g,"<br />").replaceAll(/\n/g,"<br />").replaceAll(/(<br \/>)$/g,"")}export default function B(c,x){let B=i(x,c,r.Latest,!0,l.TS),k="";return a(B,l=>{s(l)?k+=function(l){let r=l.name.text;Object.assign($,{[l.name.text]:e(l.getSourceFile().fileName).replace(n.alias["@pkg"],"")});let i=h(l),a=d(i),c=T(i),s=y(i)?.split("|")||[],x=s.includes("comment"),B=s.includes("initial"),k=s.includes("optional"),v=s.includes("version"),w=s.includes("author"),E=c?`\\color{|4||0.45}{${r}}`:r,S=(function(e){let n=[];if(e.heritageClauses){for(let l of e.heritageClauses)if(l.token===t.SyntaxKind.ExtendsKeyword)for(let e of l.types)n.push(e.getText())}return n})(l)?.map(e=>`<n-tag color="#4c81db" css=".tag{gap:0px;}">${j(A(e))}</n-tag>`),F=[c,E,a&&`\\color{#52c11b|1||0.9}{${a}}`,S.length>0&&`<sub>\`extends\`</sub> ${S.join(" ")}`].filter(Boolean).join(" "),z=`## ${F}`,K=l.members.filter(e=>f(e)&&e.type?.kind!==o.NeverKeyword||g(e)),N=[];if(K.length>0){K.forEach(e=>{let t=j(A(g(e)?`(${e.parameters.map(e=>`${e.name.getText()}: ${e.type?.getText()||"any"}`).join(", ")}): ${e.type?.getText()||"any"}`:e.type?.getText()||"any"),!0),n=h(e),l=A(e.name.getText());!l||l.startsWith("\\color")||(g(e)||function(e){if(e.type){if(!m(e.type))return p(e.type);for(let t of e.type.types)if(p(t))return!0}return!1}(e)||t?.includes("=>")?l=`\\color{#f9a913}{${l}}`:/^["'](.+)["']$/.test(l)||(l=`\\color{#4c81db}{${l}}`));let r=e.questionToken&&u(e.questionToken);N.push([l,!k&&`\\color{${r?"#f9a913":"#52c11b"}\\|\\|\\|0.9}{${r?"✘":"✔"}}`,!x&&A(T(n)),t,!B&&A(function(e){if(!e)return;let t=e.match(/@default\s+([^\n]+)/);return t?t[1].trim():void 0}(n)),!v&&A(d(n)),!w&&(b(n)||b(i))])});let e=!1,t=!1,n=!1,l=!1;N.forEach(r=>{!x&&r[2]&&(l=!0),!B&&r[4]&&(n=!0),!v&&r[5]&&(t=!0),!w&&r[6]&&(e=!0)}),z+="\n";let r=["属性",!k&&"必要",l&&"说明","类型",n&&"默认值",t&&"版本",e&&"作者"].filter(Boolean).join("|");z+=`|${r}|`;let o=[":-",!k&&":-",l&&":-",":-",n&&":-",t&&":-",e&&":-"].filter(Boolean);z+="\n";let a=o.join("|");z+=`|${a}|`,N.forEach(r=>{z+="\n";let o=[r[0]||"-",!k&&(r[1]||"-"),l&&(r[2]||"-"),r[3]||"-",n&&(r[4]||"-"),t&&(r[5]||"-"),e&&(r[6]||"-")].filter(Boolean).join("|");z+=`|${o}|`}),z+="\n"}return z+="\n"}(l):t.isEnumDeclaration(l)&&(k+=function(l){let r=l.name.text,o=h(l),i=T(o),a=d(o);Object.assign($,{[l.name.text]:e(l.getSourceFile().fileName).replace(n.alias["@pkg"],"")});let c=i?`\\color{|4||0.45}{${r}}`:r,s=[i,c,a&&`\\color{#52c11b|1||0.9}{${a}}`].filter(Boolean).join(" "),u=y(o)?.split("|")||[],f=u.includes("comment"),p=u.includes("version"),m=u.includes("author"),g=`## ${s}`;if(l.members.length>0){let e=[];l.members.forEach(n=>{let l=A(n.name.getText()),r=h(n),i=A(function(e){let n=e.initializer;if(n&&t.isStringLiteral(n))return` '${n.text}'`}(n)),a=A(d(r)),c=A(T(r));!l||l.startsWith("\\color")||/^["'](.+)["']$/.test(l)||(l=`\\color{#4c81db}{${l}}`),e.push([l,!f&&c,i,!p&&a,!m&&(b(r)||b(o))])});let n=!1,r=!1,i=!1;e.forEach(e=>{!f&&e[1]&&(i=!0),!p&&e[3]&&(r=!0),!m&&e[4]&&(n=!0)}),g+="\n";let a=["属性",i&&"说明","值",r&&"版本",n&&"作者"].filter(Boolean).join("|");g+=`|${a}|`;let c=[":-",i&&":-",":-",r&&":-",n&&":-"].filter(Boolean);g+="\n";let s=c.join("|");g+=`|${s}|`,e.forEach(e=>{g+="\n";let t=[e[0]||"-",i&&(e[1]||"-"),e[2]||"-",r&&(e[3]||"-"),n&&(e[4]||"-")].filter(Boolean).join("|");g+=`|${t}|`})}return g+="\n\n"}(l))}),k}
1
+ import{dirname as e}from"node:path";import t from"typescript";import{CONFIG as l}from"../config.mjs";let{ScriptKind:n,ScriptTarget:r,SyntaxKind:o,createSourceFile:i,forEachChild:c,getLeadingCommentRanges:a,isInterfaceDeclaration:s,isQuestionToken:u,isPropertySignature:f,isFunctionTypeNode:m,isUnionTypeNode:p,isMethodSignature:g}=t,$={};function h(e){let t=a(e.getSourceFile().text,e.pos);if(t){let l=e.getSourceFile().text.slice(t[0].pos,t[0].end).match(/\/\*\*([\s\S]*?)\*\//);if(l)return l[1].replaceAll(/^\s*\* ?/gm,"").replace(/\s+$/,"").trim()}}function d(e){if(!e)return;let t=e.match(/@since\s+([^\n]+)/);return t?t[1].trim():void 0}function b(e){if(!e)return;let t=e.match(/@author (\w+)\s*(?:<([^>]+)>)?/);if(t&&t.length>0){let e=t[1].trim(),l=t[2]?.trim(),n=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(l);return l?n&&(l=`mailto:${l}`):l=`https://github.com/${e}`,`[![${e}](https://avatars.githubusercontent.com/${e}?s=64)${e}](${l})`}}function y(e){if(!e)return;let t=e.match(/@ignore\s+([^\n]+)/);return t?t[1].trim():void 0}let x=/(?<!['"])(unknown|any|void|bigint|object|undefined|null|boolean|number|string|symbol)(?!['"])/g;function j(e,t){if(!e)return;let n=e.replaceAll(/\b([A-Z][a-zA-Z0-9]*)\b/g,e=>{if($[e]){let n=`/${[l.basename,$[e]].join("/").split("/").filter(Boolean).join("/")}`;return t?`[\\color{#009688}{${e}}](${n})`:`[${e}](${n})`}return t?`\\color{#009688}{${e}}`:e});return t&&(n=n.replaceAll(x,e=>`\\color{#009688}{${e}}`)),n}function A(e){if(e)return(function(e){let t;if(!e)return;let l=[];for(;t=/\\color{([^|}]*)\|?([^|}]*)\|?([^|}]*)\|?([^}]*)}{([^}]*)}/g.exec(e);)l.push(t[0]);return e.replaceAll(/[{}[\]()=>]|keyof|typeof|true|false/g,e=>l.some(t=>t.includes(e))?e:`\\color{#569cd6}{${e}}`)})(e)?.replaceAll(/^\s*\|\s*|\s*\|\s*$/gm,"").replaceAll(/\n/g,"<br/>").replaceAll(/\*/g,"\\*").replaceAll(/\|/g,"\\|").replaceAll(/(['"])((?:(?!\1).)*)\1/g,"\\color{#ce9178}{$1$2$1}")}function T(e){if(e)return e.replaceAll(/^@[a-z].+/gm,"").replaceAll(/(\n\s+)+/g,"<br />").replaceAll(/\n/g,"<br />").replaceAll(/(<br \/>)$/g,"")}export default function B(a,x){let B=i(x,a,r.Latest,!0,n.TS),k="";return c(B,n=>{s(n)?k+=function(n){let r=n.name.text;Object.assign($,{[n.name.text]:e(n.getSourceFile().fileName).replace(l.alias["@pkg"],"")});let i=h(n),c=d(i),a=T(i),s=y(i)?.split("|")||[],x=s.includes("comment"),B=s.includes("initial"),k=s.includes("optional"),v=s.includes("version"),w=s.includes("author"),S=a?`\\color{|4||0.45}{${r}}`:r,F=(function(e){let l=[];if(e.heritageClauses){for(let n of e.heritageClauses)if(n.token===t.SyntaxKind.ExtendsKeyword)for(let e of n.types)l.push(e.getText())}return l})(n)?.map(e=>`<n-tag color="#4c81db" css=".tag{gap:0px;}">${j(A(e))}</n-tag>`),z=[a,S,c&&`\\color{#52c11b|1||0.9}{${c}}`,F.length>0&&`<sub>\`extends\`</sub> ${F.join(" ")}`].filter(Boolean).join(" "),K=`## ${z}`,N=n.members.filter(e=>f(e)&&e.type?.kind!==o.NeverKeyword||g(e)),q=[];if(N.length>0){for(let e=0,t=N.length;e<t;e++){let t=N[e],l=j(A(g(t)?`(${t.parameters.map(e=>`${e.name.getText()}: ${e.type?.getText()||"any"}`).join(", ")}): ${t.type?.getText()||"any"}`:t.type?.getText()||"any"),!0),n=h(t),r=A(t.name.getText());!r||r.startsWith("\\color")||(g(t)||function(e){if(e.type){if(!p(e.type))return m(e.type);for(let t of e.type.types)if(m(t))return!0}return!1}(t)||l?.includes("=>")?r=`\\color{#f9a913}{${r}}`:/^["'](.+)["']$/.test(r)||(r=`\\color{#4c81db}{${r}}`));let o=t.questionToken&&u(t.questionToken);q.push([r,!k&&`\\color{${o?"#f9a913":"#52c11b"}\\|\\|\\|0.9}{${o?"✘":"✔"}}`,!x&&A(T(n)),l,!B&&A(function(e){if(!e)return;let t=e.match(/@default\s+([^\n]+)/);return t?t[1].trim():void 0}(n)),!v&&A(d(n)),!w&&(b(n)||b(i))])}let e=!1,t=!1,l=!1,n=!1;for(let r=0,o=q.length;r<o;r++){let o=q[r];!x&&o[2]&&(n=!0),!B&&o[4]&&(l=!0),!v&&o[5]&&(t=!0),!w&&o[6]&&(e=!0)}K+="\n";let r=["属性",!k&&"必要",n&&"说明","类型",l&&"默认值",t&&"版本",e&&"作者"].filter(Boolean).join("|");K+=`|${r}|`;let o=[":-",!k&&":-",n&&":-",":-",l&&":-",t&&":-",e&&":-"].filter(Boolean);K+="\n";let c=o.join("|");K+=`|${c}|`;for(let r=0,o=q.length;r<o;r++){let o=q[r];K+="\n";let i=[o[0]||"-",!k&&(o[1]||"-"),n&&(o[2]||"-"),o[3]||"-",l&&(o[4]||"-"),t&&(o[5]||"-"),e&&(o[6]||"-")].filter(Boolean).join("|");K+=`|${i}|`}K+="\n"}return K+"\n"}(n):t.isEnumDeclaration(n)&&(k+=function(n){let r=n.name.text,o=h(n),i=T(o),c=d(o);Object.assign($,{[n.name.text]:e(n.getSourceFile().fileName).replace(l.alias["@pkg"],"")});let a=i?`\\color{|4||0.45}{${r}}`:r,s=[i,a,c&&`\\color{#52c11b|1||0.9}{${c}}`].filter(Boolean).join(" "),u=y(o)?.split("|")||[],f=u.includes("comment"),m=u.includes("version"),p=u.includes("author"),g=`## ${s}`;if(n.members.length>0){let e=[];for(let l=0,r=n.members.length;l<r;l++){let r=n.members[l],i=A(r.name.getText()),c=h(r),a=A(function(e){let l=e.initializer;if(l&&t.isStringLiteral(l))return` '${l.text}'`}(r)),s=A(d(c)),u=A(T(c));!i||i.startsWith("\\color")||/^["'](.+)["']$/.test(i)||(i=`\\color{#4c81db}{${i}}`),e.push([i,!f&&u,a,!m&&s,!p&&(b(c)||b(o))])}let l=!1,r=!1,i=!1;for(let t=0,n=e.length;t<n;t++){let n=e[t];!f&&n[1]&&(i=!0),!m&&n[3]&&(r=!0),!p&&n[4]&&(l=!0)}g+="\n";let c=["属性",i&&"说明","值",r&&"版本",l&&"作者"].filter(Boolean).join("|");g+=`|${c}|`;let a=[":-",i&&":-",":-",r&&":-",l&&":-"].filter(Boolean);g+="\n";let s=a.join("|");g+=`|${s}|`;for(let t=0,n=e.length;t<n;t++){let n=e[t];g+="\n";let o=[n[0]||"-",i&&(n[1]||"-"),n[2]||"-",r&&(n[3]||"-"),l&&(n[4]||"-")].filter(Boolean).join("|");g+=`|${o}|`}}return g+"\n\n"}(n))}),k}
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@moneko/core",
3
- "version": "3.9.17-beta.25",
3
+ "version": "3.9.17-beta.27",
4
4
  "description": "core",
5
5
  "main": "lib/index.mjs",
6
6
  "type": "module",
7
7
  "scripts": {
8
+ "prebuild": "oxlint -D correctness -D restriction src",
8
9
  "build": "rm -rf ./lib && tsc && swc src -d lib -D",
9
10
  "postbuild": "npm run cjs && npm run mjs",
10
11
  "cjs": "find ./lib/loader/ -type f -name \"*.js\" -execdir bash -c 'mv \"$1\" \"${1%.js}.cjs\"' _ {} \\;",