@moneko/core 4.7.0-beta.1 → 4.7.0-beta.3
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.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function declToMd(content: string, filepath: string, basename: string, slicePrefix: string): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{dirname as e}from"node:path";import t from"typescript";import{getGitInfo as n}from"./git.mjs";let r=n(),l=t.ScriptKind,o=t.ScriptTarget,i=t.SyntaxKind,a=t.createSourceFile,c=t.forEachChild,s=t.getLeadingCommentRanges,u=t.isInterfaceDeclaration,f=t.isQuestionToken,p=t.isPropertySignature,m=t.isFunctionTypeNode,g=t.isUnionTypeNode,$=t.isMethodSignature,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){let t;if(!e)return;let n=/@author\s+([^<\n]+?)(?:\s*<([^>]+)>)?(?=\s*(?:\n|$))/g,l=[];for(;null!==(t=n.exec(e));){let e,n=t[1].trim(),o=t[2]?.trim();if(o){let t=/^[\w.-]+@[\w-]+(\.[\w-]+)+$/.test(o),n=/^https?:\/\/.+/i.test(o);e=t?`mailto:${o}`:n?o:`${r?.domain}/${o}`}else/^[a-z\d](?:[a-z\d-]{0,38})$/i.test(n)&&(e=`${r?.domain}/${n}`);let i=e?`[.pop()}?s=48`:`https://www.gravatar.com/avatar/${n}?s=48&d=identicon`})${n}](${e})`:n;l.includes(i)||l.push(i)}return l.join(" ")}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,n){if(!t)return;let r=t.replaceAll(/\b([A-Z][a-zA-Z0-9]*)\b/g,t=>{if(d[t]){let r=`/${[e,d[t]].join("/").split("/").filter(Boolean).join("/")}`;return n?`[\\color{#009688}{${t}}](${r})`:`[${t}](${r})`}return n?`\\color{#009688}{${t}}`:t});return n&&(r=r.replaceAll(A,e=>`\\color{#009688}{${e}}`)),r}function S(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(/@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 function declToMd(n,r,s,A){let v=a(r,n,o.Latest,!0,l.TS),w="";return c(v,n=>{u(n)?w+=function(n,r,l){let o=r.name.text;Object.assign(d,{[r.name.text]:e(r.getSourceFile().fileName).replace(l,"")});let a=h(r),c=b(a),s=T(a),u=x(a)?.split("|")||[],A=u.includes("comment"),v=u.includes("initial"),w=u.includes("optional"),k=u.includes("version"),B=u.includes("author"),z=s?`\\color{|4||0.45}{${o}}`:o,F=(function(e){let n=[];if(e.heritageClauses){for(let r of e.heritageClauses)if(r.token===t.SyntaxKind.ExtendsKeyword)for(let e of r.types)n.push(e.getText())}return n})(r)?.map(e=>`<n-tag color="#4c81db" css=".tag{gap:0px;}">${j(n,S(e))}</n-tag>`),N=[s,z,c&&`\\color{#52c11b|1||0.9}{${c}}`,F.length>0&&`<sub>\`extends\`</sub> ${F.join(" ")}`].filter(Boolean).join(" "),K=`## ${N}`,C=r.members.filter(e=>p(e)&&e.type?.kind!==i.NeverKeyword||$(e)),Z=[];if(C.length>0){for(let e=0,t=C.length;e<t;e++){let t=C[e],r=j(n,S($(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),o=S(t.name.getText());o&&!o.startsWith("\\color")&&($(t)||function(e){if(e.type){if(!g(e.type))return m(e.type);else for(let t of e.type.types)if(m(t))return!0}return!1}(t)||r?.includes("=>")?o=`\\color{#f9a913}{${o}}`:/^["'](.+)["']$/.test(o)||(o=`\\color{#4c81db}{${o}}`));let i=t.questionToken&&f(t.questionToken);Z.push([o,!w&&`\\color{${i?"#f9a913":"#52c11b"}\\|\\|\\|0.9}{${i?"✘":"✔"}}`,!A&&S(T(l)),r,!v&&S(function(e){if(!e)return;let t=e.match(/@default\s+([^\n]+)/);return t?t[1].trim():void 0}(l)),!k&&S(b(l)),!B&&(y(l)||y(a)),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,r=!1,l=!1;for(let n=0,o=Z.length;n<o;n++){let o=Z[n];!A&&o[2]&&(l=!0),!v&&o[4]&&(r=!0),!k&&o[5]&&(t=!0),!B&&o[6]&&(e=!0)}K+="\n";let o=["属性",!w&&"必要",l&&"说明","类型",r&&"默认值",t&&"版本",e&&"作者"].filter(Boolean).join("|");K+=`|${o}|`;let i=[":-",!w&&":-",l&&":-",":-",r&&":-",t&&":-",e&&":-"].filter(Boolean);K+="\n";let c=i.join("|");K+=`|${c}|`;for(let n=0,o=Z.length;n<o;n++){let o=Z[n];K+="\n";let i=[(o[7]?`<n-popover 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]||"-"),!w&&(o[1]||"-"),l&&(o[2]||"-"),o[3]||"-",r&&(o[4]||"-"),t&&(o[5]||"-"),e&&(o[6]||"-")].filter(Boolean).join("|");K+=`|${i}|`}K+="\n"}return K+"\n"}(s,n,A):t.isEnumDeclaration(n)&&(w+=function(n,r){let l=n.name.text,o=h(n),i=T(o),a=b(o);Object.assign(d,{[n.name.text]:e(n.getSourceFile().fileName).replace(r,"")});let c=i?`\\color{|4||0.45}{${l}}`:l,s=[i,c,a&&`\\color{#52c11b|1||0.9}{${a}}`].filter(Boolean).join(" "),u=x(o)?.split("|")||[],f=u.includes("comment"),p=u.includes("version"),m=u.includes("author"),g=`## ${s}`;if(n.members.length>0){let e=[];for(let r=0,l=n.members.length;r<l;r++){let l=n.members[r],i=S(l.name.getText()),a=h(l),c=S(function(e){let n=e.initializer;if(n&&t.isStringLiteral(n))return` '${n.text}'`}(l)),s=S(b(a)),u=S(T(a));!i||i.startsWith("\\color")||/^["'](.+)["']$/.test(i)||(i=`\\color{#4c81db}{${i}}`),e.push([i,!f&&u,c,!p&&s,!m&&(y(a)||y(o))])}let r=!1,l=!1,i=!1;for(let t=0,n=e.length;t<n;t++){let n=e[t];!f&&n[1]&&(i=!0),!p&&n[3]&&(l=!0),!m&&n[4]&&(r=!0)}g+="\n";let a=["属性",i&&"说明","值",l&&"版本",r&&"作者"].filter(Boolean).join("|");g+=`|${a}|`;let c=[":-",i&&":-",":-",l&&":-",r&&":-"].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]||"-",l&&(n[3]||"-"),r&&(n[4]||"-")].filter(Boolean).join("|");g+=`|${o}|`}}return g+"\n\n"}(n,A))}),w}
|
package/lib/config.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{sep as e}from"node:path";import o from"node:process";import{merge as t}from"webpack-merge";import{CUSTOMCONFIG as n}from"./commom/custom-config.mjs";import s from"./commom/paths.mjs";import{join as a}from"./commom/posix.mjs";import
|
|
1
|
+
import{sep as e}from"node:path";import o from"node:process";import{merge as t}from"webpack-merge";import{CUSTOMCONFIG as n}from"./commom/custom-config.mjs";import s from"./commom/paths.mjs";import{join as a}from"./commom/posix.mjs";import i from"./commom/setup-env.mjs";import r from"./options/jsx-dom-expressions.mjs";import m from"./options/split-chunk.mjs";import{getConfigWithTypescript as l,isFunction as p,node_modules as c,resolveProgram as u}from"./utils/index.mjs";import{initDts as d}from"./vm/dts.mjs";import{APPTYPE as f,FRAMEWORK as h,frameworkVersion as g,isCI as v,isDev as x,isLibrary as b,isMobile as j,isReact as C,jsxImportSource as P,mainDirectory as k,NODE_ENV as w,PACKAGENAME as O}from"./process-env.mjs";let I=[/(app|vm|docs|example):[a-zA-Z_0-9]/,"@moneko","neko-ui",".cache/http/data","@element-plus","ant-design-vue","element-plus","element-ui","ng-zorro-antd","@mui","@du","@fontsource","@fortawesome","font-pingfang-sc","font-pingfang-tc","katex","react-markdown-editor-lite","react-photo-view","schema-design","monaco-editor"];export async function getConfig(e){let t=l(e).default;return(p(t)?await t(o):t)??{}}let S=await i(w,f,h,[],"true"===o.env.IS_BUILD,n),[y,M]=await Promise.all([getConfig(s.configPath),getConfig(s.customConfigPath)]),z={mode:w,strict:!1,devtool:"true"!==o.env.IS_BUILD&&x?"eval-cheap-module-source-map":"cheap-module-source-map",seo:!1,bundleAnalyzer:!1,polyfill:!1,entry:{},minifier:{},sourceMap:{filename:"[file].map",publicPath:"",namespace:O,moduleFilenameTemplate:"moneko://[namespace]/[resource-path]?[loaders]",fallbackModuleFilenameTemplate:"moneko://[namespace]/[resource-path]?[loaders]"},env:S,basename:"/",publicPath:"auto",rem:{designSize:j?375:1920},fallbackCompPath:null,modifyVars:{},prefixCls:"n",alias:Object.assign({"@":u(k)},C&&g<18?{"react/package.json":c("react/package.json"),"react/jsx-runtime":c("react/jsx-runtime.js"),"react/jsx-dev-runtime":c("react/jsx-dev-runtime.js")}:{}),moduleRules:[],prefixJsLoader:[],cssModules:[],cssModuleDefinition:!0,importOnDemand:{},proxy:{},devServer:{host:"localhost",port:3e3,open:!0},htmlPluginOption:{title:O.toLocaleUpperCase(),favicon:"https://h5static.dewucdn.com/node-common/718d5e10-576d-8b14-b0b1-e4c58c3b3f40.webp"},copy:{},routerMode:"browser",fixBrowserRouter:!1,plugins:[],resolvePlugins:[],overrideResolve:!1,splitChunk:m,runtimeChunk:"single",moduleFederation:[],rulesInclude:{css:I,js:I,media:I,font:I,wasm:[]},mdx:{jsx:!1,development:x,jsxImportSource:P,providerImportSource:`@moneko/${h}/mdx`},jsxDomExpressions:r,bar:{name:"Client",nameColor:"68",msgColor:"242",barBgColor:"15",barColor:"69",quiet:v},normalizeCss:!0,externalsPresets:{},buildHttp:void 0,virtualModule:{},cssExtract:{},externals:["@swc/core"],lazyCompilation:!1,performance:!1,refresh:"solid"!==h,bundleId:"com.moneko.bid",bundles:[],stylelint:{},eslint:{lintDirtyModulesOnly:!1},minChunkSize:1e3,compression:!1,manifest:{filename:"site.webmanifest"},corepack:!0,reactJsxRuntime:"automatic"};b&&(z.alias=Object.assign(z.alias,{"@pkg":s.componentsPath,[O]:s.componentsPath}));let D=z;if((!1===(D=t(D,y,M)).devtool||!1===D.sourceMap)&&(D.sourceMap=!1,D.devtool=!1),"true"===o.env.CODESPACES&&(D.devServer.https=!1),!1===D.devServer.https&&"darwin"===o.platform&&(D.devServer.open=!1),D.htmlPluginOption&&(D.htmlPluginOption.tags||(D.htmlPluginOption.tags=[]),D.fixBrowserRouter&&D.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))"}),D.manifest)){let o=D.manifest.publicPath??D.htmlPluginOption.publicPath??D.publicPath??"/";D.htmlPluginOption.tags.push({href:a("auto"===o?"/":o,D.manifest.filename).replaceAll(e,"/"),tag:"link",rel:"manifest"})}export const CONFIG=D;export const PUBLICPATH="auto"===CONFIG.publicPath?"":CONFIG.publicPath;d(CONFIG);
|