@moneko/core 3.17.21 → 3.17.22-beta.0
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/vm/generate-doc.mjs +1 -1
- package/package.json +4 -4
package/lib/vm/generate-doc.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{dirname as e}from"node:path";import t from"typescript";import{CONFIG as l}from"../config.mjs";let{ScriptKind:
|
|
1
|
+
import{dirname as e}from"node:path";import t from"typescript";import{CONFIG as l}from"../config.mjs";import{mdxSync as n}from"@moneko/mdx";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 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 x(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}](${l})`}}function y(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(d[e]){let n=`/${[l.basename,d[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 v(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 k(s,j){let k=a(j,s,o.Latest,!0,r.TS),B="";return c(k,n=>{u(n)?B+=function(n){let r=n.name.text;Object.assign(d,{[n.name.text]:e(n.getSourceFile().fileName).replace(l.alias["@pkg"],"")});let o=h(n),a=b(o),c=T(o),s=y(o)?.split("|")||[],u=s.includes("comment"),j=s.includes("initial"),k=s.includes("optional"),B=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(v(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(v($(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=v(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&&v(T(n)),l,!j&&v(function(e){if(!e)return;let t=e.match(/@default\s+([^\n]+)/);return t?t[1].trim():void 0}(n)),!B&&v(b(n)),!w&&(x(n)||x(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),!B&&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)&&(B+=function(n){let r=n.name.text,o=h(n),i=T(o),a=b(o);Object.assign(d,{[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=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=v(r.name.getText()),a=h(r),c=v(function(e){let l=e.initializer;if(l&&t.isStringLiteral(l))return` '${l.text}'`}(r)),s=v(b(a)),u=v(T(a));!i||i.startsWith("\\color")||/^["'](.+)["']$/.test(i)||(i=`\\color{#4c81db}{${i}}`),e.push([i,!f&&u,c,!m&&s,!p&&(x(a)||x(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))}),console.log(n({value:B,filepath:j,jsx:!1,development:!1}).code),B}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moneko/core",
|
|
3
|
-
"version": "3.17.
|
|
3
|
+
"version": "3.17.22-beta.0",
|
|
4
4
|
"description": "core",
|
|
5
5
|
"main": "lib/index.mjs",
|
|
6
6
|
"type": "module",
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
"@moneko/mdx": "0.1.30",
|
|
16
16
|
"@moneko/utils": "0.1.3",
|
|
17
17
|
"@moneko/transform-imports": "0.5.1",
|
|
18
|
-
"@swc/core": "1.5.
|
|
19
|
-
"@typescript/vfs": "1.5.
|
|
18
|
+
"@swc/core": "1.5.24",
|
|
19
|
+
"@typescript/vfs": "1.5.1",
|
|
20
20
|
"browserslist": "4.23.0",
|
|
21
21
|
"chalk": "5.3.0",
|
|
22
22
|
"chokidar": "3.6.0",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"@types/multer": "1.4.11",
|
|
55
55
|
"@types/webpack-bundle-analyzer": "4.7.0",
|
|
56
56
|
"@types/webpack-hot-middleware": "2.25.9",
|
|
57
|
-
"sass": "1.77.
|
|
57
|
+
"sass": "1.77.4",
|
|
58
58
|
"sass-loader": "14.2.1",
|
|
59
59
|
"solid-refresh": "0.7.5"
|
|
60
60
|
},
|