@moneko/core 3.40.1 → 3.40.3

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/build.mjs CHANGED
@@ -1 +1 @@
1
- import{join as o}from"node:path";import{argv as t}from"node:process";import{convert as e}from"@moneko/convert";import{ink as s,println as i,removeDir as r}from"@moneko/utils";import m from"../commom/setup-env.mjs";import{cwd as n,swcCachePath as l}from"./utils/config.mjs";import{getSwcOption as c}from"./utils/setup-swcrc.mjs";import{lesscCommonjs as p}from"./lessc.mjs";import d from"./tsc.mjs";async function u(){let u=t[3],a=t[4],f=t.slice(5);u||(i(s(`type: 无效值 ${s(u,"245")}`,"red")),process.exit(1));let j=!f.includes("no-docs"),y=!f.includes("no-lib"),x=!f.includes("no-es"),b=!f.includes("no-dts"),g=f.filter(o=>!["no-docs","no-es","no-lib"].includes(o));if(await m("production",u,a,g),"library"===u){let{CONFIG:t}=await import("../config.mjs"),s="swc"===t.dts,i=[y&&{type:"commonjs",dir:"lib",msg:"Convert to CommonJS"},x&&{type:"es6",dir:"es",msg:"Convert to ES Module"}].filter(Boolean);for(let t=0,m=i.length;t<m;t++){r(o(n,`./${i[t].dir}`));let m=c(a);"es6"===i[t].type&&(m.jsc.target="es2015"),m.jsc.experimental.emitIsolatedDts=b&&s,m.jsc.experimental.cacheRoot=l,m.module.type=i[t].type,e({outDir:i[t].dir,inputDir:"components",ignore:[/^.*\/__*__\//,/\.test\.(js|ts)x?$/,/\.DS_Store/,/\.mdx?$/,/^.*\/examples\//,/\.d\.(cj|mj|j|t|ct|mt)sx?$/],options:m}),"commonjs"===i[t].type&&p(),b&&!s&&d(i[t].dir)}}("library"!==u||j&&"library"===u)&&import("../build.mjs")}export default u;
1
+ import{join as o}from"node:path";import{argv as t}from"node:process";import{convert as e}from"@moneko/convert";import{ink as s,println as r,removeDir as i}from"@moneko/utils";import m from"../commom/setup-env.mjs";import{cwd as n,swcCachePath as c}from"./utils/config.mjs";import{getSwcOption as l}from"./utils/setup-swcrc.mjs";import{lesscCommonjs as p}from"./lessc.mjs";import d from"./tsc.mjs";async function a(){let a=t[3],f=t[4],u=t.slice(5);a||(r(s(`type: 无效值 ${s(a,"245")}`,"red")),process.exit(1));let j=!u.includes("no-docs"),y=!u.includes("no-lib"),x=!u.includes("no-es"),g=!u.includes("no-dts"),b=u.filter(o=>!["no-docs","no-es","no-lib"].includes(o));if(await m("production",a,f,b),"library"===a){let{CONFIG:t}=await import("../config.mjs"),s="swc"===t.dts,r=[y&&{type:"commonjs",dir:"lib",msg:"Convert to CommonJS"},x&&{type:"es6",dir:"es",msg:"Convert to ES Module"}].filter(Boolean);for(let t=0,m=r.length;t<m;t++){i(o(n,`./${r[t].dir}`));let m=l(f);"es6"===r[t].type&&(m.jsc.target="es2015"),m.jsc.experimental.emitIsolatedDts=g&&s,m.jsc.experimental.cacheRoot=c,m.module.type=r[t].type,e({outDir:r[t].dir,inputDir:"components",ignore:[/^.*\/__*__\//,/\.test\.(js|ts)x?$/,/\.DS_Store/,/\.mdx?$/,/^.*\/examples\//,/\.d\.(cj|mj|j|t|ct|mt)sx?$/],options:m}),"commonjs"===r[t].type&&p(),g&&!s&&d(r[t].dir)}}if("library"!==a||j&&"library"===a)try{await import("../build.mjs")}catch(o){r(s(Error(o).message,"red")),process.exit(1)}}export default a;
@@ -1,4 +1,4 @@
1
1
  import{execSync as t}from"node:child_process";import{join as e}from"node:path";import{argv as o}from"node:process";import{updateFileSync as r}from"@moneko/utils";import s from"../commom/log.mjs";import{cwd as i}from"./utils/config.mjs";let n={feat:"✨ Features",fix:"🐛 Bug Fixes",docs:"📚 Documentation",style:"💎 Styles",refactor:"📦 Code Refactoring",perf:"🚀 Performance Improvements",test:"🚨 Tests",build:"🛠 Builds",ci:"⚙️ Continuous Integrations",chore:"♻️ Chores",revert:"🗑 Reverts"};function a(e,o){return function(t){let e=[];for(let o of t.trim().split("\n")){let[t,r,s,i,a]=o.split("|");if(a){let o=a.split(": "),l=n[o[0]];e.push({commitId:t,author:r,email:s,date:new Date(i).toLocaleString().replace(/\//g,"-"),message:l?o.slice(1).join(":"):a,type:l})}}return e}(t(`git log ${e?`${e}..`:""}${o||""} --format='%H|%an|%ae|%ad|%s'`,{encoding:"utf-8"}))}export default function l(){let n=o[3],l=["# Change log"];try{t('git show-ref --quiet --verify "refs/heads/$(git rev-parse --abbrev-ref HEAD)";');let e=t('git config --get remote.origin.url | sed "s/\\.git$//"').toString().trim(),o=function(e){let o=t("git for-each-ref --sort='v:refname' --format '%(objectname) %(refname:short) %(creatordate:iso8601)' refs/tags",{encoding:"utf-8"}),r=[],s=o.trim().split("\n");return s.forEach((t,o)=>{let[i,n,a]=t.split(" "),l=s[o-1]?.split(" ")[1],m=`## ${n}`;l&&(m=`## [${n}](${e}/compare/${l}...${n}) (${new Date(a).toLocaleDateString().replace(/\//g,"-")})`),r.push({commitId:i,tag:n,date:a,title:m,logs:{}})}),r}(e);o.forEach((t,r)=>{if(r&&a(o[r-1].tag,t.tag).forEach(t=>{if(t.type){let s=o[r].logs[t.type]||[];s.push(`- ${t.message} ([${t.commitId.substring(0,7)}](${e}/commit/${t.commitId}))`),Object.assign(o[r].logs,{[t.type]:s})}}),r===o.length-1){let s=a(t.tag);s.length&&o.push({title:"## Last",logs:{}}),s.forEach(t=>{if(t.type){let s=o[r+1].logs[t.type]||[];s.push(`- ${t.message} ([${t.commitId.substring(0,7)}](${e}/commit/${t.commitId}))`),Object.assign(o[r+1].logs,{[t.type]:s})}})}}),o.reverse().forEach(t=>{for(let e in l.push(`
2
2
  ${t.title}`),t.logs)Object.prototype.hasOwnProperty.call(t.logs,e)&&(l.push(`
3
3
  ### ${e}
4
- `),t.logs[e].forEach(t=>l.push(t)))})}catch(t){l.push("\n当前分支尚无任何提交\n"),s(t)}r(e(i,n),l.join("\n"))}
4
+ `),t.logs[e].forEach(t=>l.push(t)))})}catch(t){l.push("\n当前分支尚无任何提交\n"),s(Error(t))}r(e(i,n),l.join("\n"))}
@@ -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}from"node:process";import{ESLint as i}from"@moneko/eslint";import{stylelint as r}from"@moneko/stylelint";import{ink as n,loadFile as s,println as l}from"@moneko/utils";import m from"../commom/log.mjs";import a from"../commom/parse-args.mjs";import c from"../commom/timer.mjs";let d=a(o.slice(2)),f=d.fix,p=d.cache||!0,y=e(process.cwd(),"node_modules/.cache"),u={ci:["diff","--name-only","HEAD^","HEAD"],commit:["diff","--cached","--name-only","--diff-filter=ACMR"]},h=/.*(?<!\.d)\.(j|t|mj|mt|cj|ct)sx?$/,w=/.*(?<!\.d)\.vue$/,g=/.*(?<!\.d)\.(c|sc|sa|le)ss$/,S=t("git",u[d.mode||"ci"]||u.ci).stdout.toString().trim().split("\n");async function $(){let t=n("ESLint","cyan");l(`${t}: ${n("runing...","yellow")}`,!0);try{c.start("ESLint");let t=S.filter(t=>h.test(t)||w.test(t));if(0===t.length){c.end("ESLint");return}let e=new i({cache:p,cacheLocation:`${y}/.eslintcache`,fix:f}),o=await e.lintFiles(t),r=await e.loadFormatter("stylish"),n=await r.format(o);f&&await i.outputFixes(o),n&&process.stdout.write(n);let s=o.some(t=>t.errorCount>0);c.end("ESLint"),s&&process.exit(1)}catch(t){m(t)}}let E=S.filter(t=>g.test(t)||w.test(t));async function j(){let t=n("Stylelint","cyan");if(l(`${t}: ${n("runing...","yellow")}`,!0),c.start("Stylelint"),0===E.length){c.end("Stylelint");return}let e=await Promise.all(E.map(async t=>{let e=await s(t);return await r.lint({codeFilename:t,code:e,cache:p,cacheLocation:`${y}/.stylelintcache`,fix:f,formatter:"string"}).catch(m)})),o=!1;e.forEach(t=>{t&&(t.report&&process.stdout.write(t.report),t.errored&&(o=!!t.errored))}),c.end("Stylelint"),o&&process.exit(1)}await Promise.all([$(),j()]);
2
+ import{spawnSync as t}from"node:child_process";import{join as e}from"node:path";import{argv as o}from"node:process";import{ESLint as r}from"@moneko/eslint";import{stylelint as i}from"@moneko/stylelint";import{ink as n,loadFile as s,println as l}from"@moneko/utils";import m from"../commom/log.mjs";import a from"../commom/parse-args.mjs";import c from"../commom/timer.mjs";let d=a(o.slice(2)),f=d.fix,p=d.cache||!0,y=e(process.cwd(),"node_modules/.cache"),u={ci:["diff","--name-only","HEAD^","HEAD"],commit:["diff","--cached","--name-only","--diff-filter=ACMR"]},h=/.*(?<!\.d)\.(j|t|mj|mt|cj|ct)sx?$/,w=/.*(?<!\.d)\.vue$/,g=/.*(?<!\.d)\.(c|sc|sa|le)ss$/,S=t("git",u[d.mode||"ci"]||u.ci).stdout.toString().trim().split("\n");async function $(){let t=n("ESLint","cyan");l(`${t}: ${n("runing...","yellow")}`,!0);try{c.start("ESLint");let t=S.filter(t=>h.test(t)||w.test(t));if(0===t.length){c.end("ESLint");return}let e=new r({cache:p,cacheLocation:`${y}/.eslintcache`,fix:f}),o=await e.lintFiles(t),i=await e.loadFormatter("stylish"),n=await i.format(o);f&&await r.outputFixes(o),n&&process.stdout.write(n);let s=o.some(t=>t.errorCount>0);c.end("ESLint"),s&&process.exit(1)}catch(t){m(Error(t))}}let E=S.filter(t=>g.test(t)||w.test(t));async function j(){let t=n("Stylelint","cyan");if(l(`${t}: ${n("runing...","yellow")}`,!0),c.start("Stylelint"),0===E.length){c.end("Stylelint");return}let e=await Promise.all(E.map(async t=>{let e=await s(t);return await i.lint({codeFilename:t,code:e,cache:p,cacheLocation:`${y}/.stylelintcache`,fix:f,formatter:"string"}).catch(m)})),o=!1;e.forEach(t=>{t&&(t.report&&process.stdout.write(t.report),t.errored&&(o=!!t.errored))}),c.end("Stylelint"),o&&process.exit(1)}await Promise.all([$(),j()]);
package/lib/bin/start.mjs CHANGED
@@ -1 +1 @@
1
- import{argv as e}from"node:process";import{ink as o,println as t}from"@moneko/utils";import m from"../commom/setup-env.mjs";async function i(){let i=e[3],r=e[4],p=e.slice(5);i||(t(o(`type: 无效值 ${o(i,"245")}`,"red")),process.exit(1));let s=p.indexOf("no-verify");-1!==s&&p.splice(s,1),await m("development",i,r,p),import("../dev.mjs")}export default i;
1
+ import{argv as e}from"node:process";import{ink as o,println as t}from"@moneko/utils";import r from"../commom/setup-env.mjs";async function m(){let m=e[3],s=e[4],i=e.slice(5);m||(t(o(`type: 无效值 ${o(m,"245")}`,"red")),process.exit(1));let p=i.indexOf("no-verify");-1!==p&&i.splice(p,1),await r("development",m,s,i);try{await import("../dev.mjs")}catch(e){t(o(Error(e).message,"red")),process.exit(1)}}export default m;
@@ -0,0 +1,23 @@
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-----
@@ -0,0 +1,27 @@
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-----
@@ -2,15 +2,16 @@ import { exec, type ExecException, type PromiseWithChild } from 'node:child_proc
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 { createCA, createCert } from 'mkcert';
7
+ import log from './log.mjs';
8
+ import { getIPv4 } from './net.mjs';
9
+ import paths from './paths.mjs';
5
10
  type ExecPromise = (command: string) => PromiseWithChild<{
6
11
  stdout: string;
7
12
  stderr: string;
8
13
  }>;
9
14
  declare const execPromise: ExecPromise;
10
- import { fileExists, loadFile, println, saveFile } from '@moneko/utils';
11
- import { createCA, createCert } from 'mkcert';
12
- import log from './log.mjs';
13
- import paths from './paths.mjs';
14
15
  declare async function isCertificateInstalled(organization: string): Promise<boolean>;
15
16
  declare function installCallback(error: ExecException | null, _stdout: string, stderr: string);
16
17
  export declare function installCA(certPath: string);
package/lib/commom/ca.mjs CHANGED
@@ -1 +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";let a=i(t);import{fileExists as n,loadFile as l,println as c,saveFile as s}from"@moneko/utils";import{createCA as m,createCert as p}from"mkcert";import u from"./log.mjs";import d from"./paths.mjs";async function f(t){try{if("darwin"===o){let{stdout:e}=await a(`security find-certificate -c "${t}" -a`);return e.length>0}if("win32"===o){let{stdout:e}=await a(`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(`security add-trusted-cert -d -r trustRoot -k "$HOME/Library/Keychains/login.keychain-db" "${e}"`,y):"win32"===o?t(`certutil -addstore -user "Root" "${e}"`,y):void c(`⚠️ 暂不支持自动安装 CA 的平台: ${o}`)}export async function setupCert(t="localhost",o=!0){let i=r(d.programPath,`${d.corePath}/pem/root-cert.pem`),a=r(d.programPath,`${d.corePath}/pem/root-key.pem`),c="Local Development CA - DO NOT TRUST";if(!n(i)||!n(a)){let t=await m({organization:c,validity:365,countryCode:"CN",state:"Hunan",locality:"Changsha"});await Promise.all([s(i,t.cert),s(a,t.key)])}o&&!await f(c)&&installCA(i);let u=e(d.CA_DIR,`${t}_cert.pem`),y=e(d.CA_DIR,`${t}_key.pem`);if(!n(u)||!n(y)){let e=await Promise.all([l(i),l(a)]),r=await p({ca:{cert:e[0],key:e[1]},domains:[...new Set([t,"localhost","127.0.0.1"].filter(Boolean))],organization:c,validity:365});await Promise.all([s(u,r.cert),s(y,r.key)])}let h=await Promise.all([l(u),l(y)]);return{cert:h[0],key:h[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(`security add-trusted-cert -d -r trustRoot -k "$HOME/Library/Keychains/login.keychain-db" "${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";if(!a(i)||!a(l)){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)&&installCA(i);let f=r(p.CA_DIR,`${t}_cert.pem`),h=r(p.CA_DIR,`${t}_key.pem`);if(!a(f)||!a(h)){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(f,e.cert),c(h,e.key)])}let w=await Promise.all([n(f),n(h)]);return{cert:w[0],key:w[1]}}
@@ -2,5 +2,5 @@ import { appendToFile } from '@moneko/utils';
2
2
  declare const startDate: Date;
3
3
  declare const startHrTime: [number, number];
4
4
  declare function getCurrentTime(): string;
5
- declare function log(message: Error | string): void;
5
+ declare async function log(message: Error | string): Promise<void>;
6
6
  export default log;
@@ -1,4 +1,4 @@
1
- import{appendToFile as t}from"@moneko/utils";let e=new Date,r=process.hrtime();export default function(a){let n=function(){let t=process.hrtime(r),a=t[0],n=t[1],i=new Date(e.getTime()+1e3*a+Math.floor(n/1e6)),o=i.getFullYear(),g=String(i.getMonth()+1).padStart(2,"0"),$=String(i.getDate()).padStart(2,"0"),s=String(i.getHours()).padStart(2,"0"),S=String(i.getMinutes()).padStart(2,"0"),l=String(i.getSeconds()).padStart(2,"0"),p=String(Math.floor(n%1e6/1e3)).padStart(3,"0"),d=String(n%1e3).padStart(3,"0");return`${o}-${g}-${$} ${s}:${S}:${l}.${p}${d}`}(),i=(a instanceof Error?`${a.message}
1
+ import{appendToFile as t}from"@moneko/utils";let e=new Date,r=process.hrtime();async function a(a){let n=function(){let t=process.hrtime(r),a=t[0],n=t[1],i=new Date(e.getTime()+1e3*a+Math.floor(n/1e6)),o=i.getFullYear(),g=String(i.getMonth()+1).padStart(2,"0"),$=String(i.getDate()).padStart(2,"0"),s=String(i.getHours()).padStart(2,"0"),S=String(i.getMinutes()).padStart(2,"0"),l=String(i.getSeconds()).padStart(2,"0"),p=String(Math.floor(n%1e6/1e3)).padStart(3,"0"),c=String(n%1e3).padStart(3,"0");return`${o}-${g}-${$} ${s}:${S}:${l}.${p}${c}`}(),i=(a instanceof Error?`${a.message}
2
2
  ${a.stack||""}`:String(a)).split("\n"),o=`[${n}] ${i[0]}`,g=" ".repeat(`[${n}] `.length),$=i.slice(1).map(t=>`${g}${t}`).join("\n"),s=`${o}${$?`
3
3
  ${$}`:""}
4
- `;t(`logs/${n.substring(0,16)}.log`,s)}
4
+ `;t(`logs/${n.substring(0,16)}.log`,s)}export default a;
package/lib/common.mjs CHANGED
@@ -1 +1 @@
1
- import{extname as e,join as t,resolve as o}from"node:path";import s,{config_files as n,CUSTOMCONFIG as a}from"./commom/paths.mjs";import i from"./commom/require.mjs";import r from"./plugin/override-resolve.mjs";import{isObject as l,node_modules as m,resolveProgram as p}from"./utils/index.mjs";import{exampleModuleName as c}from"./vm/example.mjs";import u from"./vm/info.mjs";import{CONFIG as h,PUBLICPATH as f}from"./config.mjs";import d from"./plugins.config.mjs";import{isDev as g,isLibrary as b,NODE_ENV as y,packageJson as j}from"./process-env.mjs";export const outputConfig={path:p(b?"docs":"dist"),filename:"js/[name].[contenthash].bundle.js",chunkFilename:"js/[contenthash].chunk.js",assetModuleFilename:t=>{let o=e(t.filename||"").substring(1);return`assets/${o}/[hash][ext]`},library:{name:`${u.projectName}`,type:"umd",umdNamedDefine:!0},globalObject:"self",chunkLoadingGlobal:`webpackJsonp_${j.name}`,pathinfo:g,clean:!0,publicPath:f,asyncChunks:!0,charset:!0,iife:!0,crossOriginLoading:"anonymous",enabledWasmLoadingTypes:["fetch"],hotUpdateChunkFilename:"[id].[fullhash].hot.js",hotUpdateMainFilename:"[runtime].[fullhash].hot.json"};let v={main:[m("@app/entry")]};if(h.polyfill&&v.main.unshift(t(s.corePath,"./polyfills/replace-children.mjs")),g&&h.refresh&&h.env.injectRemoteReactRefresh&&v.main.unshift(i.resolve("@moneko/react/lib/injectRemoteReactRefresh.js")),h.entry&&("string"==typeof h.entry?v={main:[h.entry]}:Object.keys(h.entry)&&(v=Object.assign(v,h.entry))),"string"==typeof v.main&&(v.main=[v.main]),h.output){if("string"==typeof h.output)outputConfig.path=h.output;else if(Object.keys(h.output)){let e=h.output,t={...outputConfig.library};Object.assign(outputConfig,e),"object"==typeof h.output&&e.library&&(outputConfig.library=Object.assign(t,e.library))}}let C={type:"filesystem",allowCollectingMemory:!0,cacheDirectory:s.webpackCachePath,memoryCacheUnaffected:!0,name:`.${[a,y].filter(Boolean).join("-")}`,version:`${j.version}`,buildDependencies:{config:n}};!1===h.cache?C=!1:l(h.cache)&&(C=Object.assign(C,h.cache));export const commonConfig={name:"client",target:"web",devtool:h.devtool,entry:v,mode:g?"development":"production",stats:"errors-only",cache:C,snapshot:{immutablePaths:[/node_modules\/(?!(@app|@moneko)\/)/],managedPaths:[/^@app\/.+/,/^@moneko\/.+/],buildDependencies:{timestamp:!0,hash:!0}},infrastructureLogging:{level:"error"},externalsPresets:h.externalsPresets,plugins:d,node:{global:!1,__filename:!1,__dirname:!1},experiments:{topLevelAwait:!0,asyncWebAssembly:!0,cacheUnaffected:!0,layers:!0,lazyCompilation:h.lazyCompilation&&g&&{imports:!0,entries:!0,test:e=>{let t=e.nameForCondition();return!!(t&&(t.startsWith(m(c))||t.startsWith(m("@app/comment"))||t.startsWith(s.pagesPath)||t.startsWith(s.componentsPath)))}},buildHttp:l(h.buildHttp)?{allowedUris:[],lockfileLocation:o(s.httpCachePath,"http.lock"),cacheLocation:o(s.httpCachePath,"data"),upgrade:!0,...h.buildHttp}:h.buildHttp,backCompat:!0,futureDefaults:!0,css:!1,outputModule:!1},resolve:{extensions:[".mts",".mjs",".ts",".tsx",".js",".jsx",".json",".wasm"],alias:h.alias,modules:[s.nodeModules,s.pnpmNodeModules,s.denoNodeModules],mainFields:["browser","module","main"],mainFiles:["index"],plugins:h.resolvePlugins,preferAbsolute:!0,cache:!0,fallback:{}},externals:h.externals,output:outputConfig};h.overrideResolve&&commonConfig.resolve.plugins.push(new r(Object.assign({original:h.alias["@"],override:a&&p(a)},h.overrideResolve)));
1
+ import{extname as e,join as t,resolve as o}from"node:path";import s,{config_files as n,CUSTOMCONFIG as a}from"./commom/paths.mjs";import i from"./commom/require.mjs";import r from"./plugin/override-resolve.mjs";import{isObject as l,node_modules as m,resolveProgram as p}from"./utils/index.mjs";import{exampleModuleName as c}from"./vm/example.mjs";import u from"./vm/info.mjs";import{CONFIG as h,PUBLICPATH as f}from"./config.mjs";import d from"./plugins.config.mjs";import{isDev as g,isLibrary as b,NODE_ENV as y,packageJson as j}from"./process-env.mjs";export const outputConfig={path:p(b?"docs":"dist"),filename:"js/[name].[contenthash].bundle.js",chunkFilename:"js/[contenthash].chunk.js",assetModuleFilename:t=>{let o=e(t.filename||"").substring(1);return`assets/${o}/[hash][ext]`},library:{name:`${u.projectName}`,type:"umd",umdNamedDefine:!0},globalObject:"self",chunkLoadingGlobal:`webpackJsonp_${j.name}`,pathinfo:g,clean:!g,publicPath:f,asyncChunks:!0,charset:!0,iife:!0,crossOriginLoading:"anonymous",enabledWasmLoadingTypes:["fetch"],hotUpdateChunkFilename:"[id].[fullhash].hot.js",hotUpdateMainFilename:"[runtime].[fullhash].hot.json"};let v={main:[m("@app/entry")]};if(h.polyfill&&v.main.unshift(t(s.corePath,"./polyfills/replace-children.mjs")),g&&h.refresh&&h.env.injectRemoteReactRefresh&&v.main.unshift(i.resolve("@moneko/react/lib/injectRemoteReactRefresh.js")),h.entry&&("string"==typeof h.entry?v={main:[h.entry]}:Object.keys(h.entry)&&(v=Object.assign(v,h.entry))),"string"==typeof v.main&&(v.main=[v.main]),h.output){if("string"==typeof h.output)outputConfig.path=h.output;else if(Object.keys(h.output)){let e=h.output,t={...outputConfig.library};Object.assign(outputConfig,e),"object"==typeof h.output&&e.library&&(outputConfig.library=Object.assign(t,e.library))}}let C={type:"filesystem",allowCollectingMemory:!0,cacheDirectory:s.webpackCachePath,memoryCacheUnaffected:!0,name:`.${[a,y].filter(Boolean).join("-")}`,version:`${j.version}`,buildDependencies:{config:n}};!1===h.cache?C=!1:l(h.cache)&&(C=Object.assign(C,h.cache));export const commonConfig={name:"client",target:"web",devtool:h.devtool,entry:v,mode:g?"development":"production",stats:"errors-only",cache:C,snapshot:{immutablePaths:[/node_modules\/(?!(@app|@moneko)\/)/],managedPaths:[/^@app\/.+/,/^@moneko\/.+/],buildDependencies:{timestamp:!0,hash:!0}},infrastructureLogging:{level:"error"},externalsPresets:h.externalsPresets,plugins:d,node:{global:!1,__filename:!1,__dirname:!1},experiments:{topLevelAwait:!0,asyncWebAssembly:!0,cacheUnaffected:!0,layers:!0,lazyCompilation:h.lazyCompilation&&g&&{imports:!0,entries:!0,test:e=>{let t=e.nameForCondition();return!!(t&&(t.startsWith(m(c))||t.startsWith(m("@app/comment"))||t.startsWith(s.pagesPath)||t.startsWith(s.componentsPath)))}},buildHttp:l(h.buildHttp)?{allowedUris:[],lockfileLocation:o(s.httpCachePath,"http.lock"),cacheLocation:o(s.httpCachePath,"data"),upgrade:!0,...h.buildHttp}:h.buildHttp,backCompat:!0,futureDefaults:!0,css:!1,outputModule:!1},resolve:{extensions:[".mts",".mjs",".ts",".tsx",".js",".jsx",".json",".wasm"],alias:h.alias,modules:[s.nodeModules,s.pnpmNodeModules,s.denoNodeModules],mainFields:["browser","module","main"],mainFiles:["index"],plugins:h.resolvePlugins,preferAbsolute:!0,cache:!0,fallback:{}},externals:h.externals,output:outputConfig};h.overrideResolve&&commonConfig.resolve.plugins.push(new r(Object.assign({original:h.alias["@"],override:a&&p(a)},h.overrideResolve)));
package/lib/dev/mock.mjs CHANGED
@@ -1 +1 @@
1
- import e from"node:http";import{directoryExists as t,print as o}from"@moneko/utils";import{watch as r}from"chokidar";import{merge as a}from"webpack-merge";import n from"../commom/log.mjs";import s from"../commom/match-path.mjs";import c from"../commom/require.mjs";import{jsonSchema as m}from"./json-schema.mjs";function i(e,t,o){if(delete c.cache[t],o[t]){for(let r in o[t])Object.prototype.hasOwnProperty.call(o[t],r)&&(e[r]=null,delete e[r]);o[t]=null,delete o[t]}}export const yApiSchemaMock=(t,o)=>new Promise(r=>{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=m(t);void 0!==o?r(a(n,o)):r(n)}}catch(e){n(e)}})})});export const yApiMock=(t,o)=>new Promise((r,a)=>{let s=new URL(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:t.query},m=e.request(c,e=>{e.setEncoding("utf8");let t="";e.on("data",e=>{t+=e}),e.on("end",()=>{try{r(JSON.parse(t))}catch(e){n(e)}})});m.on("error",e=>{a(e.message)}),m.write(JSON.stringify(t.body)),m.end()});let p=async(e,a)=>{if(!t(a.directory))return;let m={},p={};r(a.directory).on("all",async function(e,t){if("string"==typeof t){switch(o("Updating mock...",!0),e){case"add":case"change":try{i(p,t,m);let e=c(t).default;m[t]=e,p=Object.assign(p,e)}catch(e){n(e)}break;case"unlink":i(p,t,m)}o("Mock update successful",!0)}}),e.addHook("preHandler",(e,t,o)=>{let r=`${e.method} ${e.url}`,a=Object.keys(p).filter(function(e){return RegExp(`^${e.replace(/(:\w*)[^/]/g,"((?!/).)")}*$`).test(r)});if(p[r]||a&&a.length>0){let n=p[r]||p[a[0]];if("function"==typeof n){let r=s(a[0].split(" ")[1],e.url);r&&e.params&&"object"==typeof e.params&&Object.assign(e.params,r.params),n(e,t,o);return}t.send(n);return}o()})};export default p;
1
+ import e from"node:http";import{directoryExists as t,print as r}from"@moneko/utils";import{watch as o}from"chokidar";import{merge as a}from"webpack-merge";import n from"../commom/log.mjs";import s from"../commom/match-path.mjs";import c from"../commom/require.mjs";import{jsonSchema as m}from"./json-schema.mjs";function i(e,t,r){if(delete c.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=m(t);void 0!==r?o(a(n,r)):o(n)}}catch(e){n(Error(e))}})})});export const yApiMock=(t,r)=>new Promise((o,a)=>{let s=new URL(r.host),c={hostname:s.hostname,port:s.port,path:t.url.replace(new RegExp(r.pathRewrite),`/mock/${r.projectId}/`),method:t.method,headers:t.headers,query:t.query},m=e.request(c,e=>{e.setEncoding("utf8");let t="";e.on("data",e=>{t+=e}),e.on("end",()=>{try{o(JSON.parse(t))}catch(e){n(Error(e))}})});m.on("error",e=>{a(e.message)}),m.write(JSON.stringify(t.body)),m.end()});let p=async(e,a)=>{if(!t(a.directory))return;let m={},p={};o(a.directory).on("all",async function(e,t){if("string"==typeof t){switch(r("Updating mock...",!0),e){case"add":case"change":try{i(p,t,m);let e=c(t).default;m[t]=e,p=Object.assign(p,e)}catch(e){n(Error(e))}break;case"unlink":i(p,t,m)}r("Mock update successful",!0)}}),e.addHook("preHandler",(e,t,r)=>{let o=`${e.method} ${e.url}`,a=Object.keys(p).filter(function(e){return RegExp(`^${e.replace(/(:\w*)[^/]/g,"((?!/).)")}*$`).test(o)});if(p[o]||a&&a.length>0){let n=p[o]||p[a[0]];if("function"==typeof n){let o=s(a[0].split(" ")[1],e.url);o&&e.params&&"object"==typeof e.params&&Object.assign(e.params,o.params),n(e,t,r);return}t.send(n);return}r()})};export default p;
@@ -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: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
+ "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 +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)(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)(Error(e))}}
@@ -1 +1 @@
1
- "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return a}});const t=require("@moneko/mdx"),r=(e=require("../commom/log.mjs"))&&e.__esModule?e:{default:e};async function a(e){let a=this.async();this.cacheable&&this.cacheable();try{let r=await (0,t.mdx)({value:e,filepath:this.resourcePath,...this.getOptions()});a(null,r.code)}catch(e){a(e),(0,r.default)(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"),r=(e=require("../commom/log.mjs"))&&e.__esModule?e:{default:e};async function o(e){let o=this.async();this.cacheable&&this.cacheable();try{let r=await (0,t.mdx)({value:e,filepath:this.resourcePath,...this.getOptions()});o(null,r.code)}catch(e){o(e),(0,r.default)(Error(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: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
+ "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 +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",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
+ 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 +1 @@
1
- import t from"webpack-virtual-modules";import o from"../commom/parse-module-meta.mjs";import i from"../commom/paths.mjs";import{isLibrary as e}from"../process-env.mjs";import{node_modules as s,transformModule as r}from"../utils/index.mjs";import{comment as l,docs as m}from"../vm/docs.mjs";import{examples as n}from"../vm/example.mjs";import{locales as p}from"../vm/locales.mjs";import a from"../vm/modules.mjs";import{route as f}from"../vm/routes.mjs";let c={};for(let t in a)if(Object.prototype.hasOwnProperty.call(a,t)){let{file:i,pkg:e,meta:s}=o(t);c[e]=s,c[i]=r(a[t])}export class VirtualModuleWebpackPlugin{constructor(i={}){this.options={},this.init=!1,this.virtualModules=new t(c);let e={};for(let t in i)if(Object.prototype.hasOwnProperty.call(i,t)){let{file:s,pkg:l,meta:m}=o(t),n=i[t],p=n;p=s.endsWith("json")?"string"==typeof n?n:JSON.stringify(n):r(n),Object.assign(e,{[s]:p,[l]:m})}this.options=e}modify(t,o,e){let r=e||"",l=o.startsWith(i.nodeModules)?o:s(o),m=t.inputFileSystem;for(;m&&m._inputFileSystem;)m=m._inputFileSystem;let n=m?._virtualFiles?.[l];n&&n.contents===r||(this.virtualModules.writeModule(l,r),t.watching?.invalidate())}apply(t){this.virtualModules.apply(t);let o=(o,i)=>{this.modify(t,o,i)};f.on("change",o),p.on("change",o),e&&(n.on("change",o),m.on("change",o),l.on("change",o)),t.hooks.compilation.tap("VirtualModuleWebpackPlugin",()=>{if(!this.init){for(let t in this.init=!0,this.options)Object.prototype.hasOwnProperty.call(this.options,t)&&o(t,this.options[t]);for(let t of n)o(t[0],t[1]);for(let t of m)o(t[0],t[1]);for(let t of l)o(t[0],t[1])}})}}
1
+ import o from"webpack-virtual-modules";import t from"../commom/parse-module-meta.mjs";import i from"../commom/paths.mjs";import{isLibrary as e}from"../process-env.mjs";import{node_modules as s,transformModule as r}from"../utils/index.mjs";import{comment as m,docs as l}from"../vm/docs.mjs";import{examples as p}from"../vm/example.mjs";import{locales as n}from"../vm/locales.mjs";import a from"../vm/modules.mjs";import{route as f}from"../vm/routes.mjs";let c={};for(let o in a)if(Object.prototype.hasOwnProperty.call(a,o)){let{file:i,pkg:e,meta:s}=t(o);c[e]=s,c[i]=r(a[o])}export class VirtualModuleWebpackPlugin{constructor(i={}){this.options={},this.init=!1,this.virtualModules=new o(c);let e={};for(let o in i)if(Object.prototype.hasOwnProperty.call(i,o)){let{file:s,pkg:m,meta:l}=t(o),p=i[o],n=p;n=s.endsWith("json")?"string"==typeof p?p:JSON.stringify(p):r(p),Object.assign(e,{[s]:n,[m]:l})}this.options=e}modify(o,t,e){let r=t.startsWith(i.nodeModules)?t:s(t);this.virtualModules.writeModule(r,e||"")}apply(o){this.virtualModules.apply(o);let t=(t,i)=>{this.modify(o,t,i)};f.on("change",t),n.on("change",t),e&&(p.on("change",t),l.on("change",t),m.on("change",t)),o.hooks.compilation.tap("VirtualModuleWebpackPlugin",()=>{if(!this.init){for(let o in this.init=!0,this.options)Object.prototype.hasOwnProperty.call(this.options,o)&&t(o,this.options[o]);for(let o of p)t(o[0],o[1]);for(let o of l)t(o[0],o[1]);for(let o of m)t(o[0],o[1])}})}}
@@ -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,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
+ 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,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(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(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$/])}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moneko/core",
3
- "version": "3.40.1",
3
+ "version": "3.40.3",
4
4
  "description": "core",
5
5
  "main": "lib/index.mjs",
6
6
  "type": "module",
@@ -50,7 +50,7 @@
50
50
  "webpack-virtual-modules": "0.6.2"
51
51
  },
52
52
  "devDependencies": {
53
- "@moneko/css": "1.1.5",
53
+ "@moneko/css": "1.2.0",
54
54
  "@types/babel__core": "7.20.5",
55
55
  "@types/stylis": "4.2.7",
56
56
  "@types/webpack-bundle-analyzer": "4.7.0",
@@ -11,6 +11,7 @@ import type {
11
11
  ResolvePluginInstance,
12
12
  RuleSetRule,
13
13
  WebpackPluginInstance,
14
+ SourceMapDevToolPlugin
14
15
  } from 'webpack';
15
16
 
16
17
  import type {
@@ -659,22 +660,7 @@ export declare interface SharedConfig {
659
660
  version?: number;
660
661
  }
661
662
 
662
- export declare interface SourceMapDevToolPluginOptions {
663
- append?: null | string | false;
664
- columns?: boolean;
665
- exclude?: string | RegExp | Rule[];
666
- fallbackModuleFilenameTemplate?: string | typeof Function;
667
- fileContext?: string;
668
- filename?: null | string | false;
669
- include?: string | RegExp | Rule[];
670
- module?: boolean;
671
- moduleFilenameTemplate?: string | typeof Function;
672
- namespace?: string;
673
- noSources?: boolean;
674
- publicPath?: string;
675
- sourceRoot?: string;
676
- test?: string | RegExp | Rule[];
677
- }
663
+ export type SourceMapDevToolPluginOptions = ConstructorParameters<typeof SourceMapDevToolPlugin>[0];
678
664
 
679
665
  export type MemberTransformer =
680
666
  /** 帕斯卡拼写法(大驼峰): 所有单词的首字母大写,然后直接连接起来,单词之间没有连接符 */
@@ -1,22 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIDvDCCAqSgAwIBAgIFNTA1NTcwDQYJKoZIhvcNAQELBQAwgYwxLDAqBgNVBAMT
3
- I0xvY2FsIERldmVsb3BtZW50IENBIC0gRE8gTk9UIFRSVVNUMQswCQYDVQQGEwJD
4
- TjEOMAwGA1UECBMFSHVuYW4xETAPBgNVBAcTCENoYW5nc2hhMSwwKgYDVQQKEyNM
5
- b2NhbCBEZXZlbG9wbWVudCBDQSAtIERPIE5PVCBUUlVTVDAeFw0yNTA0MTAwNzQ5
6
- MzdaFw0yNjA0MTAwNzQ5MzdaMIGMMSwwKgYDVQQDEyNMb2NhbCBEZXZlbG9wbWVu
7
- dCBDQSAtIERPIE5PVCBUUlVTVDELMAkGA1UEBhMCQ04xDjAMBgNVBAgTBUh1bmFu
8
- MREwDwYDVQQHEwhDaGFuZ3NoYTEsMCoGA1UEChMjTG9jYWwgRGV2ZWxvcG1lbnQg
9
- Q0EgLSBETyBOT1QgVFJVU1QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
10
- AQC8JyVLUKEaZ4Hcm0xXAFLMqLZxq78Kl/B0YlI11HfPWo8afatul+x+jrQRhTwX
11
- gX2m/aubVKV/G86YYniGdVivcfGgIGHEZurvE1iQmvSD8LZ0sxrUURYfQ7Wtsy84
12
- 2WzYmPqCyoQQttG9oRD9HCgIZ3kzmADIsNCca1zIwUSKmZzld2s5eXunxDWWCh6z
13
- rNNC0BHVdEUzK/v5qLb1AFcdstzoGFVe+VDKkpYydJXeVKA9nnqy+M5JYp2T4U5A
14
- HCRys4S4Sl7gEUsE6TAhbd69ysXBG1d7pZci7AW0m21Tm8sbPFHqodLJ1TF1zokR
15
- kIjUpswUeT2qx+ZOJD4g8X6JAgMBAAGjIzAhMA8GA1UdEwEB/wQFMAMBAf8wDgYD
16
- VR0PAQH/BAQDAgIEMA0GCSqGSIb3DQEBCwUAA4IBAQAgPtkx+1dOVv9dqet9Ovip
17
- ydP/pzddJejyUfPtwkGfbQ+R9W3NYNwDkstPQT+qJ99WBEauut0lPjxX3GKy/YyJ
18
- uPgF3rFTB5S3Y99I/5Ka+vs8FEQwLxKIk4Y2NwG6TDp/agGKiA+AnvMbesf+H0ID
19
- fKAMkZ44hNQnU9AljW1qmNSnaZPxMczLqL4qwlc8R8idN9UFnxZv11rkDPesKodI
20
- uDbQW6RO9jL2JeecpbtVJYLqNNF8XOYHtaiaPWVX8rd3GWWoAUikJdgjZn1drGHh
21
- SxokprNN0FL6rybVQirhQWNq16JD6JZsvLIF53XYIsiYcKnQjXnp08vt0xCQDxoS
22
- -----END CERTIFICATE-----
@@ -1,27 +0,0 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- MIIEowIBAAKCAQEAvCclS1ChGmeB3JtMVwBSzKi2cau/CpfwdGJSNdR3z1qPGn2r
3
- bpfsfo60EYU8F4F9pv2rm1SlfxvOmGJ4hnVYr3HxoCBhxGbq7xNYkJr0g/C2dLMa
4
- 1FEWH0O1rbMvONls2Jj6gsqEELbRvaEQ/RwoCGd5M5gAyLDQnGtcyMFEipmc5Xdr
5
- OXl7p8Q1lgoes6zTQtAR1XRFMyv7+ai29QBXHbLc6BhVXvlQypKWMnSV3lSgPZ56
6
- svjOSWKdk+FOQBwkcrOEuEpe4BFLBOkwIW3evcrFwRtXe6WXIuwFtJttU5vLGzxR
7
- 6qHSydUxdc6JEZCI1KbMFHk9qsfmTiQ+IPF+iQIDAQABAoIBABz5Ojj61ZQnVEwQ
8
- bhUHq7hwUof2lpifBRwm99nqOfjoTRkbOQbyxixG9VutVK+Z9St97KsiwcltEsdM
9
- gprR/zIlLbwmwGdqIctnA0BhXD3lF3OpEPyY7/sohhWVfjQW5zgDdrAlV2jrfijh
10
- YKhZaaDBrlxPj+9XqwgrUEJp4JAnC9GQOdboevJUXtqtxlz96jqIXFMRXedhxcQC
11
- dYLuQ2kWZ9Qzjn35dMWs0fvQu17jggujctSFI1nbFxtEPeha+ShTph6d1KnGMFUz
12
- xuxdGiNmkveKYr7sKhKO7fWAwOeiKkMap2nI1BjhAStyiolygcxPBpeVa4+wjY/d
13
- R5wRunECgYEA6jwl4WX0ViterNelMSDcTEsc68ga0xo0AtjThh2iUWExL879/gu+
14
- 18fJKgwVe1UW1Zp6SW50RWb0LYt2GaAL+7pmn5bOo7jCrWMh1xkGJV0YAKwzpTpR
15
- urBiL76WSQImOCOd2WVb76tsFi7BchLpkULfaMgcbAquA4nak88UMc8CgYEAzaLS
16
- 0mWSsiYQ4Y0QyS2lOIXJ5/gZmT6e9ToxlpOx4DXQfg2NIgQv87S3+pe9/thp5+Gb
17
- WlzE3iRSnIRTbsAarFb5OX5TkY/yvDBWG6RbygFnN/1UnQP3zkZGCwRcCZ9ovcEB
18
- vh2RbpeInFTboBOHIC+jzQ/JaOJBHyD0wE3FmCcCgYBOyYSEWGLjSRtDUBXEfKUd
19
- FHbZ6Cj9sOalvoEHr5gVf3en+Rv+A71hn1XOytm+7lQL7TYM1RZO8d5YI3zKCcd+
20
- GKjELVm8QD1bTOjpDQXAM5wLPeDxRriO7x1XqeerDwoEABbsNOfDqgllPLzcvffK
21
- YI/9ErJctQrrLcdTyGemiQKBgHgcixfpzG3SXjngs9VOnBsPyod8GzevpBmJDD3v
22
- tw5HYKjAMZeU6o1nGa99wrSApBuVY7C8TyGSBc72W+VswCe6BYjXiOiVNCtH8IPk
23
- 1NiBSVEi37F3B9+snG0C9t+IBR4RBnuNucznJhxqVH6D6YGbUgoNFo/02CTekxdg
24
- VfIxAoGBAOUxvprqF3YBl1k3Zz6VV8kXapx3t1YCTup9Ef9ahClSE0sqjyqq7lM7
25
- ZkmCVJIfVgZaLvVT7tlOsLeima2VNC7xfxdRB4i/qQfNILhr9F/s/epQQvJkZ0CS
26
- ryB7kc0RBMJZ2bD8ozcihstdxglpd4eTt+0DQzWfTGGWhmq4LNuq
27
- -----END RSA PRIVATE KEY-----