@moneko/core 4.11.3 → 4.11.4-beta.2
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/bin/git-hooks.d.mts +1 -1
- package/lib/bin/git-hooks.mjs +2 -2
- package/lib/bin/pin.mjs +1 -1
- package/lib/commom/check-npm.d.mts +2 -1
- package/lib/commom/check-npm.mjs +1 -1
- package/lib/commom/corepack.d.mts +5 -1
- package/lib/commom/corepack.mjs +1 -1
- package/lib/commom/release-port-exclusion.d.mts +21 -7
- package/lib/commom/release-port-exclusion.mjs +1 -1
- package/lib/config.mjs +1 -1
- package/lib/module.config.mjs +1 -1
- package/lib/plugin/module-federation.mjs +1 -1
- package/lib/vm/dts.mjs +1 -1
- package/package.json +9 -8
package/lib/bin/git-hooks.d.mts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function githooks(): void
|
|
1
|
+
export default function githooks(): Promise<void>;
|
package/lib/bin/git-hooks.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{spawn as e}from"node:child_process";import{argv as o,exit as
|
|
2
|
-
`,e?"red":"green");
|
|
1
|
+
import{spawn as e}from"node:child_process";import{argv as o,exit as r}from"node:process";import{ink as t,print as n,saveFileSync as i}from"@moneko/utils";import l from"husky";import c from"../commom/log.mjs";function s(o,r){return new Promise((t,n)=>{let i=e(o,r,{stdio:"inherit"});i.once("error",n),i.once("close",e=>{t(e??1)})})}export default async function m(){let e=t("Git init","cyan"),m=e=>t(`✨ ${e?"Error":"Successfully"}!
|
|
2
|
+
`,e?"red":"green");n(`${e}: ${t("Running...","yellow")}`,!0);try{let c=await s("git",["init"]);if(0!==c)return n(`${e}: ${m(!0)}`,!0),r(1);if(c=await s("git",["config","core.ignorecase","false"]),n(`${e}: ${m(0!==c)}`,!0),0!==c)return r(1);let u=t("Git hooks","cyan");n(`${u}: ${t("Running...","yellow")}`,!0);let a="node_modules/.husky";l(a);let f=o.slice(3).map(e=>{let o=e.split("=");return i(`${a}/${o[0]}`,o[1].replace(/\\n/g,"\n"))}).every(e=>!!e);n(`${u}: ${m(!f)}`,!0),r(+!f)}catch(e){c(e),r(1)}}
|
package/lib/bin/pin.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{spawn as e}from"node:child_process";import{relative as t}from"node:path";import{ink as a,println as n,progressBar as
|
|
1
|
+
import{spawn as e}from"node:child_process";import{relative as t}from"node:path";import{ink as a,println as n,progressBar as r,updateFile as o}from"@moneko/utils";import{getPackageManager as l}from"../commom/package-manager.mjs";import s from"../commom/parse-args.mjs";import m from"../commom/paths.mjs";import{readJson as i}from"../commom/read-json.mjs";import c from"../commom/require.mjs";let p=c.resolve(`${m.programPath}/package.json`);async function d(t){return new Promise(a=>{let n=e("npm",["view",t,"version"]),r="";n.stdout?.on("data",e=>{r+=e}),n.stderr?.on("data",e=>{let t=e.toString().split("\n").filter(e=>e.includes("GET http")).map(e=>e.split(" - ")[0].trim());t.length&&(r+=`Err: ${t[0]}`.trim())}),n.on("close",async()=>{a(r.trim())}),n.on("error",e=>{a(`Err: ${e.message}`)})})}async function u(e,t){let a={...e};return r(t.done.length,t.total,{name:"Checking"}),await Promise.allSettled(Object.keys(a).map(async e=>{let n=await d(e);t.done.includes(e)||t.done.push(e),r(t.done.length,t.total,{name:"Checking",msg:`${t.done.length} / ${t.total}`}),a[e]=n})),a}let g={major:"red",minor:"yellow",patch:"cyan",equal:"white"};async function h(e,t,a,n){if(e[t]){var r;let o=await u(e[t],n),l=(r=e[t],Object.keys(o).filter(e=>{let t=$(r[e]);return r[e]!==`${t[0]}${o[e]}`}).map(e=>{var t,a;let n,l,s=$(r[e]),m=o[e].includes("Err:"),i=m?"red":g[t=s[1],a=o[e],n=t.split("."),l=a.split("."),n[0]!==l[0]?"major":n[1]!==l[1]?"minor":n[2]!==l[2]?"patch":"equal"];return{name:e,wanted:r[e],latest:`${s[0]}${o[e].replace("Err:","")}`,color:i,err:m?o[e]:void 0}}));l.length&&(a[t]=l)}}function f(e,t,a){return e.reduce((e,n)=>Math.max(e,t[n].reduce((e,t)=>Math.max(e,t[a]?.length??0),0)),0)}function $(e){let t=e.match(/^([^\d]*)(.*)$/);return t?[t[1],t[2]]:["",e]}async function y(){let e=s(process.argv),r=i(p),c={done:[],total:Object.keys({...r.peerDependencies||{},...r.optionalDependencies||{},...r.devDependencies||{},...r.dependencies||{}}).length},d={};if(n(""),await Promise.allSettled([h(r,"peerDependencies",d,c),h(r,"optionalDependencies",d,c),h(r,"devDependencies",d,c),h(r,"dependencies",d,c)]),n(""),Object.keys(d)?.length>0){let s=l(r.packageManager),i=Object.keys(d),c="".padEnd(3," ");n(""),n(a("⚡ Updates available for:","magenta",{bold:!0})),n("");let u=f(i,d,"name"),g=f(i,d,"latest"),h=f(i,d,"wanted");i.forEach(e=>{n(a(`${e}:`,"145")),d[e].forEach(t=>{n(`${a(t.name.padEnd(u," "),t.color,{bold:!0})}${c}${t.wanted.padStart(h," ")}${c}${a("→",t.color)}${c}${a(t.latest.padStart(g," "),t.color)}`),t.err||(r[e][t.name]=t.latest)}),n("")}),e["-u"]?(await o(p,JSON.stringify(r,null,2)),n(`✅ ${a(t(m.programPath,p),"yellow")} upgrade completed successfully.`),n(`⏳ Run ${a(`${s} install`,"blue")} to install new versions.`)):n(`⏳ Run ${a("mo pin -u","blue")} to upgrade package.json`)}else n(""),n("🎉 All dependencies match the latest package versions");n("")}export default y;
|
package/lib/commom/check-npm.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{spawn as
|
|
1
|
+
import{spawn as o}from"node:child_process";import{platform as t}from"node:process";function e(){return"win32"===t?"npm.cmd":"npm"}export default function(){let t=o(e(),["-v"],{stdio:"pipe",windowsHide:!0}),r="";t.stdout.on("data",o=>{r+=o.toString()}),t.on("error",()=>{}),t.on("close",t=>{let i,n,s;0===t&&9>Number.parseInt(r.trim().split(".")[0],10)&&(n=o(i=e(),["config","get","enable-pre-post-scripts"],{stdio:"pipe",windowsHide:!0}),s="",n.stdout.on("data",o=>{s+=o.toString()}),n.on("error",()=>{}),n.on("close",t=>{0!==t||"true"!==s.trim()&&o(i,["config","set","enable-pre-post-scripts","true","-L","project"],{stdio:"ignore",windowsHide:!0})}))})};
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* 如果 corepack
|
|
2
|
+
* 如果 corepack 未安装,则安装/启用它。
|
|
3
|
+
*
|
|
3
4
|
* @param {boolean} enable 是否启用 corepack
|
|
5
|
+
*
|
|
4
6
|
* @example
|
|
5
7
|
* ```ts
|
|
6
8
|
* import { corepack } from '@moneko/core';
|
|
9
|
+
*
|
|
7
10
|
* corepack(true);
|
|
8
11
|
* ```
|
|
12
|
+
*
|
|
9
13
|
* @returns
|
|
10
14
|
*/ export declare function corepack(enable?: boolean): void;
|
package/lib/commom/corepack.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{spawn as e}from"node:child_process";import{dirname as r,join as o}from"node:path";import{execPath as
|
|
1
|
+
import{spawn as e}from"node:child_process";import{dirname as r,join as o}from"node:path";import{execPath as n,platform as a,versions as i}from"node:process";import{ink as t,loadFile as p,println as m,saveFile as c}from"@moneko/utils";import{packageJson as s}from"../process-env.mjs";import l from"./log.mjs";import d from"./paths.mjs";let f=o(d.programPath,"package.json"),g=t("corepack","magenta"),k={stdio:"ignore",windowsHide:!0};function u(){return"win32"===a?"corepack.cmd":"corepack"}export function corepack(d){new Promise(i=>{if(!s.packageManager)return void i(!1);let t=e(u(),["-v"],k);t.on("error",e=>{l(e),i(!1)}),t.on("exit",e=>{if(0!==e)return void i(!1);let t=s.packageManager.split("@")[0],m="win32"===a?`${t}.cmd`:t;p(o(r(n),m)).then(e=>{i(e.includes("corepack"))}).catch(e=>{l(e),i(!1)})})}).then(r=>{if(d){if(!s.packageManager){let e;s.packageManager=(e=Number(i.node.split(".")[0]))<16?"pnpm@7.33.7":e<18?"pnpm@8.15.9":"pnpm@12.2.1",c(f,JSON.stringify(s,null,2))}if(r)return;e(u(),["enable"],k);return}r?m(`${g} is ${t("enabled","green")} ${t(`(${s.name})`,"245")}`):m(`${g} is ${t("disabled","yellow")} ${t(`(${s.name})`,"245")}`)}).catch(e=>{l(e)})}
|
|
@@ -2,18 +2,32 @@
|
|
|
2
2
|
// 须管理员身份运行。非管理员或非 Windows 静默忽略。
|
|
3
3
|
//
|
|
4
4
|
// 静态段(带 *)用 netsh delete 删;动态段(不带 *)由 winnat 运行时分配,
|
|
5
|
-
// delete 无效,需重启 winnat 服务。治标不治本,治本需换端口或关 Hyper-V/WSL
|
|
5
|
+
// delete 无效,需重启 winnat 服务。治标不治本,治本需换端口或关 Hyper-V/WSL.
|
|
6
6
|
interface ExcludedTcpRange {
|
|
7
7
|
start: number;
|
|
8
8
|
end: number;
|
|
9
|
-
/**
|
|
9
|
+
/**
|
|
10
|
+
* true = winnat 动态段(不带 *),只能重启 winnat;
|
|
11
|
+
* false = 静态段(带 *),可 netsh delete。
|
|
12
|
+
*/ isDynamic: boolean;
|
|
10
13
|
}
|
|
11
|
-
/**
|
|
12
|
-
|
|
14
|
+
/**
|
|
15
|
+
* 解析当前 TCP 排除端口范围列表。
|
|
16
|
+
*/ export declare function getExcludedTcpRanges(): ExcludedTcpRange[];
|
|
17
|
+
/**
|
|
18
|
+
* 查找包含指定端口的排除段。
|
|
19
|
+
*/ export declare function hitPortInExcludedRanges(port: number): ExcludedTcpRange | undefined;
|
|
13
20
|
/**
|
|
14
21
|
* 释放指定端口所在排除段。
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
22
|
+
*
|
|
23
|
+
* 静态段:
|
|
24
|
+
* netsh delete excludedportrange
|
|
25
|
+
*
|
|
26
|
+
* 动态段:
|
|
27
|
+
* net stop winnat
|
|
28
|
+
* net start winnat
|
|
29
|
+
*
|
|
30
|
+
* 不在范围 / 非 Windows / 失败:
|
|
31
|
+
* 静默忽略
|
|
18
32
|
*/ export declare function releasePortExclusion(port: number): void;
|
|
19
33
|
export { };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{execFileSync as e}from"node:child_process";import{platform as t}from"node:os";import n from"./log.mjs";export function getExcludedTcpRanges(){try{let t=e("netsh.exe",["interface","ipv4","show","excludedportrange","protocol=tcp"],{windowsHide:!0,encoding:"utf8"}),n=[];for(let e of t.split(/\r?\n/)){let t=e.match(/^\s*(\d+)\s+(\d+)\s*(\*)?\s*$/);t&&n.push({start:Number(t[1]),end:Number(t[2]),isDynamic:"*"!==t[3]})}return n}catch(e){return n(e),[]}}export function hitPortInExcludedRanges(e){return getExcludedTcpRanges().find(t=>e>=t.start&&e<=t.end)}export function releasePortExclusion(r){if("win32"!==t())return;let o=hitPortInExcludedRanges(r);if(o)try{if(!o.isDynamic)return void e("netsh.exe",["interface","ipv4","delete","excludedportrange","protocol=tcp",`startport=${o.start}`,`numberofports=${o.end-o.start+1}`],{windowsHide:!0,stdio:"pipe"});e("net.exe",["stop","winnat"],{windowsHide:!0,stdio:"pipe"}),e("net.exe",["start","winnat"],{windowsHide:!0,stdio:"pipe"})}catch(e){n(e)}}
|
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 i}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 i}from"./commom/posix.mjs";import r from"./commom/setup-env.mjs";import a 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,isBuild as v,isCI as x,isDev as b,isLibrary as j,isMobile as C,isReact as P,jsxImportSource as k,mainDirectory as w,NODE_ENV as O,PACKAGENAME as y}from"./process-env.mjs";let S=[/(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","codemirror-json-schema"];export async function getConfig(e){let t=l(e).default;return(p(t)?await t(o):t)??{}}let I=await r(O,f,h,[],v,n),[z,F]=await Promise.all([getConfig(s.configPath),getConfig(s.customConfigPath)]),M={mode:O,strict:!1,devtool:!1,seo:!1,bundleAnalyzer:!1,polyfill:!1,entry:{},minifier:(!!x||!b)&&{},sourceMap:{filename:"[file].map",publicPath:"",namespace:y,moduleFilenameTemplate:"moneko://[namespace]/[resource-path]?[loaders]",fallbackModuleFilenameTemplate:"moneko://[namespace]/[resource-path]?[loaders]"},env:I,basename:"/",publicPath:"auto",rem:{designSize:C?375:1920},fallbackCompPath:null,modifyVars:{},prefixCls:"n",alias:Object.assign({"@":u(w)},P&&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:y.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:S,js:S,media:S,font:S,wasm:[]},mdx:{jsx:!1,development:b,jsxImportSource:k,providerImportSource:`@moneko/${h}/mdx`},jsxDomExpressions:a,bar:{name:"Client",nameColor:"68",msgColor:"242",barBgColor:"15",barColor:"69",quiet:x},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"};j&&(M.alias=Object.assign(M.alias,{"@pkg":s.componentsPath,[y]:s.componentsPath}));let A=M;if(A=t(A,z,F),"true"===o.env.CODESPACES&&A.devServer.https&&(A.devServer.https=!1),!1===A.devServer.https&&"darwin"===o.platform&&(A.devServer.open=!1),A.htmlPluginOption&&(A.htmlPluginOption.tags||(A.htmlPluginOption.tags=[]),A.fixBrowserRouter&&A.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))"}),A.manifest)){let o=A.manifest.publicPath??A.htmlPluginOption.publicPath??A.publicPath??"/";A.htmlPluginOption.tags.push({href:i("auto"===o?"/":o,A.manifest.filename).replaceAll(e,"/"),tag:"link",rel:"manifest"})}export const CONFIG=A;export const PUBLICPATH="auto"===CONFIG.publicPath?"":CONFIG.publicPath;d(CONFIG);
|
package/lib/module.config.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
let e;import{join as s,sep as o}from"node:path";import t,{CUSTOMCONFIG as r}from"./commom/paths.mjs";import a from"./commom/require.mjs";import*as
|
|
1
|
+
let e;import{join as s,sep as o}from"node:path";import t,{CUSTOMCONFIG as r}from"./commom/paths.mjs";import a from"./commom/require.mjs";import*as l from"./commom/rule.mjs";import n from"./options/modify-vars.mjs";import i from"./options/reslove.mjs";import m from"./options/swcrc.mjs";import{getLightningCssTargets as c}from"./polyfills/targets.mjs";import{node_modules as p,resolveProgram as d}from"./utils/index.mjs";import u from"./utils/svg-to-data-uri.mjs";import{outputConfig as f}from"./common.mjs";import{CONFIG as y}from"./config.mjs";import{app_schema as h,FRAMEWORK as j,virtual_schema as g}from"./process-env.mjs";let x={loader:s(t.corePath,"/loader/lightning-css.cjs"),options:{sourceMap:!!y.sourceMap,targets:c(),rem:!!y.rem,importLoaders:2}},v={loader:i.lessLoader,options:{sourceMap:!!y.sourceMap,lessOptions:{modifyVars:n,javascriptEnabled:!0}}},w=new Map,L=["components","example","mock","site","src","server"].map(e=>d(e));function M(e){return new Promise(s=>{s([...L,t.corePath,...y.rulesInclude?.[e]?.map(e=>"string"==typeof e?function(e){if(w.has(e))return w.get(e);try{let s,t=a.resolve(e).split(o),r=t.lastIndexOf("node_modules");return s=-1!==r?t.slice(0,r).join(o):t.join(o),w.set(e,[s]),[s]}catch{try{let s=a.resolve(`${e}${o}package.json`).replace(`${o}package.json`,"");w.set(e,[s])}catch{w.set(e,[p(e),p(".pnpm",e)])}return w.get(e)}}(e):e).flat()||[]])})}r&&L.push(d(r)),y.overrideResolve&&y.overrideResolve.override&&L.push(y.overrideResolve.override);let P=await Promise.all([M("css"),M("js"),M("media"),M("wasm"),M("font")]),_=P[0],I=P[1],b=P[2],O=P[3],C=P[4];i.sassLoader&&(e={loader:i.sassLoader,options:{implementation:await import("sass"),sassOptions:{}}});let k=f.library?.type==="umd"&&!1===y.htmlPluginOption,B=[{resourceQuery:/raw/i,type:"asset/source"},{resourceQuery:/url/i,type:"asset/resource",generator:{filename(e){let s=e.filename;return s&&s.toLocaleLowerCase().endsWith("wasm?url")?"wasm/[hash][ext]":"assets/[hash][ext]"}}},{test:l.wasm,type:"webassembly/async",include:O},{test:l.txt,type:"asset/source"},{test:l.image,type:"asset",dependency:{not:["url"]},parser:{dataUrlCondition:k?()=>!0:{maxSize:4096}},generator:{filename:e=>e.filename?.toLocaleLowerCase().endsWith(".svg")?"assets/svg/[hash][ext]":"assets/images/[hash][ext]",dataUrl:(e,s)=>s.filename.toLocaleLowerCase().endsWith(".svg")?u(e.toString()):e},include:b},{test:l.video,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/video/[hash][ext]"},include:b},{test:l.font,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/fonts/[hash][ext]"},include:C}],N=y.prefixJsLoader.filter(Boolean)||[];y.cssInJs&&"object"==typeof y.cssInJs.minify&&N.unshift({loader:s(t.corePath,"/loader/css-in-js-minify.cjs"),options:Object.assign({moduleName:"@moneko/css",allowFuncs:["css","injectGlobal"]},y.cssInJs.minify)});export default(o=>{let r={react:{loader:i.swcLoader,options:m(o)},solid:{loader:s(t.corePath,"/loader/solid.cjs"),options:{jsxOptions:y.jsxDomExpressions,refresh:y.refresh}}}[j];return{generator:{"css/auto":{exportsOnly:!1,exportsConvention:"camel-case-only",localIdentName:"[uniqueName]_[id]_[local]",esModule:!0},"css/module":{exportsOnly:!1,exportsConvention:"camel-case-only",localIdentName:"[uniqueName]_[id]_[local]",esModule:!0}},parser:{javascript:{commonjsMagicComments:!0,dynamicImportMode:"lazy",dynamicImportPrefetch:!1,dynamicImportPreload:!1,importMeta:!0,importMetaContext:!0},css:{import:!0,namedExports:!0,url:!0},json:{exportsDepth:1}},noParse:y.noParse,rules:[{oneOf:[...B,{test:l.js,use:[...N,r].filter(Boolean),include:I,resolve:{fullySpecified:!1}},...y.cssModules.map(e=>({test:s=>l.node_modules_css_module.test(s)&&s.includes(e),use:[x],type:"css/module"})),{test:l.css,use:[x],type:"css/auto",include:_},e&&{test:l.sass_global,use:[x,e],type:"css/auto",include:_},e&&{test:l.scss,use:[x,e],type:"css/module",include:_},{test:l.less_global,use:[x,v],type:"css/auto",include:_},{test:l.less,use:[x,v],type:"css/module",include:_},{test:l.markdown,use:[...N,{loader:s(t.corePath,"/loader/mdx.cjs"),options:y.mdx}].filter(Boolean),exclude:[l.node_modules,e=>e.startsWith(`${h}:`)||e.startsWith(`${g}:`)]}].filter(Boolean)},...y.moduleRules].filter(Boolean)}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{join as e,parse as t,relative as r,sep as o}from"node:path";import m from"webpack";import s from"../commom/log.mjs";import a from"../commom/module-resolve.mjs";import l from"../commom/paths.mjs";import{CONFIG as i}from"../config.mjs";import{re_export_schema as p}from"../process-env.mjs";import n from"../utils/fetch-module-federation-dts.mjs";import{resolveProgram as f}from"../utils/index.mjs";import{mf_vm as h}from"../vm/mf.mjs";import{re_export_vm as c}from"../vm/re-export.mjs";import{ModuleFederationExposesDeclarationPlugin as u}from"./exposes-declararion.mjs";import{ExternalRemotesPlugin as d}from"./external-remotes.mjs";let $=m.NormalModuleReplacementPlugin,j=m.container.ModuleFederationPlugin,x={},y=[];function g(e,r){let m=e.replaceAll(o,"/").replace(/\.tsx?$/i,""),s=t(r);h.setData(m,{type:".tsx",source:()=>{if(r.startsWith(l.nodeModules)){let e=r.substring(l.nodeModules.length).split("node_modules").pop()?.replaceAll(o,"/").replace(/^\//,"");return`export * from '${e}';`}return r.startsWith(i.alias["@"])?`export * from '@/${t(s.dir).name}/${s.name}'`:"export {};"}})}if(i.moduleFederation?.length)try{await Promise.allSettled(i.moduleFederation?.flatMap(e=>e.remotes
|
|
1
|
+
import{join as e,parse as t,relative as r,sep as o}from"node:path";import m from"webpack";import s from"../commom/log.mjs";import a from"../commom/module-resolve.mjs";import l from"../commom/paths.mjs";import{CONFIG as i}from"../config.mjs";import{re_export_schema as p}from"../process-env.mjs";import n from"../utils/fetch-module-federation-dts.mjs";import{resolveProgram as f}from"../utils/index.mjs";import{mf_vm as h}from"../vm/mf.mjs";import{re_export_vm as c}from"../vm/re-export.mjs";import{ModuleFederationExposesDeclarationPlugin as u}from"./exposes-declararion.mjs";import{ExternalRemotesPlugin as d}from"./external-remotes.mjs";let $=m.NormalModuleReplacementPlugin,j=m.container.ModuleFederationPlugin,x={},y=[];function g(e,r){let m=e.replaceAll(o,"/").replace(/\.tsx?$/i,""),s=t(r);h.setData(m,{type:".tsx",source:()=>{if(r.startsWith(l.nodeModules)){let e=r.substring(l.nodeModules.length).split("node_modules").pop()?.replaceAll(o,"/").replace(/^\//,"");return`export * from '${e}';`}return r.startsWith(i.alias["@"])?`export * from '@/${t(s.dir).name}/${s.name}'`:"export {};"}})}if(i.moduleFederation?.length)try{await Promise.allSettled(i.moduleFederation?.flatMap(e=>e.remotes?.map(e=>n(e.host,e.name,e.library||[],e.alias))))}catch(e){s(e)}let b=i.moduleFederation?.map(t=>{let o={},m={};if(Array.isArray(t.remotes))for(let e=0,r=t.remotes.length;e<r;e++){let r=t.remotes[e],o=r.alias||r.name,s=r.filename||"remote_entry.js";if(m[o]=`${r.name}@${r.host}/${s}`,Array.isArray(r.library))for(let e=0,t=r.library.length;e<t;e++)x[r.library[e]]=`${o}/${r.library[e]}`}if(Array.isArray(t.exposes)){t.exposes.length>0&&!t.exposes.find(e=>"public-path"===e)&&t.exposes.push({name:"public-path",path:`./${r(l.programPath,e(l.corePath,"./polyfills/public-path.mjs"))}`});for(let e=0,r=t.exposes.length;e<r;e++){let r=t.exposes[e];if("string"==typeof r){let e=r,m=r.startsWith(".");!m&&c.has(r)&&(e=`${p}:${r}`),o[`./${r}`]=a(m?f(e):e),m&&g(`${t.name}/${r}`,o[`./${r}`])}else if("[object Object]"===Object.prototype.toString.call(r)){let e=r.path.startsWith(".");o[`./${r.name}`]=a(e?f(r.path):r.path),e&&g(`${t.name}/${r.name}`,o[`./${r.name}`])}}t.exposes?.length&&y.push(new u({exposes:Object.fromEntries(t.exposes.map(e=>"string"==typeof e?[e,a(e)]:[`${t.name}/${e.name}`,o[`./${e.name}`]])),name:t.name}))}return new j({filename:"remote_entry.js",...t,remotes:m,exposes:o})});b.length>0&&(b.push(new d),b.push(new $(/(.*)/,e=>{x[e.request]&&(e.request=x[e.request])})),y.forEach(e=>b.push(e))),i.env.injectRemoteReactRefresh=Object.keys(x).includes("react-dom");export default b;
|
package/lib/vm/dts.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{join as e}from"node:path";import{loadFileSync as t,updateFile as o,updateFileSync as r}from"@moneko/utils";import s from"../commom/paths.mjs";import a from"../commom/reactive-object.mjs";import{readJson as n}from"../commom/read-json.mjs";import{app_schema as m,APPTYPE as p,CACHE_NAME as i,FRAMEWORK as d,framework as l,frameworkVersionStr as c,packageJson as v,service_worker_schema as f,SSR as u,virtual_schema as $}from"../process-env.mjs";import j from"../utils/create-types.mjs";import{generateDeclaration as h}from"../utils/dts.mjs";import{convertToCamelCase as y,transformModule as b}from"../utils/index.mjs";export const dts_path=e(s.nodeModules,"@types",i,"index.d.ts");export const vm_dts=new a({});export function getEnvDts(e){return`${e};declare global {import AppEnv from '${m}:env';type ImportMetaEnv = Readonly<typeof AppEnv>;interface ImportMeta {readonly env: ImportMetaEnv;}namespace NodeJS {interface ProcessEnv extends ImportMetaEnv {readonly [key: string]: string | number | boolean | undefined;}}}`}vm_dts.on("change",()=>{let e=Object.values(vm_dts.data).join("\n");o(dts_path,e)});export function initDts(o){let a=j(`${m}:env`,h(getEnvDts(b(o.env)),`${m}:env`));vm_dts.setData(`${m}:env`,a);let g=n(e(s.programPath,"package.json"));vm_dts.setData(`${m}:info`,j(`${m}:info`,h(b({...g,projectName:y(v.name),ssr:u,type:p,frameworkVersion:c,framework:l,base:o.basename,routerMode:o.routerMode,prefixCls:o.prefixCls,theme:o.theme}),`${m}:info`))),vm_dts.setData(`${m}:public-path`,j(`${m}:public-path`,t(e(s.corePath,"./polyfills/public-path.mjs"))||"")),vm_dts.setData(`${f}:precaching`,j(`${f}:precaching`,t(e(s.corePath,"./service-worker/precaching.d.ts"))||"")),o.virtualModule&&Object.keys(o.virtualModule).map(e=>{let t=b(o.virtualModule[e]),r=`${$}:${e}`;vm_dts.setData(r,j(r,h(t,r)))});let M=o.moduleFederation?.flatMap(e=>Array.isArray(e.remotes)?e.remotes.map(e=>e.alias||e.name):[]).filter(Boolean);r(dts_path,Object.values(vm_dts.data).join("\n")),r(e(s.nodeModules,"@moneko/init.d.json"),JSON.stringify({extends:`@moneko/${d}/base`,compilerOptions:{types:[
|
|
1
|
+
import{join as e}from"node:path";import{loadFileSync as t,updateFile as o,updateFileSync as r}from"@moneko/utils";import s from"../commom/paths.mjs";import a from"../commom/reactive-object.mjs";import{readJson as n}from"../commom/read-json.mjs";import{app_schema as m,APPTYPE as p,CACHE_NAME as i,FRAMEWORK as d,framework as l,frameworkVersionStr as c,packageJson as v,service_worker_schema as f,SSR as u,virtual_schema as $}from"../process-env.mjs";import j from"../utils/create-types.mjs";import{generateDeclaration as h}from"../utils/dts.mjs";import{convertToCamelCase as y,transformModule as b}from"../utils/index.mjs";export const dts_path=e(s.nodeModules,"@types",i,"index.d.ts");export const vm_dts=new a({});export function getEnvDts(e){return`${e};declare global {import AppEnv from '${m}:env';type ImportMetaEnv = Readonly<typeof AppEnv>;interface ImportMeta {readonly env: ImportMetaEnv;}namespace NodeJS {interface ProcessEnv extends ImportMetaEnv {readonly [key: string]: string | number | boolean | undefined;}}}`}vm_dts.on("change",()=>{let e=Object.values(vm_dts.data).join("\n");o(dts_path,e)});export function initDts(o){let a=j(`${m}:env`,h(getEnvDts(b(o.env)),`${m}:env`));vm_dts.setData(`${m}:env`,a);let g=n(e(s.programPath,"package.json"));vm_dts.setData(`${m}:info`,j(`${m}:info`,h(b({...g,projectName:y(v.name),ssr:u,type:p,frameworkVersion:c,framework:l,base:o.basename,routerMode:o.routerMode,prefixCls:o.prefixCls,theme:o.theme}),`${m}:info`))),vm_dts.setData(`${m}:public-path`,j(`${m}:public-path`,t(e(s.corePath,"./polyfills/public-path.mjs"))||"")),vm_dts.setData(`${f}:precaching`,j(`${f}:precaching`,t(e(s.corePath,"./service-worker/precaching.d.ts"))||"")),o.virtualModule&&Object.keys(o.virtualModule).map(e=>{let t=b(o.virtualModule[e]),r=`${$}:${e}`;vm_dts.setData(r,j(r,h(t,r)))});let M=o.moduleFederation?.flatMap(e=>Array.isArray(e.remotes)?e.remotes.map(e=>e.alias||e.name):[]).filter(Boolean);r(dts_path,Object.values(vm_dts.data).join("\n")),r(e(s.nodeModules,"@moneko/init.d.json"),JSON.stringify({extends:`@moneko/${d}/base`,compilerOptions:{types:["node",`@moneko/${d}/env`,`@types/${i}/index`,...M.map(e=>`@types/${i}/${e}`)]}}))}
|
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moneko/core",
|
|
3
|
-
"version": "4.11.
|
|
3
|
+
"version": "4.11.4-beta.2",
|
|
4
4
|
"description": "@moneko/core",
|
|
5
5
|
"main": "lib/index.mjs",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "rm -rf ./lib && node build.mjs",
|
|
9
9
|
"prepublishOnly": "npm run build",
|
|
10
|
-
"pin": "node lib/bin/index.mjs pin"
|
|
10
|
+
"pin": "node lib/bin/index.mjs pin",
|
|
11
|
+
"githooks": "node lib/bin/index.mjs githooks"
|
|
11
12
|
},
|
|
12
13
|
"bin": {
|
|
13
14
|
"mo": "lib/bin/index.mjs",
|
|
@@ -130,32 +131,32 @@
|
|
|
130
131
|
"homepage": "https://moneko-o.github.io/neko-ui/@moneko/config",
|
|
131
132
|
"license": "MIT",
|
|
132
133
|
"dependencies": {
|
|
133
|
-
"@jsonjoy.com/fs-node": "4.
|
|
134
|
-
"@moneko/convert": "1.3.
|
|
134
|
+
"@jsonjoy.com/fs-node": "4.69.1",
|
|
135
|
+
"@moneko/convert": "1.3.2",
|
|
135
136
|
"@moneko/eslint": "1.11.2",
|
|
136
137
|
"@moneko/mdx": "1.0.3",
|
|
137
138
|
"@moneko/raw-import": "1.5.0",
|
|
138
139
|
"@moneko/request": "1.7.2",
|
|
139
140
|
"@moneko/stylelint": "1.8.3",
|
|
140
141
|
"@moneko/transform-imports": "1.6.0",
|
|
141
|
-
"@moneko/utils": "0.3.
|
|
142
|
+
"@moneko/utils": "0.3.5",
|
|
142
143
|
"@swc/core": "1.16.1",
|
|
144
|
+
"@types/node": "26.4.1",
|
|
143
145
|
"browserslist": "4.28.8",
|
|
144
146
|
"core-js": "3.50.0",
|
|
145
147
|
"core-js-compat": "3.50.0",
|
|
146
148
|
"husky": "9.1.7",
|
|
147
|
-
"less": "4.9.
|
|
149
|
+
"less": "4.9.1",
|
|
148
150
|
"less-loader": "12.3.3",
|
|
149
151
|
"lightningcss": "1.33.0",
|
|
150
152
|
"swc-loader": "0.2.7",
|
|
151
153
|
"typescript": "6.0.3",
|
|
152
|
-
"webpack": "5.110.
|
|
154
|
+
"webpack": "5.110.3",
|
|
153
155
|
"webpack-hot-middleware": "2.26.1",
|
|
154
156
|
"webpack-merge": "6.0.1"
|
|
155
157
|
},
|
|
156
158
|
"devDependencies": {
|
|
157
159
|
"@modelcontextprotocol/sdk": "1.30.0",
|
|
158
|
-
"@types/node": "26.4.0",
|
|
159
160
|
"zod": "4.5.4"
|
|
160
161
|
},
|
|
161
162
|
"publishConfig": {
|