@moneko/core 3.18.3 → 3.18.4

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/config.mjs CHANGED
@@ -1 +1 @@
1
- import{merge as e}from"webpack-merge";import o from"./options/jsx-dom-expressions.mjs";import t from"./options/split-chunk.mjs";import s from"./paths.mjs";import{APPTYPE as i,FRAMEWORK as r,NODE_ENV as n,PACKAGENAME as l,isDev as a,isLibrary as m,isMobile as p,jsxImportSource as c,mainDirectory as u}from"./process-env.mjs";import{isFunction as d,resolveProgram as f}from"./utils/index.mjs";import h from"./utils/setup-env.mjs";import{fileExists as g}from"@moneko/utils";import x from"./utils/require.mjs";let v=["@moneko","neko-ui","antd","@antv","katex","font-pingfang-sc","font-pingfang-tc","react-photo-view","react-markdown-editor-lite","schema-design","@app",".cache/http/data"],P={devtool:a?"eval-cheap-module-source-map":"cheap-module-source-map",seo:!1,mode:"csr",bundleAnalyzer:!1,polyfill:!1,entry:{},minifier:{},sourceMap:{filename:"[file].map",publicPath:""},env:h(n,i,r),basename:"/",publicPath:"auto",rem:{designSize:p?375:1920},fallbackCompPath:null,modifyVars:{},prefixCls:"n",alias:{"@":f(u)},moduleRules:[],prefixJsLoader:[],cssModules:[],cssModuleDefinition:!0,importOnDemand:{},proxy:{},devServer:{host:"localhost",port:3e3},htmlPluginOption:{},copy:{},routerMode:"browser",fixBrowserRouter:!1,plugins:[],resolvePlugins:[],overrideResolve:!1,splitChunk:t,runtimeChunk:"single",moduleFederation:[],rulesInclude:{css:v,js:v,media:v,font:v,wasm:[]},mdx:{jsx:!1,development:a,jsxImportSource:c,providerImportSource:`@moneko/${r}/mdx`},jsxDomExpressions:o,bar:{name:"Client",color:"#6f42c1"},normalizeCss:!0,externalsPresets:{},buildHttp:void 0,virtualModule:{},cssExtract:{},externals:["@swc/core"],lazyCompilation:!1,performance:{maxAssetSize:256e3,maxEntrypointSize:256e3,assetFilter:e=>e.endsWith(".js")}};function j(e){if(g(e)){let o=x(e).default;return d(o)?o(process):o}return{}}m&&(P.alias=Object.assign(P.alias,{"@pkg":s.componentsPath,[l]:s.componentsPath}));let k=P;(!1===(k=e(k,j(s.configPath),j(s.customConfigPath))).devtool||!1===k.sourceMap)&&(k.sourceMap=!1,k.devtool=!1),k.fixBrowserRouter&&k.htmlPluginOption&&(k.htmlPluginOption.tags||(k.htmlPluginOption.tags=[]),k.htmlPluginOption.tags.push({textContent:"(function(l) {if (l.search[1] === '/' ) {var decoded = l.search.slice(1).split('&').map(function(s) {return s.replace(/~and~/g, '&')}).join('?');window.history.replaceState(null, null,l.pathname.slice(0, -1) + decoded + l.hash);}}(window.location))"}));export const CONFIG=k;export const PUBLICPATH=CONFIG.publicPath;
1
+ import{merge as e}from"webpack-merge";import o from"./options/jsx-dom-expressions.mjs";import t from"./options/split-chunk.mjs";import s from"./paths.mjs";import{APPTYPE as i,FRAMEWORK as r,NODE_ENV as n,PACKAGENAME as l,isDev as a,isLibrary as m,isMobile as p,jsxImportSource as c,mainDirectory as u}from"./process-env.mjs";import{isFunction as d,resolveProgram as f}from"./utils/index.mjs";import h from"./utils/setup-env.mjs";import{fileExists as g}from"@moneko/utils";import x from"./utils/require.mjs";let v=["@moneko","neko-ui","antd","@antv","katex","font-pingfang-sc","font-pingfang-tc","react-photo-view","react-markdown-editor-lite","schema-design","@app",".cache/http/data"],P={devtool:a?"eval-cheap-module-source-map":"cheap-module-source-map",seo:!1,mode:"csr",bundleAnalyzer:!1,polyfill:!1,entry:{},minifier:{},sourceMap:{filename:"[file].map",publicPath:""},env:h(n,i,r),basename:"/",publicPath:"/",rem:{designSize:p?375:1920},fallbackCompPath:null,modifyVars:{},prefixCls:"n",alias:{"@":f(u)},moduleRules:[],prefixJsLoader:[],cssModules:[],cssModuleDefinition:!0,importOnDemand:{},proxy:{},devServer:{host:"localhost",port:3e3},htmlPluginOption:{},copy:{},routerMode:"browser",fixBrowserRouter:!1,plugins:[],resolvePlugins:[],overrideResolve:!1,splitChunk:t,runtimeChunk:"single",moduleFederation:[],rulesInclude:{css:v,js:v,media:v,font:v,wasm:[]},mdx:{jsx:!1,development:a,jsxImportSource:c,providerImportSource:`@moneko/${r}/mdx`},jsxDomExpressions:o,bar:{name:"Client",color:"#6f42c1"},normalizeCss:!0,externalsPresets:{},buildHttp:void 0,virtualModule:{},cssExtract:{},externals:["@swc/core"],lazyCompilation:!1,performance:{maxAssetSize:256e3,maxEntrypointSize:256e3,assetFilter:e=>e.endsWith(".js")}};function j(e){if(g(e)){let o=x(e).default;return d(o)?o(process):o}return{}}m&&(P.alias=Object.assign(P.alias,{"@pkg":s.componentsPath,[l]:s.componentsPath}));let k=P;(!1===(k=e(k,j(s.configPath),j(s.customConfigPath))).devtool||!1===k.sourceMap)&&(k.sourceMap=!1,k.devtool=!1),k.fixBrowserRouter&&k.htmlPluginOption&&(k.htmlPluginOption.tags||(k.htmlPluginOption.tags=[]),k.htmlPluginOption.tags.push({textContent:"(function(l) {if (l.search[1] === '/' ) {var decoded = l.search.slice(1).split('&').map(function(s) {return s.replace(/~and~/g, '&')}).join('?');window.history.replaceState(null, null,l.pathname.slice(0, -1) + decoded + l.hash);}}(window.location))"}));export const CONFIG=k;export const PUBLICPATH=CONFIG.publicPath;
@@ -1,3 +1,3 @@
1
- import e from"chalk";import{getIPv4 as t,getPort as o}from"./net.mjs";import{CONFIG as r}from"../config.mjs";import s from"../utils/log.mjs";let{yellow:i,green:n,grey:m,gray:a,bgBlue:l,bgGreenBright:p,blueBright:c,greenBright:$}=e,d=r.devServer.port||3e3;export const PORT=await o(d,r.devServer.host);r.devServer.port=PORT;let u="/"===r.basename?"":r.basename,v=d!==PORT&&a(`Port ${i(d)} is in use, trying ${n(PORT)} instead.
1
+ import e from"chalk";import{getIPv4 as t,getPort as o}from"./net.mjs";import{CONFIG as r}from"../config.mjs";import i from"../utils/log.mjs";let{yellow:n,green:s,grey:m,gray:a,bgBlue:l,bgGreenBright:p,blueBright:c,greenBright:$}=e,d=r.devServer.port||3e3;export const PORT=await o(d,r.devServer.host);r.devServer.port=PORT;let u="/"===r.basename?"":r.basename,v=d!==PORT&&a(`Port ${n(d)} is in use, trying ${s(PORT)} instead.
2
2
  `);function f(e){return`http://${"local"===e?r.devServer.host:t()}:${PORT}${u}`}let T=a("You application is running here:"),h=`${l(" Local ")} ${c(f("local"))}
3
- ${p(" Network ")} ${$(f("net"))}`;export function devLog(e,t){!e&&t&&(process.stdout.write("\x1b[2J\x1b[3J\x1b[H"),s([T,"",h,"",m(`Compiled successfully in ${n(`${t.endTime-t.startTime}ms`)}`)]),v&&s(v))}export const headers={};
3
+ ${p(" Network ")} ${$(f("net"))}`;export function devLog(e,t){!e&&t&&(i([T,"",h,"",m(`Compiled successfully in ${s(`${t.endTime-t.startTime}ms`)}`)]),v&&i(v))}export const headers={};
package/lib/dev.mjs CHANGED
@@ -1 +1 @@
1
- import e from"express";import t from"multer";import o from"webpack";import i from"webpack-dev-middleware";import s from"webpack-hot-middleware";import{merge as l}from"webpack-merge";import r from"./build/server.mjs";import{commonConfig as n}from"./common.mjs";import{CONFIG as m,PUBLICPATH as a}from"./config.mjs";import{PORT as c,devLog as p,headers as u}from"./dev/config.mjs";import f from"./dev/mock.mjs";import d from"./dev/proxy.mjs";import h from"./module.config.mjs";import g,{CUSTOMCONFIG as w}from"./paths.mjs";import{SSR as x,isLibrary as j,isReact as $}from"./process-env.mjs";import k from"./utils/has-pkg.mjs";import{empty as y,resolveProgram as b}from"./utils/index.mjs";import v from"./utils/progress.mjs";import A from"./utils/sigint-exit.mjs";import C from"./options/reslove.mjs";import{watchFile as P}from"fs";import{spawn as T,exec as S}from"child_process";import M from"./utils/log.mjs";import O from"chalk";import{directoryExists as _,loadFileSync as D}from"@moneko/utils";let{HotModuleReplacementPlugin:E,ProgressPlugin:I,WatchIgnorePlugin:U}=o,B=k("stylelint-webpack-plugin")&&(await import("stylelint-webpack-plugin")).default,G=k("eslint-webpack-plugin")&&(await import("eslint-webpack-plugin")).default,H=$&&(await import("@pmmmwh/react-refresh-webpack-plugin")).default,L=["js","jsx","ts","tsx","json","html","vue"],R=L.join(","),q=["css","scss","sass","less","ts","tsx","js","jsx"],N=q.join(","),W=["node_modules/","es/","lib/","umd/","docs/","coverage/","dist/"],F=k("solid-refresh")||k("react-refresh"),X=`${a.endsWith("/")?"":"/"}__hmr__`,z=new URLSearchParams({name:"client",path:X,dynamicPublicPath:!0,timeout:2e3,reload:!F,quiet:!0,noInfo:!0,overlay:!0}).toString(),K=n.output.path;x&&(K=b(`${j?"docs":"dist"}/client`));let J=!!m.bar,Q=l(n,{entry:{main:[`${C.hotMiddlewareClient}?${z}`]},output:{path:K},module:h(!1),plugins:[new E,new U({paths:[/\.d\.ts$/]}),H&&new H,G&&new G({fix:!0,threads:!0,files:[`${m.alias["@"]}/**/*.{${R}}`,j&&`${m.alias["@pkg"]}/**/*.{${R}}`].filter(Boolean),extensions:L,exclude:W,cache:!0,cacheLocation:`${g.lineCachePath}/.eslintcache`,lintDirtyModulesOnly:!0}),B&&new B({fix:!0,threads:!0,files:[`${m.alias["@"]}/**/*.{${N}}`,j&&`${m.alias["@pkg"]}/**/*.{${N}}`].filter(Boolean),extensions:q,exclude:W,cache:!0,cacheLocation:`${g.lineCachePath}/.stylelintcache`,lintDirtyModulesOnly:!0}),new I({handler(e,t,...o){let i=m.bar||{};v({showBar:J,percentage:e,title:i.name||"Build",color:i.color,info:o.length?`[${t}] ${o.join(" ")}`:"",output:Q.output?.path})}})].filter(Boolean)}),V=[Q];x&&V.push(l(n,r));let Y=o(V);Y.compilers[0].hooks.done.tap("client-log",e=>{p(null,e)});let Z=e(),ee=t(),et=i(Y,{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",...u}),serverSideRender:x,lastModified:!0}),eo=s(Y,{log:!1,path:X,heartbeat:2e3});if(Z.use(et),Z.use(eo),Z.use(e.static(Q.output.path)),m.proxy&&d(Z,m.proxy),_(g.mockPath)){let e=f(g.mockPath);Z.use(e)}let ei=`${Q.output.path}/index.html`;Z.all("/*",ee.any(),function(e,t,o){if("GET"!==e.method)return o();{let i=e.get("Accept");if(i?.includes("text/html")){let e=et.context.outputFileSystem,o=e?.readFileSync?.(ei);t.end(o)}else if("text/event-stream"===i&&e.url.endsWith(X))return e.url=X,eo(e,t,o);else return o()}});let es=Z.listen(c,()=>{});function el(){process.exit(0)}function er(e,t){let o=D(e);t&&null!==o&&P(e,async function(){let i=D(e);o.trim().replace(/^\s*[\r\n]/gm,"")!==i?.trim().replace(/^\s*[\r\n]/gm,"")?(M(O.yellow(`检测到工程配置${O.blue(`[${t}]`)}变更, 程序即将重启...`)),S("win32"===process.platform?`netstat -ano | findstr :${c}`:`lsof -i :${c}`,(e,t,o)=>{let i=en?t.split(/\s+/).pop():t.split("\n")[1]?.split(/\s+/)[1];i?process.kill(Number(i),"SIGHUP"):M(`未找到占用端口 ${c} 的进程`)})):M(O.gray(`未变更`))})}er(g.configPath,"index"),er(g.customConfigPath,w);let en="win32"===process.platform;process.on("SIGHUP",function(){et.close(y),es.close(y),es.closeAllConnections(),function(){let e=T(process.argv[0],process.argv.slice(1),{detached:!1,stdio:"inherit"});e.unref(),e.on("close",el)}()}),process.on("exit",function(){et.close(y),es.close(y),es.closeAllConnections()}),A(el);
1
+ import e from"express";import t from"multer";import o from"webpack";import i from"webpack-dev-middleware";import s from"webpack-hot-middleware";import{merge as l}from"webpack-merge";import r from"./build/server.mjs";import{commonConfig as n}from"./common.mjs";import{CONFIG as m,PUBLICPATH as a}from"./config.mjs";import{PORT as c,devLog as p,headers as u}from"./dev/config.mjs";import f from"./dev/mock.mjs";import d from"./dev/proxy.mjs";import h from"./module.config.mjs";import g,{CUSTOMCONFIG as w}from"./paths.mjs";import{SSR as x,isLibrary as j,isReact as $}from"./process-env.mjs";import k from"./utils/has-pkg.mjs";import{empty as b,resolveProgram as y}from"./utils/index.mjs";import P from"./utils/progress.mjs";import v from"./utils/sigint-exit.mjs";import A from"./options/reslove.mjs";import{watchFile as C}from"fs";import{join as T}from"path";import{spawn as S,exec as M}from"child_process";import O from"./utils/log.mjs";import _ from"chalk";import{directoryExists as D,loadFileSync as E}from"@moneko/utils";let{HotModuleReplacementPlugin:I,ProgressPlugin:U,WatchIgnorePlugin:B}=o,G=k("stylelint-webpack-plugin")&&(await import("stylelint-webpack-plugin")).default,H=k("eslint-webpack-plugin")&&(await import("eslint-webpack-plugin")).default,L=$&&(await import("@pmmmwh/react-refresh-webpack-plugin")).default,R=["js","jsx","ts","tsx","json","html","vue"],q=R.join(","),N=["css","scss","sass","less","ts","tsx","js","jsx"],W=N.join(","),F=["node_modules/","es/","lib/","umd/","docs/","coverage/","dist/"],X=k("solid-refresh")||k("react-refresh"),z=`${a.endsWith("/")?"":"/"}__hmr__`,K=new URLSearchParams({name:"client",path:z,dynamicPublicPath:!0,timeout:2e3,reload:!X,quiet:!0,noInfo:!0,overlay:!0}).toString(),J=n.output.path;x&&(J=y(`${j?"docs":"dist"}/client`));let Q=!!m.bar,V=l(n,{entry:{main:[`${A.hotMiddlewareClient}?${K}`]},output:{path:J},module:h(!1),plugins:[new I,new B({paths:[/\.d\.ts$/]}),L&&new L,H&&new H({fix:!0,threads:!0,files:[`${m.alias["@"]}/**/*.{${q}}`,j&&`${m.alias["@pkg"]}/**/*.{${q}}`].filter(Boolean),extensions:R,exclude:F,cache:!0,cacheLocation:`${g.lineCachePath}/.eslintcache`,lintDirtyModulesOnly:!0}),G&&new G({fix:!0,threads:!0,files:[`${m.alias["@"]}/**/*.{${W}}`,j&&`${m.alias["@pkg"]}/**/*.{${W}}`].filter(Boolean),extensions:N,exclude:F,cache:!0,cacheLocation:`${g.lineCachePath}/.stylelintcache`,lintDirtyModulesOnly:!0}),new U({handler(e,t,...o){let i=m.bar||{};P({showBar:Q,percentage:e,title:i.name||"Build",color:i.color,info:o.length?`[${t}] ${o.join(" ")}`:"",output:V.output?.path})}})].filter(Boolean)}),Y=[V];x&&Y.push(l(n,r));let Z=o(Y);Z.compilers[0].hooks.done.tap("client-log",e=>{p(null,e)});let ee=e(),et=t(),eo=i(Z,{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",...u}),serverSideRender:x,lastModified:!0,publicPath:V.output?.publicPath}),ei=s(Z,{log:!1,path:z,heartbeat:2e3});if(ee.use(eo),ee.use(ei),ee.use(e.static(T(g.programPath,"./public"))),m.proxy&&d(ee,m.proxy),D(g.mockPath)){let e=f(g.mockPath);ee.use(e)}let es=`${V.output.path}/index.html`;ee.all("/*",et.any(),function(e,t,o){if("GET"!==e.method)return o();{let i=e.get("Accept");if(i?.includes("text/html")){let e=eo.context.outputFileSystem,o=e?.readFileSync?.(es);t.end(o)}else if("text/event-stream"===i&&e.url.endsWith(z))return e.url=z,ei(e,t,o);else return o()}});let el=ee.listen(c,()=>{});function er(){process.exit(0)}function en(e,t){let o=E(e);t&&null!==o&&C(e,async function(){let i=E(e);o.trim().replace(/^\s*[\r\n]/gm,"")!==i?.trim().replace(/^\s*[\r\n]/gm,"")?(O(_.yellow(`检测到工程配置${_.blue(`[${t}]`)}变更, 程序即将重启...`)),M("win32"===process.platform?`netstat -ano | findstr :${c}`:`lsof -i :${c}`,(e,t,o)=>{let i=em?t.split(/\s+/).pop():t.split("\n")[1]?.split(/\s+/)[1];i?process.kill(Number(i),"SIGHUP"):O(`未找到占用端口 ${c} 的进程`)})):O(_.gray(`未变更`))})}en(g.configPath,"index"),en(g.customConfigPath,w);let em="win32"===process.platform;process.on("SIGHUP",function(){eo.close(b),el.close(b),el.closeAllConnections(),function(){let e=S(process.argv[0],process.argv.slice(1),{detached:!1,stdio:"inherit"});e.unref(),e.on("close",er)}()}),process.on("exit",function(){eo.close(b),el.close(b),el.closeAllConnections()}),v(er);
@@ -1 +1 @@
1
- import e from"marked-completed";let r=new e.Renderer;r.code=(e,r)=>"treeview"===r?`<n-tree data="${e}" />`:`<n-code class="n-code" toolbar="${toolbar}" language="${r}" line-number="true">${encodeURIComponent(e)}</n-code>`,r.image=(e,r,t)=>`<n-img lazy="true" role="img" src="${e}" alt="${t}" ${r?`title="${r}"`:""}></n-img>`,e.use({langToolbar:["copy"],headerPrefix:"# ",breaks:!0,pedantic:!1,smartLists:!0,smartypants:!0,xhtml:!0,renderer:r});export default function(r){return e.parse(r)}
1
+ import e from"marked-completed";let r=new e.Renderer;r.code=(e,r)=>"treeview"===r?`<n-tree data="${e}" />`:`<n-code class="n-code" toolbar="["copy"]" language="${r}" line-number="true">${encodeURIComponent(e)}</n-code>`,r.image=(e,r,t)=>`<n-img lazy="true" role="img" src="${e}" alt="${t}" ${r?`title="${r}"`:""}></n-img>`,e.use({langToolbar:["copy"],headerPrefix:"# ",breaks:!0,pedantic:!1,smartLists:!0,smartypants:!0,xhtml:!0,renderer:r});export default function(r){return e.parse(r)}
@@ -1 +1 @@
1
- import{dirname as e}from"path";import t from"typescript";import{CONFIG as l}from"../config.mjs";import n from"../options/md-to-html.mjs";let{ScriptKind:r,ScriptTarget:o,SyntaxKind:i,createSourceFile:a,forEachChild:c,getLeadingCommentRanges:s,isInterfaceDeclaration:u,isQuestionToken:f,isPropertySignature:m,isFunctionTypeNode:p,isUnionTypeNode:g,isMethodSignature:$}=t,h={};function d(e){let t=s(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 b(e){if(!e)return;let t=e.match(/@since\s+([^\n]+)/);return t?t[1].trim():void 0}function y(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}-alt](https://avatars.githubusercontent.com/${e}?s=64)${e}](${l})`}}function x(e){if(!e)return;let t=e.match(/@ignore\s+([^\n]+)/);return t?t[1].trim():void 0}let j=/(?<!['"])(unknown|any|void|bigint|object|undefined|null|boolean|number|string|symbol)(?!['"])/g;function A(e,t){if(!e)return;let n=e.replaceAll(/\b([A-Z][a-zA-Z0-9]*)\b/g,e=>{if(h[e]){let n=`/${[l.basename,h[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(j,e=>`\\color{#009688}{${e}}`)),n}function T(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 B(e){if(e)return e.replaceAll(/^@[a-z].+/gm,"").replaceAll(/(\n\s+)+/g,"<br />").replaceAll(/\n/g,"<br />").replaceAll(/(<br \/>)$/g,"")}export default function k(s,j){let k=a(j,s,o.Latest,!0,r.TS),v="";return c(k,n=>{u(n)?v+=function(n){let r=n.name.text;Object.assign(h,{[n.name.text]:e(n.getSourceFile().fileName).replace(l.alias["@pkg"],"")});let o=d(n),a=b(o),c=B(o),s=x(o)?.split("|")||[],u=s.includes("comment"),j=s.includes("initial"),k=s.includes("optional"),v=s.includes("version"),w=s.includes("author"),S=c?`\\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;}">${A(T(e))}</n-tag>`),z=[c,S,a&&`\\color{#52c11b|1||0.9}{${a}}`,F.length>0&&`<sub>\`extends\`</sub> ${F.join(" ")}`].filter(Boolean).join(" "),K=`## ${z}`,N=n.members.filter(e=>m(e)&&e.type?.kind!==i.NeverKeyword||$(e)),q=[];if(N.length>0){for(let e=0,t=N.length;e<t;e++){let t=N[e],l=A(T($(t)?`(${t.parameters.map(e=>`${e.name.getText()}: ${e.type?.getText()||"any"}`).join(", ")}): ${t.type?.getText()||"any"}`:t.type?.getText()||"any"),!0),n=d(t),r=T(t.name.getText());!r||r.startsWith("\\color")||($(t)||function(e){if(e.type){if(!g(e.type))return p(e.type);for(let t of e.type.types)if(p(t))return!0}return!1}(t)||l?.includes("=>")?r=`\\color{#f9a913}{${r}}`:/^["'](.+)["']$/.test(r)||(r=`\\color{#4c81db}{${r}}`));let i=t.questionToken&&f(t.questionToken);q.push([r,!k&&`\\color{${i?"#f9a913":"#52c11b"}\\|\\|\\|0.9}{${i?"✘":"✔"}}`,!u&&T(B(n)),l,!j&&T(function(e){if(!e)return;let t=e.match(/@default\s+([^\n]+)/);return t?t[1].trim():void 0}(n)),!v&&T(b(n)),!w&&(y(n)||y(o))])}let e=!1,t=!1,l=!1,n=!1;for(let r=0,o=q.length;r<o;r++){let o=q[r];!u&&o[2]&&(n=!0),!j&&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 i=[":-",!k&&":-",n&&":-",":-",l&&":-",t&&":-",e&&":-"].filter(Boolean);K+="\n";let a=i.join("|");K+=`|${a}|`;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)&&(v+=function(n){let r=n.name.text,o=d(n),i=B(o),a=b(o);Object.assign(h,{[n.name.text]:e(n.getSourceFile().fileName).replace(l.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=x(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=T(r.name.getText()),a=d(r),c=T(function(e){let l=e.initializer;if(l&&t.isStringLiteral(l))return` '${l.text}'`}(r)),s=T(b(a)),u=T(B(a));!i||i.startsWith("\\color")||/^["'](.+)["']$/.test(i)||(i=`\\color{#4c81db}{${i}}`),e.push([i,!f&&u,c,!m&&s,!p&&(y(a)||y(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 a=["属性",i&&"说明","值",r&&"版本",l&&"作者"].filter(Boolean).join("|");g+=`|${a}|`;let c=[":-",i&&":-",":-",r&&":-",l&&":-"].filter(Boolean);g+="\n";let s=c.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))}),n(v)}
1
+ import{dirname as e}from"path";import t from"typescript";import{CONFIG as n}from"../config.mjs";import l from"../options/md-to-html.mjs";let{ScriptKind:r,ScriptTarget:o,SyntaxKind:i,createSourceFile:a,forEachChild:c,getLeadingCommentRanges:s,isInterfaceDeclaration:u,isQuestionToken:f,isPropertySignature:m,isFunctionTypeNode:p,isUnionTypeNode:g,isMethodSignature:$}=t,d={};function h(e){let t=s(e.getSourceFile().text,e.pos);if(t){let n=e.getSourceFile().text.slice(t[0].pos,t[0].end).match(/\/\*\*([\s\S]*?)\*\//);if(n)return n[1].replaceAll(/^\s*\* ?/gm,"").replace(/\s+$/,"").trim()}}function b(e){if(!e)return;let t=e.match(/@since\s+([^\n]+)/);return t?t[1].trim():void 0}function y(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}-alt](https://avatars.githubusercontent.com/${e}?s=64)${e}](${n})`}}function x(e){if(!e)return;let t=e.match(/@ignore\s+([^\n]+)/);return t?t[1].trim():void 0}let A=/(?<!['"])(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(d[e]){let l=`/${[n.basename,d[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(A,e=>`\\color{#009688}{${e}}`)),l}function k(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 v(e){if(e)return e.replaceAll(/@example\s*([\s\S]*?)(?=@[a-zA-Z]|\n*$)/g,"").replaceAll(/^@[a-z].+/gm,"").replaceAll(/(\n\s+)+/g,"<br />").replaceAll(/\n/g,"<br />").replaceAll(/(<br \/>)$/g,"")}export default function S(s,A){let S=a(A,s,o.Latest,!0,r.TS),w="";return c(S,l=>{u(l)?w+=function(l){let r=l.name.text;Object.assign(d,{[l.name.text]:e(l.getSourceFile().fileName).replace(n.alias["@pkg"],"")});let o=h(l),a=b(o),c=v(o),s=x(o)?.split("|")||[],u=s.includes("comment"),A=s.includes("initial"),S=s.includes("optional"),w=s.includes("version"),T=s.includes("author"),B=c?`\\color{|4||0.45}{${r}}`:r,z=(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(k(e))}</n-tag>`),F=[c,B,a&&`\\color{#52c11b|1||0.9}{${a}}`,z.length>0&&`<sub>\`extends\`</sub> ${z.join(" ")}`].filter(Boolean).join(" "),N=`## ${F}`,Z=l.members.filter(e=>m(e)&&e.type?.kind!==i.NeverKeyword||$(e)),K=[];if(Z.length>0){for(let e=0,t=Z.length;e<t;e++){let t=Z[e],n=j(k($(t)?`(${t.parameters.map(e=>`${e.name.getText()}: ${e.type?.getText()||"any"}`).join(", ")}): ${t.type?.getText()||"any"}`:t.type?.getText()||"any"),!0),l=h(t),r=k(t.name.getText());!r||r.startsWith("\\color")||($(t)||function(e){if(e.type){if(!g(e.type))return p(e.type);for(let t of e.type.types)if(p(t))return!0}return!1}(t)||n?.includes("=>")?r=`\\color{#f9a913}{${r}}`:/^["'](.+)["']$/.test(r)||(r=`\\color{#4c81db}{${r}}`));let i=t.questionToken&&f(t.questionToken);K.push([r,!S&&`\\color{${i?"#f9a913":"#52c11b"}\\|\\|\\|0.9}{${i?"✘":"✔"}}`,!u&&k(v(l)),n,!A&&k(function(e){if(!e)return;let t=e.match(/@default\s+([^\n]+)/);return t?t[1].trim():void 0}(l)),!w&&k(b(l)),!T&&(y(l)||y(o)),function(e){if(!e)return;let t=e.match(/@example\s*([\s\S]*?)(?=@[a-zA-Z]|\n*$)/);return t?t[1].trim():void 0}(l)])}let e=!1,t=!1,n=!1,l=!1;for(let r=0,o=K.length;r<o;r++){let o=K[r];!u&&o[2]&&(l=!0),!A&&o[4]&&(n=!0),!w&&o[5]&&(t=!0),!T&&o[6]&&(e=!0)}N+="\n";let r=["属性",!S&&"必要",l&&"说明","类型",n&&"默认值",t&&"版本",e&&"作者"].filter(Boolean).join("|");N+=`|${r}|`;let i=[":-",!S&&":-",l&&":-",":-",n&&":-",t&&":-",e&&":-"].filter(Boolean);N+="\n";let a=i.join("|");N+=`|${a}|`;for(let r=0,o=K.length;r<o;r++){let o=K[r];N+="\n";let i=[(o[7]?`<n-popover onload="console.log(this)" arrow="true" trigger="click" content=${JSON.stringify(`<n-md css=.n-md-body{margin-bottom:0;padding:0.5rem;background-color:transparent;backdrop-filter:none;box-shadow:none;}>${o[7]}</n-md>`)}><n-button size="small" type="primary" circle="true" style="margin-right:8px;">?</n-button></n-popover>`:"")+(o[0]||"-"),!S&&(o[1]||"-"),l&&(o[2]||"-"),o[3]||"-",n&&(o[4]||"-"),t&&(o[5]||"-"),e&&(o[6]||"-")].filter(Boolean).join("|");N+=`|${i}|`}N+="\n"}return N+"\n"}(l):t.isEnumDeclaration(l)&&(w+=function(l){let r=l.name.text,o=h(l),i=v(o),a=b(o);Object.assign(d,{[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=x(o)?.split("|")||[],f=u.includes("comment"),m=u.includes("version"),p=u.includes("author"),g=`## ${s}`;if(l.members.length>0){let e=[];for(let n=0,r=l.members.length;n<r;n++){let r=l.members[n],i=k(r.name.getText()),a=h(r),c=k(function(e){let n=e.initializer;if(n&&t.isStringLiteral(n))return` '${n.text}'`}(r)),s=k(b(a)),u=k(v(a));!i||i.startsWith("\\color")||/^["'](.+)["']$/.test(i)||(i=`\\color{#4c81db}{${i}}`),e.push([i,!f&&u,c,!m&&s,!p&&(y(a)||y(o))])}let n=!1,r=!1,i=!1;for(let t=0,l=e.length;t<l;t++){let l=e[t];!f&&l[1]&&(i=!0),!m&&l[3]&&(r=!0),!p&&l[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}|`;for(let t=0,l=e.length;t<l;t++){let l=e[t];g+="\n";let o=[l[0]||"-",i&&(l[1]||"-"),l[2]||"-",r&&(l[3]||"-"),n&&(l[4]||"-")].filter(Boolean).join("|");g+=`|${o}|`}}return g+"\n\n"}(l))}),l(w)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moneko/core",
3
- "version": "3.18.3",
3
+ "version": "3.18.4",
4
4
  "description": "core",
5
5
  "main": "lib/index.mjs",
6
6
  "type": "module",