@moneko/core 3.54.0-beta.2 → 3.54.0-beta.4

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.
Files changed (164) hide show
  1. package/lib/bin/build.mjs +1 -1
  2. package/lib/bin/changelog.mjs +2 -2
  3. package/lib/bin/commit-lint.mjs +1 -1
  4. package/lib/bin/pure-lint.mjs +1 -1
  5. package/lib/bin/start.mjs +1 -1
  6. package/lib/build.mjs +2 -2
  7. package/lib/commom/ca.mjs +1 -1
  8. package/lib/commom/diff-object.mjs +1 -1
  9. package/lib/commom/transform-solid-js.mjs +1 -1
  10. package/lib/dev/mock.mjs +1 -1
  11. package/lib/dev/server.mjs +1 -1
  12. package/lib/dev.mjs +2 -2
  13. package/lib/loader/css-in-js-minify.cjs +1 -1
  14. package/lib/loader/lightning-css/codegen.cjs +13 -13
  15. package/lib/loader/lightning-css/loader.cjs +1 -1
  16. package/lib/loader/lightning-css/runtime/get-url.cjs +1 -1
  17. package/lib/loader/lightning-css/utils.cjs +1 -1
  18. package/lib/loader/solid.cjs +1 -1
  19. package/lib/loader/ts-doc.cjs +1 -1
  20. package/lib/module.config.mjs +1 -1
  21. package/lib/options/md-to-html.mjs +1 -1
  22. package/lib/plugin/compression.mjs +1 -1
  23. package/lib/plugin/copy.mjs +1 -1
  24. package/lib/plugin/lightningcss-plugin.mjs +1 -1
  25. package/lib/plugin/swc-minify-plugin.mjs +1 -1
  26. package/lib/utils/create-types.mjs +1 -1
  27. package/lib/utils/fetch-module-federation-dts.mjs +1 -1
  28. package/lib/vm/docs.mjs +1 -1
  29. package/lib/vm/generate-doc.mjs +1 -1
  30. package/lib/worker/eslint.mjs +1 -1
  31. package/lib/worker/react-compiler.mjs +1 -1
  32. package/package.json +4 -4
  33. package/typings/global.d.ts +1 -1
  34. package/lib/bin/build-app.d.mts +0 -11
  35. package/lib/bin/build.d.mts +0 -13
  36. package/lib/bin/changelog.d.mts +0 -12
  37. package/lib/bin/commit-lint.d.mts +0 -43
  38. package/lib/bin/eslint.d.mts +0 -6
  39. package/lib/bin/file.d.mts +0 -4
  40. package/lib/bin/git-hooks.d.mts +0 -5
  41. package/lib/bin/help.d.mts +0 -85
  42. package/lib/bin/index.d.mts +0 -6
  43. package/lib/bin/lessc.d.mts +0 -10
  44. package/lib/bin/pin.d.mts +0 -39
  45. package/lib/bin/pure-lint.d.mts +0 -32
  46. package/lib/bin/server.d.mts +0 -14
  47. package/lib/bin/setup.d.mts +0 -5
  48. package/lib/bin/start.d.mts +0 -5
  49. package/lib/bin/stylelint.d.mts +0 -7
  50. package/lib/bin/tsc.d.mts +0 -6
  51. package/lib/bin/utils/bundle-app.d.mts +0 -7
  52. package/lib/bin/utils/config.d.mts +0 -13
  53. package/lib/bin/utils/convert-solid.d.mts +0 -31
  54. package/lib/bin/utils/convert-solid.mjs +0 -1
  55. package/lib/bin/utils/get-commit-files.d.mts +0 -3
  56. package/lib/bin/utils/setup-swcrc.d.mts +0 -4
  57. package/lib/build/common.d.mts +0 -12
  58. package/lib/build/server.d.mts +0 -8
  59. package/lib/build.d.mts +0 -16
  60. package/lib/commom/ca.d.mts +0 -17
  61. package/lib/commom/check-npm.d.mts +0 -4
  62. package/lib/commom/corepack.d.mts +0 -12
  63. package/lib/commom/diff-object.d.mts +0 -2
  64. package/lib/commom/esm.d.mts +0 -2
  65. package/lib/commom/has-pkg.d.mts +0 -3
  66. package/lib/commom/host.d.mts +0 -3
  67. package/lib/commom/is-ci-environment.d.mts +0 -3
  68. package/lib/commom/log.d.mts +0 -7
  69. package/lib/commom/match-path.d.mts +0 -6
  70. package/lib/commom/mime.d.mts +0 -2
  71. package/lib/commom/module-resolve.d.mts +0 -3
  72. package/lib/commom/net.d.mts +0 -4
  73. package/lib/commom/open.d.mts +0 -5
  74. package/lib/commom/parse-args.d.mts +0 -2
  75. package/lib/commom/parse-module-meta.d.mts +0 -11
  76. package/lib/commom/paths.d.mts +0 -36
  77. package/lib/commom/print-log.d.mts +0 -16
  78. package/lib/commom/reactive-object.d.mts +0 -10
  79. package/lib/commom/require.d.mts +0 -8
  80. package/lib/commom/rule.d.mts +0 -20
  81. package/lib/commom/setup-env.d.mts +0 -4
  82. package/lib/commom/sigint-exit.d.mts +0 -3
  83. package/lib/commom/timer.d.mts +0 -12
  84. package/lib/commom/transform-solid-js.d.mts +0 -41
  85. package/lib/common.d.mts +0 -16
  86. package/lib/config.d.mts +0 -28
  87. package/lib/dev/config.d.mts +0 -14
  88. package/lib/dev/generate-progress-html.d.mts +0 -6
  89. package/lib/dev/get-cert.d.mts +0 -10
  90. package/lib/dev/json-schema.d.mts +0 -72
  91. package/lib/dev/mock.d.mts +0 -61
  92. package/lib/dev/proxy.d.mts +0 -19
  93. package/lib/dev/server.d.mts +0 -34
  94. package/lib/dev.d.mts +0 -48
  95. package/lib/file-system.d.mts +0 -2
  96. package/lib/index.d.mts +0 -24
  97. package/lib/lint/eslint/base.d.mts +0 -2
  98. package/lib/lint/eslint/index.d.mts +0 -2
  99. package/lib/lint/eslint/react.d.mts +0 -2
  100. package/lib/lint/eslint/solid.d.mts +0 -2
  101. package/lib/lint/eslint/vue.d.mts +0 -2
  102. package/lib/lint/stylelint/config.d.mts +0 -2
  103. package/lib/lint/stylelint/index.d.mts +0 -1
  104. package/lib/loader/css-in-js-minify.d.cts +0 -22
  105. package/lib/loader/lightning-css/codegen.d.cts +0 -36
  106. package/lib/loader/lightning-css/loader.d.cts +0 -49
  107. package/lib/loader/lightning-css/runtime/api.d.cts +0 -3
  108. package/lib/loader/lightning-css/runtime/get-url.d.cts +0 -9
  109. package/lib/loader/lightning-css/utils.d.cts +0 -26
  110. package/lib/loader/mdx.d.cts +0 -4
  111. package/lib/loader/react-compiler.d.cts +0 -21
  112. package/lib/loader/solid.d.cts +0 -9
  113. package/lib/loader/ts-doc.d.cts +0 -11
  114. package/lib/module.config.d.mts +0 -49
  115. package/lib/options/css-extract.d.mts +0 -9
  116. package/lib/options/jsx-dom-expressions.d.mts +0 -10
  117. package/lib/options/md-to-html.d.mts +0 -5
  118. package/lib/options/modify-vars.d.mts +0 -11
  119. package/lib/options/reslove.d.mts +0 -11
  120. package/lib/options/split-chunk.d.mts +0 -6
  121. package/lib/options/swcrc.d.mts +0 -21
  122. package/lib/plugin/compression.d.mts +0 -17
  123. package/lib/plugin/copy.d.mts +0 -21
  124. package/lib/plugin/done.d.mts +0 -11
  125. package/lib/plugin/eslint.d.mts +0 -22
  126. package/lib/plugin/exposes-declararion.d.mts +0 -20
  127. package/lib/plugin/external-remotes.d.mts +0 -8
  128. package/lib/plugin/html-plugin.d.mts +0 -48
  129. package/lib/plugin/lightningcss-plugin.d.mts +0 -31
  130. package/lib/plugin/manifest.d.mts +0 -43
  131. package/lib/plugin/module-federation.d.mts +0 -21
  132. package/lib/plugin/override-resolve.d.mts +0 -14
  133. package/lib/plugin/stylelint.d.mts +0 -21
  134. package/lib/plugin/swc-minify-plugin.d.mts +0 -13
  135. package/lib/plugin/virtual-module.d.mts +0 -24
  136. package/lib/plugins.config.d.mts +0 -12
  137. package/lib/polyfills/polyfills.d.mts +0 -7
  138. package/lib/polyfills/replace-children.d.mts +0 -1
  139. package/lib/polyfills/targets.d.mts +0 -8
  140. package/lib/process-env.d.mts +0 -26
  141. package/lib/utils/compile-dts.d.mts +0 -9
  142. package/lib/utils/create-types.d.mts +0 -15
  143. package/lib/utils/dts.d.mts +0 -5
  144. package/lib/utils/fetch-module-federation-dts.d.mts +0 -6
  145. package/lib/utils/index.d.mts +0 -12
  146. package/lib/utils/run.d.mts +0 -3
  147. package/lib/utils/seo.d.mts +0 -10
  148. package/lib/utils/svg-to-data-uri.d.mts +0 -59
  149. package/lib/utils/vts.d.mts +0 -10
  150. package/lib/vm/coverage.d.mts +0 -39
  151. package/lib/vm/docs.d.mts +0 -18
  152. package/lib/vm/example.d.mts +0 -12
  153. package/lib/vm/generate-doc.d.mts +0 -35
  154. package/lib/vm/info.d.mts +0 -5
  155. package/lib/vm/locales.d.mts +0 -29
  156. package/lib/vm/modules.d.mts +0 -27
  157. package/lib/vm/render-app.d.mts +0 -11
  158. package/lib/vm/routes.d.mts +0 -17
  159. package/lib/vm/utils.d.mts +0 -5
  160. package/lib/worker/dts.d.mts +0 -2
  161. package/lib/worker/eslint.d.mts +0 -7
  162. package/lib/worker/react-compiler.d.mts +0 -20
  163. package/lib/worker/stylelint.d.mts +0 -5
  164. package/lib/worker/swc-minify.d.mts +0 -2
package/lib/bin/build.mjs CHANGED
@@ -1 +1 @@
1
- import{join as o}from"node:path";import{argv as t,exit as e}from"node:process";import{convert as s}from"@moneko/convert";import{ink as i,println as r,removeDir as m}from"@moneko/utils";import n from"../commom/setup-env.mjs";import{cwd as p,swcCachePath as l}from"./utils/config.mjs";import{convertSolid as c}from"./utils/convert-solid.mjs";import{getSwcOption as d}from"./utils/setup-swcrc.mjs";import{lesscCommonjs as j}from"./lessc.mjs";import a from"./tsc.mjs";async function u(){let u=t[3],f=t[4],x=t.slice(5);u||(r(i(`type: 无效值 ${i(u,"245")}`,"red")),e(1));let y=!x.includes("no-docs"),_=!x.includes("no-lib"),g=!x.includes("no-es"),D=!x.includes("no-dts"),$=x.filter(o=>!["no-docs","no-es","no-lib"].includes(o));if(await n("production",u,f,$),"library"===u){let{CONFIG:t}=await import("../config.mjs"),e="swc"===t.dts,i=[_&&{type:"commonjs",dir:"lib",msg:"Convert to CommonJS"},g&&{type:"es6",dir:"es",msg:"Convert to ES Module"}].filter(Boolean);for(let r=0,n=i.length;r<n;r++){if(m(o(p,`./${i[r].dir}`)),"react"===f){let o=d();"es6"===i[r].type&&(o.jsc.target="es2015"),o.jsc.experimental.emitIsolatedDts=D&&e,o.jsc.experimental.cacheRoot=l,o.module.type=i[r].type,s({outDir:i[r].dir,inputDir:"components",ignore:[/^.*\/__*__\//,/\.test\.(js|ts)x?$/,/\.DS_Store/,/\.mdx?$/,/^.*\/examples\//,/\.d\.(cj|mj|j|t|ct|mt)sx?$/],options:o})}else if("solid"===f){let o={jsxOptions:t.jsxDomExpressions,presetEnvOption:{modules:"commonjs"}};"es6"===i[r].type&&(o.presetEnvOption.modules=!1),c({outDir:i[r].dir,inputDir:"components",ignore:[/^.*\/__*__\//,/\.test\.(js|ts)x?$/,/\.DS_Store/,/\.mdx?$/,/^.*\/examples\//,/\.d\.(cj|mj|j|t|ct|mt)sx?$/],options:o})}"commonjs"===i[r].type&&j(),D&&!e&&a(i[r].dir)}}if("library"!==u||y&&"library"===u)try{await import("../build.mjs")}catch(o){r(i(Error(o).message,"red")),e(1)}}export default u;
1
+ import{join as o}from"node:path";import{argv as t,exit as e}from"node:process";import{convert as s}from"@moneko/convert";import{convertSolid as r}from"@moneko/convert/solid";import{ink as i,println as m,removeDir as n}from"@moneko/utils";import p from"../commom/setup-env.mjs";import{cwd as l,swcCachePath as c}from"./utils/config.mjs";import{getSwcOption as d}from"./utils/setup-swcrc.mjs";import{lesscCommonjs as a}from"./lessc.mjs";import j from"./tsc.mjs";async function u(){let u=t[3],f=t[4],x=t.slice(5);u||(m(i(`type: 无效值 ${i(u,"245")}`,"red")),e(1));let y=!x.includes("no-docs"),_=!x.includes("no-lib"),g=!x.includes("no-es"),D=!x.includes("no-dts"),$=x.filter(o=>!["no-docs","no-es","no-lib"].includes(o));if(await p("production",u,f,$),"library"===u){let{CONFIG:t}=await import("../config.mjs"),e="swc"===t.dts,i=[_&&{type:"commonjs",dir:"lib",msg:"Convert to CommonJS"},g&&{type:"es6",dir:"es",msg:"Convert to ES Module"}].filter(Boolean);for(let m=0,p=i.length;m<p;m++){if(n(o(l,`./${i[m].dir}`)),"react"===f){let o=d();"es6"===i[m].type&&(o.jsc.target="es2015"),o.jsc.experimental.emitIsolatedDts=D&&e,o.jsc.experimental.cacheRoot=c,o.module.type=i[m].type,s({outDir:i[m].dir,inputDir:"components",ignore:[/^.*\/__*__\//,/\.test\.(js|ts)x?$/,/\.DS_Store/,/\.mdx?$/,/^.*\/examples\//,/\.d\.(cj|mj|j|t|ct|mt)sx?$/],options:o})}else if("solid"===f){let o={jsxOptions:t.jsxDomExpressions,presetEnvOption:{modules:"commonjs"}};"es6"===i[m].type&&(o.presetEnvOption.modules=!1),r({outDir:i[m].dir,inputDir:"components",ignore:[/^.*\/__*__\//,/\.test\.(js|ts)x?$/,/\.DS_Store/,/\.mdx?$/,/^.*\/examples\//,/\.d\.(cj|mj|j|t|ct|mt)sx?$/],options:o})}"commonjs"===i[m].type&&a(),D&&!e&&j(i[m].dir)}}if("library"!==u||y&&"library"===u)try{await import("../build.mjs")}catch(o){m(i(Error(o).message,"red")),e(1)}}export default u;
@@ -1,4 +1,4 @@
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 l(e,o){return function(t){let e=[];for(let o of t.trim().split("\n")){let[t,r,s,i,l]=o.split("|");if(l){let o=l.split(": "),a=n[o[0]];e.push({commitId:t,author:r,email:s,date:new Date(i).toLocaleString().replace(/\//g,"-"),message:a?o.slice(1).join(":"):l,type:a})}}return e}(t(`git log ${e?`${e}..`:""}${o||""} --format="%H|%an|%ae|%ad|%s"`,{encoding:"utf-8"}))}export default function a(){let n=o[3],a=["# Change log"];try{let e=t('git config --get remote.origin.url | sed "s/\\.git$//"').toString().trim().replace(/^git@([^:]+):(.+)$/,"https://$1/$2"),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,l]=t.split(" "),a=s[o-1]?.split(" ")[1],c=`## ${n}`;a&&(c=`## [${n}](${e}/compare/${a}...${n}) (${new Date(l).toLocaleDateString().replace(/\//g,"-")})`),r.push({commitId:i,tag:n,date:l,title:c,logs:{}})}),r}(e);o.forEach((t,r)=>{if(r&&l(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=l(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 a.push(`
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 l={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 n(e,o){var r=t(`git log ${e?`${e}..`:""}${o||""} --format="%H|%an|%ae|%ad|%s"`,{encoding:"utf-8"});let s=[];for(let t of r.trim().split("\n")){let[e,o,r,i,n]=t.split("|");if(n){let t=n.split(": "),a=l[t[0]];s.push({commitId:e,author:o,email:r,date:new Date(i).toLocaleString().replace(/\//g,"-"),message:a?t.slice(1).join(":"):n,type:a})}}return s}export default function a(){let l=o[3],a=["# Change log"];try{let e=t('git config --get remote.origin.url | sed "s/\\.git$//"').toString().trim().replace(/^git@([^:]+):(.+)$/,"https://$1/$2"),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,l,n]=t.split(" "),a=s[o-1]?.split(" ")[1],m=`## ${l}`;a&&(m=`## [${l}](${e}/compare/${a}...${l}) (${new Date(n).toLocaleDateString().replace(/\//g,"-")})`),r.push({commitId:i,tag:l,date:n,title:m,logs:{}})}),r}(e);o.forEach((t,r)=>{if(r&&n(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=n(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 a.push(`
2
2
  ${t.title}`),t.logs)Object.prototype.hasOwnProperty.call(t.logs,e)&&(a.push(`
3
3
  ### ${e}
4
- `),t.logs[e].forEach(t=>a.push(t)))})}catch(t){a.push("\n当前分支尚无任何提交\n"),s(t)}r(e(i,n),a.join("\n"))}
4
+ `),t.logs[e].forEach(t=>a.push(t)))})}catch(t){a.push("\n当前分支尚无任何提交\n"),s(t)}r(e(i,l),a.join("\n"))}
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{join as e}from"node:path";import{argv as t}from"node:process";import{loadFileSync as a,println as r}from"@moneko/utils";import s from"../commom/log.mjs";import n from"../commom/paths.mjs";let l={DISABLED:0,WARNING:1,ERROR:2},o={ALWAYS:"always",NEVER:"never"};function i(e){return/^[A-Z][a-z\d\s]*$/.test(e)}function c(e){return/^([A-Z][a-z\d]*\s*)+$/.test(e)}function m(e){return/^([A-Z][a-z\d]*)+$/.test(e)}function p(e){return e===e.toUpperCase()}!function(){let b=t[2]||e(n.programPath,".git","COMMIT_EDITMSG");b||(s("Commit message file path is required."),process.exit(1));let u=a(b);null===u&&(s("Commit message cannot be empty"),process.exit(1));let h=function(e,t){let a=function(e){let t=e.trim().split("\n"),a=t[0]||"",r=a.match(/^([a-zA-Z]+)(?:\([a-zA-Z0-9-]+\))?:\s*(.+)$/),s=r?r[1]:"",n=r?r[2]:a,l=1;for(;l<t.length&&""===t[l].trim();)l++;let o=t.length;for(let e=l,a=/^(BREAKING CHANGE|[A-Za-z-]+(?:\([A-Za-z-]+\))?:)/,r=t.length;e<r;e++)if(a.test(t[e])){o=e;break}return{header:a,type:s,subject:n,body:t.slice(l,o).join("\n"),footer:t.slice(o).join("\n"),raw:e,lines:t}}(e),r={valid:!0,errors:[],warnings:[]};return Object.entries(t).forEach(([e,t])=>{let[s,n,...b]=t;if(s===l.DISABLED)return;let u=!0,h="";switch(e){case"body-leading-blank":u=!a.body||a.lines.length>1&&""===a.lines[1].trim(),h="body must have leading blank line";break;case"body-max-line-length":{let e=b[0]||100;u=a.body.split("\n").every(t=>t.length<=e),h=`body's lines must not be longer than ${e} characters`;break}case"footer-leading-blank":u=!a.footer||""===a.lines[a.lines.length-a.footer.split("\n").length-1].trim(),h="footer must have leading blank line";break;case"footer-max-line-length":{let e=b[0]||100;u=a.footer.split("\n").every(t=>t.length<=e),h=`footer's lines must not be longer than ${e} characters`;break}case"header-max-length":{let e=b[0]||100;u=a.header.length<=e,h=`header must not be longer than ${e} characters`;break}case"header-trim":u=a.header.trim()===a.header,h="header must not have leading or trailing whitespace";break;case"subject-case":{let e=b[0]||[],t=a.subject.trim(),r={"sentence-case":i,"start-case":c,"pascal-case":m,"upper-case":p};u=!e.some(e=>r[e]&&r[e](t)),h=`subject must not be in ${e.join(", ")}`;break}case"subject-empty":u=""!==a.subject.trim(),h="subject cannot be empty";break;case"subject-full-stop":{let e=b[0]||".";u=!a.subject.trim().endsWith(e),h=`subject must not end with ${e}`;break}case"type-case":"lower-case"==(n===o.ALWAYS?"lower-case":"upper-case")?(u=a.type===a.type.toLowerCase(),h="type must be lower-case"):(u=a.type===a.type.toUpperCase(),h="type must be upper-case");break;case"type-empty":u=""!==a.type,h="type cannot be empty";break;case"type-enum":{let e=b[0]||[];u=e.includes(a.type.toLowerCase()),h=`type must be one of [${e.join(", ")}]`}}if(n===o.NEVER&&(u=!0),!u){let t={level:s,message:h,name:e};s===l.ERROR?(r.errors.push(t),r.valid=!1):s===l.WARNING&&r.warnings.push(t)}}),r}(u,{"body-leading-blank":[1,"always"],"body-max-line-length":[2,"always",200],"footer-leading-blank":[1,"always"],"footer-max-line-length":[2,"always",100],"header-max-length":[2,"always",100],"header-trim":[2,"always"],"subject-case":[2,"never",["sentence-case","start-case","pascal-case","upper-case"]],"subject-empty":[2,"never"],"subject-full-stop":[2,"never","."],"type-case":[2,"always","lower-case"],"type-empty":[2,"never"],"type-enum":[2,"always",["build","chore","ci","docs","feat","fix","perf","refactor","revert","style","test"]]});(function(e){let t=[" ","⚠","✖"],a={green:"\x1b[32m",yellow:"\x1b[33m",red:"\x1b[31m",gray:"\x1b[90m",reset:"\x1b[0m",bold:"\x1b[1m"},{errors:r=[],warnings:s=[]}=e,n=[...r,...s].map(e=>{let r=a[2===e.level?"red":"yellow"]+t[e.level]+a.reset;return`${r} ${e.message} ${a.gray}[${e.name}]${a.reset}`}),l=r.length>0?"✖":s.length?"⚠":"✔",o=r.length>0?a.red:s.length?a.yellow:a.green,i=n.length>0;return[...n,i?"":null,`${o}${l}${a.reset} ${a.gray}${a.bold}found ${r.length} problems, ${s.length} warnings${a.reset}`,i?"":null].filter(e=>null!==e)})(h).forEach(e=>{r(e)}),process.exit(h.valid?0:1)}();
2
+ import{join as e}from"node:path";import{argv as t}from"node:process";import{loadFileSync as a,println as r}from"@moneko/utils";import s from"../commom/log.mjs";import n from"../commom/paths.mjs";function l(e){return/^[A-Z][a-z\d\s]*$/.test(e)}function o(e){return/^([A-Z][a-z\d]*\s*)+$/.test(e)}function i(e){return/^([A-Z][a-z\d]*)+$/.test(e)}function c(e){return e===e.toUpperCase()}let m=t[2]||e(n.programPath,".git","COMMIT_EDITMSG");m||(s("Commit message file path is required."),process.exit(1));let p=a(m);null===p&&(s("Commit message cannot be empty"),process.exit(1));let b=function(e,t){let a=function(e){let t=e.trim().split("\n"),a=t[0]||"",r=a.match(/^([a-zA-Z]+)(?:\([a-zA-Z0-9-]+\))?:\s*(.+)$/),s=r?r[1]:"",n=r?r[2]:a,l=1;for(;l<t.length&&""===t[l].trim();)l++;let o=t.length;for(let e=l,a=/^(BREAKING CHANGE|[A-Za-z-]+(?:\([A-Za-z-]+\))?:)/,r=t.length;e<r;e++)if(a.test(t[e])){o=e;break}return{header:a,type:s,subject:n,body:t.slice(l,o).join("\n"),footer:t.slice(o).join("\n"),raw:e,lines:t}}(e),r={valid:!0,errors:[],warnings:[]};return Object.entries(t).forEach(([e,t])=>{let[s,n,...m]=t;if(0===s)return;let p=!0,b="";switch(e){case"body-leading-blank":p=!a.body||a.lines.length>1&&""===a.lines[1].trim(),b="body must have leading blank line";break;case"body-max-line-length":{let e=m[0]||100;p=a.body.split("\n").every(t=>t.length<=e),b=`body's lines must not be longer than ${e} characters`;break}case"footer-leading-blank":p=!a.footer||""===a.lines[a.lines.length-a.footer.split("\n").length-1].trim(),b="footer must have leading blank line";break;case"footer-max-line-length":{let e=m[0]||100;p=a.footer.split("\n").every(t=>t.length<=e),b=`footer's lines must not be longer than ${e} characters`;break}case"header-max-length":{let e=m[0]||100;p=a.header.length<=e,b=`header must not be longer than ${e} characters`;break}case"header-trim":p=a.header.trim()===a.header,b="header must not have leading or trailing whitespace";break;case"subject-case":{let e=m[0]||[],t=a.subject.trim(),r={"sentence-case":l,"start-case":o,"pascal-case":i,"upper-case":c};p=!e.some(e=>r[e]&&r[e](t)),b=`subject must not be in ${e.join(", ")}`;break}case"subject-empty":p=""!==a.subject.trim(),b="subject cannot be empty";break;case"subject-full-stop":{let e=m[0]||".";p=!a.subject.trim().endsWith(e),b=`subject must not end with ${e}`;break}case"type-case":"lower-case"==("always"===n?"lower-case":"upper-case")?(p=a.type===a.type.toLowerCase(),b="type must be lower-case"):(p=a.type===a.type.toUpperCase(),b="type must be upper-case");break;case"type-empty":p=""!==a.type,b="type cannot be empty";break;case"type-enum":{let e=m[0]||[];p=e.includes(a.type.toLowerCase()),b=`type must be one of [${e.join(", ")}]`}}if("never"===n&&(p=!0),!p){let t={level:s,message:b,name:e};2===s?(r.errors.push(t),r.valid=!1):1===s&&r.warnings.push(t)}}),r}(p,{"body-leading-blank":[1,"always"],"body-max-line-length":[2,"always",200],"footer-leading-blank":[1,"always"],"footer-max-line-length":[2,"always",100],"header-max-length":[2,"always",100],"header-trim":[2,"always"],"subject-case":[2,"never",["sentence-case","start-case","pascal-case","upper-case"]],"subject-empty":[2,"never"],"subject-full-stop":[2,"never","."],"type-case":[2,"always","lower-case"],"type-empty":[2,"never"],"type-enum":[2,"always",["build","chore","ci","docs","feat","fix","perf","refactor","revert","style","test"]]});(function(e){let t=[" ","⚠","✖"],a={green:"\x1b[32m",yellow:"\x1b[33m",red:"\x1b[31m",gray:"\x1b[90m",reset:"\x1b[0m",bold:"\x1b[1m"},{errors:r=[],warnings:s=[]}=e,n=[...r,...s].map(e=>{let r=a[2===e.level?"red":"yellow"]+t[e.level]+a.reset;return`${r} ${e.message} ${a.gray}[${e.name}]${a.reset}`}),l=r.length>0?"✖":s.length?"⚠":"✔",o=r.length>0?a.red:s.length?a.yellow:a.green,i=n.length>0;return[...n,i?"":null,`${o}${l}${a.reset} ${a.gray}${a.bold}found ${r.length} problems, ${s.length} warnings${a.reset}`,i?"":null].filter(e=>null!==e)})(b).forEach(e=>{r(e)}),process.exit(+!b.valid);
@@ -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 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=ACM"]},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()]);
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 d from"../commom/log.mjs";import f from"../commom/parse-args.mjs";import p from"../commom/timer.mjs";let y=f(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=ACM"]},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)return void p.end("ESLint");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){d(t)}}let v=j.filter(t=>E.test(t)||$.test(t));async function k(){let t=m("Stylelint","cyan");if(s(`${t}: ${m("runing...","yellow")}`,!0),p.start("Stylelint"),0===v.length)return void p.end("Stylelint");let e=await Promise.all(v.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(d)})),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(),k()]);
package/lib/bin/start.mjs CHANGED
@@ -1 +1 @@
1
- import{argv as e,exit as o}from"node:process";import{ink as t,println as r}from"@moneko/utils";import m from"../commom/setup-env.mjs";async function i(){let i=e[3],s=e[4],p=e.slice(5);i||(r(t(`type: 无效值 ${t(i,"245")}`,"red")),o(1));let n=p.indexOf("no-verify");-1!==n&&p.splice(n,1),await m("development",i,s,p);try{await import("../dev.mjs")}catch(e){r(t(Error(e).message,"red")),o(1)}}export default i;
1
+ import{argv as e,exit as o}from"node:process";import{ink as r,println as t}from"@moneko/utils";import m from"../commom/setup-env.mjs";async function i(){let i=e[3],s=e[4],p=e.slice(5);i||(t(r(`type: 无效值 ${r(i,"245")}`,"red")),o(1));let n=p.indexOf("no-verify");-1!==n&&p.splice(n,1),await m("development",i,s,p);try{await import("../dev.mjs")}catch(e){t(r(Error(e).message,"red")),o(1)}}export default i;
package/lib/build.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{relative as o}from"node:path";import r from"node:process";import{analyzeBundleSize as m,completedInfo as t,ink as i,println as e,progressBar as n}from"@moneko/utils";import s from"webpack";import{merge as a}from"webpack-merge";import p from"./build/common.mjs";import l from"./commom/paths.mjs";import{DonePlugin as u}from"./plugin/done.mjs";import{empty as g}from"./utils/index.mjs";import c from"./utils/seo.mjs";import{CONFIG as f}from"./config.mjs";import d from"./module.config.mjs";let h=a(p,{module:d(!1),plugins:[]});if(f.done&&h.plugins.push(new u({done:f.done})),f.bar){let o=f.bar,m=o.name||"Build";h.plugins.push(new s.ProgressPlugin({handler(t,i,...e){let s=e.length?`[${i}] ${e.join(" ")}`:" ";o.quiet?r.stdout.write(`${s}
2
- `):(n(t||0,1,{msg:s,name:m,barColor:o.barColor,nameColor:o.nameColor,barBgColor:o.barBgColor,msgColor:o.msgColor}),1===t&&r.stdout.write("\r\x1b[2K"))}}))}let w=s(h);async function b(){let r=await new Promise((o,r)=>{w.run((m,t)=>{m&&r(m),t?o(t):r(Error("编译过程中没有生成统计信息"))})});(r.hasErrors()||r.hasWarnings())&&function(o){let{warnings:r,errors:m}=o.compilation;r.forEach(o=>{e(i(o.message,"178"))}),m.forEach(o=>{e(i(o.message,"red"))})}(r),await new Promise(n=>{r.compilation.compiler.cache.shutdown(s=>{s&&e(i(s.toString(),"red")),m(r.compilation.outputOptions.path,["\\.js$"]),t(~~((r.endTime-r.startTime)/10)/100,o(l.programPath,r.compilation.outputOptions.path)),n()})}),f.seo&&c()}r.on("exit",g),await b();
1
+ import{relative as o}from"node:path";import r from"node:process";import{analyzeBundleSize as m,completedInfo as t,ink as i,println as e,progressBar as n}from"@moneko/utils";import s from"webpack";import{merge as a}from"webpack-merge";import p from"./build/common.mjs";import l from"./commom/paths.mjs";import{DonePlugin as u}from"./plugin/done.mjs";import{empty as f}from"./utils/index.mjs";import g from"./utils/seo.mjs";import{CONFIG as c}from"./config.mjs";import d from"./module.config.mjs";let h=a(p,{module:d(!1),plugins:[]});if(c.done&&h.plugins.push(new u({done:c.done})),c.bar){let o=c.bar,m=o.name||"Build";h.plugins.push(new s.ProgressPlugin({handler(t,i,...e){let s=e.length?`[${i}] ${e.join(" ")}`:" ";o.quiet?r.stdout.write(`${s}
2
+ `):(n(t||0,1,{msg:s,name:m,barColor:o.barColor,nameColor:o.nameColor,barBgColor:o.barBgColor,msgColor:o.msgColor}),1===t&&r.stdout.write("\r\x1b[2K"))}}))}let w=s(h);if(!w)throw Error("无法创建编译器");async function b(){let r=await new Promise((o,r)=>{w?.run((m,t)=>{m&&r(m),t?o(t):r(Error("编译过程中没有生成统计信息"))})});(r.hasErrors()||r.hasWarnings())&&function(o){let{warnings:r,errors:m}=o.compilation;r.forEach(o=>{e(i(o.message,"178"))}),m.forEach(o=>{e(i(o.message,"red"))})}(r),await new Promise(n=>{r.compilation.compiler.cache.shutdown(s=>{s&&e(i(s.toString(),"red")),m(r.compilation.outputOptions.path,["\\.js$"]),t(~~((r.endTime-r.startTime)/10)/100,o(l.programPath,r.compilation.outputOptions.path)),n()})}),c.seo&&g()}r.on("exit",f),await b();
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";import{fileExists as a,generateCert as n,loadFile as l,normalCertificateAuthority as c,println as s,saveFile as m}from"@moneko/utils";import u from"./log.mjs";import{getIPv4 as f}from"./net.mjs";import p from"./paths.mjs";let d=i(t);async function y(t){try{if("darwin"===o){let{stdout:e}=await d(`security find-certificate -c "${t}" -a`);return e.length>0}if("win32"===o){let{stdout:e}=await d(`certutil -store -user Root | findstr /C:"${t}"`);return e.length>0}}catch(t){u(t)}return!1}function h(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}"`,h):"win32"===o?t(`certutil -addstore -user "Root" "${e}"`,h):void s(`⚠️ 暂不支持自动安装 CA 的平台: ${o}`)}export async function setupCert(t="localhost",o=!0){let i=r(p.programPath,`${p.corePath}/cert/cert.pem`),s=r(p.programPath,`${p.corePath}/cert/key.pem`),u=!a(i)||!a(s);if(u){let t=c();await Promise.all([m(i,t.cert),m(s,t.key)])}o&&(!await y("Local Root Certificate Authority - Moneko")||u)&&installCA(i);let d=e(p.CA_DIR,`${t}_cert.pem`),h=e(p.CA_DIR,`${t}_key.pem`);if(u||!a(d)||!a(h)){let e=await Promise.all([l(i),l(s)]),r=n(e[0],e[1],[...new Set([t,"localhost","127.0.0.1",f()].filter(Boolean))]);await Promise.all([m(d,r.cert),m(h,r.key)])}let w=await Promise.all([l(d),l(h)]);return{cert:w[0],key:w[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 l,normalCertificateAuthority as c,println as s,saveFile as m}from"@moneko/utils";import u from"./log.mjs";import{getIPv4 as f}from"./net.mjs";import p from"./paths.mjs";let d=i(t);async function y(t){try{if("darwin"===o){let{stdout:e}=await d(`security find-certificate -c "${t}" -a`);return e.length>0}if("win32"===o){let{stdout:e}=await d(`certutil -store -user Root | findstr /C:"${t}"`);return e.length>0}}catch(t){u(t)}return!1}function h(t,e,r){if(t&&!r.includes("already exists"))return void u(t)}export function installCA(e){return"darwin"===o?t(`sudo security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" "${e}"`,h):"win32"===o?t(`certutil -addstore -user "Root" "${e}"`,h):void s(`⚠️ 暂不支持自动安装 CA 的平台: ${o}`)}export async function setupCert(t="localhost",o=!0){let i=r(p.programPath,`${p.corePath}/cert/cert.pem`),s=r(p.programPath,`${p.corePath}/cert/key.pem`),u=!a(i)||!a(s);if(u){let t=c();await Promise.all([m(i,t.cert),m(s,t.key)])}o&&(!await y("Local Root Certificate Authority - Moneko")||u)&&installCA(i);let d=e(p.CA_DIR,`${t}_cert.pem`),h=e(p.CA_DIR,`${t}_key.pem`);if(u||!a(d)||!a(h)){let e=await Promise.all([l(i),l(s)]),r=n(e[0],e[1],[...new Set([t,"localhost","127.0.0.1",f()].filter(Boolean))]);await Promise.all([m(d,r.cert),m(h,r.key)])}let w=await Promise.all([l(d),l(h)]);return{cert:w[0],key:w[1]}}
@@ -1 +1 @@
1
- export function diffObject(e,t){let f={};if(!e||!t)return t||{};for(let n of new Set([...Object.keys(e),...Object.keys(t)])){if(!(n in t)){f[n]=void 0;continue}if(e[n]!==t[n]){if("object"==typeof e[n]&&"object"==typeof t[n]&&null!==e[n]&&null!==t[n]){let i=diffObject(e[n],t[n]);Object.keys(i).length>0&&(f[n]=i)}else f[n]=t[n]}}return f}
1
+ export function diffObject(e,t){let f={};if(!e||!t)return t||{};for(let n of new Set([...Object.keys(e),...Object.keys(t)])){if(!(n in t)){f[n]=void 0;continue}if(e[n]!==t[n])if("object"==typeof e[n]&&"object"==typeof t[n]&&null!==e[n]&&null!==t[n]){let i=diffObject(e[n],t[n]);Object.keys(i).length>0&&(f[n]=i)}else f[n]=t[n]}return f}
@@ -1 +1 @@
1
- import{transformAsync as e}from"@moneko/eslint/babel-core";import o from"@moneko/eslint/babel-preset-env";import r from"@moneko/eslint/babel-typescript";import l from"babel-plugin-jsx-dom-expressions";import n from"solid-refresh/babel";let s={modules:!1};export async function transformSolidJs(i,{refresh:t,filename:m,jsxOptions:p,typescriptOption:a={},presetEnvOption:b={},...f}){return e(i,{sourceFileName:m,filename:m,sourceMaps:"inline",cloneInputAst:!1,ast:!1,configFile:!1,babelrc:!1,...f,presets:[[o,{...s,...b}],[r,a]],plugins:[[l,p],t&&[n,{bundler:"webpack5"}]].filter(Boolean)})}
1
+ export*from"@moneko/convert/solid";
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 n,ink as o,print as a}from"@moneko/utils";import{watch as c}from"chokidar";import{merge as i}from"webpack-merge";import s from"../commom/log.mjs";import d from"../commom/match-path.mjs";import l,{METHOD_COLOR as m}from"../commom/print-log.mjs";import u from"../commom/require.mjs";import{jsonSchema as p}from"./json-schema.mjs";function f(e){return!["GET","HEAD","OPTIONS"].includes(e.method?.toUpperCase()||"")}export function cacheBody(e){if(!e._bodyCached&&f(e)&&!e.readableEnded){e._bodyCached=!0;try{let t=[],r=e.on.bind(e),n=e.emit.bind(e),o=!1;e.on=function(e,n){return"data"!==e||o||(o=!0,r("data",e=>{t.push(e)})),r(e,n)};let a=!1;e.emit=function(r,...o){return"end"===r&&!a&&(a=!0,t.length>0&&(e._dataChunks=t)),n.call(this,r,...o)}}catch(e){s(e)}}}function h(e,r){try{let n=Buffer.concat(e);if(r.includes("application/json")){let e=new t("utf-8").write(n);return JSON.parse(e)}if(r.includes("application/octet-stream")||r.startsWith("image/"));else if(r.includes("text/"))return n.toString("utf-8");else if(r.includes("application/x-www-form-urlencoded"))return Object.fromEntries(new URLSearchParams(n.toString("utf8")));return n}catch(e){return s(e),null}}async function g(e){return new Promise(t=>{if(!f(e)){t(null);return}let r=e.headers["content-type"]||"",n=e.headers["content-length"],o=e.headers["transfer-encoding"],a=[];if(void 0!==e._dataChunks){t(h(e._dataChunks,r));return}if(!n&&!o){t(null);return}e.on("data",e=>{a.push(e)}),e.on("end",()=>{t(h(a,r))}),e.on("error",e=>{t(null),s(e)})})}function y(e,t,r){if(delete u.cache[t],r[t]){for(let n in r[t])Object.prototype.hasOwnProperty.call(r[t],n)&&(e[n]=null,delete e[n]);r[t]=null,delete r[t]}}export const yApiSchemaMock=(t,r)=>new Promise(n=>{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),o=p(t);void 0!==r?n(i(o,r)):n(o)}}catch(e){s(e)}})})});export const yApiMock=(t,n)=>new Promise((o,a)=>{let c=new r(n.host),i={hostname:c.hostname,port:c.port,path:t.url?.replace(new RegExp(n.pathRewrite),`/mock/${n.projectId}/`),method:t.method,headers:t.headers,query:Object.fromEntries(c.searchParams)},d=e.request(i,e=>{e.setEncoding("utf8");let t="";e.on("data",e=>{t+=e}),e.on("end",()=>{try{o(JSON.parse(t))}catch(e){s(e)}})});d.on("error",e=>{a(e.message)}),d.write(JSON.stringify(t.body)),d.end()});export const oldMock={};export let nextMock={};export function containMockUrl(e){return Object.keys(nextMock).find(t=>RegExp(`^${t.replace(/(:\w*)[^/]/g,"((?!/).)")}*$`).test(e))}export default(e=>{if(!n(e.directory))return;let t=!0;return c(e.directory).on("all",async function(e,r){if("string"==typeof r){switch(a(o("Updating mock...","245"),!0),e){case"add":case"change":try{y(nextMock,r,oldMock);let e=u(r).default;oldMock[r]=e,nextMock=Object.assign(nextMock,e)}catch(e){s(e)}break;case"unlink":y(nextMock,r,oldMock)}t?t=!1:a(o("Mock update successful","245"),!0)}}),(e,t)=>{if(t.writableEnded)return t;let n=new r(`http://localhost:3000${e.url}`),o=e.method||"GET",a=`${o} ${n.pathname}`,c=containMockUrl(a)||a,i=nextMock[c];if(i){if(l(o,n.pathname,{note:"MOCK",labelAlign:"center",labelLen:8,labelForegroundColor:m[o].fg,labelBackgroundColor:m[o].bg}),t.send=e=>t.end("string"==typeof e?e:JSON.stringify(e)),t.writeHead(200,{"Content-Type":e.headers["content-type"]}),"function"==typeof i){let r=d(c.split(" ")[1],n.pathname);n.searchParams&&Object.assign(e,{query:Object.fromEntries(n.searchParams)}),r&&Object.assign(e,{params:r.params}),e.body=g(e);try{i(e,t)}catch(e){s(e)}return!0}return t.end("string"==typeof i?i:JSON.stringify(i)),!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,ink as n,print as a}from"@moneko/utils";import{watch as c}from"chokidar";import{merge as i}from"webpack-merge";import s from"../commom/log.mjs";import d from"../commom/match-path.mjs";import l,{METHOD_COLOR as m}from"../commom/print-log.mjs";import p from"../commom/require.mjs";import{jsonSchema as u}from"./json-schema.mjs";function f(e){return!["GET","HEAD","OPTIONS"].includes(e.method?.toUpperCase()||"")}export function cacheBody(e){if(!e._bodyCached&&f(e)&&!e.readableEnded){e._bodyCached=!0;try{let t=[],r=e.on.bind(e),o=e.emit.bind(e),n=!1;e.on=function(e,o){return"data"!==e||n||(n=!0,r("data",e=>{t.push(e)})),r(e,o)};let a=!1;e.emit=function(r,...n){return"end"===r&&!a&&(a=!0,t.length>0&&(e._dataChunks=t)),o.call(this,r,...n)}}catch(e){s(e)}}}function h(e,r){try{let o=Buffer.concat(e);if(r.includes("application/json")){let e=new t("utf-8").write(o);return JSON.parse(e)}if(r.includes("application/octet-stream")||r.startsWith("image/"));else if(r.includes("text/"))return o.toString("utf-8");else if(r.includes("application/x-www-form-urlencoded"))return Object.fromEntries(new URLSearchParams(o.toString("utf8")));return o}catch(e){return s(e),null}}async function g(e){return new Promise(t=>{if(!f(e))return void t(null);let r=e.headers["content-type"]||"",o=e.headers["content-length"],n=e.headers["transfer-encoding"],a=[];return void 0!==e._dataChunks?void t(h(e._dataChunks,r)):o||n?void(e.on("data",e=>{a.push(e)}),e.on("end",()=>{t(h(a,r))}),e.on("error",e=>{t(null),s(e)})):void t(null)})}function y(e,t,r){if(delete p.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=u(t);void 0!==r?o(i(n,r)):o(n)}}catch(e){s(e)}})})});export const yApiMock=(t,o)=>new Promise((n,a)=>{let c=new r(o.host),i={hostname:c.hostname,port:c.port,path:t.url?.replace(new RegExp(o.pathRewrite),`/mock/${o.projectId}/`),method:t.method,headers:t.headers,query:Object.fromEntries(c.searchParams)},d=e.request(i,e=>{e.setEncoding("utf8");let t="";e.on("data",e=>{t+=e}),e.on("end",()=>{try{n(JSON.parse(t))}catch(e){s(e)}})});d.on("error",e=>{a(e.message)}),d.write(JSON.stringify(t.body)),d.end()});export const oldMock={};export let nextMock={};export function containMockUrl(e){return Object.keys(nextMock).find(t=>RegExp(`^${t.replace(/(:\w*)[^/]/g,"((?!/).)")}*$`).test(e))}export default(e=>{if(!o(e.directory))return;let t=!0;return c(e.directory).on("all",async function(e,r){if("string"==typeof r){switch(a(n("Updating mock...","245"),!0),e){case"add":case"change":try{y(nextMock,r,oldMock);let e=p(r).default;oldMock[r]=e,nextMock=Object.assign(nextMock,e)}catch(e){s(e)}break;case"unlink":y(nextMock,r,oldMock)}t?t=!1:a(n("Mock update successful","245"),!0)}}),(e,t)=>{if(t.writableEnded)return t;let o=new r(`http://localhost:3000${e.url}`),n=e.method||"GET",a=`${n} ${o.pathname}`,c=containMockUrl(a)||a,i=nextMock[c];if(i){if(l(n,o.pathname,{note:"MOCK",labelAlign:"center",labelLen:8,labelForegroundColor:m[n].fg,labelBackgroundColor:m[n].bg}),t.send=e=>t.end("string"==typeof e?e:JSON.stringify(e)),t.writeHead(200,{"Content-Type":e.headers["content-type"]}),"function"==typeof i){let r=d(c.split(" ")[1],o.pathname);o.searchParams&&Object.assign(e,{query:Object.fromEntries(o.searchParams)}),r&&Object.assign(e,{params:r.params}),e.body=g(e);try{i(e,t)}catch(e){s(e)}return!0}return t.end("string"==typeof i?i:JSON.stringify(i)),!0}return!1}});
@@ -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 a from"../commom/paths.mjs";import{CONFIG as s}from"../config.mjs";import m from"../dev/get-cert.mjs";import{setupProxy as c}from"../dev/proxy.mjs";import l,{cacheBody as d}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 C(C){let h=r(C.root_dir,"index.html"),f=l({directory:a.mockPath});function u(e,t,r){let i=e.headers["accept-encoding"],a=i?.includes("br"),s=`${r}.${a?"br":"gz"}`,m=C.fileSystem.existsSync(s);m&&t.setHeader("Content-Encoding",a?"br":"gzip");let c=C.fileSystem.createReadStream(m?s:r,{autoClose:!0});c.on("open",()=>{t.writeHead(200,Object.assign({},p,C.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)}async function A(e,t){if(d(e),!(C.onRequest&&C.onRequest(e,t)||s.proxy&&await c(e,t,s.proxy)||t.writableEnded||f&&f(e,t))&&!t.writableEnded){if("GET"===e.method){let o="/"===e.url?h:decodeURIComponent(r(C.root_dir,e.url.replace(C.basename??"/","/")));if(C.fileSystem.existsSync(o))return u(e,t,o)}if(e.headers.accept?.includes("text/html"))return u(e,t,h);t.writeHead(404,{"Content-Type":"text/plain"}),t.end("File Not Found")}}let E=C.https?t(await m(C.host,!0===C.https?{install:!0}:C.https),A):e(A);return E.listen(C.port),C.open&&i(`${C.https?"https:":"http:"}//${C.host}:${C.port}${"/"===C.basename?"":C.basename}`),E}export default C;
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 a from"../commom/paths.mjs";import{CONFIG as s}from"../config.mjs";import m from"../dev/get-cert.mjs";import{setupProxy as c}from"../dev/proxy.mjs";import l,{cacheBody as d}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 C(C){let h=r(C.root_dir,"index.html"),f=l({directory:a.mockPath});function u(e,t,r){let i=e.headers["accept-encoding"],a=i?.includes("br"),s=`${r}.${a?"br":"gz"}`,m=C.fileSystem.existsSync(s);m&&t.setHeader("Content-Encoding",a?"br":"gzip");let c=C.fileSystem.createReadStream(m?s:r,{autoClose:!0});c.on("open",()=>{t.writeHead(200,Object.assign({},p,C.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)}async function A(e,t){if(d(e),!(C.onRequest&&C.onRequest(e,t))){if(!(s.proxy&&await c(e,t,s.proxy)||t.writableEnded||f&&f(e,t))&&!t.writableEnded){if("GET"===e.method){let o="/"===e.url?h:decodeURIComponent(r(C.root_dir,e.url.replace(C.basename??"/","/")));if(C.fileSystem.existsSync(o))return u(e,t,o)}if(e.headers.accept?.includes("text/html"))return u(e,t,h);t.writeHead(404,{"Content-Type":"text/plain"}),t.end("File Not Found")}}}let E=C.https?t(await m(C.host,!0===C.https?{install:!0}:C.https),A):e(A);return E.listen(C.port),C.open&&i(`${C.https?"https:":"http:"}//${C.host}:${C.port}${"/"===C.basename?"":C.basename}`),E}export default C;
package/lib/dev.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{exec as e,spawn as t}from"node:child_process";import{watchFile as o}from"node:fs";import{join as r,relative as n}from"node:path";import i from"node:process";import{URL as s}from"node:url";import{ink as a,print as m,println as l,progressBar as p}from"@moneko/utils";import c from"webpack";import f from"webpack-hot-middleware";import{merge as h}from"webpack-merge";import{diffObject as u}from"./commom/diff-object.mjs";import d,{config_files as g}from"./commom/paths.mjs";import w from"./commom/sigint-exit.mjs";import{devLog as y,getServerAddress as j,PORT as $}from"./dev/config.mjs";import b from"./dev/generate-progress-html.mjs";import v from"./dev/server.mjs";import C from"./options/reslove.mjs";import{ESLintPlugin as x}from"./plugin/eslint.mjs";import{generateManifest as P}from"./plugin/manifest.mjs";import{StylelintPlugin as _}from"./plugin/stylelint.mjs";import{empty as S}from"./utils/index.mjs";import{commonConfig as k}from"./common.mjs";import{CONFIG as H,getConfig as O}from"./config.mjs";import{outputFileSystem as T}from"./file-system.mjs";import B from"./module.config.mjs";import{isLibrary as E,isReact as I,refresh as q}from"./process-env.mjs";let F=!1,G="/____progress____",L={percentage:0,info:""},N="/__hmr__",R=new URLSearchParams({name:"client",path:N.substring(1),dynamicPublicPath:!0,timeout:2e3,reload:!q,quiet:!0,noInfo:!0,overlay:!1,autoConnect:!0}).toString(),U=h(k,{output:{publicPath:H.moduleFederation?.length>0?`${j("local")}/`:"/"},watchOptions:{stdin:!0,aggregateTimeout:300,ignored:/node_modules\/(?!(@app)\/)/},entry:{main:[`${C.hotMiddlewareClient}?${R}`]},module:B(!1),plugins:[new c.HotModuleReplacementPlugin,new c.WatchIgnorePlugin({paths:[/node_modules\/(?!(@app)\/)/,/\.d\.ts$/]}),new c.ProgressPlugin({handler(e,t,...o){let r=o.length?`[${t}] ${o.join(" ")}`:" ";F||(L.info=r,L.percentage=e,F=1===e);let n=H.bar;if(n){let t=n.name||"Build";n.quiet?i.stdout.write(`${r}
2
- `):(p(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 J(e){let t=e.join(","),o=[n(d.programPath,`${H.alias["@"]}/**/*.{${t}}`).replace(/\\/g,"/")];return E&&o.push(n(d.programPath,`${H.alias["@pkg"]}/**/*.{${t}}`).replace(/\\/g,"/")),o}H.eslint&&U.plugins.push(new x({fix:!0,cache:!0,cacheLocation:`${d.lintCachePath}/.eslintcache`,cacheStrategy:"metadata",files:J(["js","jsx","ts","tsx","json","html","vue"]),...H.eslint})),H.stylelint&&U.plugins.push(new _({fix:!0,cache:!0,cacheLocation:`${d.lintCachePath}/.stylelintcache`,files:J(["css","scss","sass","less","ts","tsx","js","jsx"]),...H.stylelint}));let M=c(U);if(!M)throw Error("无法创建编译器");M.outputFileSystem=T;let A=M.watch(M.options.watchOptions,y);M.hooks.done.tap("client-log",e=>{y(null,e)});let K=`${H.basename}/${N}`.replace(/\/+/g,"/"),W=f(M,{log:!1,path:K,heartbeat:2e3}),z=!!H.manifest&&r(H.basename,H.manifest.filename).replaceAll(/\\/g,"/"),D=await v({port:$,root_dir:M.options.output.path,fileSystem:M.outputFileSystem,headers:H.devServer.headers,https:H.devServer.https,host:H.devServer.host,open:H.devServer.open,basename:H.basename,onRequest(e,t){if(!t.writableEnded){if("GET"===e.method){let o=new s(`${H.devServer.https?"https":"http"}://${e.headers.host}${e.url}`);if(z&&o.pathname===z)return t.writeHead(200,{"Content-Type":"application/json; charset=utf-8","Cache-Control":"no-store"}),t.end(JSON.stringify(P({}))),!0;if(o.pathname===G)return t.writeHead(200,{"Content-Type":"application/json; charset=utf-8","Cache-Control":"no-store"}),t.end(JSON.stringify(L)),!0;if(!F)return t.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),t.end(b(G,L)),!0;if(o.pathname===K&&"text/event-stream"===e.headers.accept)return W(e,t,S),!0}return!1}}});function Q(){i.exit(0)}D.on("close",()=>{A.close(S),W.close()});let V=await Promise.all(g.map(O)),X=h(V[0]||{},V[1]||{});g.forEach(function(t){o(t,async function(){let[o,r]=await Promise.all(g.map(O)),n=h(o||{},r||{}),s=u(X,n);1===Object.keys(s).length&&"proxy"in s?(m(a(`代理更新中...`,"yellow"),!0),m(a(`代理更新完成...`,"green"),!0),H.proxy=n.proxy,X.proxy=n.proxy,X=n):(X=n,l(a(`检测到工程配置${a(`[${t}]`,"blue")}变更, 程序即将重启...`,"yellow"),!0),e(Y?`netstat -ano | findstr :${$}`:`lsof -i :${$} -t`,(e,t)=>{if(e){l(a(`查找端口 ${$} 时发生错误: ${e.message}`,"red")),l(a("请尝试手动重启程序","yellow"));return}let o=t.trim().replace(/\r\n/g,"\n").split("\n").filter(Boolean),r=Y?o[0]?.split(/\s+/).pop()?.trim():o[0]?.trim();if(!r){l(a(`未找到占用端口 ${$} 的进程, 请尝试手动重启程序`,"yellow"));return}try{i.kill(Number(r),"SIGHUP")}catch(e){l(a(`终止进程 ${r} 时发生错误: ${e.message}`,"red"))}}))})});let Y="win32"===i.platform;i.on("SIGHUP",function(){D.close(S),function(){let e=t(i.argv[0],i.argv.slice(1),{detached:!1,stdio:"inherit"});e.unref(),e.on("close",Q)}()}),i.on("exit",function(){D.close(S)}),w(Q);
1
+ import{exec as e,spawn as t}from"node:child_process";import{watchFile as o}from"node:fs";import{join as r,relative as n}from"node:path";import i from"node:process";import{URL as s}from"node:url";import{ink as a,print as m,println as l,progressBar as p}from"@moneko/utils";import c from"webpack";import f from"webpack-hot-middleware";import{merge as h}from"webpack-merge";import{diffObject as u}from"./commom/diff-object.mjs";import d,{config_files as g}from"./commom/paths.mjs";import w from"./commom/sigint-exit.mjs";import{devLog as y,getServerAddress as j,PORT as $}from"./dev/config.mjs";import v from"./dev/generate-progress-html.mjs";import b from"./dev/server.mjs";import C from"./options/reslove.mjs";import{ESLintPlugin as x}from"./plugin/eslint.mjs";import{generateManifest as P}from"./plugin/manifest.mjs";import{StylelintPlugin as _}from"./plugin/stylelint.mjs";import{empty as S}from"./utils/index.mjs";import{commonConfig as k}from"./common.mjs";import{CONFIG as H,getConfig as O}from"./config.mjs";import{outputFileSystem as T}from"./file-system.mjs";import B from"./module.config.mjs";import{isLibrary as E,isReact as I,refresh as q}from"./process-env.mjs";let F=!1,G="/____progress____",L={percentage:0,info:""},N="/__hmr__",R=new URLSearchParams({name:"client",path:N.substring(1),dynamicPublicPath:!0,timeout:2e3,reload:!q,quiet:!0,noInfo:!0,overlay:!1,autoConnect:!0}).toString(),U=h(k,{output:{publicPath:H.moduleFederation?.length>0?`${j("local")}/`:"/"},watchOptions:{stdin:!0,aggregateTimeout:300,ignored:/node_modules\/(?!(@app)\/)/},entry:{main:[`${C.hotMiddlewareClient}?${R}`]},module:B(!1),plugins:[new c.HotModuleReplacementPlugin,new c.WatchIgnorePlugin({paths:[/node_modules\/(?!(@app)\/)/,/\.d\.ts$/]}),new c.ProgressPlugin({handler(e,t,...o){let r=o.length?`[${t}] ${o.join(" ")}`:" ";F||(L.info=r,L.percentage=e,F=1===e);let n=H.bar;if(n){let t=n.name||"Build";n.quiet?i.stdout.write(`${r}
2
+ `):(p(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 J(e){let t=e.join(","),o=[n(d.programPath,`${H.alias["@"]}/**/*.{${t}}`).replace(/\\/g,"/")];return E&&o.push(n(d.programPath,`${H.alias["@pkg"]}/**/*.{${t}}`).replace(/\\/g,"/")),o}H.eslint&&U.plugins.push(new x({fix:!0,cache:!0,cacheLocation:`${d.lintCachePath}/.eslintcache`,cacheStrategy:"metadata",files:J(["js","jsx","ts","tsx","json","html","vue"]),...H.eslint})),H.stylelint&&U.plugins.push(new _({fix:!0,cache:!0,cacheLocation:`${d.lintCachePath}/.stylelintcache`,files:J(["css","scss","sass","less","ts","tsx","js","jsx"]),...H.stylelint}));let M=c(U);if(!M)throw Error("无法创建编译器");M.outputFileSystem=T;let A=M.watch(M.options.watchOptions,y);M.hooks.done.tap("client-log",e=>{y(null,e)});let K=`${H.basename}/${N}`.replace(/\/+/g,"/"),W=f(M,{log:!1,path:K,heartbeat:2e3}),z=!!H.manifest&&r(H.basename,H.manifest.filename).replaceAll(/\\/g,"/"),D=await b({port:$,root_dir:M.options.output.path,fileSystem:M.outputFileSystem,headers:H.devServer.headers,https:H.devServer.https,host:H.devServer.host,open:H.devServer.open,basename:H.basename,onRequest(e,t){if(!t.writableEnded){if("GET"===e.method){let o=new s(`${H.devServer.https?"https":"http"}://${e.headers.host}${e.url}`);if(z&&o.pathname===z)return t.writeHead(200,{"Content-Type":"application/json; charset=utf-8","Cache-Control":"no-store"}),t.end(JSON.stringify(P({}))),!0;if(o.pathname===G)return t.writeHead(200,{"Content-Type":"application/json; charset=utf-8","Cache-Control":"no-store"}),t.end(JSON.stringify(L)),!0;if(!F)return t.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),t.end(v(G,L)),!0;if(o.pathname===K&&"text/event-stream"===e.headers.accept)return W(e,t,S),!0}return!1}}});function Q(){i.exit(0)}D.on("close",()=>{A.close(S),W.close()});let V=await Promise.all(g.map(O)),X=h(V[0]||{},V[1]||{});g.forEach(function(t){o(t,async function(){var o;let[r,n]=await Promise.all(g.map(O)),s=h(r||{},n||{}),p=u(X,s);1===Object.keys(p).length&&"proxy"in p?(m(a(`代理更新中...`,"yellow"),!0),m(a(`代理更新完成...`,"green"),!0),H.proxy=s.proxy,X.proxy=s.proxy,X=s):(X=s,l(a(`检测到工程配置${a(`[${t}]`,"blue")}变更, 程序即将重启...`,"yellow"),!0),o=$,e(Y?`netstat -ano | findstr :${o}`:`lsof -i :${o} -t`,(e,t)=>{if(e){l(a(`查找端口 ${o} 时发生错误: ${e.message}`,"red")),l(a("请尝试手动重启程序","yellow"));return}let r=t.trim().replace(/\r\n/g,"\n").split("\n").filter(Boolean),n=Y?r[0]?.split(/\s+/).pop()?.trim():r[0]?.trim();if(!n)return void l(a(`未找到占用端口 ${o} 的进程, 请尝试手动重启程序`,"yellow"));try{i.kill(Number(n),"SIGHUP")}catch(e){l(a(`终止进程 ${n} 时发生错误: ${e.message}`,"red"))}}))})});let Y="win32"===i.platform;i.on("SIGHUP",function(){D.close(S);let e=t(i.argv[0],i.argv.slice(1),{detached:!1,stdio:"inherit"});e.unref(),e.on("close",Q)}),i.on("exit",function(){D.close(S)}),w(Q);
@@ -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 s}});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,s=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(s)&&(l.children=[],e(s,r))}return r}((0,r.compile)(n),[])),s=function(e,t){let r=function(e){let t,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=[],s=0;return r.forEach(({value:i,p1:p,index:u},o)=>{let c=e.substring(s,u);s=s+c.length+i.length,c||0!==o?n.push(l(c)):n.push(l("")),a.push(t[p]),o===r.length-1&&n.push(l(e.substring(u+i.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=[];s.forEach((t,n)=>{"iTemplateElement"===t.type?e.push({...t,type:"TemplateElement",tail:n===s.length-1}):r.push(t)}),t.quasis=e,t.expressions=r}}}async function s(e){let r=this.async(),{moduleName:l,allowFuncs:s}=this.getOptions()||{};this.cacheable&&this.cacheable();try{let n=await (0,t.parse)(e,{syntax:"ecmascript"}),i=[];n.body.forEach(e=>{"ImportDeclaration"===e.type&&e.source.value===l&&e.specifiers.forEach(e=>{"ImportSpecifier"===e.type&&(e.imported&&s.includes(e.imported.value)?i.push(e.local.value):s.includes(e.local.value)&&i.push(e.local.value))})}),n.body.forEach(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,i)}),t&&"VariableDeclaration"===t.type&&t.declarations.forEach(e=>{e.init?.type==="TaggedTemplateExpression"&&a(e.init,i)})}else"CallExpression"===e.type&&e.arguments.forEach(e=>{e.expression&&"TaggedTemplateExpression"===e.expression.type&&a(e.expression,i)})});let{code:p}=await (0,t.print)(n);r(null,p)}catch(e){r(e),(0,n.default)(e)}}
@@ -1,20 +1,20 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var o in t)Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}(exports,{getExportCode:function(){return r},getImportCode:function(){return t},getModuleCode:function(){return o}});const e=require("./utils.cjs");function t(e,t){let o="";for(let r of e){let{importName:e,url:s,icss:_}=r;t.esModule?_&&t.modules?.namedExport?o+=`import ${t.modules.exportOnlyLocals?"":`${e}, `}* as ${e}_NAMED___ from ${s};
2
- `:o+=`import ${e} from ${s};
3
- `:o+=`var ${e} = require(${s});
4
- `}return o?`// Imports
5
- ${o}`:""}function o(t,o,r,s,_){if(s.modules?.exportOnlyLocals===!0)return"";let l=s.sourceMap?`,${(0,e.normalizeSourceMapForRuntime)(t.map,_)}`:"",a=JSON.stringify(t.css),n=`var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(${s.sourceMap});
6
- `;for(let e of o){let{url:t,media:o,dedupe:r}=e;n+=t?`___CSS_LOADER_EXPORT___.push([module.id, ${JSON.stringify(`@import url(${t});`)}${o?`, ${JSON.stringify(o)}`:""}]);
7
- `:`___CSS_LOADER_EXPORT___.i(${e.importName}${o?`, ${JSON.stringify(o)}`:r?', ""':""}${r?", true":""});
8
- `}for(let t of r){let{replacementName:o,importName:r,localName:_}=t;if(_)a=a.replace(RegExp(o,"g"),()=>s.modules?.namedExport?`" + ${r}_NAMED___[${JSON.stringify((0,e.camelCase)(_))}] + "`:`" + ${r}.locals[${JSON.stringify(_)}] + "`);else{let{hash:e,needQuotes:s}=t,_=[...e?[`hash: ${JSON.stringify(e)}`]:[],...s?"needQuotes: true":[]],l=_.length>0?`, { ${_.join(", ")} }`:"";n+=`var ${o} = ___CSS_LOADER_GET_URL_IMPORT___(${r}${l});
9
- `,a=a.replace(RegExp(o,"g"),()=>`" + ${o} + "`)}}return`${n}// Module
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=exports,r={get getExportCode(){return l},get getImportCode(){return s},get getModuleCode(){return _}};for(var t in r)Object.defineProperty(e,t,{enumerable:!0,get:Object.getOwnPropertyDescriptor(r,t).get});const o=require("./utils.cjs");function s(e,r){let t="";for(let o of e){let{importName:e,url:s,icss:_}=o;r.esModule?_&&r.modules?.namedExport?t+=`import ${r.modules.exportOnlyLocals?"":`${e}, `}* as ${e}_NAMED___ from ${s};
2
+ `:t+=`import ${e} from ${s};
3
+ `:t+=`var ${e} = require(${s});
4
+ `}return t?`// Imports
5
+ ${t}`:""}function _(e,r,t,s,_){if(s.modules?.exportOnlyLocals===!0)return"";let l=s.sourceMap?`,${(0,o.normalizeSourceMapForRuntime)(e.map,_)}`:"",a=JSON.stringify(e.css),n=`var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(${s.sourceMap});
6
+ `;for(let e of r){let{url:r,media:t,dedupe:o}=e;n+=r?`___CSS_LOADER_EXPORT___.push([module.id, ${JSON.stringify(`@import url(${r});`)}${t?`, ${JSON.stringify(t)}`:""}]);
7
+ `:`___CSS_LOADER_EXPORT___.i(${e.importName}${t?`, ${JSON.stringify(t)}`:o?', ""':""}${o?", true":""});
8
+ `}for(let e of t){let{replacementName:r,importName:t,localName:_}=e;if(_)a=a.replace(RegExp(r,"g"),()=>s.modules?.namedExport?`" + ${t}_NAMED___[${JSON.stringify((0,o.camelCase)(_))}] + "`:`" + ${t}.locals[${JSON.stringify(_)}] + "`);else{let{hash:o,needQuotes:s}=e,_=[...o?[`hash: ${JSON.stringify(o)}`]:[],...s?"needQuotes: true":[]],l=_.length>0?`, { ${_.join(", ")} }`:"";n+=`var ${r} = ___CSS_LOADER_GET_URL_IMPORT___(${t}${l});
9
+ `,a=a.replace(RegExp(r,"g"),()=>`" + ${r} + "`)}}return`${n}// Module
10
10
  ___CSS_LOADER_EXPORT___.push([module.id, ${a}, ""${l}]);
11
- `}function r(t,o,r){let s="// Exports\n",_="",l=(t,o)=>{r.modules?.namedExport?_+=`export const ${(0,e.camelCase)(t)} = ${JSON.stringify(o)};
11
+ `}function l(e,r,t){let s="// Exports\n",_="",l=(e,r)=>{t.modules?.namedExport?_+=`export const ${(0,o.camelCase)(e)} = ${JSON.stringify(r)};
12
12
  `:(_&&(_+=`,
13
- `),_+=` ${JSON.stringify(t)}: ${JSON.stringify(o)}`)};for(let{name:o,value:s}of t)switch(r.modules?.exportLocalsConvention){case"camelCase":{l(o,s);let t=(0,e.camelCase)(o);t!==o&&l(t,s);break}case"camelCaseOnly":l((0,e.camelCase)(o),s);break;case"dashes":{l(o,s);let t=(0,e.dashesCamelCase)(o);t!==o&&l(t,s);break}case"dashesOnly":l((0,e.dashesCamelCase)(o),s);break;default:l(o,s)}for(let t of o){let{replacementName:o,localName:s}=t;if(s){let{importName:l}=t;_=_.replace(RegExp(o,"g"),()=>r.modules?.namedExport?`" + ${l}_NAMED___[${JSON.stringify((0,e.camelCase)(s))}] + "`:r.modules?.exportOnlyLocals?`" + ${l}[${JSON.stringify(s)}] + "`:`" + ${l}.locals[${JSON.stringify(s)}] + "`)}else _=_.replace(RegExp(o,"g"),()=>`" + ${o} + "`)}return r.modules?.exportOnlyLocals?s+=r.modules.namedExport?_:`${r.esModule?"export default":"module.exports ="} {
13
+ `),_+=` ${JSON.stringify(e)}: ${JSON.stringify(r)}`)};for(let{name:r,value:s}of e)switch(t.modules?.exportLocalsConvention){case"camelCase":{l(r,s);let e=(0,o.camelCase)(r);e!==r&&l(e,s);break}case"camelCaseOnly":l((0,o.camelCase)(r),s);break;case"dashes":{l(r,s);let e=(0,o.dashesCamelCase)(r);e!==r&&l(e,s);break}case"dashesOnly":l((0,o.dashesCamelCase)(r),s);break;default:l(r,s)}for(let e of r){let{replacementName:r,localName:s}=e;if(s){let{importName:l}=e;_=_.replace(RegExp(r,"g"),()=>t.modules?.namedExport?`" + ${l}_NAMED___[${JSON.stringify((0,o.camelCase)(s))}] + "`:t.modules?.exportOnlyLocals?`" + ${l}[${JSON.stringify(s)}] + "`:`" + ${l}.locals[${JSON.stringify(s)}] + "`)}else _=_.replace(RegExp(r,"g"),()=>`" + ${r} + "`)}return t.modules?.exportOnlyLocals?s+=t.modules.namedExport?_:`${t.esModule?"export default":"module.exports ="} {
14
14
  ${_}
15
15
  };
16
- `:(_&&(s+=r.modules?.namedExport?_:`___CSS_LOADER_EXPORT___.locals = {
16
+ `:(_&&(s+=t.modules?.namedExport?_:`___CSS_LOADER_EXPORT___.locals = {
17
17
  ${_}
18
18
  };
19
- `),s+=`${r.esModule?"export default":"module.exports ="} ___CSS_LOADER_EXPORT___;
19
+ `),s+=`${t.esModule?"export default":"module.exports ="} ___CSS_LOADER_EXPORT___;
20
20
  `)}
@@ -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)return void a(TypeError(`[lightning-loader]: implementation.transform must be an 'lightningcss' transform function. Received ${typeof p.transform}`));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";module.exports=function(e,a){return(a||(a={}),"string"!=typeof(e=e&&e.__esModule?e.default:e))?"Buffer"===e.type&&e.data?`data:${function(e){let a=(function(e,a=0){return e.slice(a,16).map(e=>e.toString(16).padStart(2,"0")).join("")})(e,0).toLowerCase();for(let[e,f]of Object.entries({"0001000000":"font/ttf","4f54544f":"font/otf","774f4646":"font/woff","774f4632":"font/woff2","89504e470d0a1a0a":"image/png",ffd8ffe0:"image/jpeg",ffd8ffdb:"image/jpeg",ffd8ffee:"image/jpeg",ffd8ffe000104a4649460001:"image/jpeg","ffd8ffe1????457869660000":"image/jpeg","0000000c4a584c200d0a870a":"image/jxl","474946383761":"image/gif","474946383961":"image/gif","49492a00":"image/tif","49492b00":"image/tif","4d4d002a":"image/tiff","4d4d002b":"image/tiff","52494646????????57454250":"image/webp","424d":"image/bmp","00000100":"image/x-icon","69636e73":"image/x-icns","6674797068656963":"image/heic","667479706d":"image/heic",ff4fff51:"image/jp2","0000000c6a5020200d0a870a":"image/jp2","667479704d534e56":"video/mp4","6674797069736f6d":"video/mp4","1a45dfa3":"video/webm","52494646????????41564920":"video/avi","000001ba":"video/mpeg","000001b3":"video/mpeg","464c56":"video/x-flv",494433:"audio/mpeg","4f676753":"audio/ogg","52494646????????57415645":"audio/wav","664c6143":"audio/flac","4d546864":"audio/midi","3026b2758e66cf11a6d900aa0062ce6c":"application/x-ms-asf"}))if(a.startsWith(e))return f;return"unknown"}(e.data)};base64,${btoa(Array.from(e.data,e=>String.fromCharCode(e)).join(""))}`:e:(/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),a.hash&&(e+=a.hash),/["'() \t\n]/.test(e)||a.needQuotes)?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e};
1
+ "use strict";module.exports=function(e,a){if(a||(a={}),"string"!=typeof(e=e&&e.__esModule?e.default:e))return"Buffer"===e.type&&e.data?`data:${function(e){let a=(function(e,a=0){return e.slice(a,16).map(e=>e.toString(16).padStart(2,"0")).join("")})(e,0).toLowerCase();for(let[e,f]of Object.entries({"0001000000":"font/ttf","4f54544f":"font/otf","774f4646":"font/woff","774f4632":"font/woff2","89504e470d0a1a0a":"image/png",ffd8ffe0:"image/jpeg",ffd8ffdb:"image/jpeg",ffd8ffee:"image/jpeg",ffd8ffe000104a4649460001:"image/jpeg","ffd8ffe1????457869660000":"image/jpeg","0000000c4a584c200d0a870a":"image/jxl","474946383761":"image/gif","474946383961":"image/gif","49492a00":"image/tif","49492b00":"image/tif","4d4d002a":"image/tiff","4d4d002b":"image/tiff","52494646????????57454250":"image/webp","424d":"image/bmp","00000100":"image/x-icon","69636e73":"image/x-icns","6674797068656963":"image/heic","667479706d":"image/heic",ff4fff51:"image/jp2","0000000c6a5020200d0a870a":"image/jp2","667479704d534e56":"video/mp4","6674797069736f6d":"video/mp4","1a45dfa3":"video/webm","52494646????????41564920":"video/avi","000001ba":"video/mpeg","000001b3":"video/mpeg","464c56":"video/x-flv",494433:"audio/mpeg","4f676753":"audio/ogg","52494646????????57415645":"audio/wav","664c6143":"audio/flac","4d546864":"audio/midi","3026b2758e66cf11a6d900aa0062ce6c":"application/x-ms-asf"}))if(a.startsWith(e))return f;return"unknown"}(e.data)};base64,${btoa(Array.from(e.data,e=>String.fromCharCode(e)).join(""))}`:e;return(/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),a.hash&&(e+=a.hash),/["'() \t\n]/.test(e)||a.needQuotes)?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(exports,{camelCase:function(){return d},dashesCamelCase:function(){return h},getFilter:function(){return i},getPreRequester:function(){return u},isDataUrl:function(){return l},isUrlRequestable:function(){return n},normalizeSourceMapForRuntime:function(){return f},requestify:function(){return s},resolveRequests:function(){return o},urlToRequest:function(){return a}});const e=require("node:path"),t=require("node:url"),r=/^[A-Z]:[/\\]|^\\\\/i;function a(e,t){let a;if(""===e)return"";let o=/^[^?]*~/;if(r.test(e))a=e;else if(void 0!==t&&!1!==t&&e.startsWith("/"))switch(typeof t){case"string":a=o.test(t)?t.replace(/([^~/])$/,"$1/")+e.slice(1):t+e;break;case"boolean":a=e;break;default:throw Error(`Unexpected parameters to loader-utils 'urlToRequest': url = ${e}, root = ${t}.`)}else a=/^\.\.?\//.test(e)?e:`./${e}`;return o.test(a)&&(a=a.replace(o,"")),a}async function o(e,t,r){return e(t,r[0]).then(e=>e).catch(a=>{let[,...s]=r;if(0===s.length)throw a;return o(e,t,s)})}function s(e,r){return/^file:/i.test(e)?(0,t.fileURLToPath)(e):/^[a-z][a-z0-9+.-]*:/i.test(e)?e:"/"===e.charAt(0)?a(e,r):a(e)}function n(e){return!(e.startsWith("//")||/^(https?:)?\/\//.test(e))&&(!!(/^file:/i.test(e)||/^[a-z][a-z0-9+.-]*:/i.test(e))||!e.startsWith("#"))}function l(e){return!!/^data:/i.test(e)}function u({loaders:e,loaderIndex:t}){let r=Object.create(null);return a=>{if(r[a])return r[a];if(!1===a)r[a]="";else{let o=e.slice(t,t+1+("number"!=typeof a?0:a)).map(e=>e.request).join("!");r[a]=`-!${o}!`}return r[a]}}function i(e,t){return(...r)=>"function"!=typeof e||e(...r,t)}const c=/^[a-z]:[/\\]|^\\\\/i,p=/^[a-z0-9+\-.]+:/i;function f(t,r){let a=t?t.toJSON():null;return a&&(delete a.file,a.sourceRoot="",a.sources=a.sources?.map(t=>{var a;if(t.startsWith("<")||"path-relative"!=("/"===t[0]?"/"===t[1]?"scheme-relative":"path-absolute":c.test(t)?"path-absolute":p.test(t)?"absolute":"path-relative"))return t;let o=(0,e.dirname)(r.resourcePath),s=(0,e.resolve)(o,t),n=(a=(0,e.relative)(r.rootContext,s),"\\"===e.sep?a.replace(/\\/g,"/"):a);return`moneko://${n}`})),JSON.stringify(a)}function h(e){return e.replace(/-+(\w)/g,(e,t)=>t.toUpperCase())}const C=(e,t)=>{let r=!1,a=!1,o=!1;for(let s=0;s<e.length;s++){let n=e[s];r&&/[\p{Lu}]/u.test(n)?(e=`${e.slice(0,s)}-${e.slice(s)}`,r=!1,o=a,a=!0,s++):a&&o&&/[\p{Ll}]/u.test(n)?(e=`${e.slice(0,s-1)}-${e.slice(s-1)}`,o=a,a=!1,r=!0):(r=n.toLocaleLowerCase(t)===n&&n.toLocaleUpperCase(t)!==n,o=a,a=n.toLocaleUpperCase(t)===n&&n.toLocaleLowerCase(t)!==n)}return e},L=e=>e.replace(/^[\p{Lu}](?![\p{Lu}])/gu,e=>e.toLowerCase()),g=(e,t)=>e.replace(/[_.\- ]+([\p{Alpha}\p{N}_]|$)/gu,(e,r)=>r.toLocaleUpperCase(t.locale)).replace(/\d+([\p{Alpha}\p{N}_]|$)/gu,e=>e.toLocaleUpperCase(t.locale)),d=(e,t)=>{if(!("string"==typeof e||Array.isArray(e)))throw TypeError("Expected the input to be `string | string[]`");return(t={pascalCase:!1,preserveConsecutiveUppercase:!1,...t},0===(e=Array.isArray(e)?e.map(e=>e.trim()).filter(e=>e.length).join("-"):e.trim()).length)?"":1===e.length?t.pascalCase?e.toLocaleUpperCase(t.locale):e.toLocaleLowerCase(t.locale):(e!==e.toLocaleLowerCase(t.locale)&&(e=C(e,t.locale)),e=e.replace(/^[_.\- ]+/,""),e=t.preserveConsecutiveUppercase?L(e):e.toLocaleLowerCase(),t.pascalCase&&(e=e.charAt(0).toLocaleUpperCase(t.locale)+e.slice(1)),g(e,t))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=exports,t={get camelCase(){return d},get dashesCamelCase(){return L},get getFilter(){return f},get getPreRequester(){return p},get isDataUrl(){return c},get isUrlRequestable(){return i},get normalizeSourceMapForRuntime(){return C},get requestify(){return u},get resolveRequests(){return n},get urlToRequest(){return l}};for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:Object.getOwnPropertyDescriptor(t,r).get});const a=require("node:path"),s=require("node:url"),o=/^[A-Z]:[/\\]|^\\\\/i;function l(e,t){let r;if(""===e)return"";let a=/^[^?]*~/;if(o.test(e))r=e;else if(void 0!==t&&!1!==t&&e.startsWith("/"))switch(typeof t){case"string":r=a.test(t)?t.replace(/([^~/])$/,"$1/")+e.slice(1):t+e;break;case"boolean":r=e;break;default:throw Error(`Unexpected parameters to loader-utils 'urlToRequest': url = ${e}, root = ${t}.`)}else r=/^\.\.?\//.test(e)?e:`./${e}`;return a.test(r)&&(r=r.replace(a,"")),r}async function n(e,t,r){return e(t,r[0]).then(e=>e).catch(a=>{let[,...s]=r;if(0===s.length)throw a;return n(e,t,s)})}function u(e,t){return/^file:/i.test(e)?(0,s.fileURLToPath)(e):/^[a-z][a-z0-9+.-]*:/i.test(e)?e:"/"===e.charAt(0)?l(e,t):l(e)}function i(e){return!(e.startsWith("//")||/^(https?:)?\/\//.test(e))&&(!!(/^file:/i.test(e)||/^[a-z][a-z0-9+.-]*:/i.test(e))||!e.startsWith("#"))}function c(e){return!!/^data:/i.test(e)}function p({loaders:e,loaderIndex:t}){let r=Object.create(null);return a=>{if(r[a])return r[a];if(!1===a)r[a]="";else{let s=e.slice(t,t+1+("number"!=typeof a?0:a)).map(e=>e.request).join("!");r[a]=`-!${s}!`}return r[a]}}function f(e,t){return(...r)=>"function"!=typeof e||e(...r,t)}const g=/^[a-z]:[/\\]|^\\\\/i,h=/^[a-z0-9+\-.]+:/i;function C(e,t){let r=e?e.toJSON():null;return r&&(delete r.file,r.sourceRoot="",r.sources=r.sources?.map(e=>{var r,s;if(e.startsWith("<")||"path-relative"!=("/"===(s=e)[0]?"/"===s[1]?"scheme-relative":"path-absolute":g.test(s)?"path-absolute":h.test(s)?"absolute":"path-relative"))return e;let o=(0,a.dirname)(t.resourcePath),l=(0,a.resolve)(o,e),n=(r=(0,a.relative)(t.rootContext,l),"\\"===a.sep?r.replace(/\\/g,"/"):r);return`moneko://${n}`})),JSON.stringify(r)}function L(e){return e.replace(/-+(\w)/g,(e,t)=>t.toUpperCase())}const d=(e,t)=>{let r,a;if(!("string"==typeof e||Array.isArray(e)))throw TypeError("Expected the input to be `string | string[]`");return(t={pascalCase:!1,preserveConsecutiveUppercase:!1,...t},0===(e=Array.isArray(e)?e.map(e=>e.trim()).filter(e=>e.length).join("-"):e.trim()).length)?"":1===e.length?t.pascalCase?e.toLocaleUpperCase(t.locale):e.toLocaleLowerCase(t.locale):(e!==e.toLocaleLowerCase(t.locale)&&(e=((e,t)=>{let r=!1,a=!1,s=!1;for(let o=0;o<e.length;o++){let l=e[o];r&&/[\p{Lu}]/u.test(l)?(e=`${e.slice(0,o)}-${e.slice(o)}`,r=!1,s=a,a=!0,o++):a&&s&&/[\p{Ll}]/u.test(l)?(e=`${e.slice(0,o-1)}-${e.slice(o-1)}`,s=a,a=!1,r=!0):(r=l.toLocaleLowerCase(t)===l&&l.toLocaleUpperCase(t)!==l,s=a,a=l.toLocaleUpperCase(t)===l&&l.toLocaleLowerCase(t)!==l)}return e})(e,t.locale)),e=e.replace(/^[_.\- ]+/,""),e=t.preserveConsecutiveUppercase?e.replace(/^[\p{Lu}](?![\p{Lu}])/gu,e=>e.toLowerCase()):e.toLocaleLowerCase(),t.pascalCase&&(e=e.charAt(0).toLocaleUpperCase(t.locale)+e.slice(1)),r=e,a=t,r.replace(/[_.\- ]+([\p{Alpha}\p{N}_]|$)/gu,(e,t)=>t.toLocaleUpperCase(a.locale)).replace(/\d+([\p{Alpha}\p{N}_]|$)/gu,e=>e.toLocaleUpperCase(a.locale)))};
@@ -1 +1 @@
1
- "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(exports,{custom:function(){return n},default:function(){return s}});const t=(e=require("../commom/log.mjs"))&&e.__esModule?e:{default:e},r=require("../commom/transform-solid-js.mjs");async function o(e){let o=this.async();this.cacheable&&this.cacheable();let n=this.getOptions();(0,r.transformSolidJs)(e,{...n,filename:this.resourcePath}).then(t=>{null===t?o(Error(`Failed to transform "${this.resourcePath}"`),e):o(null,t.code??void 0,t.map??void 0)}).catch(r=>{r&&((0,t.default)(r),o(r,e))})}function n(e){return o.bind(this,e)}const s=o;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=exports,r={get custom(){return c},get default(){return a}};for(var o in r)Object.defineProperty(t,o,{enumerable:!0,get:Object.getOwnPropertyDescriptor(r,o).get});const s=require("@moneko/convert/solid"),n=(e=require("../commom/log.mjs"))&&e.__esModule?e:{default:e};async function i(e){let t=this.async();this.cacheable&&this.cacheable();let r=this.getOptions();(0,s.transformSolidJs)(e,{...r,filename:this.resourcePath}).then(r=>{null===r?t(Error(`Failed to transform "${this.resourcePath}"`),e):t(null,r.code??void 0,r.map??void 0)}).catch(r=>{r&&((0,n.default)(r),t(r,e))})}function c(e){return i.bind(this,e)}const a=i;
@@ -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=/*#__PURE__*/s(require("../commom/log.mjs")),r=/*#__PURE__*/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)(e)}return s}
@@ -1,2 +1,2 @@
1
1
  let e;import{join as s,sep as o}from"node:path";import{saveFileSync as t}from"@moneko/utils";import r,{CUSTOMCONFIG as a}from"./commom/paths.mjs";import n from"./commom/reactive-object.mjs";import i from"./commom/require.mjs";import m from"./commom/rule.mjs";import l from"./options/css-extract.mjs";import c from"./options/modify-vars.mjs";import d from"./options/reslove.mjs";import p from"./options/swcrc.mjs";import{getLightningCssTargets as u}from"./polyfills/targets.mjs";import{node_modules as f,resolveProgram as h,toCamelCase as j}from"./utils/index.mjs";import y from"./utils/svg-to-data-uri.mjs";import{comment as g,getCommentPath as v}from"./vm/docs.mjs";import x from"./vm/generate-doc.mjs";import{outputConfig as w}from"./common.mjs";import{CONFIG as P}from"./config.mjs";import{FRAMEWORK as L,isDev as M,isLibrary as _}from"./process-env.mjs";let k={loader:s(r.corePath,"/loader/lightning-css/loader.cjs"),options:{sourceMap:!!P.sourceMap,targets:u(),rem:!!P.rem,esModule:!0,modules:{auto(e){if(e){if(e.endsWith(".css")&&!e.endsWith("module.css"))return!1;for(let s=0,o=$.length;s<o;s++)if(e.includes($[s]))return m.css_module.test(e)}return m.node_modules_css_module.test(e)},localIdentName:"[hash]_[local]",namedExport:!0,exportLocalsConvention:"dashesOnly",exportOnlyLocals:!1,getJSON:P.cssModuleDefinition?function(e){q.setData(`${e.resourcePath}.d.ts`,`${e.exports.map(({name:e,value:s})=>`export const ${j(e)}: '${s}';`).join("\n")}
2
- `)}:void 0},importLoaders:2}},O={loader:d.lessLoader,options:{sourceMap:!!P.sourceMap,lessOptions:{modifyVars:c,javascriptEnabled:!0}}},C=new Map;function I(e){if(C.has(e))return C.get(e);try{let s;let t=i.resolve(e).split(o),r=t.lastIndexOf("node_modules");return s=-1!==r?t.slice(0,r).join(o):t.join(o),C.set(e,[s]),[s]}catch{try{let s=i.resolve(`${e}${o}package.json`).replace(`${o}package.json`,"");C.set(e,[s])}catch{C.set(e,[f(e),f(`.pnpm/${e}`)])}return C.get(e)}}let $=[...P.cssModules,`@moneko/${L}`,"neko-ui"].map(I).flat(),b=["components","example","mock","site","src","server"].map(h);function B(e){return new Promise(s=>{s([...b,r.corePath,...P.rulesInclude?.[e]?.map(I).flat()||[]])})}a&&b.push(h(a)),P.overrideResolve&&P.overrideResolve.override&&b.push(P.overrideResolve.override);let J=await Promise.all([B("css"),B("js"),B("media"),B("wasm"),B("font")]),W=J[0],R=J[1],D=J[2],E=J[3],N=J[4];d.sassLoader&&(e={loader:d.sassLoader,options:{implementation:await import("sass"),sassOptions:{}}});let S=_&&M&&{test:m.tsdoc,include:P.alias["@pkg"],exclude:[/node_modules\/(?!(@app|@moneko)).+/,m.__tests__],enforce:"pre",loader:s(r.corePath,"/loader/ts-doc.cjs"),options:{comment:g,generateDoc:x,getCommentPath:v}},z=w.library?.type==="umd"&&!1===P.htmlPluginOption,Q=[{resourceQuery:/raw/i,type:"asset/source"},{resourceQuery:/url/i,type:"asset/resource",generator:{filename(e){let s=e.filename;return s&&s.toLocaleLowerCase().endsWith("wasm?url")?"wasm/[hash][ext]":"assets/[hash][ext]"}}},{test:m.wasm,type:"webassembly/async",include:E},{test:m.txt,type:"asset/source"},{test:m.image,type:"asset",dependency:{not:["url"]},parser:{dataUrlCondition:z?()=>!0:{maxSize:4096}},generator:{filename:e=>e.filename?.toLocaleLowerCase().endsWith(".svg")?"assets/svg/[hash][ext]":"assets/images/[hash][ext]",dataUrl:(e,s)=>s.filename.toLocaleLowerCase().endsWith(".svg")?y(e.toString()):e},include:D},{test:m.video,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/video/[hash][ext]"},include:D},{test:m.font,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/fonts/[hash][ext]"},include:N}],U=P.prefixJsLoader.filter(Boolean)||[];"react"===L&&P.reactCompiler&&U.unshift({loader:s(r.corePath,"/loader/react-compiler.cjs"),options:P.reactCompiler}),P.cssInJs&&"object"==typeof P.cssInJs.minify&&U.unshift({loader:s(r.corePath,"/loader/css-in-js-minify.cjs"),options:Object.assign({moduleName:"@moneko/css",allowFuncs:["css","injectGlobal"]},P.cssInJs.minify)});let q=new n({});q.on("change",(e,s)=>{t(e,s)});export default(o=>{let t={react:{loader:d.swcLoader,options:p(o)},solid:{loader:s(r.corePath,"/loader/solid.cjs"),options:{jsxOptions:P.jsxDomExpressions,refresh:P.refresh}}}[L];return{parser:{javascript:{commonjsMagicComments:!0,dynamicImportMode:"lazy",dynamicImportPrefetch:!1,dynamicImportPreload:!1,importMeta:!0,importMetaContext:!0}},noParse:P.noParse,rules:[!1!==P.htmlPluginOption&&S,{oneOf:[...Q,{test:m.js,use:[...U,t].filter(Boolean),include:R},{test:m.css,use:[l,k],include:W},e&&{test:m.scss,use:[l,k,e],include:W},{test:m.less,use:[l,k,O],include:W},{test:m.markdown,use:[...U,{loader:s(r.corePath,"/loader/mdx.cjs"),options:P.mdx}].filter(Boolean),exclude:[/node_modules\/(?!(@app|@moneko)).+/]}].filter(Boolean)},...P.moduleRules].filter(Boolean)}});
2
+ `)}:void 0},importLoaders:2}},O={loader:d.lessLoader,options:{sourceMap:!!P.sourceMap,lessOptions:{modifyVars:c,javascriptEnabled:!0}}},C=new Map;function I(e){if(C.has(e))return C.get(e);try{let s,t=i.resolve(e).split(o),r=t.lastIndexOf("node_modules");return s=-1!==r?t.slice(0,r).join(o):t.join(o),C.set(e,[s]),[s]}catch{try{let s=i.resolve(`${e}${o}package.json`).replace(`${o}package.json`,"");C.set(e,[s])}catch{C.set(e,[f(e),f(`.pnpm/${e}`)])}return C.get(e)}}let $=[...P.cssModules,`@moneko/${L}`,"neko-ui"].map(I).flat(),b=["components","example","mock","site","src","server"].map(h);function B(e){return new Promise(s=>{s([...b,r.corePath,...P.rulesInclude?.[e]?.map(I).flat()||[]])})}a&&b.push(h(a)),P.overrideResolve&&P.overrideResolve.override&&b.push(P.overrideResolve.override);let J=await Promise.all([B("css"),B("js"),B("media"),B("wasm"),B("font")]),W=J[0],R=J[1],D=J[2],E=J[3],N=J[4];d.sassLoader&&(e={loader:d.sassLoader,options:{implementation:await import("sass"),sassOptions:{}}});let S=_&&M&&{test:m.tsdoc,include:P.alias["@pkg"],exclude:[/node_modules\/(?!(@app|@moneko)).+/,m.__tests__],enforce:"pre",loader:s(r.corePath,"/loader/ts-doc.cjs"),options:{comment:g,generateDoc:x,getCommentPath:v}},z=w.library?.type==="umd"&&!1===P.htmlPluginOption,Q=[{resourceQuery:/raw/i,type:"asset/source"},{resourceQuery:/url/i,type:"asset/resource",generator:{filename(e){let s=e.filename;return s&&s.toLocaleLowerCase().endsWith("wasm?url")?"wasm/[hash][ext]":"assets/[hash][ext]"}}},{test:m.wasm,type:"webassembly/async",include:E},{test:m.txt,type:"asset/source"},{test:m.image,type:"asset",dependency:{not:["url"]},parser:{dataUrlCondition:z?()=>!0:{maxSize:4096}},generator:{filename:e=>e.filename?.toLocaleLowerCase().endsWith(".svg")?"assets/svg/[hash][ext]":"assets/images/[hash][ext]",dataUrl:(e,s)=>s.filename.toLocaleLowerCase().endsWith(".svg")?y(e.toString()):e},include:D},{test:m.video,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/video/[hash][ext]"},include:D},{test:m.font,type:"asset",dependency:{not:["url"]},generator:{filename:"assets/fonts/[hash][ext]"},include:N}],U=P.prefixJsLoader.filter(Boolean)||[];"react"===L&&P.reactCompiler&&U.unshift({loader:s(r.corePath,"/loader/react-compiler.cjs"),options:P.reactCompiler}),P.cssInJs&&"object"==typeof P.cssInJs.minify&&U.unshift({loader:s(r.corePath,"/loader/css-in-js-minify.cjs"),options:Object.assign({moduleName:"@moneko/css",allowFuncs:["css","injectGlobal"]},P.cssInJs.minify)});let q=new n({});q.on("change",(e,s)=>{t(e,s)});export default(o=>{let t={react:{loader:d.swcLoader,options:p(o)},solid:{loader:s(r.corePath,"/loader/solid.cjs"),options:{jsxOptions:P.jsxDomExpressions,refresh:P.refresh}}}[L];return{parser:{javascript:{commonjsMagicComments:!0,dynamicImportMode:"lazy",dynamicImportPrefetch:!1,dynamicImportPreload:!1,importMeta:!0,importMetaContext:!0}},noParse:P.noParse,rules:[!1!==P.htmlPluginOption&&S,{oneOf:[...Q,{test:m.js,use:[...U,t].filter(Boolean),include:R},{test:m.css,use:[l,k],include:W},e&&{test:m.scss,use:[l,k,e],include:W},{test:m.less,use:[l,k,O],include:W},{test:m.markdown,use:[...U,{loader:s(r.corePath,"/loader/mdx.cjs"),options:P.mdx}].filter(Boolean),exclude:[/node_modules\/(?!(@app|@moneko)).+/]}].filter(Boolean)},...P.moduleRules].filter(Boolean)}});
@@ -1 +1 @@
1
- import e from"marked-completed";let r=!0;export default function(t){return r&&(r=!1,function(){let r=new e.Renderer;r.code=(e,r)=>"treeview"===r?`<n-tree data="${e}" />`:`<n-code class="n-code" toolbar="${JSON.stringify(["copy"])}" language="${r}" line-number="true">${encodeURIComponent(e)}</n-code>`,r.image=(e,r,t)=>`<n-img lazy="true" role="img" src="${e}" alt="${t}" ${r?`title="${r}"`:""}></n-img>`,e.use({langToolbar:["copy"],headerPrefix:"# ",breaks:!0,pedantic:!1,smartLists:!0,smartypants:!0,xhtml:!0,renderer:r})}()),e.parse(t)}
1
+ import e from"marked-completed";let r=!0;export default function(t){if(r){r=!1;let t=new e.Renderer;t.code=(e,r)=>"treeview"===r?`<n-tree data="${e}" />`:`<n-code class="n-code" toolbar="${JSON.stringify(["copy"])}" language="${r}" line-number="true">${encodeURIComponent(e)}</n-code>`,t.image=(e,r,t)=>`<n-img lazy="true" role="img" src="${e}" alt="${t}" ${r?`title="${r}"`:""}></n-img>`,e.use({langToolbar:["copy"],headerPrefix:"# ",breaks:!0,pedantic:!1,smartLists:!0,smartypants:!0,xhtml:!0,renderer:t})}return e.parse(t)}
@@ -1 +1 @@
1
- import{compression as e}from"@moneko/utils";export class CompressionPlugin{constructor(e){this.name="compression-plugin";let{test:s,algorithm:t="brotli"}=e||{};this.options={test:s,algorithm:t,filename:`[path][base].${"brotli"===t?"br":"gz"}`}}runCompressionAlgorithm(s){return Buffer.from(e(Buffer.isBuffer(s)?Array.from(s):s,this.options.algorithm))}async compress(e,s,t){let o=s.getCache(this.name),{RawSource:i}=e.webpack.sources;await Promise.all(Object.keys(t).map(async t=>{let r;let a="gzip"===this.options.algorithm?"gzipped":`${this.options.algorithm}ed`,{info:m,source:p}=s.getAsset(t);if(m.compressed||!e.webpack.ModuleFilenameHelpers.matchObject.bind(void 0,this.options)(t)||m.related&&m.related[a])return!1;let n=o.getItemCache(JSON.stringify(`${t}${this.options.algorithm}`),o.getLazyHashedEtag(p)),l=await n.getPromise()||{};if(!l.source){if("function"==typeof p.buffer)r=p.buffer();else{let e=p.source();r=Buffer.isBuffer(e)?e:Buffer.from(e)}if(!l.compressed&&r)try{l.compressed=this.runCompressionAlgorithm(r)}catch(e){s.errors.push(e);return}l.compressed&&(l.source=new i(l.compressed)),await n.storePromise(l)}let f=s.getPath(this.options.filename,{filename:t}),c={compressed:!0};m.immutable&&/(\[name]|\[base]|\[file])/.test(this.options.filename)&&(c.immutable=!0),s.updateAsset(t,p,{related:{[a]:f}}),s.emitAsset(f,l.source,c)}))}apply(e){let s=this.name;e.hooks.thisCompilation.tap(s,t=>{t.hooks.processAssets.tapPromise({name:s,stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_TRANSFER,additionalAssets:!0},s=>this.compress(e,t,s))})}}
1
+ import{compression as e}from"@moneko/utils";export class CompressionPlugin{constructor(e){this.name="compression-plugin";let{test:s,algorithm:t="brotli"}=e||{};this.options={test:s,algorithm:t,filename:`[path][base].${"brotli"===t?"br":"gz"}`}}runCompressionAlgorithm(s){return Buffer.from(e(Buffer.isBuffer(s)?Array.from(s):s,this.options.algorithm))}async compress(e,s,t){let o=s.getCache(this.name),{RawSource:i}=e.webpack.sources;await Promise.all(Object.keys(t).map(async t=>{let r,a="gzip"===this.options.algorithm?"gzipped":`${this.options.algorithm}ed`,{info:m,source:p}=s.getAsset(t);if(m.compressed||!e.webpack.ModuleFilenameHelpers.matchObject.bind(void 0,this.options)(t)||m.related&&m.related[a])return!1;let n=o.getItemCache(JSON.stringify(`${t}${this.options.algorithm}`),o.getLazyHashedEtag(p)),l=await n.getPromise()||{};if(!l.source){if("function"==typeof p.buffer)r=p.buffer();else{let e=p.source();r=Buffer.isBuffer(e)?e:Buffer.from(e)}if(!l.compressed&&r)try{l.compressed=this.runCompressionAlgorithm(r)}catch(e){s.errors.push(e);return}l.compressed&&(l.source=new i(l.compressed)),await n.storePromise(l)}let f=s.getPath(this.options.filename,{filename:t}),c={compressed:!0};m.immutable&&/(\[name]|\[base]|\[file])/.test(this.options.filename)&&(c.immutable=!0),s.updateAsset(t,p,{related:{[a]:f}}),s.emitAsset(f,l.source,c)}))}apply(e){let s=this.name;e.hooks.thisCompilation.tap(s,t=>{t.hooks.processAssets.tapPromise({name:s,stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_TRANSFER,additionalAssets:!0},s=>this.compress(e,t,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 o from"webpack";import a from"../commom/log.mjs";let l="CopyPlugin",r=o.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 a(e),!0}}apply(e){e.hooks.thisCompilation.tap({name:l,stage:e.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},e=>{let t=e.getCache(l);e.hooks.processAssets.tapPromise(l,async()=>{let i=this.getFiles();await Promise.all(i.files.map(async i=>{let o=this.hasFileChanged(i),a=t.getItemCache(i,null),l=await a.getPromise();if(l&&!o)return void e.emitAsset(i,l.source);let m=await s(i);if(null!==m){let t=new r(Buffer.from(m));await a.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{Buffer as s}from"node:buffer";import{transform as e}from"lightningcss";import i from"webpack";let t=new TextEncoder,o=i.sources.RawSource,n=i.sources.SourceMapSource,a=i.ModuleFilenameHelpers.matchObject,r="lightning-css-minify",m=/\.(c|le|sc|sa)ss(?:\?.*)?$/i;export class LightningCssMinifyPlugin{constructor(s={}){let{implementation:i,...t}=s;if(i&&"function"!=typeof i.transform)throw TypeError(`[LightningCssMinifyPlugin]: implementation.transform must be an 'lightningcss' transform function. Received ${typeof i.transform}`);this.transform=i?.transform??e,this.options=t}apply(s){let e=JSON.stringify({name:r,version:"0.0.1",options:this.options});s.hooks.compilation.tap(r,s=>{s.hooks.chunkHash.tap(r,(s,i)=>i.update(e)),s.hooks.processAssets.tapPromise({name:r,stage:i.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE,additionalAssets:!0},async()=>await this.transformAssets(s)),s.hooks.statsPrinter.tap(r,s=>{s.hooks.print.for("asset.info.minimized").tap(r,(s,{green:e,formatFlag:i})=>s?e(i("minimized")):void 0)})})}async transformAssets(e){let{options:{devtool:i}}=e.compiler,{include:c,exclude:p,test:f,sourceMap:l=void 0===this.options.sourceMap?!!(i&&i.includes("source-map")):this.options.sourceMap,...u}=this.options,h=e.getCache(r),d=e.getAssets().filter(s=>!s.info.minimized&&(f||m).test(s.name)&&a({include:c,exclude:p},s.name));await Promise.all(d.map(async i=>{let a;let r=h.getItemCache(JSON.stringify(i.name),h.getLazyHashedEtag(i.source)),m=await r.getPromise();if(m&&m.minimized){e.updateAsset(i.name,m.source,{...i.info,minimized:!0});return}let c=i.source.source(),p="string"==typeof c?t.encode(c):c,f=this.transform({filename:i.name,code:p,minify:!0,sourceMap:l,...u}),d=s.from(f.code),g={source:a=l?new n(d,i.name,f.map||"",c,f.map||"",!0):new o(d),minimized:!0};await r.storePromise(g),e.updateAsset(i.name,a,{...i.info,minimized:!0})}))}}
1
+ import{Buffer as s}from"node:buffer";import{transform as e}from"lightningcss";import i from"webpack";let t=new TextEncoder,o=i.sources.RawSource,n=i.sources.SourceMapSource,a=i.ModuleFilenameHelpers.matchObject,r="lightning-css-minify",m=/\.(c|le|sc|sa)ss(?:\?.*)?$/i;export class LightningCssMinifyPlugin{constructor(s={}){let{implementation:i,...t}=s;if(i&&"function"!=typeof i.transform)throw TypeError(`[LightningCssMinifyPlugin]: implementation.transform must be an 'lightningcss' transform function. Received ${typeof i.transform}`);this.transform=i?.transform??e,this.options=t}apply(s){let e=JSON.stringify({name:r,version:"0.0.1",options:this.options});s.hooks.compilation.tap(r,s=>{s.hooks.chunkHash.tap(r,(s,i)=>i.update(e)),s.hooks.processAssets.tapPromise({name:r,stage:i.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE,additionalAssets:!0},async()=>await this.transformAssets(s)),s.hooks.statsPrinter.tap(r,s=>{s.hooks.print.for("asset.info.minimized").tap(r,(s,{green:e,formatFlag:i})=>s?e(i("minimized")):void 0)})})}async transformAssets(e){let{options:{devtool:i}}=e.compiler,{include:c,exclude:p,test:f,sourceMap:l=void 0===this.options.sourceMap?!!(i&&i.includes("source-map")):this.options.sourceMap,...u}=this.options,h=e.getCache(r),d=e.getAssets().filter(s=>!s.info.minimized&&(f||m).test(s.name)&&a({include:c,exclude:p},s.name));await Promise.all(d.map(async i=>{let a,r=h.getItemCache(JSON.stringify(i.name),h.getLazyHashedEtag(i.source)),m=await r.getPromise();if(m&&m.minimized)return void e.updateAsset(i.name,m.source,{...i.info,minimized:!0});let c=i.source.source(),p="string"==typeof c?t.encode(c):c,f=this.transform({filename:i.name,code:p,minify:!0,sourceMap:l,...u}),d=s.from(f.code),g={source:a=l?new n(d,i.name,f.map||"",c,f.map||"",!0):new o(d),minimized:!0};await r.storePromise(g),e.updateAsset(i.name,a,{...i.info,minimized:!0})}))}}
@@ -1 +1 @@
1
- import{minify as e}from"@swc/core";import s from"webpack";let o=s.sources.SourceMapSource;export class SwcMinifyPlugin{constructor(e){this.name="SwcMinifyPlugin",this.options={format:{comments:!1},ecma:2015,compress:{drop_console:!0,drop_debugger:!0,global_defs:{"@alert":"console.log"},pure_funcs:["console.log","console.warn","console.error","console.info"],ecma:2015,toplevel:!1,module:!1,ie8:!1,keep_classnames:void 0,keep_fnames:!1,top_retain:[],keep_infinity:!0},mangle:!0,sourceMap:!0,...e}}apply(t){t.hooks.compilation.tap(this.name,t=>{t.hooks.processAssets.tapAsync({name:this.name,stage:s.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE,additionalAssets:!0},async(s,i)=>{let a=t.getCache(this.name),n=Object.keys(s).filter(e=>e.endsWith(".js")&&!e.endsWith(".min.js"));try{await Promise.all(n.map(async s=>{let i=t.getAsset(s);if(!i||i.info.minimized)return;let n=a.getItemCache(JSON.stringify(i.name),a.getLazyHashedEtag(i.source)),r=await n.getPromise();if(r&&r.minimized){t.updateAsset(i.name,r.source,{...i.info,minimized:!0});return}let c=i.source.sourceAndMap();try{let s=await e(c.source.toString().replace(/\r\n/g,"\n"),this.options),a={sources:[i.name]};s.map&&((a=JSON.parse(s.map)).sources=[i.name],delete a.sourcesContent);let r={source:new o(s.code,i.name,a||"",c.source,c.map||"",!0),minimized:!0};await n.storePromise(r),t.updateAsset(i.name,r.source,{...i.info,minimized:!0})}catch(e){t.errors.push(e)}})),i()}catch(e){i(e)}})})}}
1
+ import{minify as e}from"@swc/core";import s from"webpack";let o=s.sources.SourceMapSource;export class SwcMinifyPlugin{constructor(e){this.name="SwcMinifyPlugin",this.options={format:{comments:!1},ecma:2015,compress:{drop_console:!0,drop_debugger:!0,global_defs:{"@alert":"console.log"},pure_funcs:["console.log","console.warn","console.error","console.info"],ecma:2015,toplevel:!1,module:!1,ie8:!1,keep_classnames:void 0,keep_fnames:!1,top_retain:[],keep_infinity:!0},mangle:!0,sourceMap:!0,...e}}apply(t){t.hooks.compilation.tap(this.name,t=>{t.hooks.processAssets.tapAsync({name:this.name,stage:s.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE,additionalAssets:!0},async(s,i)=>{let a=t.getCache(this.name),n=Object.keys(s).filter(e=>e.endsWith(".js")&&!e.endsWith(".min.js"));try{await Promise.all(n.map(async s=>{let i=t.getAsset(s);if(!i||i.info.minimized)return;let n=a.getItemCache(JSON.stringify(i.name),a.getLazyHashedEtag(i.source)),r=await n.getPromise();if(r&&r.minimized)return void t.updateAsset(i.name,r.source,{...i.info,minimized:!0});let c=i.source.sourceAndMap();try{let s=await e(c.source.toString().replace(/\r\n/g,"\n"),this.options),a={sources:[i.name]};s.map&&((a=JSON.parse(s.map)).sources=[i.name],delete a.sourcesContent);let r={source:new o(s.code,i.name,a||"",c.source,c.map||"",!0),minimized:!0};await n.storePromise(r),t.updateAsset(i.name,r.source,{...i.info,minimized:!0})}catch(e){t.errors.push(e)}})),i()}catch(e){i(e)}})})}}
@@ -1 +1 @@
1
- import e from"typescript";let t=e.SyntaxKind,a=e.factory.createModifier(t.DeclareKeyword),r=e.createPrinter({newLine:e.NewLineKind.LineFeed});function i(a){let r=i=>{var n;if((e.isInterfaceDeclaration(i)||e.isTypeAliasDeclaration(i)||e.isClassDeclaration(i)||e.isFunctionDeclaration(i)||e.isEnumDeclaration(i)||e.isVariableStatement(i)||e.isModuleDeclaration(i))&&(n=i).modifiers&&n.modifiers.some(e=>e.kind===t.DeclareKeyword)){let a=function(e){if(!e)return;let a=e.filter(e=>e.kind!==t.DeclareKeyword);return a.length>0?a:void 0}(i.modifiers);return function(t,a){if(e.isInterfaceDeclaration(t))return e.factory.updateInterfaceDeclaration(t,a,t.name,t.typeParameters,t.heritageClauses,t.members);if(e.isTypeAliasDeclaration(t))return e.factory.updateTypeAliasDeclaration(t,a,t.name,t.typeParameters,t.type);if(e.isClassDeclaration(t))return e.factory.updateClassDeclaration(t,a,t.name,t.typeParameters,t.heritageClauses,t.members);if(e.isFunctionDeclaration(t))return e.factory.updateFunctionDeclaration(t,a,t.asteriskToken,t.name,t.typeParameters,t.parameters,t.type,t.body);if(e.isEnumDeclaration(t))return e.factory.updateEnumDeclaration(t,a,t.name,t.members);if(e.isVariableStatement(t))return e.factory.updateVariableStatement(t,a,t.declarationList);if(e.isModuleDeclaration(t))return e.factory.updateModuleDeclaration(t,a,t.name,t.body);return t}(i,a)}return e.visitEachChild(i,r,a)};return t=>e.visitNode(t,r)}export default function(t,n){let o=t.replaceAll("\\","/"),c=e.createSourceFile(`@types/${o}.d.ts`,n,e.ScriptTarget.Latest,!0,e.ScriptKind.TS),l=e.transform(c,[i]),s=l.transformed[0],u=e.factory.createModuleDeclaration([a],e.factory.createStringLiteral(o),e.factory.createModuleBlock(s.statements),e.NodeFlags.None),d=[`// remote module: ${o}`,r.printNode(e.EmitHint.Unspecified,u,c)];return l.dispose(),d.join("\n")}
1
+ import e from"typescript";let t=e.SyntaxKind,a=e.factory.createModifier(t.DeclareKeyword),r=e.createPrinter({newLine:e.NewLineKind.LineFeed});function i(a){let r=i=>{if(n=i,(e.isInterfaceDeclaration(n)||e.isTypeAliasDeclaration(n)||e.isClassDeclaration(n)||e.isFunctionDeclaration(n)||e.isEnumDeclaration(n)||e.isVariableStatement(n)||e.isModuleDeclaration(n))&&(o=i).modifiers&&o.modifiers.some(e=>e.kind===t.DeclareKeyword)){let a=function(e){if(!e)return;let a=e.filter(e=>e.kind!==t.DeclareKeyword);return a.length>0?a:void 0}(i.modifiers);var n,o,c=i,l=a;if(e.isInterfaceDeclaration(c))return e.factory.updateInterfaceDeclaration(c,l,c.name,c.typeParameters,c.heritageClauses,c.members);if(e.isTypeAliasDeclaration(c))return e.factory.updateTypeAliasDeclaration(c,l,c.name,c.typeParameters,c.type);if(e.isClassDeclaration(c))return e.factory.updateClassDeclaration(c,l,c.name,c.typeParameters,c.heritageClauses,c.members);if(e.isFunctionDeclaration(c))return e.factory.updateFunctionDeclaration(c,l,c.asteriskToken,c.name,c.typeParameters,c.parameters,c.type,c.body);if(e.isEnumDeclaration(c))return e.factory.updateEnumDeclaration(c,l,c.name,c.members);if(e.isVariableStatement(c))return e.factory.updateVariableStatement(c,l,c.declarationList);else if(e.isModuleDeclaration(c))return e.factory.updateModuleDeclaration(c,l,c.name,c.body);return c}return e.visitEachChild(i,r,a)};return t=>e.visitNode(t,r)}export default function(t,n){let o=t.replaceAll("\\","/"),c=e.createSourceFile(`@types/${o}.d.ts`,n,e.ScriptTarget.Latest,!0,e.ScriptKind.TS),l=e.transform(c,[i]),s=l.transformed[0],d=e.factory.createModuleDeclaration([a],e.factory.createStringLiteral(o),e.factory.createModuleBlock(s.statements),e.NodeFlags.None),u=[`// remote module: ${o}`,r.printNode(e.EmitHint.Unspecified,d,c)];return l.dispose(),u.join("\n")}
@@ -1 +1 @@
1
- import{request as t}from"@moneko/request";import{updateFile as o}from"@moneko/utils";import e from"../commom/log.mjs";import{node_modules as m}from"./index.mjs";async function r(r,i){try{let e=`${r.startsWith("//")?`http:${r}`:r}/module-federation.d.ts`,s=await t(e,{responseType:"text",rejectUnauthorized:!1});o(m(`@types/${i}/index.d.ts`),s)}catch(t){e(t)}}export default r;
1
+ import{request as t}from"@moneko/request";import{updateFile as o}from"@moneko/utils";import e from"../commom/log.mjs";import{node_modules as r}from"./index.mjs";async function m(m,i){try{let e=`${m.startsWith("//")?`http:${m}`:m}/module-federation.d.ts`,s=await t(e,{responseType:"text",rejectUnauthorized:!1});o(r(`@types/${i}/index.d.ts`),s)}catch(t){e(t)}}export default m;
package/lib/vm/docs.mjs CHANGED
@@ -1 +1 @@
1
- import{relative as e,sep as t}from"node:path";import{loadFile as o,scanFolderSync as m}from"@moneko/utils";import a from"../commom/parse-module-meta.mjs";import r from"../commom/paths.mjs";import n from"../commom/reactive-object.mjs";import s from"../commom/rule.mjs";import{CONFIG as l}from"../config.mjs";import{FRAMEWORK as c,framework as p,isLibrary as i,isReact as d,isSolid as f}from"../process-env.mjs";import u from"./generate-doc.mjs";let g={react:"createElement",solid:"createComponent"}[c],$=a("@app/docs");export const docsModuleName=$.file;export const docsModulePkgJson=$.pkg;export const docsModuleMeta=$.meta;export const docs=new n({[docsModuleName]:"export default {}",[docsModulePkgJson]:docsModuleMeta});export const comment=new n({});export const getCommentPath=function(){let e=/\/(.+?)\.tsx?$/,t=l.alias["@pkg"]?.length;return o=>o.substring(t).replace(/\\/g,"/").replace(e,"@app/comment/$1.md")}();if(i&&!1!==l.htmlPluginOption){let n={},c=`import { ${g}${f?",Dynamic":""} } from "${p}${f?"/web":""}";import SuspenseComp from "@app/suspense";function call_then(res) {return {default: ${d?"() =>":""}${g}(${f?"Dynamic":"'div'"}, {${f?"innerHTML: res.default, component: 'div', class: 'n-md-box' ":"dangerouslySetInnerHTML: {__html:res.default}, className: 'n-md-box'"} })};}`,i=(e,o)=>{if(!e.endsWith("package.json")){let m=e.replace(/@app[/\\]comment[/\\]/,"").split(t),a=m.pop(),r=m.join("/");n[r]||(n[r]={}),o?n[r][a]&&delete n[r][a]:n[r][a]=`rr(() => ${g}(SuspenseComp, { comp: () => import(/* webpackChunkName: '${e}' */ '${e}?raw').then(call_then)}))rr`;let l={};for(let e in n)Object.prototype.hasOwnProperty.call(n,e)&&(l[e]=Object.values(n[e]));docs.setData(docsModuleName,`${c}export default ${JSON.stringify(l).replace(s.extract_func,"$1")}`)}};comment.on("change",(t,o)=>{i(e(r.nodeModules,t),o?.length<0)});let $=m(l.alias["@pkg"],["\\.tsx?$"]).filter(e=>!/(^|\/)\.[^\\/\\.]|\.test\./i.test(e)),h=await Promise.all($.map(async e=>({data:await o(e),file:e})));for(let e=0;e<h.length;e++){let t=h[e];if(t.data){let{file:e,pkg:o,meta:m}=a(getCommentPath(t.file));comment.setData(e,u(t.data,t.file)),comment.setData(o,m)}}}
1
+ import{relative as e,sep as t}from"node:path";import{loadFile as o,scanFolderSync as m}from"@moneko/utils";import a from"../commom/parse-module-meta.mjs";import r from"../commom/paths.mjs";import n from"../commom/reactive-object.mjs";import s from"../commom/rule.mjs";import{CONFIG as l}from"../config.mjs";import{FRAMEWORK as c,framework as p,isLibrary as i,isReact as d,isSolid as f}from"../process-env.mjs";import u from"./generate-doc.mjs";let g={react:"createElement",solid:"createComponent"}[c],$=a("@app/docs");export const docsModuleName=$.file;export const docsModulePkgJson=$.pkg;export const docsModuleMeta=$.meta;export const docs=new n({[docsModuleName]:"export default {}",[docsModulePkgJson]:docsModuleMeta});export const comment=new n({});export const getCommentPath=function(){let e=/\/(.+?)\.tsx?$/,t=l.alias["@pkg"]?.length;return o=>o.substring(t).replace(/\\/g,"/").replace(e,"@app/comment/$1.md")}();if(i&&!1!==l.htmlPluginOption){let n={},c=`import { ${g}${f?",Dynamic":""} } from "${p}${f?"/web":""}";import SuspenseComp from "@app/suspense";function call_then(res) {return {default: ${d?"() =>":""}${g}(${f?"Dynamic":"'div'"}, {${f?"innerHTML: res.default, component: 'div', class: 'n-md-box' ":"dangerouslySetInnerHTML: {__html:res.default}, className: 'n-md-box'"} })};}`;comment.on("change",(o,m)=>{((e,o)=>{if(!e.endsWith("package.json")){let m=e.replace(/@app[/\\]comment[/\\]/,"").split(t),a=m.pop(),r=m.join("/");n[r]||(n[r]={}),o?n[r][a]&&delete n[r][a]:n[r][a]=`rr(() => ${g}(SuspenseComp, { comp: () => import(/* webpackChunkName: '${e}' */ '${e}?raw').then(call_then)}))rr`;let l={};for(let e in n)Object.prototype.hasOwnProperty.call(n,e)&&(l[e]=Object.values(n[e]));docs.setData(docsModuleName,`${c}export default ${JSON.stringify(l).replace(s.extract_func,"$1")}`)}})(e(r.nodeModules,o),m?.length<0)});let i=m(l.alias["@pkg"],["\\.tsx?$"]).filter(e=>!/(^|\/)\.[^\\/\\.]|\.test\./i.test(e)),$=await Promise.all(i.map(async e=>({data:await o(e),file:e})));for(let e=0;e<$.length;e++){let t=$[e];if(t.data){let{file:e,pkg:o,meta:m}=a(getCommentPath(t.file));comment.setData(e,u(t.data,t.file)),comment.setData(o,m)}}}
@@ -1 +1 @@
1
- import{dirname as e}from"node:path";import t from"typescript";import{CONFIG as n}from"../config.mjs";import r from"../options/md-to-html.mjs";let l=t.ScriptKind,o=t.ScriptTarget,i=t.SyntaxKind,a=t.createSourceFile,c=t.forEachChild,s=t.getLeadingCommentRanges,u=t.isInterfaceDeclaration,f=t.isQuestionToken,m=t.isPropertySignature,p=t.isFunctionTypeNode,g=t.isUnionTypeNode,$=t.isMethodSignature,d={};function h(e){let t=s(e.getSourceFile().text,e.pos);if(t){let n=e.getSourceFile().text.slice(t[0].pos,t[0].end).match(/\/\*\*([\s\S]*?)\*\//);if(n)return n[1].replaceAll(/^\s*\* ?/gm,"").replace(/\s+$/,"").trim()}}function b(e){if(!e)return;let t=e.match(/@since\s+([^\n]+)/);return t?t[1].trim():void 0}function y(e){if(!e)return;let t=e.match(/@author (\w+)\s*(?:<([^>]+)>)?/);if(t&&t.length>0){let e=t[1].trim(),n=t[2]?.trim(),r=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(n);return n?r&&(n=`mailto:${n}`):n=`https://github.com/${e}`,`[![${e}-alt](https://avatars.githubusercontent.com/${e}?s=64)${e}](${n})`}}function x(e){if(!e)return;let t=e.match(/@ignore\s+([^\n]+)/);return t?t[1].trim():void 0}let A=/(?<!['"])(unknown|any|void|bigint|object|undefined|null|boolean|number|string|symbol)(?!['"])/g;function j(e,t){if(!e)return;let r=e.replaceAll(/\b([A-Z][a-zA-Z0-9]*)\b/g,e=>{if(d[e]){let r=`/${[n.basename,d[e]].join("/").split("/").filter(Boolean).join("/")}`;return t?`[\\color{#009688}{${e}}](${r})`:`[${e}](${r})`}return t?`\\color{#009688}{${e}}`:e});return t&&(r=r.replaceAll(A,e=>`\\color{#009688}{${e}}`)),r}function S(e){if(e)return(function(e){let t;if(!e)return;let n=[];for(;t=/\\color{([^|}]*)\|?([^|}]*)\|?([^|}]*)\|?([^}]*)}{([^}]*)}/g.exec(e);)n.push(t[0]);return e.replaceAll(/[{}[\]()=>]|keyof|typeof|true|false/g,e=>n.some(t=>t.includes(e))?e:`\\color{#569cd6}{${e}}`)})(e)?.replaceAll(/^\s*\|\s*|\s*\|\s*$/gm,"").replaceAll(/\n/g,"<br/>").replaceAll(/\*/g,"\\*").replaceAll(/\|/g,"\\|").replaceAll(/(['"])((?:(?!\1).)*)\1/g,"\\color{#ce9178}{$1$2$1}")}function T(e){if(e)return e.replaceAll(/@example\s*([\s\S]*?)(?=@[a-zA-Z]|\n*$)/g,"").replaceAll(/^@[a-z].+/gm,"").replaceAll(/(\n\s+)+/g,"<br />").replaceAll(/\n/g,"<br />").replaceAll(/(<br \/>)$/g,"")}export default function k(s,A){let k=a(A,s,o.Latest,!0,l.TS),v="";return c(k,r=>{u(r)?v+=function(r){let l=r.name.text;Object.assign(d,{[r.name.text]:e(r.getSourceFile().fileName).replace(n.alias["@pkg"],"")});let o=h(r),a=b(o),c=T(o),s=x(o)?.split("|")||[],u=s.includes("comment"),A=s.includes("initial"),k=s.includes("optional"),v=s.includes("version"),w=s.includes("author"),B=c?`\\color{|4||0.45}{${l}}`:l,z=(function(e){let n=[];if(e.heritageClauses){for(let r of e.heritageClauses)if(r.token===t.SyntaxKind.ExtendsKeyword)for(let e of r.types)n.push(e.getText())}return n})(r)?.map(e=>`<n-tag color="#4c81db" css=".tag{gap:0px;}">${j(S(e))}</n-tag>`),F=[c,B,a&&`\\color{#52c11b|1||0.9}{${a}}`,z.length>0&&`<sub>\`extends\`</sub> ${z.join(" ")}`].filter(Boolean).join(" "),N=`## ${F}`,K=r.members.filter(e=>m(e)&&e.type?.kind!==i.NeverKeyword||$(e)),C=[];if(K.length>0){for(let e=0,t=K.length;e<t;e++){let t=K[e],n=j(S($(t)?`(${t.parameters.map(e=>`${e.name.getText()}: ${e.type?.getText()||"any"}`).join(", ")}): ${t.type?.getText()||"any"}`:t.type?.getText()||"any"),!0),r=h(t),l=S(t.name.getText());!l||l.startsWith("\\color")||($(t)||function(e){if(e.type){if(!g(e.type))return p(e.type);for(let t of e.type.types)if(p(t))return!0}return!1}(t)||n?.includes("=>")?l=`\\color{#f9a913}{${l}}`:/^["'](.+)["']$/.test(l)||(l=`\\color{#4c81db}{${l}}`));let i=t.questionToken&&f(t.questionToken);C.push([l,!k&&`\\color{${i?"#f9a913":"#52c11b"}\\|\\|\\|0.9}{${i?"✘":"✔"}}`,!u&&S(T(r)),n,!A&&S(function(e){if(!e)return;let t=e.match(/@default\s+([^\n]+)/);return t?t[1].trim():void 0}(r)),!v&&S(b(r)),!w&&(y(r)||y(o)),function(e){if(!e)return;let t=e.match(/@example\s*([\s\S]*?)(?=@[a-zA-Z]|\n*$)/);return t?t[1].trim():void 0}(r)])}let e=!1,t=!1,n=!1,r=!1;for(let l=0,o=C.length;l<o;l++){let o=C[l];!u&&o[2]&&(r=!0),!A&&o[4]&&(n=!0),!v&&o[5]&&(t=!0),!w&&o[6]&&(e=!0)}N+="\n";let l=["属性",!k&&"必要",r&&"说明","类型",n&&"默认值",t&&"版本",e&&"作者"].filter(Boolean).join("|");N+=`|${l}|`;let i=[":-",!k&&":-",r&&":-",":-",n&&":-",t&&":-",e&&":-"].filter(Boolean);N+="\n";let a=i.join("|");N+=`|${a}|`;for(let l=0,o=C.length;l<o;l++){let o=C[l];N+="\n";let i=[(o[7]?`<n-popover arrow="true" trigger="click" content=${JSON.stringify(`<n-md css=.n-md-body{margin-bottom:0;padding:0.5rem;background-color:transparent;backdrop-filter:none;box-shadow:none;}>${o[7]}</n-md>`)}><n-button size="small" type="primary" circle="true" style="margin-right:8px;">?</n-button></n-popover>`:"")+(o[0]||"-"),!k&&(o[1]||"-"),r&&(o[2]||"-"),o[3]||"-",n&&(o[4]||"-"),t&&(o[5]||"-"),e&&(o[6]||"-")].filter(Boolean).join("|");N+=`|${i}|`}N+="\n"}return N+"\n"}(r):t.isEnumDeclaration(r)&&(v+=function(r){let l=r.name.text,o=h(r),i=T(o),a=b(o);Object.assign(d,{[r.name.text]:e(r.getSourceFile().fileName).replace(n.alias["@pkg"],"")});let c=i?`\\color{|4||0.45}{${l}}`:l,s=[i,c,a&&`\\color{#52c11b|1||0.9}{${a}}`].filter(Boolean).join(" "),u=x(o)?.split("|")||[],f=u.includes("comment"),m=u.includes("version"),p=u.includes("author"),g=`## ${s}`;if(r.members.length>0){let e=[];for(let n=0,l=r.members.length;n<l;n++){let l=r.members[n],i=S(l.name.getText()),a=h(l),c=S(function(e){let n=e.initializer;if(n&&t.isStringLiteral(n))return` '${n.text}'`}(l)),s=S(b(a)),u=S(T(a));!i||i.startsWith("\\color")||/^["'](.+)["']$/.test(i)||(i=`\\color{#4c81db}{${i}}`),e.push([i,!f&&u,c,!m&&s,!p&&(y(a)||y(o))])}let n=!1,l=!1,i=!1;for(let t=0,r=e.length;t<r;t++){let r=e[t];!f&&r[1]&&(i=!0),!m&&r[3]&&(l=!0),!p&&r[4]&&(n=!0)}g+="\n";let a=["属性",i&&"说明","值",l&&"版本",n&&"作者"].filter(Boolean).join("|");g+=`|${a}|`;let c=[":-",i&&":-",":-",l&&":-",n&&":-"].filter(Boolean);g+="\n";let s=c.join("|");g+=`|${s}|`;for(let t=0,r=e.length;t<r;t++){let r=e[t];g+="\n";let o=[r[0]||"-",i&&(r[1]||"-"),r[2]||"-",l&&(r[3]||"-"),n&&(r[4]||"-")].filter(Boolean).join("|");g+=`|${o}|`}}return g+"\n\n"}(r))}),r(v)}
1
+ import{dirname as e}from"node:path";import t from"typescript";import{CONFIG as n}from"../config.mjs";import r from"../options/md-to-html.mjs";let l=t.ScriptKind,o=t.ScriptTarget,i=t.SyntaxKind,a=t.createSourceFile,c=t.forEachChild,s=t.getLeadingCommentRanges,u=t.isInterfaceDeclaration,f=t.isQuestionToken,m=t.isPropertySignature,p=t.isFunctionTypeNode,g=t.isUnionTypeNode,$=t.isMethodSignature,d={};function h(e){let t=s(e.getSourceFile().text,e.pos);if(t){let n=e.getSourceFile().text.slice(t[0].pos,t[0].end).match(/\/\*\*([\s\S]*?)\*\//);if(n)return n[1].replaceAll(/^\s*\* ?/gm,"").replace(/\s+$/,"").trim()}}function b(e){if(!e)return;let t=e.match(/@since\s+([^\n]+)/);return t?t[1].trim():void 0}function y(e){if(!e)return;let t=e.match(/@author (\w+)\s*(?:<([^>]+)>)?/);if(t&&t.length>0){let e=t[1].trim(),n=t[2]?.trim(),r=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(n);return n?r&&(n=`mailto:${n}`):n=`https://github.com/${e}`,`[![${e}-alt](https://avatars.githubusercontent.com/${e}?s=64)${e}](${n})`}}function x(e){if(!e)return;let t=e.match(/@ignore\s+([^\n]+)/);return t?t[1].trim():void 0}let A=/(?<!['"])(unknown|any|void|bigint|object|undefined|null|boolean|number|string|symbol)(?!['"])/g;function j(e,t){if(!e)return;let r=e.replaceAll(/\b([A-Z][a-zA-Z0-9]*)\b/g,e=>{if(d[e]){let r=`/${[n.basename,d[e]].join("/").split("/").filter(Boolean).join("/")}`;return t?`[\\color{#009688}{${e}}](${r})`:`[${e}](${r})`}return t?`\\color{#009688}{${e}}`:e});return t&&(r=r.replaceAll(A,e=>`\\color{#009688}{${e}}`)),r}function S(e){if(e)return(function(e){let t;if(!e)return;let n=[];for(;t=/\\color{([^|}]*)\|?([^|}]*)\|?([^|}]*)\|?([^}]*)}{([^}]*)}/g.exec(e);)n.push(t[0]);return e.replaceAll(/[{}[\]()=>]|keyof|typeof|true|false/g,e=>n.some(t=>t.includes(e))?e:`\\color{#569cd6}{${e}}`)})(e)?.replaceAll(/^\s*\|\s*|\s*\|\s*$/gm,"").replaceAll(/\n/g,"<br/>").replaceAll(/\*/g,"\\*").replaceAll(/\|/g,"\\|").replaceAll(/(['"])((?:(?!\1).)*)\1/g,"\\color{#ce9178}{$1$2$1}")}function T(e){if(e)return e.replaceAll(/@example\s*([\s\S]*?)(?=@[a-zA-Z]|\n*$)/g,"").replaceAll(/^@[a-z].+/gm,"").replaceAll(/(\n\s+)+/g,"<br />").replaceAll(/\n/g,"<br />").replaceAll(/(<br \/>)$/g,"")}export default function k(s,A){let k=a(A,s,o.Latest,!0,l.TS),v="";return c(k,r=>{u(r)?v+=function(r){let l=r.name.text;Object.assign(d,{[r.name.text]:e(r.getSourceFile().fileName).replace(n.alias["@pkg"],"")});let o=h(r),a=b(o),c=T(o),s=x(o)?.split("|")||[],u=s.includes("comment"),A=s.includes("initial"),k=s.includes("optional"),v=s.includes("version"),w=s.includes("author"),B=c?`\\color{|4||0.45}{${l}}`:l,z=(function(e){let n=[];if(e.heritageClauses){for(let r of e.heritageClauses)if(r.token===t.SyntaxKind.ExtendsKeyword)for(let e of r.types)n.push(e.getText())}return n})(r)?.map(e=>`<n-tag color="#4c81db" css=".tag{gap:0px;}">${j(S(e))}</n-tag>`),F=[c,B,a&&`\\color{#52c11b|1||0.9}{${a}}`,z.length>0&&`<sub>\`extends\`</sub> ${z.join(" ")}`].filter(Boolean).join(" "),N=`## ${F}`,K=r.members.filter(e=>m(e)&&e.type?.kind!==i.NeverKeyword||$(e)),C=[];if(K.length>0){for(let e=0,t=K.length;e<t;e++){let t=K[e],n=j(S($(t)?`(${t.parameters.map(e=>`${e.name.getText()}: ${e.type?.getText()||"any"}`).join(", ")}): ${t.type?.getText()||"any"}`:t.type?.getText()||"any"),!0),r=h(t),l=S(t.name.getText());l&&!l.startsWith("\\color")&&($(t)||function(e){if(e.type){if(!g(e.type))return p(e.type);else for(let t of e.type.types)if(p(t))return!0}return!1}(t)||n?.includes("=>")?l=`\\color{#f9a913}{${l}}`:/^["'](.+)["']$/.test(l)||(l=`\\color{#4c81db}{${l}}`));let i=t.questionToken&&f(t.questionToken);C.push([l,!k&&`\\color{${i?"#f9a913":"#52c11b"}\\|\\|\\|0.9}{${i?"✘":"✔"}}`,!u&&S(T(r)),n,!A&&S(function(e){if(!e)return;let t=e.match(/@default\s+([^\n]+)/);return t?t[1].trim():void 0}(r)),!v&&S(b(r)),!w&&(y(r)||y(o)),function(e){if(!e)return;let t=e.match(/@example\s*([\s\S]*?)(?=@[a-zA-Z]|\n*$)/);return t?t[1].trim():void 0}(r)])}let e=!1,t=!1,n=!1,r=!1;for(let l=0,o=C.length;l<o;l++){let o=C[l];!u&&o[2]&&(r=!0),!A&&o[4]&&(n=!0),!v&&o[5]&&(t=!0),!w&&o[6]&&(e=!0)}N+="\n";let l=["属性",!k&&"必要",r&&"说明","类型",n&&"默认值",t&&"版本",e&&"作者"].filter(Boolean).join("|");N+=`|${l}|`;let i=[":-",!k&&":-",r&&":-",":-",n&&":-",t&&":-",e&&":-"].filter(Boolean);N+="\n";let a=i.join("|");N+=`|${a}|`;for(let l=0,o=C.length;l<o;l++){let o=C[l];N+="\n";let i=[(o[7]?`<n-popover arrow="true" trigger="click" content=${JSON.stringify(`<n-md css=.n-md-body{margin-bottom:0;padding:0.5rem;background-color:transparent;backdrop-filter:none;box-shadow:none;}>${o[7]}</n-md>`)}><n-button size="small" type="primary" circle="true" style="margin-right:8px;">?</n-button></n-popover>`:"")+(o[0]||"-"),!k&&(o[1]||"-"),r&&(o[2]||"-"),o[3]||"-",n&&(o[4]||"-"),t&&(o[5]||"-"),e&&(o[6]||"-")].filter(Boolean).join("|");N+=`|${i}|`}N+="\n"}return N+"\n"}(r):t.isEnumDeclaration(r)&&(v+=function(r){let l=r.name.text,o=h(r),i=T(o),a=b(o);Object.assign(d,{[r.name.text]:e(r.getSourceFile().fileName).replace(n.alias["@pkg"],"")});let c=i?`\\color{|4||0.45}{${l}}`:l,s=[i,c,a&&`\\color{#52c11b|1||0.9}{${a}}`].filter(Boolean).join(" "),u=x(o)?.split("|")||[],f=u.includes("comment"),m=u.includes("version"),p=u.includes("author"),g=`## ${s}`;if(r.members.length>0){let e=[];for(let n=0,l=r.members.length;n<l;n++){let l=r.members[n],i=S(l.name.getText()),a=h(l),c=S(function(e){let n=e.initializer;if(n&&t.isStringLiteral(n))return` '${n.text}'`}(l)),s=S(b(a)),u=S(T(a));!i||i.startsWith("\\color")||/^["'](.+)["']$/.test(i)||(i=`\\color{#4c81db}{${i}}`),e.push([i,!f&&u,c,!m&&s,!p&&(y(a)||y(o))])}let n=!1,l=!1,i=!1;for(let t=0,r=e.length;t<r;t++){let r=e[t];!f&&r[1]&&(i=!0),!m&&r[3]&&(l=!0),!p&&r[4]&&(n=!0)}g+="\n";let a=["属性",i&&"说明","值",l&&"版本",n&&"作者"].filter(Boolean).join("|");g+=`|${a}|`;let c=[":-",i&&":-",":-",l&&":-",n&&":-"].filter(Boolean);g+="\n";let s=c.join("|");g+=`|${s}|`;for(let t=0,r=e.length;t<r;t++){let r=e[t];g+="\n";let o=[r[0]||"-",i&&(r[1]||"-"),r[2]||"-",l&&(r[3]||"-"),n&&(r[4]||"-")].filter(Boolean).join("|");g+=`|${o}|`}}return g+"\n\n"}(r))}),r(v)}
@@ -1 +1 @@
1
- let e,t;import{relative as a}from"node:path";import{ESLint as o}from"@moneko/eslint";import{parentPort as r}from"worker_threads";import i from"../commom/paths.mjs";if(!r)throw Error("This file must be run as a worker");let s=null;r.on("message",async({options:c})=>{s&&clearTimeout(s),s=setTimeout(async()=>{s&&(clearTimeout(s),s=null);try{e||(e=new o({cache:c.cache,cacheLocation:c.cacheLocation,cacheStrategy:c.cacheStrategy,fix:c.fix}),t=await e.loadFormatter("stylish"));let s=c.files.map(e=>(c.lintDirtyModulesOnly?a(i.programPath,e):e).replace(/\\/g,"/")),l=await e.lintFiles(s),m=[],n=[];c.fix&&await o.outputFixes(l),l.forEach(e=>{e.errorCount?n.push(e):e.warningCount&&m.push(e)});let h=await Promise.all([t.format(m),t.format(n)]);r.postMessage(h.map(e=>e.replace(/[^\r\n]*(\r?\n)*$/,"")))}catch(e){r.postMessage(e)}},2)}),r.on("close",()=>{s&&clearTimeout(s)});
1
+ let e,t;import{relative as a}from"node:path";import{ESLint as r}from"@moneko/eslint";import{parentPort as o}from"worker_threads";import i from"../commom/paths.mjs";if(!o)throw Error("This file must be run as a worker");let s=null;o.on("message",async({options:c})=>{s&&clearTimeout(s),s=setTimeout(async()=>{s&&(clearTimeout(s),s=null);try{e||(e=new r({cache:c.cache,cacheLocation:c.cacheLocation,cacheStrategy:c.cacheStrategy,fix:c.fix}),t=await e.loadFormatter("stylish"));let s=c.files.map(e=>(c.lintDirtyModulesOnly?a(i.programPath,e):e).replace(/\\/g,"/")),l=await e.lintFiles(s),m=[],n=[];c.fix&&await r.outputFixes(l),l.forEach(e=>{e.errorCount?n.push(e):e.warningCount&&m.push(e)});let h=await Promise.all([t.format(m),t.format(n)]);o.postMessage(h.map(e=>e.replace(/[^\r\n]*(\r?\n)*$/,"")))}catch(e){o.postMessage(e)}},2)}),o.on("close",()=>{s&&clearTimeout(s)});
@@ -1 +1 @@
1
- import{parentPort as e}from"node:worker_threads";import{transform as o}from"@moneko/eslint/babel-core";import{BabelPluginReactCompiler as r}from"@moneko/eslint/react-compiler";import s from"../commom/log.mjs";e?.on("message",async({sourceCode:m,resourcePath:i,...n})=>{o(m,{sourceFileName:i,filename:i,sourceMaps:"inline",plugins:[[r,n]],cloneInputAst:!1,ast:!1,configFile:!1,babelrc:!1},(o,r)=>{if(o){s(o),e?.postMessage([o,m]);return}if(null===r){e?.postMessage([Error(`Failed to transform "${i}"`),m]);return}e?.postMessage([null,r.code??void 0,r.map??void 0])})});
1
+ import{parentPort as o}from"node:worker_threads";import{transform as e}from"@moneko/eslint/babel-core";import{BabelPluginReactCompiler as r}from"@moneko/eslint/react-compiler";import s from"../commom/log.mjs";o?.on("message",async({sourceCode:i,resourcePath:m,...n})=>{e(i,{sourceFileName:m,filename:m,sourceMaps:"inline",plugins:[[r,n]],cloneInputAst:!1,ast:!1,configFile:!1,babelrc:!1},(e,r)=>{if(e){s(e),o?.postMessage([e,i]);return}if(null===r)return void o?.postMessage([Error(`Failed to transform "${m}"`),i]);o?.postMessage([null,r.code??void 0,r.map??void 0])})});