@moneko/core 4.0.0-bate.4 → 4.0.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/common.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{extname as e,join as t,resolve as o}from"node:path";import{argv as s}from"node:process";import a,{config_files as n,CUSTOMCONFIG as i,TMP_DIR as r}from"./commom/paths.mjs";import l from"./commom/rule.mjs";import{OverrideResolverPlugin as m}from"./plugin/override-resolve.mjs";import{
|
|
1
|
+
import{extname as e,join as t,resolve as o}from"node:path";import{argv as s}from"node:process";import a,{config_files as n,CUSTOMCONFIG as i,TMP_DIR as r}from"./commom/paths.mjs";import l from"./commom/rule.mjs";import{OverrideResolverPlugin as m}from"./plugin/override-resolve.mjs";import{digest as c,isObject as p,resolveProgram as u}from"./utils/index.mjs";import h from"./vm/info.mjs";import{CONFIG as d}from"./config.mjs";import f from"./plugins.config.mjs";import{app_schema as g,isCI as y,isDev as b,isLibrary as j,NODE_ENV as v,packageJson as C}from"./process-env.mjs";export const outputConfig={path:u(j?"docs":"dist"),filename:e=>e.filename?.includes(".worker")?"worker/[name].js":"js/[name].[contenthash].bundle.js",chunkFilename:"js/[contenthash].chunk.js",cssFilename:"style/[contenthash].css",cssChunkFilename:"style/[contenthash].chunk.css",assetModuleFilename:t=>{let o=e(t.filename||"").substring(1);return`assets/${o}/[hash][ext]`},library:{name:`${h.projectName}`,type:"umd",umdNamedDefine:!0},globalObject:"self",chunkLoadingGlobal:`webpackJsonp_${C.name}`,pathinfo:b,clean:!0,publicPath:d.publicPath,asyncChunks:!0,charset:!0,iife:!0,crossOriginLoading:"use-credentials",enabledWasmLoadingTypes:["fetch"],uniqueName:`${h.projectName}`};let P={main:[`${g}:entry`]},k=[t(a.corePath,"./polyfills/public-path.mjs")];if(b&&d.refresh&&d.env.injectRemoteReactRefresh&&k.push(t(a.corePath,"./polyfills/inject-react-refresh.mjs")),d.polyfill&&k.push(t(a.corePath,"./polyfills/replace-children.mjs")),d.entry&&("string"==typeof d.entry?P={...P,main:[d.entry]}:Object.keys(d.entry)&&(P=Object.assign(P,d.entry))),"string"==typeof P.main?P.main=[...k,P.main]:Array.isArray(P.main)&&(P.main=[...k,...P.main]),d.output){if("string"==typeof d.output)outputConfig.path=d.output;else if(Object.keys(d.output)){let e=d.output,t={...outputConfig.library};Object.assign(outputConfig,e),"object"==typeof d.output&&e.library&&(outputConfig.library=Object.assign(t,e.library))}}let x={type:"filesystem",allowCollectingMemory:!0,cacheDirectory:a.webpackCachePath,memoryCacheUnaffected:!b,name:c(`${i}-${v}-${s[2]}`),version:`${C.version}`,buildDependencies:{config:n},maxMemoryGenerations:1};!1===d.cache?x=!1:p(d.cache)&&(x=Object.assign(x,d.cache)),y&&(void 0===d.cache||d.cache&&!d.cache.cacheDirectory)&&(x.cacheDirectory=o(r,C.name));let M={},O={imports:!0,entries:!0,test:e=>{let o=e.nameForCondition();return!!(o&&(/^[a-z][a-z0-9]*:.+$/.test(o)||o?.startsWith(t(a.programPath,"src"))||o?.startsWith(t(a.programPath,"site"))||o?.startsWith(a.componentsPath)))}};d.lazyCompilation&&b&&"true"!==process.env.IS_BUILD?p(d.lazyCompilation)?Object.assign(M,O,d.lazyCompilation):Object.assign(M,O):M=!1;export const commonConfig={name:"client",target:"web",devtool:d.devtool,entry:P,mode:d.mode??"production",cache:x,snapshot:{immutablePaths:[a.pnpmNodeModules,a.denoNodeModules,l.node_modules],managedPaths:[a.pnpmNodeModules,a.denoNodeModules,l.node_modules],resolveBuildDependencies:{timestamp:!0,hash:!0},resolve:{timestamp:!0,hash:!0},module:{timestamp:!0,hash:!0},buildDependencies:{timestamp:!0,hash:!0},contextModule:{timestamp:!0,hash:!0}},stats:"errors-only",infrastructureLogging:{level:"error"},externalsPresets:d.externalsPresets,plugins:f,node:{global:!1,__filename:!1,__dirname:!1},experiments:{asyncWebAssembly:!0,cacheUnaffected:!b,lazyCompilation:M,buildHttp:p(d.buildHttp)?{allowedUris:[],lockfileLocation:o(a.httpCachePath,"http.lock"),cacheLocation:o(a.httpCachePath,"data"),upgrade:!0,...d.buildHttp}:d.buildHttp,backCompat:!0,futureDefaults:!0,css:!0,outputModule:!1},resolve:{extensions:[".mts",".mjs",".ts",".tsx",".js",".jsx",".json",".wasm"],alias:d.alias,modules:[a.nodeModules,a.pnpmNodeModules,a.denoNodeModules],mainFields:["browser","module","main"],mainFiles:["index"],plugins:d.resolvePlugins,preferAbsolute:!0,cache:!0,fallback:{}},externals:d.externals,output:outputConfig,recordsPath:d.recordsPath};d.overrideResolve&&commonConfig.resolve.plugins.push(new m(Object.assign({original:d.alias["@"],override:i&&u(i)},d.overrideResolve)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{existsSync as t,readFileSync as s}from"node:fs";import{basename as o,join as e,relative as i,resolve as r}from"node:path";import a from"webpack";import n from"../../commom/paths.mjs";import{packageJson as
|
|
1
|
+
import{existsSync as t,readFileSync as s}from"node:fs";import{basename as o,join as e,relative as i,resolve as r}from"node:path";import a from"webpack";import n from"../../commom/paths.mjs";import{isDev as p,packageJson as c}from"../../process-env.mjs";export*from"./types.mjs";export class ManifestPlugin{constructor(t){this.name="ManifestPlugin",this.options={filename:"site.webmanifest",name:c.name,short_name:c.shortName,description:c.description,scope:"/",display:c.display??"standalone",background_color:c.backgroundColor??"#fff",theme_color:c.themeColor,icons:[{src:i(n.programPath,`${n.corePath}/options/icon.webp`),type:"image/webp",sizes:"512x512"}]},this.options={...this.options,...t}}getPublicPath(t){if(this.options.publicPath)return this.options.publicPath;let s=t.getAssetPath(t.outputOptions.publicPath,{hash:t.hash}),o="auto"===s?"/":s;return o.length&&!o.endsWith("/")&&(o+="/"),o}apply(i){let n=this.name,{filename:h,publicPath:m,start_url:l,...u}=this.options;i.hooks.compilation.tap(n,f=>{f.hooks.processAssets.tap({name:n,stage:a.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL},()=>{let n=m||this.getPublicPath(f),b={...u,start_url:l??n,icons:u.icons?.map(p=>{let c={...p};if(c.src&&!c.src.startsWith("http")){let p=r(i.context,c.src);if(t(p)){let t=o(c.src),i=s(p);f.emitAsset(t,new a.sources.RawSource(i),{javascriptModule:!1}),c.src=e(n,t)}else f.warnings.push(new a.WebpackError(`Icon file ${p} does not exist`))}return c}),version:`${c.version}(${p?"Dev":f.fullHash})`};f.emitAsset(h,new i.webpack.sources.RawSource(JSON.stringify(b)),{javascriptModule:!1})})})}}
|
package/lib/utils/index.d.mts
CHANGED
|
@@ -34,13 +34,18 @@ export declare function isFunction<T>(target: T): target is T & AnyFunction;
|
|
|
34
34
|
export declare function transformModule(obj: object | string): string;
|
|
35
35
|
export declare function empty(): void;
|
|
36
36
|
export type AlgorithmIdentifier = 'SHA-1' | 'SHA-256' | 'SHA-384' | 'SHA-512';
|
|
37
|
+
interface DigestOption {
|
|
38
|
+
algorithm?: string;
|
|
39
|
+
secret?: string;
|
|
40
|
+
encoding?: BinaryToTextEncoding;
|
|
41
|
+
}
|
|
37
42
|
/**
|
|
38
43
|
* 为内容生成摘要
|
|
39
44
|
* @param {String | Uint8Array} data 内容
|
|
40
|
-
* @param {
|
|
45
|
+
* @param {DigestOption} option 密钥
|
|
41
46
|
* @returns {Promise<String>} 摘要字符串
|
|
42
47
|
*/
|
|
43
|
-
export declare function digest(data: BinaryLike,
|
|
48
|
+
export declare function digest(data: BinaryLike, option?: DigestOption): string;
|
|
44
49
|
/**
|
|
45
50
|
* MD5 加密
|
|
46
51
|
* @param {BinaryLike} data - 要加密的字符串
|
package/lib/utils/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createHash as e,createHmac as t}from"node:crypto";import{resolve as o}from"node:path";import{fileExists as r}from"@moneko/utils";import n from"../commom/paths.mjs";import i from"../commom/require.mjs";export function toCamelCase(e){return e.replace(/-./g,e=>e.charAt(1).toUpperCase())}export function convertToCamelCase(e){return e.toLowerCase().replace(/-(\w)/g,(e,t)=>t?t.toUpperCase():"").replace(/^./,e=>e.toUpperCase()).replace(/Ui$/,"UI")}export function resolveProgram(e){return o(n.programPath,`./${e}`)}export function node_modules(e){return o(n.nodeModules,`./${e}`)}export function isObject(e){let t=typeof e;return null!==e&&("object"===t||"function"===t)}export function isFunction(e){return["[object Function]","[object AsyncFunction]","[object GeneratorFunction]"].includes(Object.prototype.toString.call(e))}export function transformModule(e){let t="";if("string"==typeof e)t=e;else for(let[o,r]of Object.entries(e))t+=`export const ${o} = ${isFunction(r)?r:JSON.stringify(r)};`;return t}export function empty(){}export function digest(e,o
|
|
1
|
+
import{createHash as e,createHmac as t}from"node:crypto";import{resolve as o}from"node:path";import{fileExists as r}from"@moneko/utils";import n from"../commom/paths.mjs";import i from"../commom/require.mjs";export function toCamelCase(e){return e.replace(/-./g,e=>e.charAt(1).toUpperCase())}export function convertToCamelCase(e){return e.toLowerCase().replace(/-(\w)/g,(e,t)=>t?t.toUpperCase():"").replace(/^./,e=>e.toUpperCase()).replace(/Ui$/,"UI")}export function resolveProgram(e){return o(n.programPath,`./${e}`)}export function node_modules(e){return o(n.nodeModules,`./${e}`)}export function isObject(e){let t=typeof e;return null!==e&&("object"===t||"function"===t)}export function isFunction(e){return["[object Function]","[object AsyncFunction]","[object GeneratorFunction]"].includes(Object.prototype.toString.call(e))}export function transformModule(e){let t="";if("string"==typeof e)t=e;else for(let[o,r]of Object.entries(e))t+=`export const ${o} = ${isFunction(r)?r:JSON.stringify(r)};`;return t}export function empty(){}export function digest(e,o){return t(o?.algorithm??"sha1",o?.secret??"mo").update(e).digest(o?.encoding??"hex")}export function md5(t,o="hex"){return e("md5").update(t).digest(o)}export function getConfigWithTypescript(e,t){return r(e)?(delete i.cache[e],i(e)):t??{}}
|
package/lib/vm/generate-doc.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{dirname as e}from"node:path";import t from"typescript";import{CONFIG as n}from"../config.mjs";import r from"../options/md-to-html.mjs";let
|
|
1
|
+
import{dirname as e}from"node:path";import t from"typescript";import{CONFIG as n}from"../config.mjs";import r from"../options/md-to-html.mjs";import{digest as l}from"../utils/index.mjs";let o=t.ScriptKind,i=t.ScriptTarget,a=t.SyntaxKind,c=t.createSourceFile,s=t.forEachChild,u=t.getLeadingCommentRanges,f=t.isInterfaceDeclaration,m=t.isQuestionToken,p=t.isPropertySignature,g=t.isFunctionTypeNode,$=t.isUnionTypeNode,d=t.isMethodSignature,h={};function b(e){let t=u(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 y(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(),n=t[2]?.trim(),r=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(n);return n?r&&(n=`mailto:${n}`):n=`https://github.com/${e}`,`[${e}](${n})`}}function j(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 S(e,t){if(!e)return;let r=e.replaceAll(/\b([A-Z][a-zA-Z0-9]*)\b/g,e=>{if(h[e]){let r=`/${[n.basename,h[e]].join("/").split("/").filter(Boolean).join("/")}`;return t?`[\\color{#009688}{${e}}](${r})`:`[${e}](${r})`}return t?`\\color{#009688}{${e}}`:e});return t&&(r=r.replaceAll(A,e=>`\\color{#009688}{${e}}`)),r}function T(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 k(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,"")}let v=new WeakMap;export default function w(u,A){let w=[l(u)],B=v.get(w);if(B)return B;let z=c(A,u,i.Latest,!0,o.TS),F="";s(z,r=>{f(r)?F+=function(r){let l=r.name.text;Object.assign(h,{[r.name.text]:e(r.getSourceFile().fileName).replace(n.alias["@pkg"],"")});let o=b(r),i=y(o),c=k(o),s=j(o)?.split("|")||[],u=s.includes("comment"),f=s.includes("initial"),A=s.includes("optional"),v=s.includes("version"),w=s.includes("author"),B=c?`\\color{|4||0.45}{${l}}`:l,z=(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;}">${S(T(e))}</n-tag>`),F=[c,B,i&&`\\color{#52c11b|1||0.9}{${i}}`,z.length>0&&`<sub>\`extends\`</sub> ${z.join(" ")}`].filter(Boolean).join(" "),N=`## ${F}`,K=r.members.filter(e=>p(e)&&e.type?.kind!==a.NeverKeyword||d(e)),C=[];if(K.length>0){for(let e=0,t=K.length;e<t;e++){let t=K[e],n=S(T(d(t)?`(${t.parameters.map(e=>`${e.name.getText()}: ${e.type?.getText()||"any"}`).join(", ")}): ${t.type?.getText()||"any"}`:t.type?.getText()||"any"),!0),r=b(t),l=T(t.name.getText());l&&!l.startsWith("\\color")&&(d(t)||function(e){if(e.type){if(!$(e.type))return g(e.type);else for(let t of e.type.types)if(g(t))return!0}return!1}(t)||n?.includes("=>")?l=`\\color{#f9a913}{${l}}`:/^["'](.+)["']$/.test(l)||(l=`\\color{#4c81db}{${l}}`));let i=t.questionToken&&m(t.questionToken);C.push([l,!A&&`\\color{${i?"#f9a913":"#52c11b"}\\|\\|\\|0.9}{${i?"✘":"✔"}}`,!u&&T(k(r)),n,!f&&T(function(e){if(!e)return;let t=e.match(/@default\s+([^\n]+)/);return t?t[1].trim():void 0}(r)),!v&&T(y(r)),!w&&(x(r)||x(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}(r)])}let e=!1,t=!1,n=!1,r=!1;for(let l=0,o=C.length;l<o;l++){let o=C[l];!u&&o[2]&&(r=!0),!f&&o[4]&&(n=!0),!v&&o[5]&&(t=!0),!w&&o[6]&&(e=!0)}N+="\n";let l=["属性",!A&&"必要",r&&"说明","类型",n&&"默认值",t&&"版本",e&&"作者"].filter(Boolean).join("|");N+=`|${l}|`;let i=[":-",!A&&":-",r&&":-",":-",n&&":-",t&&":-",e&&":-"].filter(Boolean);N+="\n";let a=i.join("|");N+=`|${a}|`;for(let l=0,o=C.length;l<o;l++){let o=C[l];N+="\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]||"-"),!A&&(o[1]||"-"),r&&(o[2]||"-"),o[3]||"-",n&&(o[4]||"-"),t&&(o[5]||"-"),e&&(o[6]||"-")].filter(Boolean).join("|");N+=`|${i}|`}N+="\n"}return N+"\n"}(r):t.isEnumDeclaration(r)&&(F+=function(r){let l=r.name.text,o=b(r),i=k(o),a=y(o);Object.assign(h,{[r.name.text]:e(r.getSourceFile().fileName).replace(n.alias["@pkg"],"")});let c=i?`\\color{|4||0.45}{${l}}`:l,s=[i,c,a&&`\\color{#52c11b|1||0.9}{${a}}`].filter(Boolean).join(" "),u=j(o)?.split("|")||[],f=u.includes("comment"),m=u.includes("version"),p=u.includes("author"),g=`## ${s}`;if(r.members.length>0){let e=[];for(let n=0,l=r.members.length;n<l;n++){let l=r.members[n],i=T(l.name.getText()),a=b(l),c=T(function(e){let n=e.initializer;if(n&&t.isStringLiteral(n))return` '${n.text}'`}(l)),s=T(y(a)),u=T(k(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 n=!1,l=!1,i=!1;for(let t=0,r=e.length;t<r;t++){let r=e[t];!f&&r[1]&&(i=!0),!m&&r[3]&&(l=!0),!p&&r[4]&&(n=!0)}g+="\n";let a=["属性",i&&"说明","值",l&&"版本",n&&"作者"].filter(Boolean).join("|");g+=`|${a}|`;let c=[":-",i&&":-",":-",l&&":-",n&&":-"].filter(Boolean);g+="\n";let s=c.join("|");g+=`|${s}|`;for(let t=0,r=e.length;t<r;t++){let r=e[t];g+="\n";let o=[r[0]||"-",i&&(r[1]||"-"),r[2]||"-",l&&(r[3]||"-"),n&&(r[4]||"-")].filter(Boolean).join("|");g+=`|${o}|`}}return g+"\n\n"}(r))});let N=r(F);return v.set(w,N),N}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moneko/core",
|
|
3
|
-
"version": "4.0.0
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "core",
|
|
5
5
|
"main": "lib/index.mjs",
|
|
6
6
|
"type": "module",
|
|
@@ -129,11 +129,11 @@
|
|
|
129
129
|
"license": "MIT",
|
|
130
130
|
"dependencies": {
|
|
131
131
|
"@moneko/convert": "1.1.4",
|
|
132
|
-
"@moneko/eslint": "1.
|
|
132
|
+
"@moneko/eslint": "1.10.0",
|
|
133
133
|
"@moneko/mdx": "1.0.2",
|
|
134
134
|
"@moneko/raw-import": "1.2.0",
|
|
135
135
|
"@moneko/request": "1.6.2",
|
|
136
|
-
"@moneko/stylelint": "1.
|
|
136
|
+
"@moneko/stylelint": "1.7.0",
|
|
137
137
|
"@moneko/transform-imports": "1.3.0",
|
|
138
138
|
"@moneko/utils": "0.3.3",
|
|
139
139
|
"@swc/core": "1.15.1",
|
|
@@ -173,4 +173,4 @@
|
|
|
173
173
|
"typings"
|
|
174
174
|
],
|
|
175
175
|
"packageManager": "pnpm@10.20.0"
|
|
176
|
-
}
|
|
176
|
+
}
|