@moneko/core 3.10.0 → 3.10.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/dev.mjs CHANGED
@@ -1 +1 @@
1
- import{directoryExists as e,removeDirAll as t}from"@moneko/mdx";import o from"express";import i from"multer";import r from"webpack";import s from"webpack-dev-middleware";import l from"webpack-hot-middleware";import{merge as m}from"webpack-merge";import n from"./build/server.mjs";import{commonConfig as a}from"./common.mjs";import{CONFIG as p}from"./config.mjs";import{PORT as c,devLog as d,headers as u}from"./dev/config.mjs";import f from"./dev/mock.mjs";import h from"./dev/proxy.mjs";import w from"./module.config.mjs";import g from"./paths.mjs";import{SSR as j,isLibrary as x,isReact as k}from"./process-env.mjs";import b from"./rule.mjs";import y from"./utils/compiler-listener.mjs";import $ from"./utils/has-pkg.mjs";import{empty as v,resolveProgramPath as _}from"./utils/index.mjs";import P from"./utils/progress.mjs";let{HotModuleReplacementPlugin:S,ProgressPlugin:B,WatchIgnorePlugin:D}=r,T=$("stylelint-webpack-plugin")&&(await import("stylelint-webpack-plugin")).default,I=$("eslint-webpack-plugin")&&(await import("eslint-webpack-plugin")).default,E=k&&(await import("@pmmmwh/react-refresh-webpack-plugin")).default,F=["js","jsx","ts","tsx","json","html","vue"],G=F.join(","),M=["css","scss","sass","less","ts","tsx","js","jsx"],O=M.join(","),R=["node_modules/","es/","lib/","umd/","docs/","coverage/","dist/"],U=new URLSearchParams({timeout:2e3,reload:!0,quiet:!0,noInfo:!0,overlay:!0,dynamicPublicPath:!0}).toString(),q=a.output.path;j&&(q=_(`${x?"docs":"dist"}/client`));let A=m(a,{entry:{main:[`webpack-hot-middleware/client?name=client&path=//localhost:${c}/__hmr__&${U}`]},output:{path:q},module:w(!1),plugins:[new S,new D({paths:[/\.d\.ts$/]}),E&&new E,I&&new I({fix:!0,threads:!0,files:[`${p.alias["@"]}/**/*.{${G}}`,x&&`${p.alias["@pkg"]}/**/*.{${G}}`].filter(Boolean),extensions:F,exclude:R,cache:!0,lintDirtyModulesOnly:!0}),T&&new T({fix:!0,threads:!0,files:[`${p.alias["@"]}/**/*.{${O}}`,x&&`${p.alias["@pkg"]}/**/*.{${O}}`].filter(Boolean),extensions:M,exclude:R,cache:!0,lintDirtyModulesOnly:!0}),p.bar&&new B({handler(e,t,...o){let i=p.bar;P(e,i.name||"Build",o.length?`[${t}] ${o.join(" ")}`:"",i.color)}})].filter(Boolean)}),C=[A];j&&C.push(m(a,n));let[L,N]=r(C).compilers;L.hooks.done.tap("client",e=>{d(null,e)});let z=o(),H=i(),J=s(L,{writeToDisk:!1,index:"index.html",headers:()=>u,serverSideRender:j});if(z.use(J),z.use(l(L,{log:!1,path:"/__hmr__",heartbeat:2e3,ignoreUnaccepted:!1,ignoreDeclined:!0,ignoreErrored:!0})),p.proxy&&h(z,p.proxy),e(g.mockPath)){let e=f(g.mockPath);z.use(e)}let K=`${A.output.path}/index.html`;z.all("/*",H.any(),function(e,t,o){if("GET"!==e.method)return o();{let e=J.context.outputFileSystem,o=e?.readFileSync?.(K);t.end(o)}});let Q=[y("client",L)];N&&(N.watch({aggregateTimeout:20,ignored:b.dev_watch_ignored,poll:1e3,stdin:!0},d),Q.push(y("server",N))),await Promise.all(Q);let V=z.listen(c,()=>{});process.on("exit",function(){V.close(v),V.closeAllConnections(),t(g.cachePath)}),process.on("SIGINT",function(){process.exit()});
1
+ import{directoryExists as e,removeDirAll as t}from"@moneko/mdx";import o from"express";import i from"multer";import r from"webpack";import s from"webpack-dev-middleware";import l from"webpack-hot-middleware";import{merge as m}from"webpack-merge";import n from"./build/server.mjs";import{commonConfig as a}from"./common.mjs";import{CONFIG as p}from"./config.mjs";import{PORT as c,devLog as d,headers as u}from"./dev/config.mjs";import f from"./dev/mock.mjs";import h from"./dev/proxy.mjs";import w from"./module.config.mjs";import g from"./paths.mjs";import{SSR as j,isLibrary as x,isReact as k}from"./process-env.mjs";import b from"./rule.mjs";import y from"./utils/compiler-listener.mjs";import $ from"./utils/has-pkg.mjs";import{empty as v,resolveProgramPath as _}from"./utils/index.mjs";import P from"./utils/progress.mjs";import S from"./utils/sigint-exit.mjs";let{HotModuleReplacementPlugin:B,ProgressPlugin:D,WatchIgnorePlugin:T}=r,E=$("stylelint-webpack-plugin")&&(await import("stylelint-webpack-plugin")).default,F=$("eslint-webpack-plugin")&&(await import("eslint-webpack-plugin")).default,M=k&&(await import("@pmmmwh/react-refresh-webpack-plugin")).default,O=["js","jsx","ts","tsx","json","html","vue"],R=O.join(","),U=["css","scss","sass","less","ts","tsx","js","jsx"],q=U.join(","),A=["node_modules/","es/","lib/","umd/","docs/","coverage/","dist/"],C=new URLSearchParams({timeout:2e3,reload:!0,quiet:!0,noInfo:!0,overlay:!0,dynamicPublicPath:!0}).toString(),G=a.output.path;j&&(G=_(`${x?"docs":"dist"}/client`));let I=m(a,{entry:{main:[`webpack-hot-middleware/client?name=client&path=//localhost:${c}/__hmr__&${C}`]},output:{path:G},module:w(!1),plugins:[new B,new T({paths:[/\.d\.ts$/]}),M&&new M,F&&new F({fix:!0,threads:!0,files:[`${p.alias["@"]}/**/*.{${R}}`,x&&`${p.alias["@pkg"]}/**/*.{${R}}`].filter(Boolean),extensions:O,exclude:A,cache:!0,lintDirtyModulesOnly:!0}),E&&new E({fix:!0,threads:!0,files:[`${p.alias["@"]}/**/*.{${q}}`,x&&`${p.alias["@pkg"]}/**/*.{${q}}`].filter(Boolean),extensions:U,exclude:A,cache:!0,lintDirtyModulesOnly:!0}),p.bar&&new D({handler(e,t,...o){let i=p.bar;P(e,i.name||"Build",o.length?`[${t}] ${o.join(" ")}`:"",i.color)}})].filter(Boolean)}),L=[I];j&&L.push(m(a,n));let[z,H]=r(L).compilers;z.hooks.done.tap("client",e=>{d(null,e)});let J=o(),K=i(),N=s(z,{writeToDisk:!1,index:"index.html",headers:()=>u,serverSideRender:j});if(J.use(N),J.use(l(z,{log:!1,path:"/__hmr__",heartbeat:2e3,ignoreUnaccepted:!1,ignoreDeclined:!0,ignoreErrored:!0})),p.proxy&&h(J,p.proxy),e(g.mockPath)){let e=f(g.mockPath);J.use(e)}let Q=`${I.output.path}/index.html`;J.all("/*",K.any(),function(e,t,o){if("GET"!==e.method)return o();{let e=N.context.outputFileSystem,o=e?.readFileSync?.(Q);t.end(o)}});let V=[y("client",z)];H&&(H.watch({aggregateTimeout:20,ignored:b.dev_watch_ignored,poll:1e3,stdin:!0},d),V.push(y("server",H))),await Promise.all(V);let W=J.listen(c,()=>{});process.on("exit",function(){W.close(v),W.closeAllConnections(),t(g.cachePath)}),S(()=>{process.exit(1)});
@@ -0,0 +1,2 @@
1
+ declare function sigintExit(call: VoidFunction): void;
2
+ export default sigintExit;
@@ -0,0 +1 @@
1
+ export default function(e){let t=["SIGINT","SIGTERM","SIGQUIT"];for(let o=0,I=t.length;o<I;o++)process.on(t[o],e)}
@@ -1,2 +1,2 @@
1
- import{basename as e,join as t}from"path";import{directoryExists as o,scanFolder as a}from"@moneko/mdx";import{watch as l}from"chokidar";import{CONFIG as r}from"../config.mjs";import{FRAMEWORK as n,isDev as s}from"../process-env.mjs";import c from"../utils/esm.mjs";import i from"../utils/reactive-object.mjs";import g from"../utils/tfc.mjs";let u={react:'import sso from "shared-store-object";',solid:'import { createEffect, createRoot, getOwner } from "solid-js";import { createStore } from "solid-js/store";'},f={react:'let storageKey="localizable.language",language=localStorage.getItem(storageKey)||"zh_CN",{translation:a,...defaultLocale}=Object.assign({title:"简体中文",language:"zh_CN",translation:{}},resources[language]||resources.zh_CN),localizable=sso({lang:defaultLocale,t:a});export function setLang(a){let{translation:e,...l}=resources[a]||{};e&&(localizable.lang=l,localizable.t=e,localStorage.setItem(storageKey,l.language))}export default localizable;',solid:'let locale=createRoot(()=>{let e="localizable.language",a=localStorage.getItem(e)||"zh_CN",{translation:l,...o}=Object.assign({title:"简体中文",language:"zh_CN",translation:{}},resources[a]||resources.zh_CN),[n,c]=createStore({lang:o,t:l});return createEffect(()=>{let a=resources[n.lang.language]?.translation;a&&(c("t",a),localStorage.setItem(e,n.lang.language))}),{localizable:n,setLocalizable:c,setLang:function(e){let{translation:a,...l}=resources[e]||{};a&&c("lang",l)}}},getOwner());export const setLocalizable=locale.setLocalizable;export const t=locale.localizable.t;export const lang=locale.localizable.lang;export const setLang=locale.setLang;'}[n];function p(e,t){return`${u[n]}
2
- export function interpolateString(r,n){return r.replace(/\\\${\\w+}/g,function(r){var t=r.slice(2,-1);var e=n[t];return e!==void 0?e.toString():""})}function deepFreeze(o) { const p = Reflect.ownKeys(o);for (const k of p) {const v = o[k];if ((v && typeof v === "object") || typeof v === "function") {deepFreeze(v);}}return Object.freeze(o);}export const locales = ${JSON.stringify(e)};const _res = ${JSON.stringify(t)};const resources = deepFreeze(_res);${f}`}export const localesModuleName="@app/locales";export const locales=new i({[localesModuleName]:p([],{})});let m={};async function d(t,o){let a=e(t).replace(/\.[^.]+$/,"");"deleted"===o?delete m[a]:Object.assign(m,{[a]:(await import(c`${g(t)}`)).default});let l=[],r={};for(let e in m)if(Object.prototype.hasOwnProperty.call(m,e)){let{language:t=a,title:o=t,icon:n,translation:s={}}=m[e];l.push({language:t,title:o,icon:n}),r[t]={language:t,title:o,icon:n,translation:s}}locales.setData(localesModuleName,p(l,r))}let z=t(r.alias["@"],"./locales");if(o(z)){let e=a(z,[".ts$"]).filter(e=>!/^\..*|\.d\.ts$/.test(e));await Promise.all(e.map(e=>d(e,"added"))),s&&function(e,t){let o=l(e,{ignored:t,persistent:!0,ignoreInitial:!0});function a(){o.unwatch(e),o.close()}o.on("add",e=>{d(e,"added")}),o.on("change",e=>{d(e,"change")}),o.on("unlink",e=>{d(e,"deleted")}),o.once("ready",()=>{s||a()}),process.on("SIGINT",a)}(z,[/^\..*/,/!\.ts$/,/\.d\.ts$/])}
1
+ import{basename as e,join as t}from"path";import{directoryExists as o,scanFolder as a}from"@moneko/mdx";import{watch as l}from"chokidar";import{CONFIG as r}from"../config.mjs";import{FRAMEWORK as n,isDev as s}from"../process-env.mjs";import c from"../utils/esm.mjs";import i from"../utils/reactive-object.mjs";import g from"../utils/tfc.mjs";import u from"../utils/sigint-exit.mjs";let f={react:'import sso from "shared-store-object";',solid:'import { createEffect, createRoot, getOwner } from "solid-js";import { createStore } from "solid-js/store";'},m={react:'let storageKey="localizable.language",language=localStorage.getItem(storageKey)||"zh_CN",{translation:a,...defaultLocale}=Object.assign({title:"简体中文",language:"zh_CN",translation:{}},resources[language]||resources.zh_CN),localizable=sso({lang:defaultLocale,t:a});export function setLang(a){let{translation:e,...l}=resources[a]||{};e&&(localizable.lang=l,localizable.t=e,localStorage.setItem(storageKey,l.language))}export default localizable;',solid:'let locale=createRoot(()=>{let e="localizable.language",a=localStorage.getItem(e)||"zh_CN",{translation:l,...o}=Object.assign({title:"简体中文",language:"zh_CN",translation:{}},resources[a]||resources.zh_CN),[n,c]=createStore({lang:o,t:l});return createEffect(()=>{let a=resources[n.lang.language]?.translation;a&&(c("t",a),localStorage.setItem(e,n.lang.language))}),{localizable:n,setLocalizable:c,setLang:function(e){let{translation:a,...l}=resources[e]||{};a&&c("lang",l)}}},getOwner());export const setLocalizable=locale.setLocalizable;export const t=locale.localizable.t;export const lang=locale.localizable.lang;export const setLang=locale.setLang;'}[n];function p(e,t){return`${f[n]}
2
+ export function interpolateString(r,n){return r.replace(/\\\${\\w+}/g,function(r){var t=r.slice(2,-1);var e=n[t];return e!==void 0?e.toString():""})}function deepFreeze(o) { const p = Reflect.ownKeys(o);for (const k of p) {const v = o[k];if ((v && typeof v === "object") || typeof v === "function") {deepFreeze(v);}}return Object.freeze(o);}export const locales = ${JSON.stringify(e)};const _res = ${JSON.stringify(t)};const resources = deepFreeze(_res);${m}`}export const localesModuleName="@app/locales";export const locales=new i({[localesModuleName]:p([],{})});let d={};async function z(t,o){let a=e(t).replace(/\.[^.]+$/,"");"deleted"===o?delete d[a]:Object.assign(d,{[a]:(await import(c`${g(t)}`)).default});let l=[],r={};for(let e in d)if(Object.prototype.hasOwnProperty.call(d,e)){let{language:t=a,title:o=t,icon:n,translation:s={}}=d[e];l.push({language:t,title:o,icon:n}),r[t]={language:t,title:o,icon:n,translation:s}}locales.setData(localesModuleName,p(l,r))}let b=t(r.alias["@"],"./locales");if(o(b)){let e=a(b,[".ts$"]).filter(e=>!/^\..*|\.d\.ts$/.test(e));await Promise.all(e.map(e=>z(e,"added"))),s&&function(e,t){let o=l(e,{ignored:t,persistent:!0,ignoreInitial:!0});function a(){o.unwatch(e),o.close()}o.on("add",e=>{z(e,"added")}),o.on("change",e=>{z(e,"change")}),o.on("unlink",e=>{z(e,"deleted")}),o.once("ready",()=>{s||a()}),u(a)}(b,[/^\..*/,/!\.ts$/,/\.d\.ts$/])}
package/lib/vm/utils.mjs CHANGED
@@ -1 +1 @@
1
- import{watch as n}from"chokidar";export function watchFiles(o,i,t){let e=n(o,{ignored:(n,o)=>{if(o)return!o.isDirectory()&&i.test(n)},persistent:!0,ignoreInitial:!0});e.on("add",t).on("change",t).on("unlink",t),process.on("SIGINT",function(){e.unwatch(o),e.close()})}
1
+ import{watch as i}from"chokidar";import t from"../utils/sigint-exit.mjs";export function watchFiles(n,o,e){let r=i(n,{ignored:(i,t)=>{if(t)return!t.isDirectory()&&o.test(i)},persistent:!0,ignoreInitial:!0});r.on("add",e).on("change",e).on("unlink",e),t(function(){r.unwatch(n),r.close()})}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moneko/core",
3
- "version": "3.10.0",
3
+ "version": "3.10.2",
4
4
  "description": "core",
5
5
  "main": "lib/index.mjs",
6
6
  "type": "module",