@moneko/core 3.17.11 → 3.17.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{merge as e}from"webpack-merge";import{CONFIG as t}from"../config.mjs";import{PACKAGENAME as i,coreName as o}from"../process-env.mjs";import{resolveProgram as
|
|
1
|
+
import{merge as e}from"webpack-merge";import{CONFIG as t}from"../config.mjs";import{PACKAGENAME as i,coreName as o}from"../process-env.mjs";import{resolveProgram as r}from"../utils/index.mjs";import{description as n,keywords as a}from"../vm/info.mjs";let{favicon:l=`node_modules/${o}/lib/options/favicon.ico`,template:m,...p}=t.htmlPluginOption||{},s=t.seo&&`https://${t.seo.domain}${t.basename}`,c={charset:"UTF-8","X-UA-Compatible":{"http-equiv":"X-UA-Compatible",content:"IE=edge,Chrome=1"},HandheldFriendly:"true",MobileOptimized:"320","screen-orientation":"portrait","x5-orientation":"portrait",browsermode:"application","x5-page-mode":"app","msapplication-tap-highlight":"no","apple-mobile-web-app-capable":"yes",renderer:"webkit",description:n,keywords:a,"http-equiv":"refresh"};s&&Object.assign(c,{relCanonical:{rel:"canonical",href:s}});let d=e({title:t.env?.PROJECTNAME||i.toLocaleUpperCase()||"Title",filename:"index.html",hash:!1,minify:{minifyJS:!0,minifyCSS:!0,collapseWhitespace:!0,removeComments:!0,removeRedundantAttributes:!1,removeScriptTypeAttributes:!1,removeStyleLinkTypeAttributes:!1,removeAttributeQuotes:!0,useShortDoctype:!0},meta:c,tags:[],favicon:l?r(l):l},p,m?{template:m?r(m):void 0}:{templateContent:function({htmlWebpackPlugin:{options:e}}){let t=e.tags,i="",o="";return t&&t.map(function(e){let{tag:t="script",textContent:r="",inject:n="head",...a}=e,l="";for(let e in a)Object.prototype.hasOwnProperty.call(a,e)&&(l+=`${e}="${a[e]}" `);let m=`<${t} ${l}>${r}</${t}>`;"body"===n?o+=m:i+=m}),`<!DOCTYPE html>
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
4
|
<title>${e.title}</title>
|
|
@@ -8,4 +8,4 @@ import{merge as e}from"webpack-merge";import{CONFIG as t}from"../config.mjs";imp
|
|
|
8
8
|
<div id="root"></div>
|
|
9
9
|
${o}
|
|
10
10
|
</body>
|
|
11
|
-
</html>`}});export default
|
|
11
|
+
</html>`}});export default d;
|
package/lib/utils/seo.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{join as m}from"path";import{scanRouter as o,sitemap as t}from"@moneko/mdx";import{resolveProgram as r}from"./index.mjs";import{outputConfig as e}from"../common.mjs";import{CONFIG as p}from"../config.mjs";import{routeDir as i}from"../paths.mjs";import{isLibrary as s}from"../process-env.mjs";import{saveFileSync as f}from"@moneko/utils";export default(()=>{let{domain:n,jekyll:a,path:j}=p.seo||{},l=j&&r(j)||e?.path;if(!n||!l)return;let x=`https://${n}${p.basename}`;f(m(l,"CNAME"),n),f(m(l,"robots"),`Sitemap: ${x}/sitemap.txt`),f(m(l,"sitemap.txt"),t(i,x,o(i,s)).join("\n")),a||f(m(l,".nojekyll"),"")});
|
|
1
|
+
import{join as m}from"path";import{scanRouter as o,sitemap as t}from"@moneko/mdx";import{resolveProgram as r}from"./index.mjs";import{outputConfig as e}from"../common.mjs";import{CONFIG as p}from"../config.mjs";import{routeDir as i}from"../paths.mjs";import{isLibrary as s}from"../process-env.mjs";import{saveFileSync as f}from"@moneko/utils";export default(()=>{let{domain:n,jekyll:a,path:j}=p.seo||{},l=j&&r(j)||e?.path;if(!n||!l)return;let x=`https://${n}${p.basename}`;f(m(l,"CNAME"),n),f(m(l,"robots.txt"),`Sitemap: ${x}/sitemap.txt`),f(m(l,"sitemap.txt"),t(i,x,o(i,s)).join("\n")),a||f(m(l,".nojekyll"),"")});
|
package/lib/vm/docs.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"./generate-doc.mjs";import{CONFIG as t}from"../config.mjs";import{FRAMEWORK as o,isLibrary as r,isReact as n,isSolid as s}from"../process-env.mjs";import a from"../utils/reactive-object.mjs";import m from"../rule.mjs";import{loadFileSync as l,scanFolderSync as p}from"@moneko/utils";let c={react:"createElement",solid:"createComponent"}[o];export const docsModuleName="@app/docs";export const docs=new a({[docsModuleName]:"export default {}"});export const comment=new a({});export const getCommentPath=function(){let e=/^\/?(.+?)\.tsx?$/,o=t.alias["@pkg"]?.length;return t=>t.substring(o).replace(e,"@app/comment/$1.md")}();if(r){let r={},a=`import { ${c}${s?",Dynamic":""} } from "${{react:"react",solid:"solid-js"}[o]}${s?"/web":""}";import SuspenseComp from "@app/suspense";function call_then(res) {return {default: ${n?"() =>":""}${c}(${s?"Dynamic":"'n-md'"}, {text: res.default, ${s?"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:
|
|
1
|
+
import e from"./generate-doc.mjs";import{CONFIG as t}from"../config.mjs";import{FRAMEWORK as o,isLibrary as r,isReact as n,isSolid as s}from"../process-env.mjs";import a from"../utils/reactive-object.mjs";import m from"../rule.mjs";import{loadFileSync as l,scanFolderSync as p}from"@moneko/utils";let c={react:"createElement",solid:"createComponent"}[o];export const docsModuleName="@app/docs";export const docs=new a({[docsModuleName]:"export default {}"});export const comment=new a({});export const getCommentPath=function(){let e=/^\/?(.+?)\.tsx?$/,o=t.alias["@pkg"]?.length;return t=>t.substring(o).replace(e,"@app/comment/$1.md")}();if(r){let r={},a=`import { ${c}${s?",Dynamic":""} } from "${{react:"react",solid:"solid-js"}[o]}${s?"/web":""}";import SuspenseComp from "@app/suspense";function call_then(res) {return {default: ${n?"() =>":""}${c}(${s?"Dynamic":"'n-md'"}, {text: res.default, ${s?"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:24px;block-size:24px;}' })};}`,i=(e,t)=>{let o=e.replace(/^@app\/comment\//,"").split("/"),n=o.pop(),s=o.join("/");r[s]||(r[s]={}),t?r[s][n]&&delete r[s][n]:r[s][n]=`rr(() => ${c}(SuspenseComp, { comp: () => import(/* webpackChunkName: '${e}' */ '${e}?raw').then(call_then)}))rr`;let l={};for(let e in r)Object.prototype.hasOwnProperty.call(r,e)&&(l[e]=Object.values(r[e]));docs.setData(docsModuleName,`${a}export default ${JSON.stringify(l).replace(m.extract_func,"$1")}`)};comment.on("change",(e,t)=>{i(e,t?.length<0)});let d=p(t.alias["@pkg"],["\\.tsx?$"]).filter(e=>!/(^|\/)\.[^\\/\\.]|\.test\./i.test(e));for(let t=0,o=d.length;t<o;t++){let o=d[t],r=l(o);r&&comment.setData(getCommentPath(o),e(r,o))}}
|
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:n,ScriptTarget:r,SyntaxKind:o,createSourceFile:i,forEachChild:
|
|
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:a,getLeadingCommentRanges:c,isInterfaceDeclaration:s,isQuestionToken:u,isPropertySignature:f,isFunctionTypeNode:m,isUnionTypeNode:p,isMethodSignature:g}=t,$={};function h(e){let t=c(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}](${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(c,x){let B=i(x,c,r.Latest,!0,n.TS),k="";return a(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),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"),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;}">${j(A(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=>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 a=o.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)&&(k+=function(n){let r=n.name.text,o=h(n),i=T(o),a=d(o);Object.assign($,{[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=A(r.name.getText()),a=h(r),c=A(function(e){let l=e.initializer;if(l&&t.isStringLiteral(l))return` '${l.text}'`}(r)),s=A(d(a)),u=A(T(a));!i||i.startsWith("\\color")||/^["'](.+)["']$/.test(i)||(i=`\\color{#4c81db}{${i}}`),e.push([i,!f&&u,c,!m&&s,!p&&(b(a)||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 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))}),k}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moneko/core",
|
|
3
|
-
"version": "3.17.
|
|
3
|
+
"version": "3.17.13",
|
|
4
4
|
"description": "core",
|
|
5
5
|
"main": "lib/index.mjs",
|
|
6
6
|
"type": "module",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"author": "moneko",
|
|
12
12
|
"license": "MIT",
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@babel/core": "7.24.
|
|
14
|
+
"@babel/core": "7.24.6",
|
|
15
15
|
"@moneko/mdx": "0.1.30",
|
|
16
16
|
"@moneko/utils": "0.1.3",
|
|
17
17
|
"@moneko/transform-imports": "0.5.1",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"http-proxy-middleware": "3.0.0",
|
|
31
31
|
"less": "4.2.0",
|
|
32
32
|
"less-loader": "12.2.0",
|
|
33
|
-
"lightningcss": "1.25.
|
|
33
|
+
"lightningcss": "1.25.1",
|
|
34
34
|
"mini-css-extract-plugin": "2.9.0",
|
|
35
35
|
"mock-json-schema": "1.1.1",
|
|
36
36
|
"multer": "1.4.5-lts.1",
|