@moneko/core 3.44.9 → 3.44.11-beta.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.
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{spawnSync as t}from"node:child_process";import{join as e}from"node:path";import{argv as o,cwd as i,exit as r,stdout as n}from"node:process";import{ESLint as l}from"@moneko/eslint";import{stylelint as a}from"@moneko/stylelint";import{ink as m,loadFile as c,println as s}from"@moneko/utils";import f from"../commom/log.mjs";import d from"../commom/parse-args.mjs";import p from"../commom/timer.mjs";let y=d(o.slice(2)),h=y.fix,u=y.cache||!0,w=e(i(),"node_modules/.cache"),g={ci:["diff","--name-only","HEAD^","HEAD"],commit:["diff","--cached","--name-only","--diff-filter=ACMR"]},S=/.*(?<!\.d)\.(j|t|mj|mt|cj|ct)sx?$/,$=/.*(?<!\.d)\.vue$/,E=/.*(?<!\.d)\.(c|sc|sa|le)ss$/,j=t("git",g[y.mode||"ci"]||g.ci).stdout.toString().trim().split("\n");async function L(){let t=m("ESLint","cyan");s(`${t}: ${m("runing...","yellow")}`,!0);try{p.start("ESLint");let t=j.filter(t=>S.test(t)||$.test(t));if(0===t.length){p.end("ESLint");return}let e=new l({cache:u,cacheLocation:`${w}/.eslintcache`,fix:h}),o=await e.lintFiles(t),i=await e.loadFormatter("stylish"),a=await i.format(o);h&&await l.outputFixes(o),a&&n.write(a);let m=o.some(t=>t.errorCount>0);p.end("ESLint"),m&&r(1)}catch(t){f(Error(t))}}let k=j.filter(t=>E.test(t)||$.test(t));async function x(){let t=m("Stylelint","cyan");if(s(`${t}: ${m("runing...","yellow")}`,!0),p.start("Stylelint"),0===k.length){p.end("Stylelint");return}let e=await Promise.all(k.map(async t=>{let e=await c(t);return await a.lint({codeFilename:t,code:e,cache:u,cacheLocation:`${w}/.stylelintcache`,fix:h,formatter:"string"}).catch(f)})),o=!1;e.forEach(t=>{t&&(t.report&&n.write(t.report),t.errored&&(o=!!t.errored))}),p.end("Stylelint"),o&&r(1)}await Promise.all([L(),x()]);
2
+ import{spawnSync as t}from"node:child_process";import{join as e}from"node:path";import{argv as i,cwd as o,exit as r,stdout as n}from"node:process";import{ESLint as l}from"@moneko/eslint";import{stylelint as a}from"@moneko/stylelint";import{ink as m,loadFile as c,println as s}from"@moneko/utils";import f from"../commom/log.mjs";import d from"../commom/parse-args.mjs";import p from"../commom/timer.mjs";let y=d(i.slice(2)),h=y.fix,u=y.cache||!0,w=e(o(),"node_modules/.cache"),g={ci:["diff","--name-only","HEAD^","HEAD"],commit:["diff","--cached","--name-only","--diff-filter=ACMR"]},S=/.*(?<!\.d)\.(j|t|mj|mt|cj|ct)sx?$/,$=/.*(?<!\.d)\.vue$/,E=/.*(?<!\.d)\.(c|sc|sa|le)ss$/,j=t("git",g[y.mode||"ci"]||g.ci).stdout.toString().trim().split("\n");async function L(){let t=m("ESLint","cyan");s(`${t}: ${m("runing...","yellow")}`,!0);try{p.start("ESLint");let t=j.filter(t=>S.test(t)||$.test(t));if(0===t.length){p.end("ESLint");return}let e=new l({cache:u,cacheLocation:`${w}/.eslintcache`,fix:h}),i=await e.lintFiles(t),o=await e.loadFormatter("stylish"),a=await o.format(i);h&&await l.outputFixes(i),a&&n.write(a);let m=i.some(t=>t.errorCount>0);p.end("ESLint"),m&&r(1)}catch(t){f(t)}}let k=j.filter(t=>E.test(t)||$.test(t));async function x(){let t=m("Stylelint","cyan");if(s(`${t}: ${m("runing...","yellow")}`,!0),p.start("Stylelint"),0===k.length){p.end("Stylelint");return}let e=await Promise.all(k.map(async t=>{let e=await c(t);return await a.lint({codeFilename:t,code:e,cache:u,cacheLocation:`${w}/.stylelintcache`,fix:h,formatter:"string"}).catch(f)})),i=!1;e.forEach(t=>{t&&(t.report&&n.write(t.report),t.errored&&(i=!!t.errored))}),p.end("Stylelint"),i&&r(1)}await Promise.all([L(),x()]);
@@ -1 +1 @@
1
- import e from"node:fs";import{ink as r,println as o}from"@moneko/utils";import s from"../commom/parse-args.mjs";import{CONFIG as t}from"../config.mjs";import m from"../dev/server.mjs";export default(async()=>{let{argv:p}=process,{port:i=t.devServer.port,root_dir:n="./dist",https:v=t.devServer.https,host:a=t.devServer.host}=s(p.slice(2));m({port:i,root_dir:n,https:v,host:a,fileSystem:e,proxy:t.proxy,headers:t.devServer.headers,open:t.devServer.open,basename:t.basename,onRequest:()=>!1}),o([r("You application is running here:","245"),`${r(" Preview ","231",{bg:"blue"})} ${r(`${v?"https":"http"}://${a}:${i}`,"75")}`].join("\n"),!0)});
1
+ import e from"node:fs";import{ink as r,println as o}from"@moneko/utils";import s from"../commom/parse-args.mjs";import{CONFIG as t}from"../config.mjs";import m from"../dev/server.mjs";export default(async()=>{let{argv:i}=process,{port:p=t.devServer.port??8080,root_dir:n="./dist",https:a=t.devServer.https,host:v=t.devServer.host??"localhost"}=s(i.slice(2));m({port:p,root_dir:n,https:a,host:v,fileSystem:e,headers:t.devServer.headers,open:t.devServer.open,basename:t.basename,onRequest:()=>!1}),o([r("You application is running here:","245"),`${r(" Preview ","231",{bg:"blue"})} ${r(`${a?"https":"http"}://${v}:${p}`,"75")}`].join("\n"),!0)});
@@ -2,10 +2,8 @@ import { type ChildProcess, exec, type ExecException, type PromiseWithChild } fr
2
2
  import { join, relative } from 'node:path';
3
3
  import { platform } from 'node:process';
4
4
  import { promisify } from 'node:util';
5
- import { fileExists, loadFile, println, saveFile } from '@moneko/utils';
6
- import { type Certificate, createCA, createCert } from 'mkcert';
5
+ import { type CertificateResult, fileExists, generateCert, loadFile, normalCertificateAuthority, println, saveFile } from '@moneko/utils';
7
6
  import log from './log.mjs';
8
- import { getIPv4 } from './net.mjs';
9
7
  import paths from './paths.mjs';
10
8
  type ExecPromise = (command: string) => PromiseWithChild<{
11
9
  stdout: string;
@@ -15,4 +13,4 @@ declare const execPromise: ExecPromise;
15
13
  declare async function isCertificateInstalled(organization: string): Promise<boolean>;
16
14
  declare function installCallback(error: ExecException | null, _stdout: string, stderr: string): void;
17
15
  export declare function installCA(certPath: string): ChildProcess | void;
18
- export declare async function setupCert(domain?: string, install?: boolean): Promise<Certificate>;
16
+ export declare async function setupCert(domain?: string, install?: boolean): Promise<CertificateResult>;
package/lib/commom/ca.mjs CHANGED
@@ -1 +1 @@
1
- import{exec as t}from"node:child_process";import{join as r,relative as e}from"node:path";import{platform as o}from"node:process";import{promisify as i}from"node:util";import{fileExists as a,loadFile as n,println as l,saveFile as c}from"@moneko/utils";import{createCA as s,createCert as m}from"mkcert";import u from"./log.mjs";import{getIPv4 as d}from"./net.mjs";import p from"./paths.mjs";let f=i(t);async function y(t){try{if("darwin"===o){let{stdout:r}=await f(`security find-certificate -c "${t}" -a`);return r.length>0}if("win32"===o){let{stdout:r}=await f(`certutil -store -user Root | findstr /C:"${t}"`);return r.length>0}}catch(t){u(Error(t))}return!1}function h(t,r,e){if(t&&!e.includes("already exists")){u(t);return}}export function installCA(r){return"darwin"===o?t(`sudo security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" "${r}"`,h):"win32"===o?t(`certutil -addstore -user "Root" "${r}"`,h):void l(`⚠️ 暂不支持自动安装 CA 的平台: ${o}`)}export async function setupCert(t="localhost",o=!0){let i=e(p.programPath,`${p.corePath}/cert/cert.pem`),l=e(p.programPath,`${p.corePath}/cert/key.pem`),u="Local Development CA - DO NOT TRUST",f=!a(i)||!a(l);if(f){let t=await s({organization:u,validity:7300,countryCode:"CN",state:"Hunan",locality:"Changsha"});await Promise.all([c(i,t.cert),c(l,t.key)])}o&&(!await y(u)||f)&&installCA(i);let h=r(p.CA_DIR,`${t}_cert.pem`),w=r(p.CA_DIR,`${t}_key.pem`);if(f||!a(h)||!a(w)){let r=await Promise.all([n(i),n(l)]),e=await m({ca:{cert:r[0],key:r[1]},domains:[...new Set([t,"localhost","127.0.0.1",d()].filter(Boolean))],organization:u,validity:365});await Promise.all([c(h,e.cert),c(w,e.key)])}let C=await Promise.all([n(h),n(w)]);return{cert:C[0],key:C[1]}}
1
+ import{exec as t}from"node:child_process";import{join as e,relative as r}from"node:path";import{platform as o}from"node:process";import{promisify as i}from"node:util";import{fileExists as a,generateCert as n,loadFile as c,normalCertificateAuthority as l,println as s,saveFile as m}from"@moneko/utils";import u from"./log.mjs";import f from"./paths.mjs";let p=i(t);async function d(t){try{if("darwin"===o){let{stdout:e}=await p(`security find-certificate -c "${t}" -a`);return e.length>0}if("win32"===o){let{stdout:e}=await p(`certutil -store -user Root | findstr /C:"${t}"`);return e.length>0}}catch(t){u(t)}return!1}function y(t,e,r){if(t&&!r.includes("already exists")){u(t);return}}export function installCA(e){return"darwin"===o?t(`sudo security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" "${e}"`,y):"win32"===o?t(`certutil -addstore -user "Root" "${e}"`,y):void s(`⚠️ 暂不支持自动安装 CA 的平台: ${o}`)}export async function setupCert(t="localhost",o=!0){let i=r(f.programPath,`${f.corePath}/cert/cert.pem`),s=r(f.programPath,`${f.corePath}/cert/key.pem`),u=!a(i)||!a(s);if(u){let t=l();await Promise.all([m(i,t.cert),m(s,t.key)])}o&&(!await d("Local Root Certificate Authority - Moneko")||u)&&installCA(i);let p=e(f.CA_DIR,`${t}_cert.pem`),y=e(f.CA_DIR,`${t}_key.pem`);if(u||!a(p)||!a(y)){let e=await Promise.all([c(i),c(s)]),r=n(e[0],e[1],t);await Promise.all([m(p,r.cert),m(y,r.key)])}let h=await Promise.all([c(p),c(y)]);return{cert:h[0],key:h[1]}}
@@ -3,5 +3,5 @@ import { appendToFileSync } from '@moneko/utils';
3
3
  declare const startDate: Date;
4
4
  declare const startHrTime: [number, number];
5
5
  declare function getCurrentTime(): string;
6
- declare async function log(message: Error | string): Promise<void>;
6
+ declare async function log(message: Error | string | unknown): Promise<void>;
7
7
  export default log;
package/lib/dev/mock.mjs CHANGED
@@ -1 +1 @@
1
- import e from"node:http";import{StringDecoder as t}from"node:string_decoder";import{URL as r}from"node:url";import{directoryExists as o,print as n}from"@moneko/utils";import{watch as a}from"chokidar";import{merge as s}from"webpack-merge";import i from"../commom/log.mjs";import c from"../commom/match-path.mjs";import m from"../commom/require.mjs";import{jsonSchema as p}from"./json-schema.mjs";function d(e,t,r){if(delete m.cache[t],r[t]){for(let o in r[t])Object.prototype.hasOwnProperty.call(r[t],o)&&(e[o]=null,delete e[o]);r[t]=null,delete r[t]}}export const yApiSchemaMock=(t,r)=>new Promise(o=>{e.get(`${t.host}/api/interface/get?id=${t.id}&token=${t.token}`,e=>{e.setEncoding("utf8");let t="";e.on("data",e=>{t+=e}),e.on("end",()=>{try{let e=JSON.parse(t);if(e?.data?.res_body_is_json_schema){let t=JSON.parse(e.data.res_body),n=p(t);void 0!==r?o(s(n,r)):o(n)}}catch(e){i(Error(e))}})})});export const yApiMock=(t,o)=>new Promise((n,a)=>{let s=new r(o.host),c={hostname:s.hostname,port:s.port,path:t.url?.replace(new RegExp(o.pathRewrite),`/mock/${o.projectId}/`),method:t.method,headers:t.headers,query:Object.fromEntries(s.searchParams)},m=e.request(c,e=>{e.setEncoding("utf8");let t="";e.on("data",e=>{t+=e}),e.on("end",()=>{try{n(JSON.parse(t))}catch(e){i(Error(e))}})});m.on("error",e=>{a(e.message)}),m.write(JSON.stringify(t.body)),m.end()});export default(e=>{if(!o(e.directory))return;let s=!0,p={},l={};return a(e.directory).on("all",async function(e,t){if("string"==typeof t){switch(n("Updating mock...",!0),e){case"add":case"change":try{d(l,t,p);let e=m(t).default;p[t]=e,l=Object.assign(l,e)}catch(e){i(Error(e))}break;case"unlink":d(l,t,p)}s?s=!1:n("Mock update successful",!0)}}),(e,o)=>{let n=new r(`http://localhost:3000${e.url}`),a=`${e.method} ${n.pathname}`,s=Object.keys(l).filter(function(e){return RegExp(`^${e.replace(/(:\w*)[^/]/g,"((?!/).)")}*$`).test(a)});if(l[a]||s&&s.length>0){let r=l[a]||l[s[0]];if(o.send=e=>o.end("string"==typeof e?e:JSON.stringify(e)),o.writeHead(200,{"Content-Type":e.headers["content-type"]}),"function"==typeof r){let a=c(s[0].split(" ")[1],n.pathname);return n.searchParams&&Object.assign(e,{query:Object.fromEntries(n.searchParams)}),a&&Object.assign(e,{params:a.params}),e.body=new Promise((r,o)=>{if(["GET","HEAD","OPTIONS"].includes(e.method?.toUpperCase()||""))return r(null);let n=e.headers["content-length"],a=e.headers["transfer-encoding"];if(!n&&!a)return r(null);let s=e.headers["content-type"]||"",c=[];e.on("data",e=>{c.push(e)}),e.on("end",()=>{let e=Buffer.concat(c);if(s.includes("application/json"))try{let o=new t("utf-8").write(e);r(JSON.parse(o))}catch(e){i(e)}else s.includes("application/octet-stream")||s.startsWith("image/")?r(e):s.includes("text/")?r(e.toString("utf-8")):s.includes("application/x-www-form-urlencoded")?r(m("querystring").parse(e.toString("utf-8"))):r(e)}),e.on("error",o)}),r(e,o),!0}return o.end("string"==typeof r?r:JSON.stringify(r)),!0}return!1}});
1
+ import e from"node:http";import{StringDecoder as t}from"node:string_decoder";import{URL as r}from"node:url";import{directoryExists as o,print as n}from"@moneko/utils";import{watch as a}from"chokidar";import{merge as s}from"webpack-merge";import i from"../commom/log.mjs";import c from"../commom/match-path.mjs";import m from"../commom/require.mjs";import{jsonSchema as p}from"./json-schema.mjs";function d(e,t,r){if(delete m.cache[t],r[t]){for(let o in r[t])Object.prototype.hasOwnProperty.call(r[t],o)&&(e[o]=null,delete e[o]);r[t]=null,delete r[t]}}export const yApiSchemaMock=(t,r)=>new Promise(o=>{e.get(`${t.host}/api/interface/get?id=${t.id}&token=${t.token}`,e=>{e.setEncoding("utf8");let t="";e.on("data",e=>{t+=e}),e.on("end",()=>{try{let e=JSON.parse(t);if(e?.data?.res_body_is_json_schema){let t=JSON.parse(e.data.res_body),n=p(t);void 0!==r?o(s(n,r)):o(n)}}catch(e){i(e)}})})});export const yApiMock=(t,o)=>new Promise((n,a)=>{let s=new r(o.host),c={hostname:s.hostname,port:s.port,path:t.url?.replace(new RegExp(o.pathRewrite),`/mock/${o.projectId}/`),method:t.method,headers:t.headers,query:Object.fromEntries(s.searchParams)},m=e.request(c,e=>{e.setEncoding("utf8");let t="";e.on("data",e=>{t+=e}),e.on("end",()=>{try{n(JSON.parse(t))}catch(e){i(e)}})});m.on("error",e=>{a(e.message)}),m.write(JSON.stringify(t.body)),m.end()});export default(e=>{if(!o(e.directory))return;let s=!0,p={},l={};return a(e.directory).on("all",async function(e,t){if("string"==typeof t){switch(n("Updating mock...",!0),e){case"add":case"change":try{d(l,t,p);let e=m(t).default;p[t]=e,l=Object.assign(l,e)}catch(e){i(e)}break;case"unlink":d(l,t,p)}s?s=!1:n("Mock update successful",!0)}}),(e,o)=>{let n=new r(`http://localhost:3000${e.url}`),a=`${e.method} ${n.pathname}`,s=Object.keys(l).filter(function(e){return RegExp(`^${e.replace(/(:\w*)[^/]/g,"((?!/).)")}*$`).test(a)});if(l[a]||s&&s.length>0){let r=l[a]||l[s[0]];if(o.send=e=>o.end("string"==typeof e?e:JSON.stringify(e)),o.writeHead(200,{"Content-Type":e.headers["content-type"]}),"function"==typeof r){let a=c(s[0].split(" ")[1],n.pathname);return n.searchParams&&Object.assign(e,{query:Object.fromEntries(n.searchParams)}),a&&Object.assign(e,{params:a.params}),e.body=new Promise((r,o)=>{if(["GET","HEAD","OPTIONS"].includes(e.method?.toUpperCase()||""))return r(null);let n=e.headers["content-length"],a=e.headers["transfer-encoding"];if(!n&&!a)return r(null);let s=e.headers["content-type"]||"",c=[];e.on("data",e=>{c.push(e)}),e.on("end",()=>{let e=Buffer.concat(c);if(s.includes("application/json"))try{let o=new t("utf-8").write(e);r(JSON.parse(o))}catch(e){i(e)}else s.includes("application/octet-stream")||s.startsWith("image/")?r(e):s.includes("text/")?r(e.toString("utf-8")):s.includes("application/x-www-form-urlencoded")?r(m("querystring").parse(e.toString("utf-8"))):r(e)}),e.on("error",o)}),r(e,o),!0}return o.end("string"==typeof r?r:JSON.stringify(r)),!0}return!1}});
package/lib/dev/proxy.mjs CHANGED
@@ -1 +1 @@
1
- import{request as e}from"node:http";import{request as t}from"node:https";import{URL as r}from"node:url";import o from"../commom/log.mjs";export function setupProxy(p,a,s){let n=p.url,i=Object.keys(s).find(e=>new RegExp(e).test(n));if(!i)return!1;let h="string"==typeof s[i]?{target:s[i],pathRewrite:void 0,changeOrigin:!0,secure:!0,ws:!1}:s[i],m=new r(h.target),d=n;if(h.pathRewrite&&"object"==typeof h.pathRewrite)for(let e in h.pathRewrite)Object.prototype.hasOwnProperty.call(h.pathRewrite,e)&&(d=n.replace(new RegExp(e),h.pathRewrite[e]));let l="https:"===m.protocol,c={method:p.method,hostname:m.hostname,port:m.port||(l?443:80),path:d,headers:{...p.headers},protocol:m.protocol};h.changeOrigin&&(c.headers.host=m.host);let w=(l?t:e)(c,e=>{a.writeHead(e.statusCode||404,e.headers),e.pipe(a)});return w.on("error",e=>{o(`Proxy error: ${e.message}`),a.headersSent?a.end():(a.writeHead(502,{"Content-Type":"text/plain"}),a.end(`Proxy Error: ${e.message}`))}),p.pipe(w),!0}
1
+ import{request as e}from"node:http";import{request as t}from"node:https";import{URL as r}from"node:url";import o from"../commom/log.mjs";export function setupProxy(p,a,n){let s=p.url,i=Object.keys(n).find(e=>new RegExp(e).test(s));if(!i)return!1;let h="string"==typeof n[i]?{target:n[i],pathRewrite:void 0,changeOrigin:!0,secure:!0,ws:!1}:n[i],d=new r(h.target),m=s;if(h.pathRewrite&&"object"==typeof h.pathRewrite)for(let e in h.pathRewrite)Object.prototype.hasOwnProperty.call(h.pathRewrite,e)&&(m=s.replace(new RegExp(e),h.pathRewrite[e]));let l="https:"===d.protocol,c={method:p.method,hostname:d.hostname,port:d.port||(l?443:80),path:m,headers:{...p.headers},protocol:d.protocol};h.changeOrigin&&(c.headers.host=d.host);let w=(l?t:e)(c,e=>{a.writeHead(e.statusCode||404,e.headers),e.pipe(a)});return w.on("error",e=>{o(e),a.headersSent?a.end():(a.writeHead(502,{"Content-Type":"text/plain"}),a.end(`Proxy Error: ${e.message}`))}),p.pipe(w),!0}
@@ -6,8 +6,9 @@ import type { OutputFileSystem } from 'webpack';
6
6
  import mime from '../commom/mime.mjs';
7
7
  import open from '../commom/open.mjs';
8
8
  import paths from '../commom/paths.mjs';
9
+ import { CONFIG } from '../config.mjs';
9
10
  import getCert, { type CertOption } from '../dev/get-cert.mjs';
10
- import { type ProxyConfig, setupProxy } from '../dev/proxy.mjs';
11
+ import { setupProxy } from '../dev/proxy.mjs';
11
12
  import setupMock from './mock.mjs';
12
13
  export type FileSystem = OutputFileSystem & {
13
14
  existsSync: typeof existsSync;
@@ -22,7 +23,6 @@ interface ServerOption {
22
23
  root_dir: string;
23
24
  fileSystem: FileSystem;
24
25
  onRequest(req: IncomingMessage, res: HttpServerResponse): boolean;
25
- proxy?: ProxyConfig;
26
26
  headers?: Record<string, string>;
27
27
  basename?: string;
28
28
  https?: CertOption | boolean;
@@ -1 +1 @@
1
- import{createServer as e}from"node:http";import{createServer as t}from"node:https";import{extname as o,join as r}from"node:path";import n from"../commom/mime.mjs";import i from"../commom/open.mjs";import s from"../commom/paths.mjs";import a from"../dev/get-cert.mjs";import{setupProxy as m}from"../dev/proxy.mjs";import l from"./mock.mjs";let c={"Access-Control-Allow-Credentials":"true","Access-Control-Allow-Headers":"DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization","Access-Control-Allow-Methods":"GET, POST, OPTIONS, DELETE, PATCH, PUT","Access-Control-Allow-Origin":"*","Cache-Control":"no-store, no-cache, must-revalidate, proxy-revalidate",Pragma:"no-cache",Expires:"0"};async function d(d){let p=r(d.root_dir,"index.html"),h=l({directory:s.mockPath});function f(e,t,r){let i=e.headers["accept-encoding"],s=i?.includes("br"),a=`${r}.${s?"br":"gz"}`,m=d.fileSystem.existsSync(a);m&&t.setHeader("Content-Encoding",s?"br":"gzip");let l=d.fileSystem.createReadStream(m?a:r,{autoClose:!0});l.on("open",()=>{t.writeHead(200,Object.assign({},c,d.headers,{"Access-Control-Allow-Origin":e.headers.origin??"*","Content-Type":n[o(r)]||"application/octet-stream"}))}),l.on("error",e=>{switch(l.destroy(),e.code){case"ENOENT":t.writeHead(301,{Location:"/index.html"}),t.end();break;case"EACCES":t.writeHead(403,{"Content-Type":"text/plain"}),t.end(`Forbidden: ${e.message}`);break;default:t.writeHead(500,{"Content-Type":"text/plain"}),t.end(`Internal Server Error: ${e.message}`)}}),l.pipe(t)}function C(e,t){if(!(d.onRequest(e,t)||d.proxy&&m(e,t,d.proxy)||h&&h(e,t))&&!t.writableEnded){if("GET"===e.method){let o="/"===e.url?p:decodeURIComponent(r(d.root_dir,e.url.replace(d.basename??"/","/")));if(d.fileSystem.existsSync(o))return f(e,t,o)}if(e.headers.accept?.includes("text/html"))return f(e,t,p);t.writeHead(404,{"Content-Type":"text/plain"}),t.end("File Not Found")}}let u=d.https?t(await a(d.host,!0===d.https?{install:!0}:d.https),C):e(C);return u.listen(d.port),d.open&&i(`${d.https?"https:":"http:"}//${d.host}:${d.port}${"/"===d.basename?"":d.basename}`),u}export default d;
1
+ import{createServer as e}from"node:http";import{createServer as t}from"node:https";import{extname as o,join as r}from"node:path";import n from"../commom/mime.mjs";import i from"../commom/open.mjs";import s from"../commom/paths.mjs";import{CONFIG as a}from"../config.mjs";import m from"../dev/get-cert.mjs";import{setupProxy as c}from"../dev/proxy.mjs";import l from"./mock.mjs";let p={"Access-Control-Allow-Credentials":"true","Access-Control-Allow-Headers":"Authorization, Content-Type, Accept, X-Requested-With, Origin, DNT, User-Agent, Cache-Control, X-CSRF-Token, X-API-Key, X-Client-Version, X-Device-ID, Content-Language, Accept-Language, X-Custom-Header, X-Mx-ReqToken, Keep-Alive, If-Modified-Since","Access-Control-Allow-Methods":"GET, DELETE, HEAD, OPTIONS, POST, PUT, PATCH, PURGE, LINK, UNLINK, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, REPORT, SEARCH, CONNECT, TRACE","Access-Control-Allow-Origin":"*","Cache-Control":"no-store, no-cache, must-revalidate, proxy-revalidate",Pragma:"no-cache",Expires:"0"};async function d(d){let C=r(d.root_dir,"index.html"),h=l({directory:s.mockPath});function f(e,t,r){let i=e.headers["accept-encoding"],s=i?.includes("br"),a=`${r}.${s?"br":"gz"}`,m=d.fileSystem.existsSync(a);m&&t.setHeader("Content-Encoding",s?"br":"gzip");let c=d.fileSystem.createReadStream(m?a:r,{autoClose:!0});c.on("open",()=>{t.writeHead(200,Object.assign({},p,d.headers,{"Access-Control-Allow-Origin":e.headers.origin??"*","Content-Type":n[o(r)]||"application/octet-stream"}))}),c.on("error",e=>{switch(c.destroy(),e.code){case"ENOENT":t.writeHead(301,{Location:"/index.html"}),t.end();break;case"EACCES":t.writeHead(403,{"Content-Type":"text/plain"}),t.end(`Forbidden: ${e.message}`);break;default:t.writeHead(500,{"Content-Type":"text/plain"}),t.end(`Internal Server Error: ${e.message}`)}}),c.pipe(t)}function u(e,t){if(!(d.onRequest(e,t)||a.proxy&&c(e,t,a.proxy)||h&&h(e,t))&&!t.writableEnded){if("GET"===e.method){let o="/"===e.url?C:decodeURIComponent(r(d.root_dir,e.url.replace(d.basename??"/","/")));if(d.fileSystem.existsSync(o))return f(e,t,o)}if(e.headers.accept?.includes("text/html"))return f(e,t,C);t.writeHead(404,{"Content-Type":"text/plain"}),t.end("File Not Found")}}let A=d.https?t(await m(d.host,!0===d.https?{install:!0}:d.https),u):e(u);return A.listen(d.port),d.open&&i(`${d.https?"https:":"http:"}//${d.host}:${d.port}${"/"===d.basename?"":d.basename}`),A}export default d;
package/lib/dev.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
  import{exec as e,spawn as t}from"node:child_process";import{watchFile as o}from"node:fs";import{relative as r}from"node:path";import i from"node:process";import{URL as n}from"node:url";import{ink as s,print as m,println as a,progressBar as l}from"@moneko/utils";import p from"webpack";import c from"webpack-hot-middleware";import{merge as h}from"webpack-merge";import{diffObject as f}from"./commom/diff-object.mjs";import u,{config_files as d}from"./commom/paths.mjs";import g from"./commom/sigint-exit.mjs";import{devLog as w,PORT as y}from"./dev/config.mjs";import $ from"./dev/generate-progress-html.mjs";import j from"./dev/server.mjs";import v from"./options/reslove.mjs";import b from"./plugin/eslint.mjs";import x from"./plugin/stylelint.mjs";import{empty as C}from"./utils/index.mjs";import{commonConfig as P}from"./common.mjs";import{CONFIG as _,getConfig as S}from"./config.mjs";import{outputFileSystem as k}from"./file-system.mjs";import H from"./module.config.mjs";import{isLibrary as B,isReact as I,refresh as O}from"./process-env.mjs";let T=!1,q="/____progress____",G={percentage:0,info:""},L="/__hmr__",R=new URLSearchParams({name:"client",path:L.substring(1),dynamicPublicPath:!0,timeout:2e3,reload:!O,quiet:!0,noInfo:!0,overlay:!1,autoConnect:!0}).toString(),U=h(P,{watchOptions:{stdin:!0,aggregateTimeout:300,ignored:/node_modules\/(?!(@app)\/)/},entry:{main:[`${v.hotMiddlewareClient}?${R}`]},module:H(!1),plugins:[new p.HotModuleReplacementPlugin,new p.WatchIgnorePlugin({paths:[/node_modules\/(?!(@app)\/)/,/\.d\.ts$/]}),new p.ProgressPlugin({handler(e,t,...o){let r=o.length?`[${t}] ${o.join(" ")}`:" ";T||(G.info=r,G.percentage=e,T=1===e);let n=_.bar;if(n){let t=n.name||"Build";n.quiet?i.stdout.write(`${r}
2
- `):(l(e||0,1,{msg:r,name:t,barColor:n.barColor,nameColor:n.nameColor,barBgColor:n.barBgColor,msgColor:n.msgColor}),1===e&&i.stdout.write("\r\x1b[2K"))}}})]});if(I){let e=(await import("@pmmmwh/react-refresh-webpack-plugin")).default;U.plugins.push(new e({overlay:!1}))}function E(e){let t=e.join(","),o=[r(u.programPath,`${_.alias["@"]}/**/*.{${t}}`).replace(/\\/g,"/")];return B&&o.push(r(u.programPath,`${_.alias["@pkg"]}/**/*.{${t}}`).replace(/\\/g,"/")),o}_.eslint&&U.plugins.push(new b({fix:!0,cache:!0,cacheLocation:`${u.lintCachePath}/.eslintcache`,cacheStrategy:"metadata",files:E(["js","jsx","ts","tsx","json","html","vue"]),..._.eslint})),_.stylelint&&U.plugins.push(new x({fix:!0,cache:!0,cacheLocation:`${u.lintCachePath}/.stylelintcache`,files:E(["css","scss","sass","less","ts","tsx","js","jsx"]),..._.stylelint}));let F=p(U);F.outputFileSystem=k;let M=F.watch(F.options.watchOptions,w);F.hooks.done.tap("client-log",e=>{w(null,e)});let N=`${_.publicPath}/${L}`.replace(/\/+/g,"/"),J=c(F,{log:!1,path:N,heartbeat:2e3}),K=await j({port:y,root_dir:F.options.output.path,fileSystem:F.outputFileSystem,proxy:_.proxy,headers:_.devServer.headers,https:_.devServer.https,host:_.devServer.host,open:_.devServer.open,basename:_.basename,onRequest(e,t){let o=new n(`${_.devServer.https?"https":"http"}://${e.headers.host}${e.url}`);if("GET"===e.method){if(o.pathname===q)return t.writeHead(200,{"Content-Type":"application/json; charset=utf-8","Cache-Control":"no-store"}),t.end(JSON.stringify(G)),!0;if(!T)return t.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),t.end($(q,G)),!0;if(o.pathname===N&&"text/event-stream"===e.headers.accept)return J(e,t,C),!0}return!1}});function W(){i.exit(0)}K.on("close",()=>{M.close(C),J.close()});let z=await Promise.all(d.map(S)),A=h(z[0]||{},z[1]||{});d.forEach(function(t){o(t,async function(){let[o,r]=await Promise.all(d.map(S)),n=h(o||{},r||{}),l=f(A,n);1===Object.keys(l).length&&"proxy"in l?(m(s(`代理更新中...`,"yellow"),!0),m(s(`代理更新完成...`,"green"),!0),_.proxy=n.proxy,A.proxy=n.proxy,A=n):(A=n,a(s(`检测到工程配置${s(`[${t}]`,"blue")}变更, 程序即将重启...`,"yellow"),!0),e(D?`netstat -ano | findstr :${y}`:`lsof -i :${y} -t`,(e,t)=>{if(e){a(s(`查找端口 ${y} 时发生错误: ${e.message}`,"red")),a(s("请尝试手动重启程序","yellow"));return}let o=t.trim().replace(/\r\n/g,"\n").split("\n").filter(Boolean),r=D?o[0]?.split(/\s+/).pop()?.trim():o[0]?.trim();if(!r){a(s(`未找到占用端口 ${y} 的进程, 请尝试手动重启程序`,"yellow"));return}try{i.kill(Number(r),"SIGHUP")}catch(e){a(s(`终止进程 ${r} 时发生错误: ${e.message}`,"red"))}}))})});let D="win32"===i.platform;i.on("SIGHUP",function(){K.close(C),function(){let e=t(i.argv[0],i.argv.slice(1),{detached:!1,stdio:"inherit"});e.unref(),e.on("close",W)}()}),i.on("exit",function(){K.close(C)}),g(W);
2
+ `):(l(e||0,1,{msg:r,name:t,barColor:n.barColor,nameColor:n.nameColor,barBgColor:n.barBgColor,msgColor:n.msgColor}),1===e&&i.stdout.write("\r\x1b[2K"))}}})]});if(I){let e=(await import("@pmmmwh/react-refresh-webpack-plugin")).default;U.plugins.push(new e({overlay:!1}))}function E(e){let t=e.join(","),o=[r(u.programPath,`${_.alias["@"]}/**/*.{${t}}`).replace(/\\/g,"/")];return B&&o.push(r(u.programPath,`${_.alias["@pkg"]}/**/*.{${t}}`).replace(/\\/g,"/")),o}_.eslint&&U.plugins.push(new b({fix:!0,cache:!0,cacheLocation:`${u.lintCachePath}/.eslintcache`,cacheStrategy:"metadata",files:E(["js","jsx","ts","tsx","json","html","vue"]),..._.eslint})),_.stylelint&&U.plugins.push(new x({fix:!0,cache:!0,cacheLocation:`${u.lintCachePath}/.stylelintcache`,files:E(["css","scss","sass","less","ts","tsx","js","jsx"]),..._.stylelint}));let F=p(U);F.outputFileSystem=k;let M=F.watch(F.options.watchOptions,w);F.hooks.done.tap("client-log",e=>{w(null,e)});let N=`${_.publicPath}/${L}`.replace(/\/+/g,"/"),J=c(F,{log:!1,path:N,heartbeat:2e3}),K=await j({port:y,root_dir:F.options.output.path,fileSystem:F.outputFileSystem,headers:_.devServer.headers,https:_.devServer.https,host:_.devServer.host,open:_.devServer.open,basename:_.basename,onRequest(e,t){let o=new n(`${_.devServer.https?"https":"http"}://${e.headers.host}${e.url}`);if("GET"===e.method){if(o.pathname===q)return t.writeHead(200,{"Content-Type":"application/json; charset=utf-8","Cache-Control":"no-store"}),t.end(JSON.stringify(G)),!0;if(!T)return t.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),t.end($(q,G)),!0;if(o.pathname===N&&"text/event-stream"===e.headers.accept)return J(e,t,C),!0}return!1}});function W(){i.exit(0)}K.on("close",()=>{M.close(C),J.close()});let z=await Promise.all(d.map(S)),A=h(z[0]||{},z[1]||{});d.forEach(function(t){o(t,async function(){let[o,r]=await Promise.all(d.map(S)),n=h(o||{},r||{}),l=f(A,n);1===Object.keys(l).length&&"proxy"in l?(m(s(`代理更新中...`,"yellow"),!0),m(s(`代理更新完成...`,"green"),!0),_.proxy=n.proxy,A.proxy=n.proxy,A=n):(A=n,a(s(`检测到工程配置${s(`[${t}]`,"blue")}变更, 程序即将重启...`,"yellow"),!0),e(D?`netstat -ano | findstr :${y}`:`lsof -i :${y} -t`,(e,t)=>{if(e){a(s(`查找端口 ${y} 时发生错误: ${e.message}`,"red")),a(s("请尝试手动重启程序","yellow"));return}let o=t.trim().replace(/\r\n/g,"\n").split("\n").filter(Boolean),r=D?o[0]?.split(/\s+/).pop()?.trim():o[0]?.trim();if(!r){a(s(`未找到占用端口 ${y} 的进程, 请尝试手动重启程序`,"yellow"));return}try{i.kill(Number(r),"SIGHUP")}catch(e){a(s(`终止进程 ${r} 时发生错误: ${e.message}`,"red"))}}))})});let D="win32"===i.platform;i.on("SIGHUP",function(){K.close(C),function(){let e=t(i.argv[0],i.argv.slice(1),{detached:!1,stdio:"inherit"});e.unref(),e.on("close",W)}()}),i.on("exit",function(){K.close(C)}),g(W);
@@ -1 +1 @@
1
- "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return i}});const t=require("@swc/core"),r=require("stylis"),n=(e=require("../commom/log.mjs"))&&e.__esModule?e:{default:e};function l(e){return{type:"iTemplateElement",span:{start:0,end:0,ctxt:0},tail:!1,cooked:e,raw:e}}function a(e,t){if("Identifier"===e.tag.type&&t.includes(e.tag.value)){let t=e.template,n=function(e){let t=e.quasis.map(e=>e.cooked);return t.reduce((e,r,n)=>(e.push(r),n!==t.length-1&&e.push(`xxx${n}:xxx`),e),[]).join("").trim()}(t),a=function e(t){return t.map(t=>{switch(t.type){case"import":case"decl":return t.value;case"comm":return"/"===t.props&&t.value.includes("@")?t.value:"";case"rule":return`${t.value.replace(/&\f/g,"&")}{${e(t.children)}}`;default:return`${t.value}{${e(t.children)}}`}}).join("")}(function e(t,r){for(let n=0;n<t.length;n++){let l=t[n],a=l.parent,i=l.children;a?!function(e){var t;return"rule"===e.type&&e.parent&&(t=e.parent,e.line===t.line&&e.column===t.column)}(l)&&a.children.push(l):r.push(l),Array.isArray(i)&&(l.children=[],e(i,r))}return r}((0,r.compile)(n),[])),i=function(e,t){let r=function(e){let t;let r=/xxx(\d+):xxx/gm,n=[];for(;null!==(t=r.exec(e));)n.push({value:t[0],p1:parseInt(t[1],10),index:t.index});return n}(e);if(0===r.length)return""===e?[]:[l(e)];let n=[],a=[],i=0;return r.forEach(({value:s,p1:u,index:o},p)=>{let c=e.substring(i,o);i=i+c.length+s.length,c||0!==p?n.push(l(c)):n.push(l("")),a.push(t[u]),p===r.length-1&&n.push(l(e.substring(o+s.length)))}),a.reduce((e,t,r)=>e.concat([t],n[r+1]),[n[0]]).filter(e=>""!==e.raw)}(a,t.expressions);if(a.length>1){let e=[],r=[];i.forEach((t,n)=>{"iTemplateElement"===t.type?e.push({...t,type:"TemplateElement",tail:n===i.length-1}):r.push(t)}),t.quasis=e,t.expressions=r}}}async function i(e){let r=this.async(),{moduleName:l,allowFuncs:i}=this.getOptions()||{};this.cacheable&&this.cacheable();try{let n=await (0,t.parse)(e,{syntax:"ecmascript"}),s=[];n.body.forEach(e=>{"ImportDeclaration"===e.type&&e.source.value===l&&e.specifiers.forEach(e=>{"ImportSpecifier"===e.type&&(e.imported&&i.includes(e.imported.value)?s.push(e.local.value):i.includes(e.local.value)&&s.push(e.local.value))})}),n.body.forEach(e=>{!function(e){if("ExportDeclaration"===e.type||"ExpressionStatement"===e.type){let t="declaration"in e?e.declaration:e.expression;t&&"CallExpression"===t.type&&t.arguments.forEach(e=>{e.expression&&"TaggedTemplateExpression"===e.expression.type&&a(e.expression,s)}),t&&"VariableDeclaration"===t.type&&t.declarations.forEach(e=>{e.init?.type==="TaggedTemplateExpression"&&a(e.init,s)})}else"CallExpression"===e.type&&e.arguments.forEach(e=>{e.expression&&"TaggedTemplateExpression"===e.expression.type&&a(e.expression,s)})}(e)});let{code:u}=await (0,t.print)(n);r(null,u)}catch(e){r(e),(0,n.default)(Error(e))}}
1
+ "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return i}});const t=require("@swc/core"),r=require("stylis"),n=(e=require("../commom/log.mjs"))&&e.__esModule?e:{default:e};function l(e){return{type:"iTemplateElement",span:{start:0,end:0,ctxt:0},tail:!1,cooked:e,raw:e}}function a(e,t){if("Identifier"===e.tag.type&&t.includes(e.tag.value)){let t=e.template,n=function(e){let t=e.quasis.map(e=>e.cooked);return t.reduce((e,r,n)=>(e.push(r),n!==t.length-1&&e.push(`xxx${n}:xxx`),e),[]).join("").trim()}(t),a=function e(t){return t.map(t=>{switch(t.type){case"import":case"decl":return t.value;case"comm":return"/"===t.props&&t.value.includes("@")?t.value:"";case"rule":return`${t.value.replace(/&\f/g,"&")}{${e(t.children)}}`;default:return`${t.value}{${e(t.children)}}`}}).join("")}(function e(t,r){for(let n=0;n<t.length;n++){let l=t[n],a=l.parent,i=l.children;a?!function(e){var t;return"rule"===e.type&&e.parent&&(t=e.parent,e.line===t.line&&e.column===t.column)}(l)&&a.children.push(l):r.push(l),Array.isArray(i)&&(l.children=[],e(i,r))}return r}((0,r.compile)(n),[])),i=function(e,t){let r=function(e){let t;let r=/xxx(\d+):xxx/gm,n=[];for(;null!==(t=r.exec(e));)n.push({value:t[0],p1:parseInt(t[1],10),index:t.index});return n}(e);if(0===r.length)return""===e?[]:[l(e)];let n=[],a=[],i=0;return r.forEach(({value:s,p1:u,index:p},o)=>{let c=e.substring(i,p);i=i+c.length+s.length,c||0!==o?n.push(l(c)):n.push(l("")),a.push(t[u]),o===r.length-1&&n.push(l(e.substring(p+s.length)))}),a.reduce((e,t,r)=>e.concat([t],n[r+1]),[n[0]]).filter(e=>""!==e.raw)}(a,t.expressions);if(a.length>1){let e=[],r=[];i.forEach((t,n)=>{"iTemplateElement"===t.type?e.push({...t,type:"TemplateElement",tail:n===i.length-1}):r.push(t)}),t.quasis=e,t.expressions=r}}}async function i(e){let r=this.async(),{moduleName:l,allowFuncs:i}=this.getOptions()||{};this.cacheable&&this.cacheable();try{let n=await (0,t.parse)(e,{syntax:"ecmascript"}),s=[];n.body.forEach(e=>{"ImportDeclaration"===e.type&&e.source.value===l&&e.specifiers.forEach(e=>{"ImportSpecifier"===e.type&&(e.imported&&i.includes(e.imported.value)?s.push(e.local.value):i.includes(e.local.value)&&s.push(e.local.value))})}),n.body.forEach(e=>{!function(e){if("ExportDeclaration"===e.type||"ExpressionStatement"===e.type){let t="declaration"in e?e.declaration:e.expression;t&&"CallExpression"===t.type&&t.arguments.forEach(e=>{e.expression&&"TaggedTemplateExpression"===e.expression.type&&a(e.expression,s)}),t&&"VariableDeclaration"===t.type&&t.declarations.forEach(e=>{e.init?.type==="TaggedTemplateExpression"&&a(e.init,s)})}else"CallExpression"===e.type&&e.arguments.forEach(e=>{e.expression&&"TaggedTemplateExpression"===e.expression.type&&a(e.expression,s)})}(e)});let{code:u}=await (0,t.print)(n);r(null,u)}catch(e){r(e),(0,n.default)(e)}}
@@ -1 +1 @@
1
- "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return _}});const t=require("lightningcss"),r=(e=require("../../commom/log.mjs"))&&e.__esModule?e:{default:e},s=require("../../process-env.mjs"),i=require("./codegen.cjs"),o=require("./utils.cjs");function l(e,t){return JSON.stringify(e.utils.contextify(e.context||e.rootContext,t))}const n=new TextEncoder,u={Declaration:{custom(e){if("content"===e.name&&1===e.value.length){let t=e.value[0];if("token"===t.type&&"string"===t.value.type)return[{property:e.name,raw:JSON.stringify(t.value.value.replace(/[\u4e00-\u9faF]/g,function(e){return`\\${e.charCodeAt(0).toString(16)}`}))}]}}}};async function _(e,_){let a=this.async();this.cacheable&&this.cacheable();let{implementation:p,visitor:c,rem:f,...m}=this.getOptions(),d=!!m.modules?.auto?.(this.resourcePath);if(d&&void 0===m.modules.namedExport&&(m.modules.namedExport=!0),p&&"function"!=typeof p.transform){a(TypeError(`[lightning-loader]: implementation.transform must be an 'lightningcss' transform function. Received ${typeof p.transform}`));return}let h=[],R=[],S=[],g=[],L=[];m.modules?.exportOnlyLocals!==!0&&R.unshift({type:"api_import",importName:"___CSS_LOADER_API_IMPORT___",url:l(this,require.resolve("./runtime/api.cjs"))});let O=p?.transform?p.transform:t.transform,y=new Map,E=new Map,v=new Map,C=function(e,t,r,s,i,l){let n=new Map,u=!1,_=new Map,a=new Map,p=-1,c=-1;return{Rule:{import(s){let i;if(e.importFilter&&!e.importFilter(s.value.url,s.value.media))return s;let u=s.value.url;c++,l.set(c,u),u=`__MO_LIGHTNINGCSS_LOADER_IMPORT_URL_REPLACE_${c}__`;let _=s.value.media.mediaQueries.length?JSON.stringify(s.value.media.mediaQueries):void 0,a=(0,o.isUrlRequestable)(u);if(a){let e=u.split("!");e.length>1&&(u=e.pop(),i=e.join("!"))}if(!a)return t.push({url:u,media:_}),{type:"ignored",value:""};let p=i?`${i}!${u}`:u,f=n.get(p);if(!f){f=`___CSS_LOADER_AT_RULE_IMPORT_${n.size}___`,n.set(p,f);let t=e.urlHandler(p);r.push({type:"rule_import",importName:f,url:t})}return t.push({importName:f,media:_}),{type:"ignored",value:""}}},Url:t=>(function(t){let l,n=t.url;if(!e.urlFilter(n)||n.startsWith("#")||(0,o.isDataUrl)(n))return t;p++,i.set(p,n);let[,c,f]=(n=`__MO_LIGHTNINGCSS_LOADER_URL_REPLACE_${p}__`).split(/(\?)?#/,3),m=n.split("!");m.length>1&&(n=m.pop(),l=m.join("!"));let d=c?"?":"";d+=f?`#${f}`:"",u||(r.push({type:"get_url_import",importName:"___CSS_LOADER_GET_URL_IMPORT___",url:JSON.stringify(require.resolve("./runtime/get-url.cjs")),index:-1}),u=!0);let h=l?`${l}!${n}`:n,R=_.get(h);R||(R=`___CSS_LOADER_URL_IMPORT_${_.size}___`,_.set(h,R),r.push({type:"url",importName:R,url:JSON.stringify(h),index:p}));let S=JSON.stringify({newUrl:h,hash:d,needQuotes:!1}),g=a.get(S);return g||(g=`___CSS_LOADER_URL_REPLACEMENT_${a.size}___`,a.set(S,g),s.push({replacementName:g,importName:R,hash:d,needQuotes:!1})),{loc:t.loc,url:g}})(t)}}({urlHandler:e=>l(this,(0,o.getPreRequester)(this)(m.importLoaders??0)+e),urlFilter:(0,o.getFilter)(m.url,this.resourcePath),importFilter:(0,o.getFilter)(m.import,this.resourcePath),context:this.context},g,R,L,y,v),M=function({apis:e,imports:t,replacements:r,replacedUrls:s,urlHandler:i}){let o=-1,l=-1;return{Declaration:{composes(n){if("unparsed"===n.property)return;let u=n.value.from;if(u?.type!=="file")return;let _=u.value;if(!_)return;o++,s.set(o,_),_=`__MO_LIGHTNINGCSS_LOADER_ICSS_URL_REPLACE_${o}__`;let a=`___CSS_LOADER_ICSS_IMPORT_${t.length}___`;t.push({type:"icss_import",importName:a,icss:!0,url:i(_),index:o}),e.push({importName:a,dedupe:!0,index:o});let p=[];for(let e of n.value.names){l++;let t=`___CSS_LOADER_ICSS_IMPORT_${o}_REPLACEMENT_${l}___`;r.push({replacementName:t,importName:a,localName:e}),p.push(t)}return{property:"composes",value:{loc:n.value.loc,names:p,from:u}}}}}}({apis:g,imports:S,replacements:L,replacedUrls:E,urlHandler:e=>l(this,(0,o.getPreRequester)(this)(m.importLoaders)+e)});try{f&&!u.Length&&(u.Length=function(e){if("px"===e.unit)return{unit:"rem",value:e.value/16}});let{code:t,map:r,exports:l}=O({filename:this.resourcePath,code:n.encode(e),minify:!0,visitor:{...u,...C,...M,...c},cssModules:!!d&&{pattern:m.modules.localIdentName},sourceMap:this.sourceMap,inputSourceMap:this.sourceMap&&_?JSON.stringify(_):void 0,analyzeDependencies:!1,drafts:{customMedia:!0},include:1,errorRecovery:!1,unusedSymbols:[],...m}),p=t.toString();if(l){for(let e in l)if(Object.prototype.hasOwnProperty.call(l,e)){let t=l[e],r=t.name;for(let e of t.composes)r+=` ${e.name}`;h.push({name:e,value:r})}m.modules.getJSON?.({resourcePath:this.resourcePath,exports:h})}if(0!==y.size){if(s.IS_WINDOW)for(let[e,t]of y.entries())for(let r of R)r.url=r.url.replace(`__MO_LIGHTNINGCSS_LOADER_URL_REPLACE_${e}__`,t);else{let e=this.getResolve({conditionNames:["asset"],mainFields:["asset"],mainFiles:[],extensions:[]});for(let[t,r]of y.entries()){let[s]=r.split(/(\?)?#/,3),i=(0,o.requestify)(s,this.rootContext),l=await (0,o.resolveRequests)(e,this.context,[...new Set([i,r])]);for(let e of R)e.url=e.url.replace(`__MO_LIGHTNINGCSS_LOADER_URL_REPLACE_${t}__`,l??r)}}}if(0!==v.size){let e=this.getResolve({conditionNames:["style"],extensions:[".css"],mainFields:["css","style","main","..."],mainFiles:["index","..."],restrictions:[/\.css$/i]});for(let[t,r]of v.entries()){let[s]=r.split(/(\?)?#/,3),i=(0,o.requestify)(s,this.rootContext),l=await (0,o.resolveRequests)(e,this.context,[...new Set([i,r])]);for(let e of R)e.url=e.url.replace(`__MO_LIGHTNINGCSS_LOADER_IMPORT_URL_REPLACE_${t}__`,l??r)}}if(0!==E.size){let e=this.getResolve({conditionNames:["style"],extensions:[],mainFields:["css","style","main","..."],mainFiles:["index","..."]});for(let[t,r]of E.entries()){let[s]=r.split(/(\?)?#/,3),i=(0,o.requestify)(s,this.rootContext),l=await (0,o.resolveRequests)(e,this.context,[...new Set([r,i])]);for(let e of S)e.url=e.url.replace(`__MO_LIGHTNINGCSS_LOADER_ICSS_URL_REPLACE_${t}__`,l??r)}}R.push(...S);let N=(0,i.getImportCode)(R,m),I=(0,i.getModuleCode)({css:p,map:r},g,L,m,this),P=(0,i.getExportCode)(h,L,m);a(null,`${N}${I}${P}`,r&&JSON.parse(r.toString()))}catch(e){a(e),(0,r.default)(Error(e))}}
1
+ "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return _}});const t=require("lightningcss"),r=(e=require("../../commom/log.mjs"))&&e.__esModule?e:{default:e},s=require("../../process-env.mjs"),i=require("./codegen.cjs"),o=require("./utils.cjs");function l(e,t){return JSON.stringify(e.utils.contextify(e.context||e.rootContext,t))}const n=new TextEncoder,u={Declaration:{custom(e){if("content"===e.name&&1===e.value.length){let t=e.value[0];if("token"===t.type&&"string"===t.value.type)return[{property:e.name,raw:JSON.stringify(t.value.value.replace(/[\u4e00-\u9faF]/g,function(e){return`\\${e.charCodeAt(0).toString(16)}`}))}]}}}};async function _(e,_){let a=this.async();this.cacheable&&this.cacheable();let{implementation:p,visitor:c,rem:f,...m}=this.getOptions(),d=!!m.modules?.auto?.(this.resourcePath);if(d&&void 0===m.modules.namedExport&&(m.modules.namedExport=!0),p&&"function"!=typeof p.transform){a(TypeError(`[lightning-loader]: implementation.transform must be an 'lightningcss' transform function. Received ${typeof p.transform}`));return}let h=[],R=[],S=[],g=[],L=[];m.modules?.exportOnlyLocals!==!0&&R.unshift({type:"api_import",importName:"___CSS_LOADER_API_IMPORT___",url:l(this,require.resolve("./runtime/api.cjs"))});let O=p?.transform?p.transform:t.transform,y=new Map,E=new Map,v=new Map,C=function(e,t,r,s,i,l){let n=new Map,u=!1,_=new Map,a=new Map,p=-1,c=-1;return{Rule:{import(s){let i;if(e.importFilter&&!e.importFilter(s.value.url,s.value.media))return s;let u=s.value.url;c++,l.set(c,u),u=`__MO_LIGHTNINGCSS_LOADER_IMPORT_URL_REPLACE_${c}__`;let _=s.value.media.mediaQueries.length?JSON.stringify(s.value.media.mediaQueries):void 0,a=(0,o.isUrlRequestable)(u);if(a){let e=u.split("!");e.length>1&&(u=e.pop(),i=e.join("!"))}if(!a)return t.push({url:u,media:_}),{type:"ignored",value:""};let p=i?`${i}!${u}`:u,f=n.get(p);if(!f){f=`___CSS_LOADER_AT_RULE_IMPORT_${n.size}___`,n.set(p,f);let t=e.urlHandler(p);r.push({type:"rule_import",importName:f,url:t})}return t.push({importName:f,media:_}),{type:"ignored",value:""}}},Url:t=>(function(t){let l,n=t.url;if(!e.urlFilter(n)||n.startsWith("#")||(0,o.isDataUrl)(n))return t;p++,i.set(p,n);let[,c,f]=(n=`__MO_LIGHTNINGCSS_LOADER_URL_REPLACE_${p}__`).split(/(\?)?#/,3),m=n.split("!");m.length>1&&(n=m.pop(),l=m.join("!"));let d=c?"?":"";d+=f?`#${f}`:"",u||(r.push({type:"get_url_import",importName:"___CSS_LOADER_GET_URL_IMPORT___",url:JSON.stringify(require.resolve("./runtime/get-url.cjs")),index:-1}),u=!0);let h=l?`${l}!${n}`:n,R=_.get(h);R||(R=`___CSS_LOADER_URL_IMPORT_${_.size}___`,_.set(h,R),r.push({type:"url",importName:R,url:JSON.stringify(h),index:p}));let S=JSON.stringify({newUrl:h,hash:d,needQuotes:!1}),g=a.get(S);return g||(g=`___CSS_LOADER_URL_REPLACEMENT_${a.size}___`,a.set(S,g),s.push({replacementName:g,importName:R,hash:d,needQuotes:!1})),{loc:t.loc,url:g}})(t)}}({urlHandler:e=>l(this,(0,o.getPreRequester)(this)(m.importLoaders??0)+e),urlFilter:(0,o.getFilter)(m.url,this.resourcePath),importFilter:(0,o.getFilter)(m.import,this.resourcePath),context:this.context},g,R,L,y,v),M=function({apis:e,imports:t,replacements:r,replacedUrls:s,urlHandler:i}){let o=-1,l=-1;return{Declaration:{composes(n){if("unparsed"===n.property)return;let u=n.value.from;if(u?.type!=="file")return;let _=u.value;if(!_)return;o++,s.set(o,_),_=`__MO_LIGHTNINGCSS_LOADER_ICSS_URL_REPLACE_${o}__`;let a=`___CSS_LOADER_ICSS_IMPORT_${t.length}___`;t.push({type:"icss_import",importName:a,icss:!0,url:i(_),index:o}),e.push({importName:a,dedupe:!0,index:o});let p=[];for(let e of n.value.names){l++;let t=`___CSS_LOADER_ICSS_IMPORT_${o}_REPLACEMENT_${l}___`;r.push({replacementName:t,importName:a,localName:e}),p.push(t)}return{property:"composes",value:{loc:n.value.loc,names:p,from:u}}}}}}({apis:g,imports:S,replacements:L,replacedUrls:E,urlHandler:e=>l(this,(0,o.getPreRequester)(this)(m.importLoaders)+e)});try{f&&!u.Length&&(u.Length=function(e){if("px"===e.unit)return{unit:"rem",value:e.value/16}});let{code:t,map:r,exports:l}=O({filename:this.resourcePath,code:n.encode(e),minify:!0,visitor:{...u,...C,...M,...c},cssModules:!!d&&{pattern:m.modules.localIdentName},sourceMap:this.sourceMap,inputSourceMap:this.sourceMap&&_?JSON.stringify(_):void 0,analyzeDependencies:!1,drafts:{customMedia:!0},include:1,errorRecovery:!1,unusedSymbols:[],...m}),p=t.toString();if(l){for(let e in l)if(Object.prototype.hasOwnProperty.call(l,e)){let t=l[e],r=t.name;for(let e of t.composes)r+=` ${e.name}`;h.push({name:e,value:r})}m.modules.getJSON?.({resourcePath:this.resourcePath,exports:h})}if(0!==y.size){if(s.IS_WINDOW)for(let[e,t]of y.entries())for(let r of R)r.url=r.url.replace(`__MO_LIGHTNINGCSS_LOADER_URL_REPLACE_${e}__`,t);else{let e=this.getResolve({conditionNames:["asset"],mainFields:["asset"],mainFiles:[],extensions:[]});for(let[t,r]of y.entries()){let[s]=r.split(/(\?)?#/,3),i=(0,o.requestify)(s,this.rootContext),l=await (0,o.resolveRequests)(e,this.context,[...new Set([i,r])]);for(let e of R)e.url=e.url.replace(`__MO_LIGHTNINGCSS_LOADER_URL_REPLACE_${t}__`,l??r)}}}if(0!==v.size){let e=this.getResolve({conditionNames:["style"],extensions:[".css"],mainFields:["css","style","main","..."],mainFiles:["index","..."],restrictions:[/\.css$/i]});for(let[t,r]of v.entries()){let[s]=r.split(/(\?)?#/,3),i=(0,o.requestify)(s,this.rootContext),l=await (0,o.resolveRequests)(e,this.context,[...new Set([i,r])]);for(let e of R)e.url=e.url.replace(`__MO_LIGHTNINGCSS_LOADER_IMPORT_URL_REPLACE_${t}__`,l??r)}}if(0!==E.size){let e=this.getResolve({conditionNames:["style"],extensions:[],mainFields:["css","style","main","..."],mainFiles:["index","..."]});for(let[t,r]of E.entries()){let[s]=r.split(/(\?)?#/,3),i=(0,o.requestify)(s,this.rootContext),l=await (0,o.resolveRequests)(e,this.context,[...new Set([r,i])]);for(let e of S)e.url=e.url.replace(`__MO_LIGHTNINGCSS_LOADER_ICSS_URL_REPLACE_${t}__`,l??r)}}R.push(...S);let N=(0,i.getImportCode)(R,m),I=(0,i.getModuleCode)({css:p,map:r},g,L,m,this),P=(0,i.getExportCode)(h,L,m);a(null,`${N}${I}${P}`,r&&JSON.parse(r.toString()))}catch(e){a(e),(0,r.default)(e)}}
@@ -1 +1 @@
1
- "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return o}});const t=require("@moneko/mdx"),r=(e=require("../commom/log.mjs"))&&e.__esModule?e:{default:e};async function o(e){let o=this.async();this.cacheable&&this.cacheable(),(0,t.mdx)({value:e,filepath:this.resourcePath,...this.getOptions()}).then(e=>{o(null,e.code)}).catch(e=>{o(e),(0,r.default)(Error(e))})}
1
+ "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return o}});const t=require("@moneko/mdx"),c=(e=require("../commom/log.mjs"))&&e.__esModule?e:{default:e};async function o(e){let o=this.async();this.cacheable&&this.cacheable(),(0,t.mdx)({value:e,filepath:this.resourcePath,...this.getOptions()}).then(e=>{o(null,e.code)}).catch(e=>{o(e),(0,c.default)(e)})}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return u}});const e=require("fs"),t=s(require("../commom/log.mjs")),r=s(require("../commom/parse-module-meta.mjs"));function s(e){return e&&e.__esModule?e:{default:e}}const i={};function u(s){this.cacheable&&this.cacheable();let u=this.resourcePath;if(u.endsWith(".d.ts"))return s;try{let t=(0,e.statSync)(u).mtime.getTime();if(i[u]!==t){Object.assign(i,{[u]:t});let{comment:e,generateDoc:a,getCommentPath:o}=this.getOptions(),{file:c,pkg:n,meta:l}=(0,r.default)(o(u));e.setData(c,a(s,u)),e.setData(n,l)}}catch(e){(0,t.default)(Error(e))}return s}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return u}});const e=require("fs"),t=s(require("../commom/log.mjs")),r=s(require("../commom/parse-module-meta.mjs"));function s(e){return e&&e.__esModule?e:{default:e}}const i={};function u(s){this.cacheable&&this.cacheable();let u=this.resourcePath;if(u.endsWith(".d.ts"))return s;try{let t=(0,e.statSync)(u).mtime.getTime();if(i[u]!==t){Object.assign(i,{[u]:t});let{comment:e,generateDoc:a,getCommentPath:c}=this.getOptions(),{file:n,pkg:o,meta:l}=(0,r.default)(c(u));e.setData(n,a(s,u)),e.setData(o,l)}}catch(e){(0,t.default)(e)}return s}
@@ -1 +1 @@
1
- import{statSync as e}from"node:fs";import{resolve as t}from"node:path";import{loadFileRaw as s,scanFolderSync as i}from"@moneko/utils";import a from"webpack";import l from"../commom/log.mjs";let o="CopyPlugin",r=a.sources.RawSource;export class CopyPlugin{constructor(e){this.cacheFiles=[],this.fileTimestamps=new Map,this.baseFiles=new Set(e.files?.map(e=>t(e))||[]),this.dirs=new Set(e.dirs||[])}getFiles(){let e=new Set(this.baseFiles);for(let t of this.dirs)i(t,["\\.*"]).forEach(t=>e.add(t));let t={deleted:[],files:[...e]};for(let s of new Set(this.cacheFiles))e.has(s)||t.deleted.push(s);return this.cacheFiles=t.files,t}hasFileChanged(t){try{let s=e(t).mtimeMs,i=this.fileTimestamps.get(t)||0;return this.fileTimestamps.set(t,s),s>i}catch(e){return l(Error(e)),!0}}apply(e){e.hooks.thisCompilation.tap({name:o,stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},e=>{let t=e.getCache(o);e.hooks.processAssets.tapPromise(o,async()=>{let i=this.getFiles();await Promise.all(i.files.map(async i=>{let a=this.hasFileChanged(i),l=t.getItemCache(i,null),o=await l.getPromise();if(o&&!a){e.emitAsset(i,o.source);return}let m=await s(i);if(null!==m){let t=new r(Buffer.from(m));await l.storePromise({source:t,timestamp:this.fileTimestamps.get(i)}),e.emitAsset(i,t)}})),i.deleted.forEach(t=>{e.deleteAsset(t),this.fileTimestamps.delete(t)})})})}}
1
+ import{statSync as e}from"node:fs";import{resolve as t}from"node:path";import{loadFileRaw as s,scanFolderSync as i}from"@moneko/utils";import a from"webpack";import l from"../commom/log.mjs";let o="CopyPlugin",m=a.sources.RawSource;export class CopyPlugin{constructor(e){this.cacheFiles=[],this.fileTimestamps=new Map,this.baseFiles=new Set(e.files?.map(e=>t(e))||[]),this.dirs=new Set(e.dirs||[])}getFiles(){let e=new Set(this.baseFiles);for(let t of this.dirs)i(t,["\\.*"]).forEach(t=>e.add(t));let t={deleted:[],files:[...e]};for(let s of new Set(this.cacheFiles))e.has(s)||t.deleted.push(s);return this.cacheFiles=t.files,t}hasFileChanged(t){try{let s=e(t).mtimeMs,i=this.fileTimestamps.get(t)||0;return this.fileTimestamps.set(t,s),s>i}catch(e){return l(e),!0}}apply(e){e.hooks.thisCompilation.tap({name:o,stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},e=>{let t=e.getCache(o);e.hooks.processAssets.tapPromise(o,async()=>{let i=this.getFiles();await Promise.all(i.files.map(async i=>{let a=this.hasFileChanged(i),l=t.getItemCache(i,null),o=await l.getPromise();if(o&&!a){e.emitAsset(i,o.source);return}let r=await s(i);if(null!==r){let t=new m(Buffer.from(r));await l.storePromise({source:t,timestamp:this.fileTimestamps.get(i)}),e.emitAsset(i,t)}})),i.deleted.forEach(t=>{e.deleteAsset(t),this.fileTimestamps.delete(t)})})})}}
@@ -1 +1 @@
1
- import{updateFile as t}from"@moneko/utils";import o from"../commom/log.mjs";import{node_modules as e}from"./index.mjs";async function m(m,r){try{let o=`${m.startsWith("//")?`http:${m}`:m}/module-federation.d.ts`,i=await fetch(o).then(t=>t.text());t(e(`@types/${r}/index.d.ts`),i)}catch(t){o(Error(t))}}export default m;
1
+ import{updateFile as t}from"@moneko/utils";import o from"../commom/log.mjs";import{node_modules as e}from"./index.mjs";async function m(m,i){try{let o=`${m.startsWith("//")?`http:${m}`:m}/module-federation.d.ts`,r=await fetch(o).then(t=>t.text());t(e(`@types/${i}/index.d.ts`),r)}catch(t){o(t)}}export default m;
@@ -1,2 +1,2 @@
1
1
  import{basename as e,join as t}from"node:path";import{directoryExists as a,scanFolderSync as o}from"@moneko/utils";import{watch as l}from"chokidar";import r from"../commom/log.mjs";import n from"../commom/parse-module-meta.mjs";import c from"../commom/reactive-object.mjs";import s from"../commom/require.mjs";import i from"../commom/sigint-exit.mjs";import{CONFIG as g}from"../config.mjs";import{FRAMEWORK as m,isDev as u}from"../process-env.mjs";let p={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)||navigator.language,{translation:a,...defaultLocale}=Object.assign({title:"简体中文",language:navigator.language,translation:{}},resources[language]||resources[navigator.language]),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)||navigator.language,{translation:l,...o}=Object.assign({title:"简体中文",language:navigator.language,translation:{}},resources[a]||resources[navigator.language]),[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;'}[m];function d(e,t){return`${p[m]}
2
- export function template(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}`}let b=n("@app/locales");export const localesModuleName=b.file;export const locales=new c({[localesModuleName]:d([],{}),[b.pkg]:b.meta});let j={};async function v(t,a){let o=e(t).replace(/\.[^.]+$/,"");try{"deleted"===a?delete j[o]:(delete s.cache[t],Object.assign(j,{[o]:s(t).default}));let e=[],l={};for(let t in j)if(Object.prototype.hasOwnProperty.call(j,t)){let{language:a=o,title:r=a,icon:n,translation:c={}}=j[t];e.push({language:a,title:r,icon:n}),l[a]={language:a,title:r,icon:n,translation:c}}locales.setData(localesModuleName,d(e,l)),locales.setData(b.pkg,b.meta)}catch(e){r(Error(e))}}let z=t(g.alias["@"],"./locales");if(a(z)&&!1!==g.htmlPluginOption){let e=o(z,[".ts$"]).filter(e=>!/^\..*|\.d\.ts$/.test(e));await Promise.all(e.map(e=>v(e,"added"))),u&&function(e,t){let a=l(e,{ignored:t,persistent:!0,ignoreInitial:!0});function o(){a.unwatch(e),a.close()}a.on("add",e=>{v(e,"added")}),a.on("change",e=>{v(e,"change")}),a.on("unlink",e=>{v(e,"deleted")}),a.once("ready",()=>{u||o()}),i(o)}(z,[/^\..*/,/!\.ts$/,/\.d\.ts$/])}
2
+ export function template(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}`}let b=n("@app/locales");export const localesModuleName=b.file;export const locales=new c({[localesModuleName]:d([],{}),[b.pkg]:b.meta});let j={};async function v(t,a){let o=e(t).replace(/\.[^.]+$/,"");try{"deleted"===a?delete j[o]:(delete s.cache[t],Object.assign(j,{[o]:s(t).default}));let e=[],l={};for(let t in j)if(Object.prototype.hasOwnProperty.call(j,t)){let{language:a=o,title:r=a,icon:n,translation:c={}}=j[t];e.push({language:a,title:r,icon:n}),l[a]={language:a,title:r,icon:n,translation:c}}locales.setData(localesModuleName,d(e,l)),locales.setData(b.pkg,b.meta)}catch(e){r(e)}}let z=t(g.alias["@"],"./locales");if(a(z)&&!1!==g.htmlPluginOption){let e=o(z,[".ts$"]).filter(e=>!/^\..*|\.d\.ts$/.test(e));await Promise.all(e.map(e=>v(e,"added"))),u&&function(e,t){let a=l(e,{ignored:t,persistent:!0,ignoreInitial:!0});function o(){a.unwatch(e),a.close()}a.on("add",e=>{v(e,"added")}),a.on("change",e=>{v(e,"change")}),a.on("unlink",e=>{v(e,"deleted")}),a.once("ready",()=>{u||o()}),i(o)}(z,[/^\..*/,/!\.ts$/,/\.d\.ts$/])}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moneko/core",
3
- "version": "3.44.9",
3
+ "version": "3.44.11-beta.0",
4
4
  "description": "core",
5
5
  "main": "lib/index.mjs",
6
6
  "type": "module",
@@ -113,24 +113,23 @@
113
113
  "@moneko/raw-import": "0.0.3",
114
114
  "@moneko/stylelint": "1.3.0",
115
115
  "@moneko/transform-imports": "0.6.1",
116
- "@moneko/utils": "0.2.2",
116
+ "@moneko/utils": "0.3.2",
117
117
  "@swc/core": "1.6.13",
118
- "browserslist": "4.24.4",
118
+ "browserslist": "4.24.5",
119
119
  "chokidar": "4.0.3",
120
- "core-js": "3.41.0",
121
- "core-js-compat": "3.41.0",
120
+ "core-js": "3.42.0",
121
+ "core-js-compat": "3.42.0",
122
122
  "husky": "9.1.7",
123
123
  "less": "4.3.0",
124
- "less-loader": "12.2.0",
125
- "lightningcss": "1.29.3",
124
+ "less-loader": "12.3.0",
125
+ "lightningcss": "1.30.1",
126
126
  "marked-completed": "1.2.14",
127
- "memfs": "4.17.0",
127
+ "memfs": "4.17.2",
128
128
  "mini-css-extract-plugin": "2.9.2",
129
- "mkcert": "3.2.0",
130
129
  "style-loader": "4.0.0",
131
130
  "swc-loader": "0.2.6",
132
131
  "typescript": "5.8.3",
133
- "webpack": "5.99.7",
132
+ "webpack": "5.99.8",
134
133
  "webpack-hot-middleware": "2.26.1",
135
134
  "webpack-merge": "6.0.1",
136
135
  "webpack-virtual-modules": "0.6.2"
@@ -141,7 +140,7 @@
141
140
  "@types/stylis": "4.2.7",
142
141
  "@types/webpack-bundle-analyzer": "4.7.0",
143
142
  "@types/webpack-hot-middleware": "2.25.9",
144
- "sass": "1.87.0",
143
+ "sass": "1.89.0",
145
144
  "sass-loader": "16.0.5",
146
145
  "solid-refresh": "0.7.5",
147
146
  "stylis": "4.3.6",
@@ -155,4 +154,4 @@
155
154
  "lib",
156
155
  "typings"
157
156
  ]
158
- }
157
+ }
package/lib/cert/cert.pem DELETED
@@ -1,23 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIDvTCCAqWgAwIBAgIGMTI0NTM5MA0GCSqGSIb3DQEBCwUAMIGMMSwwKgYDVQQD
3
- EyNMb2NhbCBEZXZlbG9wbWVudCBDQSAtIERPIE5PVCBUUlVTVDELMAkGA1UEBhMC
4
- Q04xDjAMBgNVBAgTBUh1bmFuMREwDwYDVQQHEwhDaGFuZ3NoYTEsMCoGA1UEChMj
5
- TG9jYWwgRGV2ZWxvcG1lbnQgQ0EgLSBETyBOT1QgVFJVU1QwHhcNMjUwNDEwMTkw
6
- NDU3WhcNNDUwNDA1MTkwNDU3WjCBjDEsMCoGA1UEAxMjTG9jYWwgRGV2ZWxvcG1l
7
- bnQgQ0EgLSBETyBOT1QgVFJVU1QxCzAJBgNVBAYTAkNOMQ4wDAYDVQQIEwVIdW5h
8
- bjERMA8GA1UEBxMIQ2hhbmdzaGExLDAqBgNVBAoTI0xvY2FsIERldmVsb3BtZW50
9
- IENBIC0gRE8gTk9UIFRSVVNUMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
10
- AQEAwtUviw2bzLe3Jir9v/FiCYIuH4Al1WFDw8fnpIz77FCGmH/5oMZP2fvY9Q7X
11
- IExeOdEmPXlR5RN3ivd70JZ6Zzcd4jUHa7QYxrOGRSCOEBqH3GOF8QjVomeQEdfv
12
- NMFHN7RVWc4P7/xlB2eyVQLSG2FXO3rFtpfJYXtENMFF8SfeQHTKZEjnU48Azw9J
13
- Yi4/FG+MwSnw661gyzYxdBpJfKa37cm0eROLjT9qeXG2M9cRXJpJaNRZniwMmYtv
14
- XXsVT8bmRe8oVLx3+m2wuDFPk5WRwjKj4eH66sKZqom8j+XXocZUx5IhW9QFYbIu
15
- uOVBNg/CHWX41+EVIZLjqeAtFQIDAQABoyMwITAPBgNVHRMBAf8EBTADAQH/MA4G
16
- A1UdDwEB/wQEAwICBDANBgkqhkiG9w0BAQsFAAOCAQEALbGs5tqopj1kGlMw7u6D
17
- QqkUzdAFUF5gjFPD7azdu+Lca0IPMBmXPqcJSLwHq73Lop7ijZ0e98IK3sd9RiiI
18
- nKjCow5+uVtEQi0g9gegPtrQnlgDYMYS+gWinEPpzXaIFWO/Ji6qJrfxkhaHiy9g
19
- /zkY2JE3ZCWr3T1AI7tQSufCPybQN5yapNcSLeINrxMCzqJysgSZUy/1FKQoZWhW
20
- p9F1l4Fc9NRmuAObYPqCnpZwB4n+7KqQYpCCGoiIPbRDR+GZyejRGfJpCH0wqTd0
21
- GQVWD4TTOR1Kv+XtNXWEzhvAoMLd1Cj5p+ZMdTOtiPvJp8asCwUxgwufVvu74b+7
22
- vw==
23
- -----END CERTIFICATE-----
package/lib/cert/key.pem DELETED
@@ -1,27 +0,0 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- MIIEpAIBAAKCAQEAwtUviw2bzLe3Jir9v/FiCYIuH4Al1WFDw8fnpIz77FCGmH/5
3
- oMZP2fvY9Q7XIExeOdEmPXlR5RN3ivd70JZ6Zzcd4jUHa7QYxrOGRSCOEBqH3GOF
4
- 8QjVomeQEdfvNMFHN7RVWc4P7/xlB2eyVQLSG2FXO3rFtpfJYXtENMFF8SfeQHTK
5
- ZEjnU48Azw9JYi4/FG+MwSnw661gyzYxdBpJfKa37cm0eROLjT9qeXG2M9cRXJpJ
6
- aNRZniwMmYtvXXsVT8bmRe8oVLx3+m2wuDFPk5WRwjKj4eH66sKZqom8j+XXocZU
7
- x5IhW9QFYbIuuOVBNg/CHWX41+EVIZLjqeAtFQIDAQABAoIBABsRpiAFAqxtVJOH
8
- oub+u8bjwKdnv9nm6un8kCvF2rUjyvoibaWaEpC6nj4N6HL4U+8R0TpL7MY4RNeY
9
- jX9Bfj1w5ESqvB6JUG1AQVtsASYuSXSj7ywPNNSc3DYJG5bnc47tuHNYXyZ8mUdv
10
- b3ttf5Dbnqmzjlymt2KaebN1VtOrnty+Ao3Prclgtxo0HddlTSY6zWQxFteaO0za
11
- z9CSuwbwCBbaLR2XYhvWd/3nnIKsE0DWFn2HxQkv1VWipf29bn0NHi2U/8PZbuy2
12
- 2PjLX3ZUkaJ+YdpNrS2xdcTMiqhga6s5UjyA4f9m1MjzfN5eFMNDJfcK7JUw154v
13
- 4yeJx1ECgYEA7BPfZp1QDz0yfKKthvAdu8eiPPUwgfhA1Aq3sFlQFQJm/xT3edr9
14
- A3w3lMtUXbBVJYeO13vjZE+XzxfofC+7rjmHdb1MBjZ/0zwCU0s1crsSu16CcgbN
15
- hppowsVhoq/6oXt3RzPMXkYwJIlZoKG7un3D+84D2G1EPjC6Aun6OvsCgYEA00ZG
16
- diamy8MIMbHIgrsmsKKcjTELh4XkzVSfIwdzK8VmUuAuEtALXmcVv0ovWL/YbMzM
17
- HFDH8zff9+0mdykAxh9BfE3Em+PfhbgSXEYP/G/iKxls+HGRE4ooLx0sKjsTeLML
18
- nCooi6ILOaiKxjGx93GPZ45MnphYLYao7nxuuy8CgYEAmGB3WOd/LmbkuHfUI33G
19
- 41aGzGvCRJG1XmgQil4Lh5QGYOzqk5eaqe46fesD6HkRbGjj9Qg9DJknNn+LCuVQ
20
- cbMmUQO/F1+EABcCtTqdJBHFlHT7I5hqflAaAGWgkH6f+i0UHzw61DrfhiW1WS4r
21
- WsMkhdpCtyZH3xBab9kQL5MCgYBiy3vriAt7QQo14sK2jzl6Y6/9Pi/8AZqKgcWg
22
- pb0vfLFqk7Y3yd1nGaFLwC7/u0ZDKklP/F5j1379+oGAO0ZHXxpKPDtyAk7lwruj
23
- NogHLXJ/YPZZ/xEuJ+6+iU+7t8BVMrR9JCGtmerR3YR3RYnJAetjK2Gcz/R75Xpd
24
- ewZ0tQKBgQC0uLAxRhwHa7EMdni1Tf4ygF2oaLC7dX/L8eiMYjmVo5eUsYHG+fda
25
- Wc2oH1ZuV1nGZE+VkMiNPXGTZXdspLYLzjNPLUsO2NMOzm4ZZbEKFzd/A9gif6lI
26
- M0yeg8oeosuHZXbeqw8UcK99m9yCAUH//tiInA1yAjg9tl29iwG/Dw==
27
- -----END RSA PRIVATE KEY-----