@moneko/core 4.14.0-beta.1 → 4.14.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/bin/pin.mjs CHANGED
@@ -1 +1 @@
1
- import{spawn as e}from"node:child_process";import{relative as t}from"node:path";import{ink as a,println as n,progressBar as r,updateFile as o}from"@moneko/utils";import{getPackageManager as l}from"../commom/package-manager.mjs";import s from"../commom/parse-args.mjs";import m from"../commom/paths.mjs";import{readJson as i}from"../commom/read-json.mjs";import c from"../commom/require.mjs";let p=c.resolve(`${m.programPath}/package.json`);async function d(t){return new Promise(a=>{let n=e("npm",["view",t,"version"]),r="";n.stdout?.on("data",e=>{r+=e}),n.stderr?.on("data",e=>{let t=e.toString().split("\n").filter(e=>e.includes("GET http")).map(e=>e.split(" - ")[0].trim());t.length&&(r+=`Err: ${t[0]}`.trim())}),n.on("close",async()=>{a(r.trim())}),n.on("error",e=>{a(`Err: ${e.message}`)})})}async function u(e,t){let a={...e};return r(t.done.length,t.total,{name:"Checking"}),await Promise.allSettled(Object.keys(a).map(async e=>{let n=await d(e);t.done.includes(e)||t.done.push(e),r(t.done.length,t.total,{name:"Checking",msg:`${t.done.length} / ${t.total}`}),a[e]=n})),a}let g={major:"red",minor:"yellow",patch:"cyan",equal:"white"};async function h(e,t,a,n){if(e[t]){var r;let o=await u(e[t],n),l=(r=e[t],Object.keys(o).filter(e=>{let t=$(r[e]);return r[e]!==`${t[0]}${o[e]}`}).map(e=>{var t,a;let n,l,s=$(r[e]),m=o[e].includes("Err:"),i=m?"red":g[t=s[1],a=o[e],n=t.split("."),l=a.split("."),n[0]!==l[0]?"major":n[1]!==l[1]?"minor":n[2]!==l[2]?"patch":"equal"];return{name:e,wanted:r[e],latest:`${s[0]}${o[e].replace("Err:","")}`,color:i,err:m?o[e]:void 0}}));l.length&&(a[t]=l)}}function f(e,t,a){return e.reduce((e,n)=>Math.max(e,t[n].reduce((e,t)=>Math.max(e,t[a]?.length??0),0)),0)}function $(e){let t=e.match(/^([^\d]*)(.*)$/);return t?[t[1],t[2]]:["",e]}async function y(){let e=s(process.argv),r=i(p),c={done:[],total:Object.keys({...r.peerDependencies||{},...r.optionalDependencies||{},...r.devDependencies||{},...r.dependencies||{}}).length},d={};if(n(""),await Promise.allSettled([h(r,"peerDependencies",d,c),h(r,"optionalDependencies",d,c),h(r,"devDependencies",d,c),h(r,"dependencies",d,c)]),n(""),Object.keys(d)?.length>0){let s=l(r.packageManager),i=Object.keys(d),c="".padEnd(3," ");n(""),n(a("⚡ Updates available for:","magenta",{bold:!0})),n("");let u=f(i,d,"name"),g=f(i,d,"latest"),h=f(i,d,"wanted");i.forEach(e=>{n(a(`${e}:`,"145")),d[e].forEach(t=>{n(`${a(t.name.padEnd(u," "),t.color,{bold:!0})}${c}${t.wanted.padStart(h," ")}${c}${a("→",t.color)}${c}${a(t.latest.padStart(g," "),t.color)}`),t.err||(r[e][t.name]=t.latest)}),n("")}),e["-u"]?(await o(p,JSON.stringify(r,null,2)),n(`✅ ${a(t(m.programPath,p),"yellow")} upgrade completed successfully.`),n(`⏳ Run ${a(`${s} install`,"blue")} to install new versions.`)):n(`⏳ Run ${a("mo pin -u","blue")} to upgrade package.json`)}else n(""),n("🎉 All dependencies match the latest package versions");n("")}export default y;
1
+ import{spawn as e}from"node:child_process";import{relative as t}from"node:path";import{ink as a,println as n,progressBar as r,updateFile as o}from"@moneko/utils";import{getPackageManager as l}from"../commom/package-manager.mjs";import s from"../commom/parse-args.mjs";import m from"../commom/paths.mjs";import{readJson as i}from"../commom/read-json.mjs";import c from"../commom/require.mjs";let p=c.resolve(`${m.programPath}/package.json`),d={major:"red",minor:"yellow",patch:"cyan",equal:"white"};async function u(t,a,n,o){if(t[a]){var l;let s=await async function(t,a){let n={...t};return r(a.done.length,a.total,{name:"Checking"}),await Promise.allSettled(Object.keys(n).map(async t=>{let o=await async function(t){return new Promise(a=>{let n=e("npm",["view",t,"version"]),r="";n.stdout?.on("data",e=>{r+=e}),n.stderr?.on("data",e=>{let t=e.toString().split("\n").filter(e=>e.includes("GET http")).map(e=>e.split(" - ")[0].trim());t.length&&(r+=`Err: ${t[0]}`.trim())}),n.on("close",async()=>{a(r.trim())}),n.on("error",e=>{a(`Err: ${e.message}`)})})}(t);a.done.includes(t)||a.done.push(t),r(a.done.length,a.total,{name:"Checking",msg:`${a.done.length} / ${a.total}`}),n[t]=o})),n}(t[a],o),m=(l=t[a],Object.keys(s).filter(e=>{let t=h(l[e]);return l[e]!==`${t[0]}${s[e]}`}).map(e=>{var t,a;let n,r,o=h(l[e]),m=s[e].includes("Err:"),i=m?"red":d[t=o[1],a=s[e],n=t.split("."),r=a.split("."),n[0]!==r[0]?"major":n[1]!==r[1]?"minor":n[2]!==r[2]?"patch":"equal"];return{name:e,wanted:l[e],latest:`${o[0]}${s[e].replace("Err:","")}`,color:i,err:m?s[e]:void 0}}));m.length&&(n[a]=m)}}function g(e,t,a){return e.reduce((e,n)=>Math.max(e,t[n].reduce((e,t)=>Math.max(e,t[a]?.length??0),0)),0)}function h(e){let t=e.match(/^([^\d]*)(.*)$/);return t?[t[1],t[2]]:["",e]}export default async function(){let e=s(process.argv),r=i(p),c={done:[],total:Object.keys({...r.peerDependencies||{},...r.optionalDependencies||{},...r.devDependencies||{},...r.dependencies||{}}).length},d={};if(n(""),await Promise.allSettled([u(r,"peerDependencies",d,c),u(r,"optionalDependencies",d,c),u(r,"devDependencies",d,c),u(r,"dependencies",d,c)]),n(""),Object.keys(d)?.length>0){let s=l(r.packageManager),i=Object.keys(d),c="".padEnd(3," ");n(""),n(a("⚡ Updates available for:","magenta",{bold:!0})),n("");let u=g(i,d,"name"),h=g(i,d,"latest"),f=g(i,d,"wanted");i.forEach(e=>{n(a(`${e}:`,"145")),d[e].forEach(t=>{n(`${a(t.name.padEnd(u," "),t.color,{bold:!0})}${c}${t.wanted.padStart(f," ")}${c}${a("→",t.color)}${c}${a(t.latest.padStart(h," "),t.color)}`),t.err||(r[e][t.name]=t.latest)}),n("")}),e["-u"]?(await o(p,JSON.stringify(r,null,2)),n(`✅ ${a(t(m.programPath,p),"yellow")} upgrade completed successfully.`),n(`⏳ Run ${a(`${s} install`,"blue")} to install new versions.`)):n(`⏳ Run ${a("mo pin -u","blue")} to upgrade package.json`)}else n(""),n("🎉 All dependencies match the latest package versions");n("")};
@@ -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{fileExists as s,ink as m,loadFile as c,println as d}from"@moneko/utils";import f from"../commom/log.mjs";import u from"../commom/parse-args.mjs";import p from"../commom/timer.mjs";let y=u(i.slice(2)),w=y.fix,h=y.cache||!0,S=e(o(),"node_modules/.cache"),j={ci:["diff","--name-only","HEAD^","HEAD"],commit:["diff","--cached","--name-only","--diff-filter=ACM"]},$=/.*(?<!\.d)\.(j|t|mj|mt|cj|ct)sx?$/i,g=/.*(?<!\.d)\.vue$/i,v=/.*(?<!\.d)\.(c|sc|sa|le)ss$/i,E=/\.min\.(j|t|mj|mt|cj|ct)sx?$/i,L=t("git",j[y.mode||"ci"]||j.ci).stdout.toString().trim().split("\n");async function x(){let t=m("ESLint","cyan");d(`${t}: ${m("runing...","yellow")}`,!0);try{p.start("ESLint");let t=L.filter(t=>!(t.endsWith("iconfont.js")||E.test(t))&&!!s(t)&&($.test(t)||g.test(t)));if(0===t.length)return void p.end("ESLint");let e=new l({cache:h,cacheLocation:`${S}/.eslintcache`,fix:w}),i=await e.lintFiles(t),o=await e.loadFormatter("stylish"),a=await o.format(i,{cwd:process.cwd(),rulesMeta:{}});w&&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=L.filter(t=>v.test(t)||g.test(t));async function A(){let t=m("Stylelint","cyan");if(d(`${t}: ${m("runing...","yellow")}`,!0),p.start("Stylelint"),0===k.length)return void p.end("Stylelint");let e=await Promise.allSettled(k.map(async t=>{let e=await c(t);if(e)return await a.lint({codeFilename:t,code:e,cache:h,cacheLocation:`${S}/.stylelintcache`,fix:w,formatter:"string"}).catch(f)})),i=!1;e.forEach(t=>{"fulfilled"===t.status?t.value&&(t.value.report&&n.write(t.value.report),t.value.errored&&(i=!!t.value.errored)):t.reason&&(n.write(t.reason),i=!1)}),p.end("Stylelint"),i&&r(1)}await Promise.allSettled([x(),A()]);
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{fileExists as s,ink as m,loadFile as c,println as d}from"@moneko/utils";import f from"../commom/log.mjs";import u from"../commom/parse-args.mjs";import p from"../commom/timer.mjs";let y=u(i.slice(2)),w=y.fix,h=y.cache||!0,S=e(o(),"node_modules/.cache"),j={ci:["diff","--name-only","HEAD^","HEAD"],commit:["diff","--cached","--name-only","--diff-filter=ACM"]},$=/.*(?<!\.d)\.(j|t|mj|mt|cj|ct)sx?$/i,g=/.*(?<!\.d)\.vue$/i,v=/.*(?<!\.d)\.(c|sc|sa|le)ss$/i,E=/\.min\.(j|t|mj|mt|cj|ct)sx?$/i,L=t("git",j[y.mode||"ci"]||j.ci).stdout.toString().trim().split("\n"),x=L.filter(t=>v.test(t)||g.test(t));await Promise.allSettled([async function(){let t=m("ESLint","cyan");d(`${t}: ${m("runing...","yellow")}`,!0);try{p.start("ESLint");let t=L.filter(t=>!(t.endsWith("iconfont.js")||E.test(t))&&!!s(t)&&($.test(t)||g.test(t)));if(0===t.length)return void p.end("ESLint");let e=new l({cache:h,cacheLocation:`${S}/.eslintcache`,fix:w}),i=await e.lintFiles(t),o=await e.loadFormatter("stylish"),a=await o.format(i,{cwd:process.cwd(),rulesMeta:{}});w&&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)}}(),async function(){let t=m("Stylelint","cyan");if(d(`${t}: ${m("runing...","yellow")}`,!0),p.start("Stylelint"),0===x.length)return void p.end("Stylelint");let e=await Promise.allSettled(x.map(async t=>{let e=await c(t);if(e)return await a.lint({codeFilename:t,code:e,cache:h,cacheLocation:`${S}/.stylelintcache`,fix:w,formatter:"string"}).catch(f)})),i=!1;e.forEach(t=>{"fulfilled"===t.status?t.value&&(t.value.report&&n.write(t.value.report),t.value.errored&&(i=!!t.value.errored)):t.reason&&(n.write(t.reason),i=!1)}),p.end("Stylelint"),i&&r(1)}()]);
@@ -1 +1 @@
1
- import e from"node:fs";import{ink as r,println as o}from"@moneko/utils";import m from"../commom/parse-args.mjs";import t from"../commom/print-log.mjs";import{CONFIG as s}from"../config.mjs";import i from"../dev/server.mjs";async function p(){let{argv:p}=process,{port:a=s.devServer.port??8080,root_dir:n="./dist",https:l=s.devServer.https,host:v=s.devServer.host??"localhost"}=m(p.slice(2));i({port:a,root_dir:n,https:l,host:v,fileSystem:e,headers:s.devServer.headers,open:s.devServer.open,basename:s.basename}),o(r("You application is running here:","245"),!0),o("",!0),t("Preview",`${l?"https":"http"}://${v}:${a}`,{timestamp:!1,labelBackgroundColor:"blue"}),o("",!0)}export default p;
1
+ import e from"node:fs";import{ink as r,println as o}from"@moneko/utils";import m from"../commom/parse-args.mjs";import t from"../commom/print-log.mjs";import{CONFIG as s}from"../config.mjs";import i from"../dev/server.mjs";export default async function(){let{argv:p}=process,{port:a=s.devServer.port??8080,root_dir:n="./dist",https:l=s.devServer.https,host:v=s.devServer.host??"localhost"}=m(p.slice(2));i({port:a,root_dir:n,https:l,host:v,fileSystem:e,headers:s.devServer.headers,open:s.devServer.open,basename:s.basename}),o(r("You application is running here:","245"),!0),o("",!0),t("Preview",`${l?"https":"http"}://${v}:${a}`,{timestamp:!1,labelBackgroundColor:"blue"}),o("",!0)};
package/lib/bin/start.mjs CHANGED
@@ -1 +1 @@
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,!1);try{await import("../dev.mjs")}catch(e){t(r(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";export default async function(){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,!1);try{await import("../dev.mjs")}catch(e){t(r(Error(e).message,"red")),o(1)}};
@@ -1,2 +1,2 @@
1
- import{relative as e,sep as s}from"node:path";import{argv as t,exit as r,stdout as o}from"node:process";import{stylelint as l}from"@moneko/stylelint";import{ink as i,print as c}from"@moneko/utils";import{cachePath as n,cwd as a,parseBraced as m}from"./utils/config.mjs";async function f(){let f=i("stylelint","cyan");c(`${f}: ${i("Runing...","yellow")}`,!0);let p=t[3],u=t.slice(4),d=u.includes("--fix"),y=await l.lint({files:m(p).map(t=>e(a,`${t}/**/*.{css,scss,sass,less,ts,tsx,js,jsx}`).replaceAll(s,"/")),fix:d,cache:!u.includes("--cache=false"),cacheLocation:`${n}/.stylelintcache`,formatter:"string"}),$=y.errored;y.report&&o.write(y.report),c(`${f}: ${i(`✨ ${$?"Error":"Successfully"}!
2
- `,$?"red":"green")}`,!0),$&&r(1)}export default f;
1
+ import{relative as e,sep as s}from"node:path";import{argv as t,exit as r,stdout as o}from"node:process";import{stylelint as l}from"@moneko/stylelint";import{ink as i,print as c}from"@moneko/utils";import{cachePath as n,cwd as a,parseBraced as m}from"./utils/config.mjs";export default async function(){let f=i("stylelint","cyan");c(`${f}: ${i("Runing...","yellow")}`,!0);let p=t[3],u=t.slice(4),d=u.includes("--fix"),y=await l.lint({files:m(p).map(t=>e(a,`${t}/**/*.{css,scss,sass,less,ts,tsx,js,jsx}`).replaceAll(s,"/")),fix:d,cache:!u.includes("--cache=false"),cacheLocation:`${n}/.stylelintcache`,formatter:"string"}),$=y.errored;y.report&&o.write(y.report),c(`${f}: ${i(`✨ ${$?"Error":"Successfully"}!
2
+ `,$?"red":"green")}`,!0),$&&r(1)};
package/lib/bin/tsc.mjs CHANGED
@@ -1 +1,2 @@
1
- import{join as e}from"node:path";import{stdout as t}from"node:process";import i from"typescript";import{cwd as o}from"./utils/config.mjs";async function n(n){return new Promise(s=>{let r=i.parseJsonConfigFileContent({extends:e(o,"tsconfig.json"),compilerOptions:{outDir:n,declaration:!0,emitDeclarationOnly:!0,skipLibCheck:!0,skipDefaultLibCheck:!0,noEmitOnError:!1},include:[e(o,"components"),e(o,"typings")],exclude:[e(o,"components/**/examples/*"),e(o,"components/**/__tests__/*"),e(o,"components/**/__mocks__/*")]},i.sys,o);r.options.incremental&&(r.options.tsBuildInfoFile=r.options.tsBuildInfoFile??e(n,".tsbuildinfo"));let a=i.createProgram(r.fileNames,r.options),c=a.emit();i.getPreEmitDiagnostics(a).concat(c.diagnostics).forEach(e=>{if(t.write("\n"),e.file){let{line:o,character:n}=e.file.getLineAndCharacterOfPosition(e.start),s=i.flattenDiagnosticMessageText(e.messageText,"\n");t.write(`${e.file.fileName} (${o+1},${n+1}): ${s}`)}else t.write(i.flattenDiagnosticMessageText(e.messageText,"\n"))}),s(!0)})}export default n;
1
+ import{join as e}from"node:path";import{stdout as t}from"node:process";import{API as o}from"typescript/sync";import{cwd as i}from"./utils/config.mjs";function n(e,t=0){return(t?`
2
+ ${" ".repeat(t)}`:"")+e.text+(e.messageChain??[]).map(e=>n(e,t+1)).join("")}export default async function(s){let a=new o({cwd:i});try{let o=a.parseJsonConfigFileContent({extends:e(i,"tsconfig.json"),compilerOptions:{outDir:s,declaration:!0,emitDeclarationOnly:!0,skipLibCheck:!0,skipDefaultLibCheck:!0,noEmitOnError:!1},include:[e(i,"components"),e(i,"typings")],exclude:[e(i,"components/**/examples/*"),e(i,"components/**/__tests__/*"),e(i,"components/**/__mocks__/*")]},{configDirectory:i});o.options.incremental=!1,o.options.tsBuildInfoFile=void 0;let r=a.createProgram(o.fileNames,o.options);try{let e=r.emit(),o=[...r.getConfigFileParsingDiagnostics(),...r.getProgramDiagnostics(),...r.getSyntacticDiagnostics(),...r.getGlobalDiagnostics(),...r.getSemanticDiagnostics(),...r.getDeclarationDiagnostics()],i=new Map;for(let e of o){let t=JSON.stringify([e.fileName,e.pos,e.end,e.code,n(e)]);i.set(t,e)}return[...i.values()].sort((e,t)=>(e.fileName??"").localeCompare(t.fileName??"")||e.pos-t.pos||e.end-t.end||e.code-t.code).concat(e.diagnostics).forEach(e=>{t.write("\n");let o=n(e);if(e.fileName&&e.startPosition){let{line:i,character:n}=e.startPosition;t.write(`${e.fileName} (${i+1},${n+1}): ${o}`)}else t.write(o)}),!0}finally{r.dispose()}}finally{a.close()}};
package/lib/build-dev.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
  import{relative as o,sep as r}from"node:path";import t from"node:process";import{analyzeBundleSize as e,completedInfo as m,ink as i,println as a,progressBar as n}from"@moneko/utils";import s from"webpack";import l from"./commom/log.mjs";import p from"./commom/paths.mjs";import{CONFIG as c}from"./config.mjs";import{createDevelopmentConfiguration as g}from"./create-development-configuration.mjs";let u=await g({});if(c.bar){let o=c.bar,r=o.name||"Build";u.plugins.push(new s.ProgressPlugin({handler(e,m,...i){let a=i.length?`[${m}] ${i.join(" ")}`:" ";o.quiet?t.stdout.write(`${a}
2
- `):(n(e||0,1,{msg:a,name:r,barColor:o.barColor,nameColor:o.nameColor,barBgColor:o.barBgColor,msgColor:o.msgColor}),1===e&&t.stdout.write("\r\x1b[2K"))}}))}let f=s(u);async function h(){let t=await new Promise((o,r)=>{f?.run((t,e)=>{t&&r(t),e?o(e):r(Error("编译过程中没有生成统计信息"))})});(t.hasErrors()||t.hasWarnings())&&function(o){let{warnings:r,errors:t}=o.compilation,e=[];r.forEach(o=>{o.message.includes("Conflicting order between css ")?e.push(o.message):a(i(o.message,"178"))}),e.length&&l(e.join("\n")),t.forEach(o=>{a(i(o.message,"red"))})}(t),await new Promise(n=>{t.compilation.compiler.cache.shutdown(s=>{s&&a(i(s.toString(),"red")),e(t.compilation.outputOptions.path,["\\.js$"]),m(~~((t.endTime-t.startTime)/10)/100,o(p.programPath,t.compilation.outputOptions.path).replaceAll(r,"/")),n()})})}await h();
2
+ `):(n(e||0,1,{msg:a,name:r,barColor:o.barColor,nameColor:o.nameColor,barBgColor:o.barBgColor,msgColor:o.msgColor}),1===e&&t.stdout.write("\r\x1b[2K"))}}))}let f=s(u);await async function(){let t=await new Promise((o,r)=>{f?.run((t,e)=>{t&&r(t),e?o(e):r(Error("编译过程中没有生成统计信息"))})});(t.hasErrors()||t.hasWarnings())&&function(o){let{warnings:r,errors:t}=o.compilation,e=[];r.forEach(o=>{o.message.includes("Conflicting order between css ")?e.push(o.message):a(i(o.message,"178"))}),e.length&&l(e.join("\n")),t.forEach(o=>{a(i(o.message,"red"))})}(t),await new Promise(n=>{t.compilation.compiler.cache.shutdown(s=>{s&&a(i(s.toString(),"red")),e(t.compilation.outputOptions.path,["\\.js$"]),m(~~((t.endTime-t.startTime)/10)/100,o(p.programPath,t.compilation.outputOptions.path).replaceAll(r,"/")),n()})})}();
package/lib/build.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
  import{relative as o,sep as r}from"node:path";import m from"node:process";import{analyzeBundleSize as e,completedInfo as t,ink as i,println as n,progressBar as s}from"@moneko/utils";import a from"webpack";import{merge as l}from"webpack-merge";import p from"./build/common.mjs";import u from"./commom/log.mjs";import g from"./commom/paths.mjs";import{DonePlugin as c}from"./plugin/done.mjs";import f from"./utils/seo.mjs";import{CONFIG as d}from"./config.mjs";import h from"./module.config.mjs";let w=l(p,{module:h(!1),plugins:[]});if(d.done&&w.plugins.push(new c({done:d.done})),d.bar){let o=d.bar,r=o.name||"Build";w.plugins.push(new a.ProgressPlugin({handler(e,t,...i){let n=i.length?`[${t}] ${i.join(" ")}`:" ";o.quiet?m.stdout.write(`${n}
2
- `):(s(e||0,1,{msg:n,name:r,barColor:o.barColor,nameColor:o.nameColor,barBgColor:o.barBgColor,msgColor:o.msgColor}),1===e&&m.stdout.write("\r\x1b[2K"))}}))}let b=a(w);if(!b)throw Error("无法创建编译器");async function j(){let m=await new Promise((o,r)=>{b?.run((m,e)=>{m&&r(m),e?o(e):r(Error("编译过程中没有生成统计信息"))})});(m.hasErrors()||m.hasWarnings())&&function(o){let{warnings:r,errors:m}=o.compilation,e=[];r.forEach(o=>{o.message.includes("Conflicting order between css ")?e.push(o.message):n(i(o.message,"178"))}),e.length&&u(e.join("\n")),m.forEach(o=>{n(i(o.message,"red"))})}(m),await new Promise(s=>{m.compilation.compiler.cache.shutdown(a=>{a&&n(i(a.toString(),"red")),e(m.compilation.outputOptions.path,["\\.js$"]),t(~~((m.endTime-m.startTime)/10)/100,o(g.programPath,m.compilation.outputOptions.path).replaceAll(r,"/")),s()})}),d.seo&&f()}await j();
2
+ `):(s(e||0,1,{msg:n,name:r,barColor:o.barColor,nameColor:o.nameColor,barBgColor:o.barBgColor,msgColor:o.msgColor}),1===e&&m.stdout.write("\r\x1b[2K"))}}))}let b=a(w);if(!b)throw Error("无法创建编译器");await async function(){let m=await new Promise((o,r)=>{b?.run((m,e)=>{m&&r(m),e?o(e):r(Error("编译过程中没有生成统计信息"))})});(m.hasErrors()||m.hasWarnings())&&function(o){let{warnings:r,errors:m}=o.compilation,e=[];r.forEach(o=>{o.message.includes("Conflicting order between css ")?e.push(o.message):n(i(o.message,"178"))}),e.length&&u(e.join("\n")),m.forEach(o=>{n(i(o.message,"red"))})}(m),await new Promise(s=>{m.compilation.compiler.cache.shutdown(a=>{a&&n(i(a.toString(),"red")),e(m.compilation.outputOptions.path,["\\.js$"]),t(~~((m.endTime-m.startTime)/10)/100,o(g.programPath,m.compilation.outputOptions.path).replaceAll(r,"/")),s()})}),d.seo&&f()}();
@@ -1,6 +1,4 @@
1
1
  export interface BundleEntry {
2
- [key: string]: string;
2
+ [name: string]: string;
3
3
  }
4
- /**
5
- * 将一个或多个 npm 包或本地文件的类型声明打包成单一的 .d.ts 字符串。
6
- */ export declare function bundleDts(pkgOrPkgs: BundleEntry | string | (BundleEntry | string)[], scope?: string, minify?: boolean): Promise<string>;
4
+ /** Bundle package and local declarations using one isolated dependency graph. */ export declare function bundleDts(entries: BundleEntry | string | (BundleEntry | string)[], scope?: string, minify?: boolean): Promise<string>;
@@ -1,7 +1,15 @@
1
- import{readdirSync as e,readFileSync as t,statSync as n}from"node:fs";import{createRequire as r,isBuiltin as i}from"node:module";import{dirname as l,isAbsolute as s,join as o,posix as f,relative as a,resolve as u,sep as d}from"node:path";import c from"node:process";import{isCallExpression as p,isClassDeclaration as m,isEnumDeclaration as h,isExportAssignment as g,isExportDeclaration as y,isExpressionWithTypeArguments as x,isExternalModule as b,isExternalModuleReference as $,isFunctionDeclaration as w,isIdentifier as S,isImportDeclaration as k,isImportEqualsDeclaration as v,isImportTypeNode as M,isInterfaceDeclaration as C,isLiteralTypeNode as j,isModuleBlock as E,isModuleDeclaration as D,isNamedExports as F,isNamedImports as W,isNamespaceExport as N,isNamespaceExportDeclaration as I,isNamespaceImport as O,isPropertyAccessExpression as _,isQualifiedName as B,isStringLiteral as T,isTypeAliasDeclaration as P,isTypeQueryNode as A,isTypeReferenceNode as z,isVariableStatement as R,ScriptKind as K,ScriptTarget as L,SyntaxKind as q,visitEachChild as J,visitNode as V}from"typescript/ast";import{createExportDeclaration as X,createExportSpecifier as Z,createIdentifier as G,createImportClause as H,createImportDeclaration as Q,createImportSpecifier as U,createLiteralTypeNode as Y,createModuleBlock as ee,createModuleDeclaration as et,createNamedExports as en,createNamedImports as er,createNamespaceImport as ei,createNodeArray as el,createStringLiteral as es,createToken as eo,updateClassDeclaration as ef,updateEnumDeclaration as ea,updateExportDeclaration as eu,updateExternalModuleReference as ed,updateFunctionDeclaration as ec,updateImportDeclaration as ep,updateImportEqualsDeclaration as em,updateImportTypeNode as eh,updateInterfaceDeclaration as eg,updateModuleDeclaration as ey,updateSourceFile as ex,updateTypeAliasDeclaration as eb,updateVariableStatement as e$}from"typescript/ast/factory";import{getLeadingCommentRanges as ew}from"typescript/ast/scanner";import{API as eS,JsxEmit as ek,ModuleKind as ev,ModuleResolutionKind as eM}from"typescript/sync";let eC=new eS,ej=new Set,eE=new WeakMap,eD=new Map,eF=new Set,eW=new Map,eN=null;function eI(e){let t=u(e);if(eW.has(t))return eW.get(t);try{let e=n(t).isFile();return eW.set(t,e),e}catch{return eW.set(t,!1),!1}}let eO=new Map,e_=new Map,eB=new Map,eT=new Map;function eP(e){return eO.has(e)||eO.set(e,r(o(e,"__x__.js"))),eO.get(e)}function eA(e){let n=u(e);if(e_.has(n))return e_.get(n);try{let e=t(n,"utf-8");return e_.set(n,e),e}catch{return e_.set(n,null),null}}function ez(e){let t=u(e);if(eT.has(t))return eT.get(t);let n=eA(t);if(null===n)return eT.set(t,null),null;try{let e=JSON.parse(n);return eT.set(t,e),e}catch{return eT.set(t,null),null}}function eR(e,t,n=K.TS){let r=u(e),i=eB.get(r);if(i?.content===t&&i.scriptKind===n)return i.sourceFile;let l=eC.createSourceFile(r,t,{scriptKind:n});ej.add(l);let s=l.sourceFile;return eB.set(r,{content:t,scriptKind:n,sourceFile:s}),s}let eK=r(o(c.cwd(),"__x__.js")),eL=null,eq=null;function eJ(){if(eL)return eL;let e=c.cwd(),t=function(e,t,n){let r=u(e);for(;;){let e=o(r,n);if(t(e))return e;let i=l(r);if(i===r)return;r=i}}(e,eI,"tsconfig.json");if(t){eq=l(t);let e=eC.parseConfigFile(t);if(0===e.errors.length)return eL={...e.options,declaration:!0,emitDeclarationOnly:!0,noEmit:!1,skipLibCheck:!0,noEmitOnError:!1,declarationMap:!1}}return eL={declaration:!0,emitDeclarationOnly:!0,noEmit:!1,skipLibCheck:!0,noEmitOnError:!1,declarationMap:!1,target:L.ESNext,module:ev.ESNext,moduleResolution:eM.Bundler,jsx:ek.ReactJSX},eq=e,eL}let eV=null;function eX(){if(eV)return eV;let e=eJ();return eV=eC.createModuleResolver(e)}let eZ=new Map;function eG(e,t){return`${u(t)}\0${e}`}function eH(e,t){let n=eG(e,t),r=eZ.get(n);if(r)return r;let i=eX().resolveModuleName(e,l(t));return eZ.set(n,i),i}function eQ(e,t){if(e.startsWith(".")||s(e))return!1;let{resolvedModule:n}=eH(e,t);return!!n&&!n.isExternalLibraryImport}let eU=null,eY=new Map,e0=new Map,e1=new Map;function e2(){let e=eJ(),t=o(eq??c.cwd(),"__ambient__.d.ts"),n=c.cwd(),r=e0.get(n);if(r)return r;let i=new Set;for(let n of e.types??[]){let e=eX().resolveModuleName(n,l(t)).resolvedModule?.resolvedFileName;e&&/\.d\.[cm]?ts$/.test(e)&&i.add(u(e))}let s=[...i];return e0.set(n,s),s}function e6(){let e=c.cwd(),t=eY.get(e);if(t)return t;let n=new Map;for(let e of e2()){let t=eA(e);if(null!==t)for(let r of eR(e,t).statements){if(!D(r)||!T(r.name))continue;let e=n.get(r.name.text)??[];e.push(r),n.set(r.name.text,e)}}return eY.set(e,n),n}function e5(e,t){return!t||e.startsWith(`${t}:`)?e:`${t}:${e}`}function e3(e){let t=e.indexOf(":");if(t<=0)return!1;let n=e.slice(0,t);return n.startsWith("_")&&n.endsWith("_")||n.startsWith("*")&&n.endsWith("*")}let e4=new WeakMap,e8=new WeakMap;function e9(e,t){let n=e.indexOf(":");if(n<=0||!e3(e))return!1;let r=e4.get(t);if(!r){for(let e of(r=new Set,t.keys())){let t=e.indexOf(":");t>0&&e3(e)&&r.add(e.slice(0,t))}e4.set(t,r)}return r.has(e.slice(0,n))}function e7(e,t){let n=e.indexOf(":"),r=n>1&&e.startsWith("*")&&e.slice(0,n).endsWith("*"),i=e.indexOf("*",r?n+1:0);if(-1===i)return e===t;let l=e.slice(0,i),s=e.slice(i+1);return t.length>=l.length+s.length&&t.startsWith(l)&&t.endsWith(s)}function te(e,t){let n=e8.get(t);if(n||(n={matches:new Map,patterns:[...t.keys()].filter(e=>e.includes("*"))},e8.set(t,n)),n.matches.has(e))return n.matches.get(e);if(t.has(e))return n.matches.set(e,e),e;let r=null;for(let t of n.patterns)e7(t,e)&&(!r||t.replaceAll("*","").length>r.replaceAll("*","").length)&&(r=t);return n.matches.set(e,r),r}function tt(e,t){return e9(e,t)?e.slice(e.indexOf(":")+1):null}let tn=new Map;function tr(e){let t=tk(e),n=`${e}\0${t}`;if(tn.has(n))return tn.get(n);let r=tx(ty(e))||tx(tg(t));return tn.set(n,r),r}function ti(e,t,n){let r=te(e,n);if(r)return r;if(t&&e.startsWith(`${t}:`)){let r=te(e.slice(t.length+1),n);if(r)return r}let i=tt(e,n);return i?te(i,n):null}function tl(e,t,n){return!!e3(t)||!tr(n&&e.startsWith(`${n}:`)?e.slice(n.length+1):tt(e,e6())??e)}function ts(e,t,n){if(!n||i(e))return e;let r=tt(e,t);if(r){let i=te(e,t),l=te(r,t);return!i&&l?e5(r,n):e5(e,n)}let l=ti(e,n,t);if(l)return tl(e,l,n)?e5(l,n):tr(e)?e5(e,n):e;return e}function to(e,t,n){return e||t||(n?"s":void 0)}function tf(e){return e.startsWith("@types/")?e:e.startsWith("@")?`@types/${e.slice(1).replace("/","__")}`:`@types/${e}`}function ta(e){if(e){if("string"==typeof e)return e;for(let t of["import","require","default","node","browser"]){let n=e[t];if("string"==typeof n)return n;if(n&&"object"==typeof n){let e=ta(n);if(e)return e}}}}function tu(e,t=!1){if(e){if("string"==typeof e)return t?e:void 0;for(let t of Object.keys(e).filter(e=>"types"===e||e.startsWith("types@")).sort((e,t)=>"types"===e?-1:+("types"===t))){let n=tu(e[t],!0);if(n)return n}for(let n of["import","require","default","node"]){let r=e[n];if("string"==typeof r){if(t)return r;continue}if(r&&"object"==typeof r){let e=tu(r,t);if(e)return e}}}}function td(e,t){let n=o(e,t),r=[];for(let e of(/\.d\.[cm]?ts$/.test(n)?r.push(n):/\.mjs$/.test(n)?r.push(n.replace(/\.mjs$/,".d.mts"),`${n}.d.ts`,n.replace(/\.mjs$/,".d.ts")):/\.cjs$/.test(n)?r.push(n.replace(/\.cjs$/,".d.cts"),`${n}.d.ts`,n.replace(/\.cjs$/,".d.ts")):/\.js$/.test(n)?r.push(n.replace(/\.js$/,".d.ts"),`${n}.d.ts`,n.replace(/\.js$/,".d.mts"),n.replace(/\.js$/,".d.cts")):r.push(`${n}.d.ts`,`${n}.d.mts`,`${n}.d.cts`,n),r.push(o(n,"index.d.ts"),o(n,"index.d.mts"),o(n,"index.d.cts")),r))if(eI(e))return e;return null}function tc(t,r){try{let e=t.resolve(`${r}/package.json`),n=ez(e);if(!n)throw Error(`Cannot parse package metadata: "${e}"`);return{pkgDir:l(e),pkgJson:n}}catch{try{let e=l(t.resolve(r));for(;e!==l(e);){let t=o(e,"package.json");if(eI(t)){let n=ez(t);if(!n){e=l(e);continue}let i=n.name;if(!i||i===r)return{pkgDir:e,pkgJson:n}}e=l(e)}}catch{}let i=function(t){let r=o(c.cwd(),"node_modules",".pnpm");try{if(!n(r).isDirectory())return null}catch{return null}let i=t.startsWith("@")?t.replace("/","+"):t;try{let n=eN??(eN=e(r,{withFileTypes:!0})),l=`${i}@`;for(let e of n)if(e.isDirectory()&&e.name.startsWith(l)){let n=o(r,e.name,"node_modules",t),i=o(n,"package.json");if(eI(i)){let e=ez(i);if(!e)continue;return{pkgDir:n,pkgJson:e}}}}catch{}return null}(r);if(i)return i;return null}}let tp=new Map,tm=new Map;function th(e,t){return`${u(t??c.cwd())}\0${e}`}function tg(e,t){let n=th(e,t);if(tp.has(n))return tp.get(n);let r=function(e,t){let n,r,i=t?eP(t):eK,s=tc(i,e)??(t?tc(eK,e):null);if(s&&(n=s.pkgDir,r=s.pkgJson),n&&r){let e=r.types??r.typings;if(e){let t=td(n,e);if(t)return{entryFile:t,pkgDir:n}}let t=o(n,"index.d.ts");if(eI(t))return{entryFile:t,pkgDir:n};if(r.exports)for(let e of[".","./index"]){let t=r.exports[e];if(!t)continue;let i="string"==typeof t?void 0:tu(t);if(i){let e=td(n,i);if(e)return{entryFile:e,pkgDir:n}}let l="string"==typeof t?t:ta(t);if(l){let e=td(n,l);if(e)return{entryFile:e,pkgDir:n}}}for(let e of[r.module,r.main]){if(!e)continue;let t=td(n,e);if(t)return{entryFile:t,pkgDir:n}}if(r.typesVersions){let e=r.typesVersions["*"];if(e){let t=e["*"]??e.index;if(Array.isArray(t)&&t.length>0){let e=td(n,t[0].replace("*","index"));if(e)return{entryFile:e,pkgDir:n}}}}}let f=tf(e);for(let e of t?[i,eK]:[eK])try{let t=e.resolve(`${f}/package.json`),n=ez(t);if(!n)continue;let r=l(t),i=n.types??n.typings??"index.d.ts",s=td(r,i);if(s)return{entryFile:s,pkgDir:r}}catch{}return null}(e,t);return tp.set(n,r),r}function ty(e,t){let n=th(e,t);if(tm.has(n))return tm.get(n);let r=function(e,t){let n,r,i=e.startsWith("@")?e.indexOf("/",e.indexOf("/")+1):e.indexOf("/");if(-1===i)return null;let s=e.slice(0,i),f=`./${e.slice(i+1)}`,a=t?eP(t):eK,u=tc(a,s)??(t?tc(eK,s):null);if(u&&(n=u.pkgDir,r=u.pkgJson),!n||!r)return null;if(r.exports){let e=r.exports[f],t="";if(!e){let n=Object.keys(r.exports).filter(e=>e.endsWith("/*")&&f.startsWith(e.slice(0,-1))).sort((e,t)=>t.length-e.length)[0];n&&(e=r.exports[n],t=f.slice(n.length-1))}if(e){let r="string"==typeof e?void 0:tu(e),i=r?.replaceAll("*",t);if(i){let e=td(n,i);if(e)return{entryFile:e,pkgDir:n}}let l="string"==typeof e?e:ta(e),s=l?.replaceAll("*",t);if(s){let e=td(n,s);if(e)return{entryFile:e,pkgDir:n}}}}let d=f.slice(2),c=o(n,d);if(eI(c))return{entryFile:c,pkgDir:n};for(let e of[".d.ts",".d.mts",".d.cts"]){let t=c+e;if(eI(t))return{entryFile:t,pkgDir:n}}for(let e of["index.d.ts","index.d.mts","index.d.cts"]){let t=o(c,e);if(eI(t))return{entryFile:t,pkgDir:n}}for(let e of["es","lib","dist"]){let t=td(n,`${e}/${d}`);if(t)return{entryFile:t,pkgDir:n}}let p=tf(s);for(let e of t?[a,eK]:[eK])try{let t=e.resolve(`${p}/package.json`),n=ez(t);if(!n)continue;let r=l(t);if(n.exports){let e=n.exports[f],t="";if(!e){let r=Object.keys(n.exports).filter(e=>e.endsWith("/*")&&f.startsWith(e.slice(0,-1))).sort((e,t)=>t.length-e.length)[0];r&&(e=n.exports[r],t=f.slice(r.length-1))}if(e){let n="string"==typeof e?void 0:tu(e),i=n?.replaceAll("*",t);if(i){let e=td(r,i);if(e)return{entryFile:e,pkgDir:r}}}}let i=o(r,d);if(eI(i))return{entryFile:i,pkgDir:r};for(let e of[".d.ts",".d.mts",".d.cts"]){let t=i+e;if(eI(t))return{entryFile:t,pkgDir:r}}}catch{}return null}(e,t);return tm.set(n,r),r}function tx(e){return!!e&&(!!/\.[cm]?tsx?$/.test(e.entryFile)||!!/\.[cm]?js$/.test(e.entryFile)&&eI(e.entryFile.replace(/\.([cm]?)js$/,".d.$1ts")))}let tb=new Map;function t$(e,t){let n=eG(e,t);if(tb.has(n))return tb.get(n);let r=function(e,t){let n=o(l(t),e),r=n.lastIndexOf(".");if(r>Math.max(n.lastIndexOf("/"),n.lastIndexOf("\\"))){let e=n.slice(r),t=n.slice(0,r);if((".d.ts"===e||".d.mts"===e||".d.cts"===e)&&eI(n))return n;if(".js"===e)for(let e of[".d.ts",".d.mts",".d.cts"]){let n=t+e;if(eI(n))return n}else if(".mjs"===e)for(let e of[".d.mts",".d.ts",".d.cts"]){let n=t+e;if(eI(n))return n}else if(".cjs"===e)for(let e of[".d.cts",".d.ts",".d.mts"]){let n=t+e;if(eI(n))return n}if((".ts"===e||".tsx"===e||".mts"===e||".cts"===e)&&eI(n))return n}for(let e of[".d.ts",".d.mts",".d.cts"])if(eI(n+e))return n+e;for(let e of[".ts",".tsx",".mts",".cts"])if(eI(n+e))return n+e;for(let e of["index.d.ts","index.d.mts","index.d.cts"]){let t=o(n,e);if(eI(t))return t}for(let e of["index.ts","index.tsx","index.mts","index.cts"]){let t=o(n,e);if(eI(t))return t}return null}(e,t);return tb.set(n,r),r}function tw(e,t){if("src"!==e&&!e.startsWith("src/"))return null;let n="src"===e?"index":e.slice(4);for(let e of["es","lib","dist"]){let r=td(t,`${e}/${n}`);if(r)return r}return null}function tS(e,t){return a(t,e).split(d).join(f.sep).replace(/\.d\.[cm]?ts$/,"").replace(/\.[cm]?tsx?$/,"")}function tk(e){return e.split("/").slice(0,e.startsWith("@")?2:1).join("/")}let tv=/\.(css|less|sass|scss|styl|stylus|png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf|eot|otf|mp3|mp4|webp|webm)$/i;function tM(e,t,n,r){return!!(n?.has(e)&&!t&&!r?.has(e))}function tC(e,t,n){if(n?.has(e))return!1;if(t?.has(e))return!0;let r=e.startsWith("@")?e.split("/").slice(0,2).join("/"):e.split("/")[0];return!!(t?.has(r)&&!n?.has(r))}function tj(e){if(k(e)&&T(e.moduleSpecifier)){let t=e.importClause,n=[];return t?.name&&n.push("default"),t?.namedBindings&&(O(t.namedBindings)?n.push("*"):n.push(...t.namedBindings.elements.map(e=>e.propertyName?.text||e.name.text))),{moduleId:e.moduleSpecifier.text,bindings:t?n:["*"]}}if(v(e)&&$(e.moduleReference)&&T(e.moduleReference.expression))return{moduleId:e.moduleReference.expression.text,bindings:["default"]};if(y(e)&&e.moduleSpecifier&&T(e.moduleSpecifier)){let t=e.exportClause,n=t&&F(t)?t.elements.map(e=>e.propertyName?.text||e.name.text):t&&N(t)?["*"]:[tO];return{moduleId:e.moduleSpecifier.text,bindings:n}}if(M(e)&&j(e.argument)&&T(e.argument.literal)){let t=function(e){if(e.isTypeOf||!e.qualifier)return null;let t=e.qualifier;for(;B(t);)t=t.left;return S(t)?t.text:null}(e);return{moduleId:e.argument.literal.text,bindings:[t??"*"]}}if(p(e)&&S(e.expression)&&"import"===e.expression.text&&e.arguments.length>0&&T(e.arguments[0]))return{moduleId:e.arguments[0].text,bindings:["*"]}}function tE(e,t){if(void 0!==t.mainModuleId&&e===u(t.entryFile)){let e=t.mainModuleId;return e.includes(":")||tM(e,t.isEntry,t.entryPkgs,t.scopedEntryPkgs)?e:t.scope?`${t.scope}:${e}`:e}let n=tS(e,t.pkgDir);n.endsWith("/index")?n=n.slice(0,-6):"index"===n&&(n="");let r=n,i=r;if(t.pkgName){let e=t.pkgName.split("/").slice(1).join("/").replace(/\.[cm]?js$/,"");if(e&&n.startsWith(`${e}/`))i=(r=`${t.pkgName}/${n.slice(e.length+1)}`).replace(/\.[cm]?js$/,"");else if(e&&n===e)i=r=t.pkgName.replace(/\.[cm]?js$/,"");else{let e=tk(t.pkgName);i=r=n?`${e}/${n}`:e}}let l=t.scope||t.depScope;return l&&!tM(i,t.isEntry,t.entryPkgs,t.scopedEntryPkgs)?`${l}:${r}`:r}function tD(e,t,n){let r=to(t.scope,t.depScope,t.isEntry),o=e6(),f=e.startsWith(".")||s(e)?e:ts(e,o,r);if(f!==e)return f;if(e.startsWith(".")){let r=t.resolver(e,n);return r?tE(r,t):null}let a=t.pkgName?tw(e,t.pkgDir):null;if(a){let e=tS(a,t.pkgDir);e.endsWith("/index")?e=e.slice(0,-6):"index"===e&&(e="");let n=e?`${tk(t.pkgName)}/${e}`:tk(t.pkgName),r=t.scope||t.depScope;return r?`${r}:${n}`:n}if(eQ(e,n)){let{resolvedModule:r}=eH(e,n);if(r&&!r.isExternalLibraryImport){let e=u(r.resolvedFileName);if(e){let n=tS(e,t.pkgDir);n.endsWith("/index")?n=n.slice(0,-6):"index"===n&&(n="");let r=t.scope||t.depScope;return r?`${r}:${n}`:n}}}if(!i(e)){let i=e.startsWith("@")?e.split("/").slice(0,2).join("/"):e.split("/")[0],s=t.entryPkgs?.has(e),o=t.externalDeps.has(i)||t.externalSubpaths.has(e),f=t.scope||t.isEntry;if(s){var d,c,p;return d=t.scope||t.depScope,c=t.entryPkgs,p=t.scopedEntryPkgs,c?.has(e)&&d&&p?.has(e)?`${d}:${e}`:e}if(o){let r=function(e,t,n,r,i,s){let o=ty(e,l(t));if(!o)return null;let f=tS(o.entryFile,o.pkgDir);f.endsWith("/index")?f=f.slice(0,-6):"index"===f&&(f="");let a=f?`${tk(e)}/${f}`:tk(e),u=tM(a,s,r,i);return n&&!u?`${n}:${a}`:a}(e,n,t.scope||t.depScope||(t.isEntry?"s":void 0),t.entryPkgs,t.scopedEntryPkgs,t.isEntry);if(r)return r}if(te(e,e6())&&!tx(ty(e,l(n)))&&!tx(tg(i,l(n))))return e5(e,r);if(o&&f){let n=t.scope||t.depScope||"s";return`${n}:${e}`}}return e}function tF(e,t,n,r){if(0===t.length)return t;let i=ex(e,el(t),e.endOfFileToken),l=e=>{if(k(e)&&T(e.moduleSpecifier)){let t=r?.statements.has(e),i=e.importClause;if(t&&(tv.test(e.moduleSpecifier.text)||i&&!i.name&&!i.namedBindings))return;let l=n(e.moduleSpecifier.text);if(t&&(null===l||i&&l===r?.currentModuleId))return;if(l&&l!==e.moduleSpecifier.text)return ep(e,e.modifiers,i,es(l,0),e.attributes)}if(v(e)&&$(e.moduleReference)&&T(e.moduleReference.expression)){let t=n(e.moduleReference.expression.text);if(t&&t!==e.moduleReference.expression.text)return em(e,e.modifiers,e.name,ed(e.moduleReference,es(t,0)))}if(y(e)&&e.moduleSpecifier&&T(e.moduleSpecifier)){let t=r?.statements.has(e);if(t&&tv.test(e.moduleSpecifier.text))return;let i=n(e.moduleSpecifier.text);if(t&&(null===i||i===r?.currentModuleId))return;if(i&&i!==e.moduleSpecifier.text)return eu(e,e.modifiers,e.exportClause,es(i,0),e.attributes)}if(M(e)&&j(e.argument)&&T(e.argument.literal)){let t=n(e.argument.literal.text);if(t&&t!==e.argument.literal.text)return J(eh(e,Y(es(t,0)),e.attributes,e.qualifier,e.typeArguments),l)}return J(e,l)};return[...V(i,l).statements]}function tW(e){let t="modifiers"in e?e.modifiers:void 0;if(!t?.some(e=>e.kind===q.DeclareKeyword))return e;let n=t?.filter(e=>e.kind!==q.DeclareKeyword)??[];return w(e)?ec(e,n,e.asteriskToken,e.name,e.typeParameters,e.parameters,e.type,e.body):m(e)?ef(e,n,e.name,e.typeParameters,e.heritageClauses,e.members):C(e)?eg(e,n,e.name,e.typeParameters,e.heritageClauses,e.members):P(e)?eb(e,n,e.name,e.typeParameters,e.type):h(e)?ea(e,n,e.name,e.members):D(e)?ey(e,n,e.name,e.attributes,e.body):R(e)?e$(e,n,e.declarationList):e}let tN=new Map;function tI(e){let t=u(e);if(tN.has(t))return tN.get(t);let n=function(e){let t=u(e);if(eU?.getSourceFile(t))return eU;let n=eJ();return eU?.dispose(),eU=eC.createProgram([t],n)}(t);if(!n.getSourceFile(t))return tN.set(t,""),"";let r=[...n.getDeclarationEmit([t]).outputFiles.values()].find(e=>e.sourceFileName===t)?.text??"";return r&&(r=function(e,t){let n=eR(t,e),r=[];for(let e of n.statements)if(k(e)&&!e.importClause){let t=e.moduleSpecifier;T(t)&&tv.test(t.text)&&r.push({start:e.getFullStart(),end:e.end})}let i=e;for(let{start:e,end:t}of r.reverse())i=i.slice(0,e)+i.slice(t);return i}(r,t)),tN.set(t,r),r}let tO="\0dts-export-all",t_=new Map,tB=new Map;function tT(e){return void 0===e||e.has("*")}function tP(e,t){if(tT(e)||tT(t))return tT(e)&&tT(t);if(void 0===e||void 0===t||e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function tA(e,t,n){let r=`${t??""}\0${e}`,i=t_.get(r),l=i?function(e,t){if(tT(e)||tT(t))return;let n=new Set(e);for(let e of t??[])n.add(e);return n}(i.bindings,n):function(e){if(void 0===e)return;let t=new Set(e);return t.has("*")?void 0:t}(n);return i&&tP(i.bindings,l)?{key:r,changed:!1}:(t_.set(r,{moduleId:e,scope:t,bindings:l}),{key:r,changed:!0})}function tz(e,t,n){let r=te(e,n);if(r)return r;if(t&&e.startsWith(`${t}:`)){let r=te(e.slice(t.length+1),n);if(r)return r}let i=tt(e,n);return i?te(i,n):null}function tR(e){let t=[];for(let n=0;n<e.length;n+=256){let r=e.slice(n,n+256);t.push(...eC.batch(...r.map(e=>eC.printer.printNode.gen(e))))}return t}let tK=new Set([q.ModuleDeclaration,q.InterfaceDeclaration,q.TypeAliasDeclaration,q.ClassDeclaration,q.FunctionDeclaration,q.EnumDeclaration,q.EnumMember,q.VariableStatement,q.VariableDeclaration,q.Parameter,q.TypeParameter,q.BindingElement,q.PropertySignature,q.PropertyDeclaration,q.PropertyAssignment,q.NamedTupleMember,q.MethodSignature,q.MethodDeclaration,q.GetAccessor,q.SetAccessor,q.Constructor,q.IndexSignature,q.CallSignature,q.ConstructSignature,q.ImportDeclaration,q.ImportEqualsDeclaration,q.ExportDeclaration,q.ExportAssignment]);function tL(e,t,n){let r;R(e)?r=e.declarationList.declarations[0]?.name:"name"in e&&(r=e.name);let i=r?S(r)||T(r)?r.text:r.getText(t):"";return`${n}/${e.kind}:${i}`}function tq(e,t,n){let r=eD.get(e)??new Map,i=(t,l)=>{let s=tK.has(t.kind),o=s?tL(t,n,l):l;if(s&&t.pos>=0){let i=`${e}\0${n.fileName}\0${t.kind}\0${t.pos}`;if(eF.has(i))return;eF.add(i);let l=t.getStart(n),s=(ew(n.text,t.pos)??[]).filter(e=>e.end<=l).map(e=>n.text.slice(e.pos,e.end)),f=r.get(o)??[];f.push(s),r.set(o,f)}t.forEachChild(e=>i(e,o))};for(let e of t)i(e,"");eD.set(e,r)}function tJ(e,t,n){let r=[];for(let e of t)r.push(tW(e));return tF(e,r,n)}function tV(e){return et(void 0,q.ModuleKeyword,G("global"),void 0,ee(e))}function tX(e){return(D(e)||C(e)||P(e)||m(e)||w(e)||h(e))&&e.name&&S(e.name)?[e.name.text]:R(e)?e.declarationList.declarations.flatMap(e=>S(e.name)?[e.name.text]:[]):[]}function tZ(e){return!!(g(e)||"modifiers"in e&&e.modifiers?.some(e=>e.kind===q.DefaultKeyword))||y(e)&&!!e.exportClause&&F(e.exportClause)&&e.exportClause.elements.some(e=>"default"===e.name.text)}function tG(e){let t=!1,n=[];for(let r of e){if(tZ(r)){if(t)continue;t=!0}n.push(r)}return n}function tH(e,t){let n=ee(tG(t));return et([eo(q.DeclareKeyword)],q.ModuleKeyword,es(e,0),void 0,n)}function tQ(e){let t=new Set,n=e=>{let t=e;for(;B(t);)t=t.left;return S(t)?t.text:null},r=e=>{if(S(e))return e.text;if(B(e))return n(e);let t=e;for(;_(t);)t=t.expression;return S(t)?t.text:null},i=(e,t)=>{for(let n of tX(e))t.add(n);if(k(e)){let n=e.importClause;if(n?.name&&t.add(n.name.text),n?.namedBindings)if(O(n.namedBindings))t.add(n.namedBindings.name.text);else for(let e of n.namedBindings.elements)t.add(e.name.text)}v(e)&&t.add(e.name.text)},l=(e,s)=>{let o=new Set(s),f=new Set;for(let t of e)i(t,o);let a=e=>{if(D(e)&&S(e.name)&&e.body&&E(e.body))return void l(e.body.statements,o);if(!(k(e)||v(e))&&!M(e)){if(z(e)&&B(e.typeName)){let t=n(e.typeName);t&&f.add(t)}if(A(e)){let t=r(e.exprName);t&&f.add(t)}if(_(e)){let t=r(e);t&&f.add(t)}if(x(e)&&B(e.expression)){let t=n(e.expression);t&&f.add(t)}e.forEachChild(a)}};for(let t of e)a(t);for(let e of f)o.has(e)||t.add(e)};return l(e,new Set),t}let tU=new WeakMap;function tY(e,t,n){for(let r of n.get(t)??[])if(r.body&&E(r.body)){for(let t of r.body.statements)if(I(t)&&t.name.text===e||g(t)&&S(t.expression)&&t.expression.text===e)return!0}return!1}function t0(e,t,n=[],r){let i=(function(e){let t=tU.get(e);if(t)return t;let n=new Map,r=(e,t)=>{if(!e||"global"===e)return;let r=n.get(e)??new Set;r.add(t),n.set(e,r)},i=(e,t)=>{for(let n of e)D(n)&&S(n.name)&&(r(n.name.text,t),n.body&&E(n.body)?i(n.body.statements,t):n.body&&D(n.body)&&i([n.body],t))},l=(e,t)=>{let n=new Set(e.flatMap(e=>g(e)&&e.isExportEquals&&S(e.expression)?[e.expression.text]:[]));for(let n of e)I(n)?r(n.name.text,t):g(n)&&n.isExportEquals&&S(n.expression)?r(n.expression.text,t):y(n)&&n.exportClause?N(n.exportClause)&&r(n.exportClause.name.text,t):D(n)&&S(n.name)&&t5(n)?r(n.name.text,t):v(n)&&t5(n)&&r(n.name.text,t),D(n)&&n.body&&E(n.body)&&t5(n)&&l(n.body.statements,t);for(let r of n){let n=e.find(e=>D(e)&&S(e.name)&&e.name.text===r);n?.body&&(E(n.body)?i(n.body.statements,t):D(n.body)&&i([n.body],t))}};for(let[t,n]of e)for(let e of n)e.body&&E(e.body)&&l(e.body.statements,t);return tU.set(e,n),n})(t).get(e);if(i?.size===1)return i.values().next().value??null;let l=e.toLowerCase();if(!i||0===i.size)return null;let s=r?new Set([...i].filter(e=>e.startsWith(`${r}:`))):i,o=s.size>0?s:i,f=[...o].find(e=>e.toLowerCase()===l);if(f)return f;let a=new Set,u=e=>{let t=p(e)?void 0:tj(e);t&&a.add(t.moduleId),e.forEachChild(u)};for(let e of n)u(e);let d=[...o].map(n=>{let i=0;for(let e of a)((r&&e.startsWith(`${r}:`)?e.slice(r.length+1):tt(e,t)??e)===(r&&n.startsWith(`${r}:`)?n.slice(r.length+1):n)||e===n)&&(i+=20);for(let r of t.get(n)??[])if(r.body&&E(r.body))for(let t of r.body.statements)g(t)&&t.isExportEquals&&(i+=1),D(t)&&S(t.name)&&(t.name.text===e&&(i+=2),t.name.text.toLowerCase()===l&&(i+=1));return[n,i]}),c=Math.max(...d.map(([,e])=>e)),m=d.filter(([,e])=>e===c);return 1===m.length?m[0][0]:null}function t1(e,t,n,r){let i=new Set;for(let l of tQ(e)){let s=t0(l,n,e,t);if(!s||s===r)continue;let o=e5(s,t),f=tY(l,s,n);e.some(e=>k(e)&&!!e.importClause?.namedBindings&&(O(e.importClause.namedBindings)?e.importClause.namedBindings.name.text===l:e.importClause.namedBindings.elements.some(e=>e.name.text===l))&&T(e.moduleSpecifier)&&e.moduleSpecifier.text===o)||(e.unshift(Q(void 0,H(void 0,void 0,f?ei(G(l)):er([U(!1,void 0,G(l))])),es(o,0),void 0)),i.add(s))}return i}function t2(e){let t=new Map,n=[],r=e=>{let t=e.importClause;if(!t||e.attributes||t.phaseModifier===q.DeferKeyword)return null;let n=e.moduleSpecifier;return T(n)?n.text:n.getText()},i=e=>e.phaseModifier===q.TypeKeyword,l=e=>e.namedBindings&&O(e.namedBindings)?e.namedBindings:void 0,s=e=>e.namedBindings&&W(e.namedBindings)?e.namedBindings:void 0,o=e=>S(e)||T(e)?e.text:"",f=e=>`${e.propertyName?o(e.propertyName):""}\0${o(e.name)}`,a=e=>e.isTypeOnly?e:U(!0,e.propertyName,e.name),u=e=>e.isTypeOnly?U(!1,e.propertyName,e.name):e,d=(e,t)=>{let n=e.importClause,r=t.importClause;if(!n||!r)return null;let d=l(n),c=l(r),p=s(n),m=s(r),h=i(n),g=i(r),y=h&&g;if(y&&(n.name||r.name)&&(p||m)||d&&m||c&&p||d&&c&&d.name.text!==c.name.text||n.name&&r.name&&n.name.text!==r.name.text||!y&&(h&&(n.name||d)||g&&(r.name||c)))return null;let x=(p?.elements??[]).map(e=>y?u(e):h?a(e):e),b=new Map,$=new Map;for(let e=0;e<x.length;e++){let t=x[e],n=f(t),r=t.propertyName?o(t.propertyName):o(t.name);b.set(n,e),$.set(t.name.text,r)}for(let e of m?.elements??[]){let t=e.propertyName?o(e.propertyName):o(e.name),n=$.get(e.name.text);if(n&&n!==t)return null;let r=y?u(e):g?a(e):e,i=f(r),l=b.get(i);void 0===l?(b.set(i,x.length),$.set(r.name.text,t),x.push(r)):y||!x[l].isTypeOnly||r.isTypeOnly||(x[l]=r)}let w=n.name??r.name,S=d??c,k=H(y?q.TypeKeyword:void 0,w,S??(x.length?er(x):void 0));return ep(e,e.modifiers,k,e.moduleSpecifier,e.attributes)};for(let l of e){if(!k(l)){n.push(l);continue}let e=l.importClause;for(let s of e&&i(e)&&e.name&&e.namedBindings?[ep(l,l.modifiers,H(q.TypeKeyword,e.name,void 0),l.moduleSpecifier,l.attributes),ep(l,l.modifiers,H(q.TypeKeyword,void 0,e.namedBindings),l.moduleSpecifier,l.attributes)]:[l]){let e=r(s),i=null===e?[]:t.get(e)??[],l=!1;for(let e of i){let t=d(e.statement,s);if(t){e.statement=t,n[e.index]=t,l=!0;break}}l||(null!==e&&(i.push({index:n.length,statement:s}),t.set(e,i)),n.push(s))}}return n}function t6(e){let t=new Map,n=e=>{let r=p(e)?void 0:tj(e);if(r){let n=t.get(r.moduleId)??new Set;for(let t of k(e)&&0===r.bindings.length?["*"]:r.bindings)n.add(t);t.set(r.moduleId,n)}e.forEachChild(n)};for(let t of e)n(t);return t}function t5(e){let t="modifiers"in e?e.modifiers:void 0;return!!t?.some(e=>e.kind===q.ExportKeyword)}function t3(e,t,n){if(!n)return e;let r=eR("bundle.d.ts",e),i=[],l=e=>{let s;if((k(e)||y(e))&&e.moduleSpecifier&&T(e.moduleSpecifier)?s=e.moduleSpecifier:v(e)&&$(e.moduleReference)&&T(e.moduleReference.expression)?s=e.moduleReference.expression:M(e)&&j(e.argument)&&T(e.argument.literal)&&(s=e.argument.literal),s){let e=ts(s.text,t,n);e!==s.text&&i.push({start:s.getStart(r),end:s.end,text:JSON.stringify(e)})}e.forEachChild(l)};if(r.forEachChild(l),0===i.length)return e;i.sort((e,t)=>e.start-t.start);let s=[],o=0;for(let{start:t,end:n,text:r}of i)s.push(e.slice(o,t),r),o=n;return s.push(e.slice(o)),s.join("")}function t4(e,t,n){let r=e6();for(let i of e){let e=ti(i,t,r);if(!e||!tl(i,e,t))continue;let l=n?.get(i)??n?.get(e);tA(e,t,l?.size?l:void 0)}}function t8(e){let t=new Map;for(let n of e){let e=t.get(n.id);e?(n.priority??0)>(e.priority??0)?(e.content=n.content,e.ambient=n.ambient,e.priority=n.priority):(n.priority??0)===(e.priority??0)&&e.content!==n.content&&(e.content=t9(e.content,n.content,n.id),e.ambient=e.ambient&&n.ambient):t.set(n.id,n)}return t}function t9(e,t,n){if(e===t)return e;let r=eR(`ambient-base:${n}`,e),i=eR(`ambient-addition:${n}`,t),l=r.statements.find(e=>D(e)&&T(e.name)),s=i.statements.find(e=>D(e)&&T(e.name));if(l?.body&&E(l.body)&&s?.body&&E(s.body)&&T(l.name)&&T(s.name)&&l.name.text===s.name.text){let r=eC.printer,i=[],o=new Set,f=[...l.body.statements,...s.body.statements],a=tR(f);for(let[e,t]of f.entries()){let n=a[e],r=`${t.kind}\0${n}`;o.has(r)||(o.add(r),i.push(n))}let u=eR(`ambient-merged:${n}`,`declare module ${JSON.stringify(n)} {
2
- ${i.join("\n")}
3
- }`).statements.find(e=>D(e)&&T(e.name));if(!u?.body||!E(u.body))return`${e}
4
- ${t}`;let d=tG(t2([...u.body.statements])),c=ey(u,u.modifiers,u.name,u.attributes,ee(d));return r.printNode(c)}return`${e}
5
- ${t}`}function t7(e,t){return eC.printer.printNode(tH(e,[...t]))}let ne=new Map;function nt(e){let t=`${e.id}\0${e.content}`,n=ne.get(t);if(n)return n;let r=eR(`ambient-deps:${e.id}`,e.content),i=t6(r.statements),l={source:r,references:i};return ne.set(t,l),l}let nn=new WeakMap;function nr(e,t,n,r,l,o,f,a,d,c){let p=new Set,m=[],h=new Set,g=new Set,x=(e,t)=>t$(e,t);return!function $(w){let S,M=u(w);if(p.has(M))return;p.add(M);let C=/\.[cm]?tsx?$/.test(M)&&!/\.d\.[cm]?ts$/.test(M);if(/\.[cm]?js$/.test(M)){let e=M.replace(/\.[cm]?js$/,e=>".mjs"===e?".d.mts":".cjs"===e?".d.cts":".d.ts");eI(e)&&$(e),p.delete(M);return}try{if(C){if(!(S=tI(M)))return void p.delete(M)}else{let e=eA(w);if(null===e)throw Error(`Cannot read declaration file: "${w}"`);S=e.replace(/^#![^\n]*\n?/,"")}}catch{p.delete(M);return}let j=eR(M,S,/\.[cm]?tsx?$/.test(M)&&!/\.d\.[cm]?ts$/.test(M)?K.TSX:K.TS),F=new Set,W=new Set,N=new Set,I={pkgName:e,pkgDir:t,entryFile:n,mainModuleId:l,scope:r,resolver:x,localDependencies:F,externalDeps:W,externalSubpaths:N,usedBindings:c,isEntry:o,depScope:f,entryPkgs:a,scopedEntryPkgs:d},O=tE(M,I);I.currentModuleId=O;let _=j.fileName,B=e=>{let t=tj(e);t&&((e,t)=>{if(tv.test(e))return;if(e.startsWith(".")||s(e)){let t=e.startsWith(".")?I.resolver(e,_):null;t&&I.localDependencies?.add(t);return}if(i(e))return;let n=I.pkgName?tw(e,I.pkgDir):null;if(n)return I.localDependencies?.add(n);if(eQ(e,_)){let t=eH(e,_).resolvedModule;t&&!t.isExternalLibraryImport&&I.localDependencies?.add(u(t.resolvedFileName));return}let r=e.startsWith("@")?e.split("/").slice(0,2).join("/"):e.split("/")[0];if(e===r&&I.externalDeps.add(r),e!==r&&I.externalSubpaths.add(e),I.usedBindings&&t){let n=I.usedBindings.get(e)||new Set;for(let e of t)n.add(e);I.usedBindings.set(e,n)}})(t.moduleId,t.bindings),k(e)||v(e)||y(e)&&e.moduleSpecifier||e.forEachChild(B)};for(let e of(j.forEachChild(B),j.typeReferenceDirectives))i(e.fileName)||I.externalDeps.add(e.fileName);for(let e of F)$(e);for(let e of j.referencedFiles){let t=x(e.fileName,M);t&&(F.add(t),$(t))}for(let e of W)h.add(e);for(let e of N)g.add(e);if(!b(j)){let e=j.statements.filter(e=>D(e)&&T(e.name)),t=j.statements.filter(e=>!D(e)||!T(e.name)),n=e6(),l=r||f||(o?"s":void 0),s=e=>tD(e,I,M);for(let t of e){if(!t.body||!E(t.body))continue;let e=function(e,t){let n=to(t.scope,t.depScope,t.isEntry);if(!n||i(e))return e;let r=ts(e,e6(),n);return r!==e?r:e3(e)?e:e5(e,n)}(t.name.text,I);tq(e,t.body.statements,j);let r=tJ(j,t.body.statements,s);for(let e of t1(r,l,n))W.add(e),h.add(e);let o=tH(e,t2(r)),f=eC.printer;m.push({id:e,content:f.printNode(o),ambient:!0,priority:2})}if(t.length>0){tq(O,t,j);let e=tJ(j,t,s);if(e.length>0){for(let t of t1(e,l,n))W.add(t),h.add(t);let t=e.filter(e=>k(e)||v(e)),r=tV(e.filter(e=>!k(e)&&!v(e))),i=tH(O,[...t,r]),s=eC.printer;m.push({id:O,content:s.printNode(i),ambient:!0,priority:1})}}return}tq(O,j.statements,j);let P=eE.get(j);P||(P=new Map,eE.set(j,P));let A=JSON.stringify([O,e,t,l,void 0===l?void 0:n,r,o,f,[...W].sort(),[...N].sort()]),z=P.get(A);if(z){for(let e of z.namespaceModules)W.add(e),h.add(e);m.push({id:O,content:z.content});return}let R=function(e,t,n){let r=[],i=new Set;for(let t of e.statements){if(D(t)&&T(t.name)){t.body&&E(t.body)&&r.push(...t.body.statements.map(tW));continue}let e=tW(t);r.push(e),(k(e)||y(e))&&i.add(e)}return tF(e,r,e=>tD(e,t,n),{statements:i,currentModuleId:t.currentModuleId})}(j,I,M);if(0===R.length)return;let L=t1(R,r||f||(o?"s":void 0),e6());for(let e of L)W.add(e),h.add(e);let q=tH(O,t2(R)),J=eC.printer.printNode(q);P.set(A,{content:J,namespaceModules:[...L]}),m.push({id:O,content:J})}(n),{blocks:m,externalDeps:h,externalSubpaths:g}}function ni(e,t){return{id:e,content:t7(e,[X(void 0,!1,void 0,es(t,0))])}}let nl=new Map;function ns(e){return new Map([...e].map(([e,t])=>[e,{...t}]))}function no(e,t){return!!t&&(t.has(e)||t.has(e.replace(/\.[cm]?js$/,"")))}function nf(e){if(!e)return null;let t=new Set([...e].filter(e=>e!==tO));return t.size>0?t:null}function na(e,t,n,r,i,l,s,o,f,a,d,c){let p=to(l,void 0,f),m=no(e,c)||o?.get(e)?.has("*")===!0,{blocks:h,externalDeps:x,externalSubpaths:b}=nr(e,n,t,l,e||s,f,l,a,d,o);e&&d?.has(e)&&function(e,t,n,r,i,l){let s=l?`${l}:${t}`:t;if(i===t&&e.some(e=>e.id===s))return;let o=tS(u(n),r),f=i??`${t}/${o}`,a=l?`${l}:${f}`:f;e.push(ni(s,a))}(h,e,t,n,e,l);let $=(e,t)=>{if(!(r.has(e)||tC(e,a,d)))try{let s,f="package"===t?tg(e,n):ty(e,n);if(!f||"subpath"===t&&!tx(f))return void t4([e],p,o);let h="package"===t?e:tk(e),x=nf(o?.get(e)),b=no(e,c)||x?.has("*")===!0||m&&(s=o?.get(e),!!s?.has(tO)&&(s.add("*"),!0));if(!b&&x){r.add(e);let t=function e(t,n,r,i=new Set){let l=new Map,s=u(n),o=`${u(t)}\0${s}\0${[...r].sort().join(",")}`,f=0===i.size;if(f){let e=nl.get(o);if(e)return ns(e)}if(i.has(s))return l;if(i.add(s),r.has("*"))return l.set("*",{file:n}),l;try{let s=eA(n);if(null===s)return l;let o=eR(n,s);for(let s of o.statements){if(y(s)){let o=s.moduleSpecifier;if(o&&!T(o))continue;if(s.exportClause&&F(s.exportClause))for(let e of s.exportClause.elements){if(!r.has(e.name.text))continue;let t=o?t$(o.text,n):n;t&&l.set(e.name.text,{file:t,originalName:e.propertyName?.text})}else if(!s.exportClause&&o){let s=t$(o.text,n);if(s)for(let[n,o]of e(t,s,r,i))l.has(n)||l.set(n,o)}continue}if(t5(s)&&!D(s)){let e=tX(s);for(let t of e)r.has(t)&&l.set(t,{file:n});!R(s)&&tZ(s)&&r.has("default")&&l.set("default",{file:n,originalName:e[0]})}else g(s)&&r.has("default")&&l.set("default",{file:n})}let f=o.statements.some(e=>g(e)&&e.isExportEquals),a=o.statements.some(e=>D(e)&&S(e.name));if(f&&a)for(let e of r)l.has(e)||l.set(e,{file:n})}catch{for(let e of r)l.set(e,{file:n})}return f&&nl.set(o,ns(l)),l}(f.pkgDir,f.entryFile,x),n=new Set([...t.values()].map(e=>e.file)),s=new Map;for(let e of n){let{blocks:n,externalDeps:m,externalSubpaths:g}=nr(h,f.pkgDir,e,l,void 0,!1,void 0,a,d,o);for(let r of n)for(let[n,l]of(i.push(r),t))u(l.file)===u(e)&&s.set(n,{sourceModule:r.id,originalName:l.originalName});for(let e of m)if(!r.has(e))try{let t=tg(e,f.pkgDir);if(!t){r.add(e),t4([e],p,o);continue}r.add(e),na(e,t.entryFile,t.pkgDir,r,i,p,void 0,o,!1,a,d,c)}catch{}for(let e of g)if(!r.has(e))try{let t=ty(e,f.pkgDir);if(t){r.add(e);let n=nr(tk(e),t.pkgDir,t.entryFile,p,void 0,!1,void 0,a,d,o);i.push(...n.blocks)}}catch{}}if(s.size>0){let t=function(e,t,n){let r=[],i=n?`${n}:${e}`:e;for(let[e,n]of t){if(n.sourceModule===i)continue;let t=X(void 0,!1,en([Z(!1,n.originalName?G(n.originalName):void 0,G(e))]),es(n.sourceModule,0));r.push(t)}return 0===r.length?{id:i,content:""}:{id:i,content:t7(i,r)}}(e,s,p);t.content&&i.push(t)}}else if(b)if(r.add(e),"package"===t)na(e,f.entryFile,f.pkgDir,r,i,p,void 0,o,!1,a,d,c);else{let e=nr(h,f.pkgDir,f.entryFile,p,void 0,!1,void 0,a,d,o);i.push(...e.blocks)}}catch{}};for(let e of x)$(e,"package");for(let e of b)$(e,"subpath");i.push(...h)}function nu(e){let t=e.map(e=>e.content).join("\n\n");if(!/\bexport\s*\*\s+from\s*["']/.test(t))return t;let n=e.flatMap(e=>nt(e).source.statements),r=new Map,i=new Map;for(let e of n)if(D(e)&&T(e.name)){let t=e.name.text;i.set(t,e),e.body&&E(e.body)&&r.set(t,Array.from(e.body.statements))}let l=new Map,s=new Set,o=[];for(let e of n)if(D(e)&&T(e.name)){let t=e.name.text,n=r.get(t);if(!n||n.some(tZ)){o.push(e);continue}let i=new Set;for(let e of n)if(y(e)&&!e.exportClause&&e.moduleSpecifier&&T(e.moduleSpecifier)){let t=e.moduleSpecifier.text;(function e(t){let n=l.get(t);if(void 0!==n)return n;if(s.has(t))return!1;s.add(t);let i=r.get(t);if(!i)return s.delete(t),l.set(t,!1),!1;let o=i.some(tZ);for(let t of o?[]:i)if(y(t)&&!t.exportClause&&t.moduleSpecifier&&T(t.moduleSpecifier)&&e(t.moduleSpecifier.text)){o=!0;break}return s.delete(t),l.set(t,o),o})(t)&&i.add(t)}if(1!==i.size){o.push(e);continue}let[f]=i,a=X(void 0,!1,en([Z(!1,G("default"),G("default"))]),es(f,0),void 0),u=ee(tG([...n,a])),d=ey(e,e.modifiers,e.name,e.attributes,u);o.push(d)}let f=[],a=[],u=[];for(let[e,t]of o.entries()){if(!D(t)||!T(t.name)||!t.body||!E(t.body)){a.push(t),u.push(e);continue}let n=tG(t.body.statements),r=i.get(t.name.text),l=r?.body&&E(r.body)?r.body.statements:void 0;if(r&&l&&n.length===l.length&&n.every((e,t)=>e===l[t])){f[e]=r.getText(r.getSourceFile());continue}a.push(ey(t,t.modifiers,t.name,t.attributes,ee(n))),u.push(e)}for(let[e,t]of tR(a).entries())f[u[e]]=t;return f.join("\n")}function nd(e){let t=[],n=0,r=e.length,i=!1;for(;n<r;){let l=e[n];if("/"===l&&n+1<r&&"/"===e[n+1]){for(i||t.push(" "),n+=2;n<r&&"\n"!==e[n];)n++;i=!0;continue}if("/"===l&&n+1<r&&"*"===e[n+1]){let l=n,s=n+2<r&&"*"===e[n+2],o=e.indexOf("*/",n+2);if(n=-1===o?r:o+2,!s){i||t.push(" "),i=!0;continue}let f=function(e){let t=e.slice(3,-2).split("\n").map(e=>{let t=e.trim();return t.startsWith("*")?t.slice(1).trim():t}),n=t.findIndex(e=>e.startsWith("@example")),r=t.some(e=>/^\|[\s:-|]+\|$/.test(e.trim()));return -1!==n||r?t.filter((e,t,n)=>""!==e||0!==t&&""!==n[t-1]).join("\n").trim():t.join(" ").replace(/\s+/g," ").trim()}(e.slice(l,n));if(f)if(f.includes("\n")){for(let e of(t.push("\n/**\n"),f.split("\n")))t.push(" *",e?` ${e}`:"","\n");t.push(" */")}else t.push("\n/** ",f," */");i=!1;continue}if('"'===l||"'"===l||"`"===l){for(t.push(l),n++;n<r;){let i=e[n];if("\\"===i&&n+1<r){t.push(i,e[n+1]),n+=2;continue}if(t.push(i),n++,i===l)break}i=!1;continue}if(" "===l||" "===l||"\n"===l||"\r"===l){i||(t.push(" "),i=!0),n++;continue}t.push(l),i=!1,n++}return t.join("").trim()}function nc(){eU?.dispose(),eV?.dispose();let e=[...ej];for(let t=0;t<e.length;t+=256)eC.batch(...e.slice(t,t+256).map(e=>e.dispose.gen()));ej.clear(),eD.clear(),eF.clear(),eW.clear(),eN=null,e_.clear(),eB.clear(),eT.clear(),eZ.clear(),tb.clear(),tp.clear(),tm.clear(),tn.clear(),eY.clear(),e0.clear(),e1.clear(),nl.clear(),tN.clear(),eO.clear(),t_.clear(),tB.clear(),ne.clear(),eL=null,eq=null,eV=null,eU=null}export async function bundleDts(e,t,n=!0){let r;nc();let l=(Array.isArray(e)?e:[e]).flatMap(e=>"string"==typeof e?[{input:e}]:Object.entries(e).map(([e,t])=>({input:t,name:e}))),p=new Set,m=[],h=[],x=new Map,$=new Set,w=new Set,C=new Set;for(let e of l){var j;let{input:t,name:n}=e;if(void 0!==n||s(j=t)||j.startsWith("./")||j.startsWith("../"))e.localEntry=function(e){let t=u(e),n=c.cwd();if(/\.d\.[cm]?ts$/.test(t)&&eI(t))return{entryFile:t,pkgDir:n};let r=t.match(/^(.*)\.[cm]?[tj]sx?$/);if(r){let e=r[1];for(let t of[".d.ts",".d.mts",".d.cts"]){let r=e+t;if(eI(r))return{entryFile:r,pkgDir:n}}return/\.[cm]?tsx?$/.test(t)&&eI(t)?{entryFile:t,pkgDir:n}:null}for(let e of[".d.ts",".d.mts",".d.cts"])if(eI(t+e))return{entryFile:t+e,pkgDir:n};for(let e of["index.d.ts","index.d.mts","index.d.cts"]){let r=o(t,e);if(eI(r))return{entryFile:r,pkgDir:n}}throw Error(`Cannot find local file: "${e}"`)}(t),e.localEntry&&function e(t,n,r,l=new Set){let o=u(t);if(l.has(o))return;l.add(o);let c=1===l.size,p=eA(t);if(null===p||/\.[cm]?tsx?$/.test(o)&&!/\.d\.[cm]?ts$/.test(o)&&!(p=tI(o)))return;let m=eR(o,p),h=a(n,o).split(d).join(f.sep),g=/^(?:es|lib|dist)(?:\/|$)/.test(h)?n:void 0;for(let t of m.statements){!function e(t,n,r){let l=M(t)?tj(t):void 0;if(l){let{moduleId:e,bindings:t}=l;if(!e.startsWith(".")&&!s(e)&&!i(e)&&!tv.test(e)&&!(r&&tw(e,r))){let r=n.get(e)??new Set;for(let e of t)r.add(e);n.set(e,r)}}t.forEachChild(t=>e(t,n,r))}(t,r,g);let f=tj(t);if(!f)continue;let a=f.moduleId,d=v(t),p=null,m=!1;if(!d){let t=g?tw(a,n):null;if(t){e(t,n,r,l);continue}if(m=eQ(a,o),a.startsWith("."))p=t$(a,o);else if(m){let{resolvedModule:e}=eH(a,o);e&&!e.isExternalLibraryImport&&(p=u(e.resolvedFileName))}}if(!a.startsWith(".")&&!s(a)&&!i(a)&&!tv.test(a)&&!m){let e=r.get(a)??new Set;for(let t of f.bindings)e.add(c&&t===tO?"*":t);r.set(a,e)}p&&e(p,n,r,l)}}(e.localEntry.entryFile,e.localEntry.pkgDir,x),n&&!n.startsWith(".")&&(w.add(n),w.add(tk(n)));else{let e=t.replace(/\.[cm]?js$/,"");$.add(e),w.add(e),C.add(e),w.add(tk(t))}}for(let e of $){let t=x.get(e)||new Set;t.add("*"),x.set(e,t)}for(let{input:e,name:n,localEntry:r}of l){let i,l=void 0===r,s=l?e:u(e);if(p.has(s))continue;p.add(s);let o=r;if(l){let n=ty(e)??tg(e);if(!(o=tx(n)?n:null)){t4([e],t,x);continue}}if(o){if(void 0!==n){let e=tS(u(o.entryFile),o.pkgDir);i=t?`${t}:${e}`:e,h.push({name:n,moduleId:i})}na(l?e:"",o.entryFile,o.pkgDir,p,m,t,i,x,l,w,C,$)}}let W=new Map;for(let e=0;e<32&&(!function(e,t){let n=e6(),r=new Set;for(let i of e){let{source:e,references:l}=nt(i);if(!r.has(e)){for(let[i,s]of(r.add(e),l)){let e=tz(i,t,n);e&&tl(i,e,t)&&tA(e,t,s)}if(/\b(?:[A-Z][A-Za-z0-9_$]*)\s*\./.test(i.content))for(let r of tQ(e.statements)){let i=t0(r,n,e.statements,t);i&&tl(i,i,t)&&tA(i,t,void 0)}}}let i=[...t_.keys()],l=new Set(i),s=new Map,o=new Map,f=new Map,a=function(e,t){let n=new Map;for(let e of t)for(let t of tX(e)){let r=n.get(t)??[];r.push(e),n.set(t,r)}if(0===n.size)return[];let r=new Set,i=new Set;for(let t of e){let e=nt(t).source;if(i.has(e))continue;i.add(e);let l=e=>{S(e)&&n.has(e.text)&&r.add(e.text),e.forEachChild(l)};e.forEachChild(l)}let l=new Set;for(let e of r)for(let t of n.get(e)??[])l.add(t);let s=[...l];for(let e of s){let t=e=>{if(S(e))for(let t of n.get(e.text)??[])l.has(t)||(l.add(t),s.push(t));e.forEachChild(t)};t(e)}return s}(e,function(){let e=c.cwd(),t=e1.get(e);if(t)return t;let n=[];for(let e of e2()){let t=eA(e);if(null===t)continue;let r=eR(e,t);if(!b(r))for(let e of r.statements)D(e)&&T(e.name)||n.push(e)}return e1.set(e,n),n}());if(a.length>0){let r=[],i=a.map(e=>tW(e)),l=new Set(a.flatMap(tX));for(let e of tQ(i)){if(l.has(e))continue;let s=t0(e,n,i,t);if(!s)continue;let o=e5(s,t),f=tY(e,s,n);r.push(Q(void 0,H(void 0,void 0,f?ei(G(e)):er([U(!1,void 0,G(e))])),es(o,0))),tA(s,t,void 0)}let s=tV(i),o=e5("__ambient_globals__",t),f=eC.printer;-1===e.findIndex(e=>e.id===o)&&e.push({id:o,content:f.printNode(tH(o,[...r,s])),ambient:!0,priority:1})}for(let t=0;t<e.length;t++)o.set(e[t].id,t);for(let t=0;t<i.length;t++){let r=i[t];l.delete(r);let a=t_.get(r);if(!a||!tl(a.moduleId,a.moduleId,a.scope))continue;let u=a.bindings,d=s.get(r);if(s.has(r)&&tP(d,u))continue;let c=n.get(a.moduleId);if(!c?.length)continue;let p=function(e,t,n,r){let i=t.flatMap(e=>e.body&&E(e.body)?[...e.body.statements]:[]);if(!r||r.has("*")||!i.some(e=>y(e))||i.some(e=>!k(e)&&!y(e)))return i;let l=function e(t,n,r=new Set){if(r.has(t))return new Map;r.add(t);let i=new Map;for(let l of n.get(t)??[])if(l.body&&E(l.body))for(let s of l.body.statements){if(y(s)&&s.moduleSpecifier&&T(s.moduleSpecifier)){let t=s.moduleSpecifier.text;if(s.exportClause&&F(s.exportClause))for(let e of s.exportClause.elements)i.set(e.name.text,t);else if(!s.exportClause&&n.has(t))for(let[l]of e(t,n,new Set(r)))i.has(l)||i.set(l,t);continue}if(y(s)&&!s.moduleSpecifier&&s.exportClause&&F(s.exportClause)){for(let e of s.exportClause.elements)i.set(e.name.text,t);continue}if(t5(s)&&!D(s))for(let e of tX(s))i.set(e,t);g(s)&&s.isExportEquals&&i.set("default",t)}return i}(e,n);if(r.has("default")&&l.has("default")||![...r].some(e=>l.has(e)))return i;let s=[];for(let e of i){if(!y(e)){s.push(e);continue}if(e.moduleSpecifier&&!T(e.moduleSpecifier))continue;if(e.exportClause&&F(e.exportClause)){let t=e.exportClause.elements.filter(e=>r.has(e.name.text));t.length>0&&s.push(eu(e,e.modifiers,en(t),e.moduleSpecifier,e.attributes));continue}if(!e.moduleSpecifier){s.push(e);continue}let t=e.moduleSpecifier.text,n=[...r].filter(e=>l.get(e)===t);n.length>0&&s.push(eu(e,e.modifiers,en(n.map(e=>Z(!1,G(e),G(e)))),e.moduleSpecifier,e.attributes))}return s}(a.moduleId,c,n,u),m=e5(a.moduleId,a.scope);for(let e of c)e.body&&E(e.body)&&tq(m,e.body.statements,e.getSourceFile());for(let e of t1(p,a.scope,n)){let t=tA(e,a.scope,void 0);s.has(t.key)&&!t.changed||l.has(t.key)||(l.add(t.key),i.push(t.key))}let h=t2(p);if(0===h.length){s.set(r,u);continue}let x=JSON.stringify([r,u?[...u].sort():null]),b=tB.get(x);void 0===b&&(b=t3(t7(m,h),n,a.scope),tB.set(x,b));let $=o.get(m);if(void 0===$)o.set(m,e.length),e.push({id:m,content:b,ambient:!0});else{let t=e[$];if(t.ambient)t.content=b;else{let e=f.get(m)??t.content;f.set(m,e),t.content=t9(e,b,m)}}for(let[e,t]of(s.set(r,u),t6(h))){let r=tz(e,a.scope,n);if(!r||!tl(e,r,a.scope))continue;let o=tA(r,a.scope,t);s.has(o.key)&&!o.changed||l.has(o.key)||(l.add(o.key),i.push(o.key))}}t_.clear()}(m,t),function(e,t,n,r,l,o,f=new Map,a){let u=e6(),d=e.map(e=>e.id),c=new Map;for(let n of e)if(f.get(n.id)!==n.content)for(let[e,r]of(f.set(n.id,n.content),nt(n).references)){let n=function(e,t,n){let r=e;return t&&r.startsWith(`${t}:`)&&(r=r.slice(t.length+1)),tt(r,n)??r}(e,t,u);if(!n||n.startsWith(".")||s(n)||i(n)||function(e,t){let n=nn.get(t);return n||(n={exact:new Set(t),patterns:t.filter(e=>e.includes("*"))},nn.set(t,n)),n.exact.has(e)||n.patterns.some(t=>e7(t,e))}(e,d)||tC(n,l,o))continue;let f=ti(n,t,u);if(f&&tl(n,f,t)||e3(n)&&e9(n,u))continue;let a=c.get(n)??new Set;for(let e of r)a.add(e);c.set(n,a)}let p=!1;for(let[i,s]of c){if(n.has(i))continue;let f=no(i,a),u=nf(s);if(!f&&!u)continue;let d=(i.includes("/")&&!i.startsWith("@")?-1!==i.indexOf("/"):i.startsWith("@")&&i.split("/").length>2)?ty(i):tg(i);if(!d||!tx(d))continue;n.add(i);let c=r.get(i)??new Set;for(let e of u??s)c.add(e);r.set(i,c),na(i,d.entryFile,d.pkgDir,n,e,t,void 0,r,!1,l,o,a),p=!0}return p}(m,t,p,x,w,C,W,$));e++);let N=e6(),O=t8(m);m.length=0,m.push(...O.values());let _=new Set,B=[];for(let{name:e,moduleId:t}of h){let n=O.get(t);if(n){!function(e,t){let n=eD.get(e);n&&!eD.has(t)&&eD.set(t,new Map([...n].map(([e,t])=>[e,t.map(e=>[...e])])))}(t,e);let r=n.content.replace(RegExp(`declare module ["']${t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}["']`),`declare module "${e}"`);_.add(t),B.push({id:e,content:r,ambient:n.ambient})}else m.push(ni(e,t))}if(_.size>0){let e=m.filter(e=>!_.has(e.id));m.length=0,m.push(...e,...B)}let P=[...t8(m).values()];!function(e,t){let n=new Map,r=[];for(let t of e){let e=nt(t).source,i=e.statements.find(e=>D(e)&&T(e.name));if(!i?.body||!E(i.body))continue;let l=n.get(i.name.text)??[];l.push(i),n.set(i.name.text,l),r.push({block:t,sourceFile:e,declaration:i})}if(0===r.length)return;let i=eC.printer;for(let{block:e,declaration:l}of r){if(!l.body||!E(l.body))continue;let r=[...l.body.statements],s=r.filter(e=>!I(e)),o=[...s];if(0===t1(o,t,n,l.name.text).size&&s.length===r.length)continue;let f=t2(o),a=ey(l,l.modifiers,l.name,l.attributes,ee(f));e.content=i.printNode(a)}}(P,t);let A=t?t3(nu(P),N,t):nu(P),z=function(e,t){if(0===eD.size)return e;let n=eC.createSourceFile("__bundle_comments__.d.ts",e);try{let r=[];for(let i of n.sourceFile.statements){if(!D(i)||!T(i.name))continue;let l=eD.get(i.name.text);if(!l||!i.body||!E(i.body))continue;let s=new Map([...l].map(([e,t])=>[e,[...t]])),o=(i,l)=>{let f=tK.has(i.kind),a=f?tL(i,n.sourceFile,l):l;if(f){let l=s.get(a)?.shift(),o=t?l?.filter(e=>e.startsWith("/**")):l;if(o?.length){let l=i.getStart(n.sourceFile),s=ew(e,i.pos)??[],f=o.filter(t=>!s.some(n=>e.slice(n.pos,n.end)===t));if(f.length){let n=e.lastIndexOf("\n",l-1)+1,i=e.slice(n,l).match(/^\s*/)?.[0]??"",s=t?`${f.map(nd).join(" ")} `:`${f.map(e=>e.split("\n").map((e,t)=>{let n=e.trimStart();return(t?i+(n?" ":""):"")+n}).join("\n")).join(`
6
- ${i}`)}
7
- ${i}`;r.push({position:l,text:s})}}}i.forEachChild(e=>o(e,a))};for(let e of i.body.statements)o(e,"")}if(0===r.length)return e;let i=r.sort((e,t)=>e.position-t.position),l=[],s=0;for(let{position:t,text:n}of i)l.push(e.slice(s,t),n),s=t;return l.push(e.slice(s)),l.join("")}finally{n.dispose()}}((n?(r=eR("bundle.d.ts",A)).statements.filter(D).map(e=>e.getText(r)).map(nd).join("\n"):A).replace(/\bmodule global(?=\s*\{)/g,"global"),n);return nc(),z}
1
+ import{readdirSync as e,readFileSync as t,statSync as s}from"node:fs";import{createRequire as i,isBuiltin as r}from"node:module";import{dirname as n,isAbsolute as l,join as a,relative as o,resolve as d}from"node:path";import{isCallExpression as h,isClassDeclaration as p,isEnumDeclaration as f,isExportAssignment as u,isExportDeclaration as m,isExpressionWithTypeArguments as c,isExternalModule as g,isExternalModuleReference as y,isFunctionDeclaration as x,isIdentifier as b,isImportDeclaration as $,isImportEqualsDeclaration as S,isImportTypeNode as w,isInterfaceDeclaration as v,isLiteralTypeNode as k,isModuleBlock as M,isModuleDeclaration as F,isNamedExports as C,isNamespaceExport as j,isNamespaceExportDeclaration as N,isNamespaceImport as E,isPropertyAccessExpression as T,isQualifiedName as I,isStringLiteral as B,isTypeAliasDeclaration as W,isTypeQueryNode as z,isTypeReferenceNode as O,isVariableStatement as R,ScriptTarget as q,SyntaxKind as A}from"typescript/ast";import{createScanner as D,getLeadingCommentRanges as _}from"typescript/ast/scanner";import{API as P,JsxEmit as K,ModuleKind as L,ModuleResolutionKind as J}from"typescript/sync";let V=new P,G=[".d.ts",".d.mts",".d.cts"],H=[".ts",".tsx",".mts",".cts"],X="\0export-all",Q=/\.(css|less|sass|scss|styl|stylus|png|jpg|jpeg|gif|svg|ico|woff2?|ttf|eot|otf|mp[34]|web[pm])$/i,U=e=>e.split("/").slice(0,e.startsWith("@")?2:1).join("/"),Y=(e,t)=>o(t,e).replaceAll("\\","/").replace(/(?:\.d)?\.[cm]?tsx?$/,""),Z=e=>"index"===e?"":e.replace(/\/index$/,""),ee=JSON.stringify,et=(e,t)=>t&&!e.startsWith(`${t}:`)?`${t}:${e}`:e,es=e=>/^(?:_[^:]*_|\*[^:]*\*):/.test(e),ei=e=>l(e)||e.startsWith("."),er=e=>"modifiers"in e?e.modifiers??[]:[],en=(e,t)=>er(e).some(e=>e.kind===t),el=new Set([A.ImportDeclaration,A.ImportEqualsDeclaration,A.ExportDeclaration,A.ExportAssignment,A.TypeAliasDeclaration,A.VariableStatement,A.PropertySignature,A.PropertyDeclaration,A.MethodSignature,A.CallSignature,A.ConstructSignature,A.IndexSignature,A.MethodDeclaration,A.Constructor,A.GetAccessor,A.SetAccessor]),ea=e=>u(e)||en(e,A.DefaultKeyword)||m(e)&&!!e.exportClause&&C(e.exportClause)&&e.exportClause.elements.some(e=>"default"===e.name.text);function eo(e,t){!1!==t(e)&&e.forEachChild(e=>eo(e,t))}function ed(e){return R(e)?e.declarationList.declarations.flatMap(e=>b(e.name)?[e.name.text]:[]):(F(e)||p(e)||v(e)||W(e)||x(e)||f(e))&&e.name&&b(e.name)?[e.name.text]:[]}function eh(e){let t,s=[];if($(e)&&B(e.moduleSpecifier)){t=e.moduleSpecifier;let i=e.importClause;i||s.push("*"),i?.name&&s.push("default"),i?.namedBindings&&(E(i.namedBindings)?s.push("*"):s.push(...i.namedBindings.elements.map(e=>e.propertyName?.text||e.name.text))),s.length||s.push("*")}else if(m(e)&&e.moduleSpecifier&&B(e.moduleSpecifier))t=e.moduleSpecifier,s=e.exportClause&&C(e.exportClause)?e.exportClause.elements.map(e=>e.propertyName?.text||e.name.text):[e.exportClause?"*":X];else if(S(e)&&y(e.moduleReference)&&B(e.moduleReference.expression))t=e.moduleReference.expression,s=["default"];else if(w(e)&&k(e.argument)&&B(e.argument.literal)){t=e.argument.literal;let i=e.qualifier;for(;i&&I(i);)i=i.left;s=[!e.isTypeOf&&i&&b(i)?i.text:"*"]}else if(h(e)&&b(e.expression)&&"import"===e.expression.text&&e.arguments[0]&&B(e.arguments[0]))return{literal:t=e.arguments[0],bindings:s=["*"],call:!0};return t?{literal:t,bindings:s}:void 0}function ep(e,t,s=0,i=e.length){let r=[],n=s;for(let s of t.sort((e,t)=>e.start-t.start||t.end-e.end))s.start<n||s.end>i||(r.push(e.slice(n,s.start),s.text),n=s.end);return r.join("")+e.slice(n,i)}function ef(e){let t=D(!1,void 0,e),s=[],i=[],r=0,n=!1;for(let e=t.scan();e!==A.EndOfFile;e=t.scan()){e===A.TemplateHead&&i.push(r),e===A.OpenBraceToken&&r++,e===A.CloseBraceToken&&(i.length&&i.at(-1)===r?(e=t.reScanTemplateToken(!1))===A.TemplateTail&&i.pop():r--);let l=t.getTokenText();if(e===A.SingleLineCommentTrivia||/^\s+$/.test(l)){n=!0;continue}if(e===A.MultiLineCommentTrivia){if(l.startsWith("/**")){let e=l.slice(3,-2).split("\n").map(e=>e.trim().replace(/^\*\s?/,"")),t=e.some(e=>e.startsWith("@example")||/^\|[\s:|-]+\|$/.test(e))?e.filter((t,s)=>t||s>0&&e[s-1]).join("\n").trim():e.join(" ").replace(/\s+/g," ").trim();t&&s.push(t.includes("\n")?`
2
+ /**
3
+ * ${t.replaceAll("\n","\n * ")}
4
+ */`:`
5
+ /** ${t} */`)}n=!0;continue}n&&s.length&&s.push(" "),n=!1,s.push(l)}return s.join("").trim()}class eu{constructor(e){this.cwd=process.cwd(),this.requires=new Map,this.files=new Map,this.jsonFiles=new Map,this.packageMetadata=new Map,this.stats=new Map,this.bodies=new Map,this.leases=[],this.sourceReferences=new WeakMap,this.entries=new Map,this.emitted=new Map,this.resolutions=new Map,this.configDir=this.cwd,this.ambient=new Map,this.globalReferences=new Map,this.globals=new Map,this.configured=!1,this.ambientMatches=new Map,this.packageTypes=new Map,this.blocks=new Map,this.used=new Map,this.explicit=new Set,this.entryNames=new Set,this.scopedEntries=new Set,this.processed=new Set,this.pending=new Map,this.ambientRequests=new Map,this.dependencies=[],this.visitedDependencies=new Map,this.namespaceIndexes=new WeakMap,this.unboundNamespaceCache=new WeakMap,this.fileVisits=new Set,this.scope=e}close(){this.program?.dispose(),this.resolver?.dispose();for(let e=0;e<this.leases.length;e+=256)V.batch(...this.leases.slice(e,e+256).map(e=>e.dispose.gen()))}isFile(e){if(!this.stats.has(e))try{this.stats.set(e,s(e).isFile())}catch{this.stats.set(e,!1)}return this.stats.get(e)}read(e){let s=d(e);if(!this.files.has(s))try{this.files.set(s,t(s,"utf8"))}catch{this.files.set(s,null)}return this.files.get(s)}json(e){if(!this.jsonFiles.has(e))try{this.jsonFiles.set(e,JSON.parse(this.read(e)??"null"))}catch{this.jsonFiles.set(e,null)}return this.jsonFiles.get(e)}parse(e,t){let s=V.createSourceFile(e,t);return this.leases.push(s),s.sourceFile}parseBody(e){return this.bodies.has(e)||this.bodies.set(e,this.parse(`body-${this.bodies.size}.d.ts`,e)),this.bodies.get(e)}references(e){let t=this.sourceReferences.get(e);if(!t){let s=[];eo(e,e=>{let t=eh(e);t&&s.push(t)}),t=s,this.sourceReferences.set(e,t)}return t}compilerOptions(){if(this.options)return this.options;let e=this.cwd,t={target:q.ESNext,module:L.ESNext,moduleResolution:J.Bundler,jsx:K.ReactJSX};for(;;){let s=a(e,"tsconfig.json");if(this.isFile(s)){let i=V.parseConfigFile(s);i.errors.length||(t=i.options,this.configDir=e);break}let i=n(e);if(i===e)break;e=i}return this.options={...t,declaration:!0,emitDeclarationOnly:!0,noEmit:!1,noEmitOnError:!1,skipLibCheck:!0,declarationMap:!1},this.options}resolveTs(e,t){let s=`${n(t)}\0${e}`;if(!this.resolutions.has(s)){this.resolver??=V.createModuleResolver(this.compilerOptions());let i=this.resolver.resolveModuleName(e,n(t)).resolvedModule;this.resolutions.set(s,i&&!i.isExternalLibraryImport?d(i.resolvedFileName):null)}return this.resolutions.get(s)}source(e){let t,s=d(e);if(this.emitted.has(s))return this.emitted.get(s);if(!/\.[cm]?tsx?$/.test(s)||/\.d\.[cm]?ts$/.test(s)){let e=this.read(s);t=null===e?null:this.parse(s,e.replace(/^#![^\n]*\n?/,""))}else{this.program?.getSourceFile(s)||(this.program?.dispose(),this.program=V.createProgram([s],this.compilerOptions()));let e=[...this.program.getDeclarationEmit([s]).outputFiles.values()].find(e=>e.sourceFileName===s)?.text??"";t=e?this.parse(s,e):null;let i=[];for(let e of t?.statements??[])$(e)&&!e.importClause&&B(e.moduleSpecifier)&&Q.test(e.moduleSpecifier.text)&&i.push({start:e.getFullStart(),end:e.end,text:""});i.length&&(e=ep(e,i),t=this.parse(s,e))}return this.emitted.set(s,t),t}requireFrom(e){return this.requires.has(e)||this.requires.set(e,i(a(e,"__dts__.js"))),this.requires.get(e)}metadata(e,t=this.cwd){let s=`${t}\0${e}`;return this.packageMetadata.has(s)||this.packageMetadata.set(s,this.findMetadata(e,t)),this.packageMetadata.get(s)}findMetadata(t,s){for(let e of new Set([s,this.cwd])){let s=this.requireFrom(e);try{let e=s.resolve(`${t}/package.json`),i=this.json(e);if(i)return{root:n(e),json:i}}catch{}try{let e=n(s.resolve(t));for(;e!==n(e);){let s=this.json(a(e,"package.json"));if(s&&(!s.name||s.name===t))return{root:e,json:s};e=n(e)}}catch{}}let i=a(this.cwd,"node_modules/.pnpm");try{this.pnpmEntries??=e(i)}catch{return null}let r=`${t.replace("/","+")}@`;for(let e of this.pnpmEntries){if(!e.startsWith(r))continue;let s=a(i,e,"node_modules",t),n=this.json(a(s,"package.json"));if(n)return{root:s,json:n}}return null}declaration(e,t){let s=a(e,t);return[.../\.d\.[cm]?ts$/.test(s)?[s]:/\.[cm]js$/.test(s)?[s.replace(/\.([cm])js$/,".d.$1ts"),`${s}.d.ts`,s.replace(/\.[cm]js$/,".d.ts")]:/\.js$/.test(s)?[s.replace(/\.js$/,".d.ts"),`${s}.d.ts`,s.replace(/\.js$/,".d.mts"),s.replace(/\.js$/,".d.cts")]:[...G.map(e=>s+e),s],...G.map(e=>a(s,`index${e}`))].find(e=>this.isFile(e))??null}exportPath(e,t,s=!1){if("string"==typeof e)return!t||s?e:void 0;if(e)for(let i of t?[...Object.keys(e).filter(e=>"types"===e||e.startsWith("types@")).sort((e,t)=>"types"===e?-1:+("types"===t)),"import","require","default","node"]:["import","require","default","node","browser"]){let r=this.exportPath(e[i],t,s||"types"===i||i.startsWith("types@"));if(r)return r}}exportEntry(e,t,s,i=!1,r=!0){let n,l=t.exports?.[s];if(!l&&"."!==s&&r){let e=Object.keys(t.exports??{}).filter(e=>e.endsWith("/*")&&s.startsWith(e.slice(0,-1))).sort((e,t)=>t.length-e.length)[0];e&&(l=t.exports?.[e],n=s.slice(e.length-1))}let a=[this.exportPath(l,!0)];for(let t of(i||a.push(this.exportPath(l,!1)),a)){if(!t)continue;let s=this.declaration(e,void 0===n?t:t.replaceAll("*",n));if(s)return s}return null}package(e,t=this.cwd){let s=`${t}\0${e}`;if(this.entries.has(s))return this.entries.get(s);let i=U(e),r=e===i?"":e.slice(i.length+1),l=this.metadata(i,t),o=null;if(l){let{root:e,json:t}=l,s=[];if(r){s.push(this.exportEntry(e,t,`./${r}`));let i=a(e,r);for(let t of(s.push(...[i,...G.map(e=>i+e),...G.map(e=>a(i,`index${e}`))].filter(e=>this.isFile(e))),["es","lib","dist"]))s.push(this.declaration(e,`${t}/${r}`))}else{let i=t.types??t.typings;for(let r of(i&&s.push(this.declaration(e,i)),s.push(this.isFile(a(e,"index.d.ts"))?a(e,"index.d.ts"):null),s.push(this.exportEntry(e,t,"."),this.exportEntry(e,t,"./index",!1,!1)),[t.module,t.main]))r&&s.push(this.declaration(e,r));let r=t.typesVersions?.["*"],n=(r?.["*"]??r?.index)?.[0];n&&s.push(this.declaration(e,n.replace("*","index")))}let i=s.find(Boolean);i&&(o={file:i,root:e})}if(!o&&(!r||l)){let e=i.startsWith("@types/")?i:i.startsWith("@")?`@types/${i.slice(1).replace("/","__")}`:`@types/${i}`;for(let s of new Set([t,this.cwd]))try{let t=this.requireFrom(s).resolve(`${e}/package.json`),i=this.json(t);if(!i)continue;let l=n(t),d=a(l,r),h=r?this.exportEntry(l,i,`./${r}`,!0)??[d,...G.map(e=>d+e)].find(e=>this.isFile(e)):this.declaration(l,i.types??i.typings??"index.d.ts");if(h){o={file:h,root:l};break}}catch{}}return this.entries.set(s,o),o}usable(e){return!!e&&(/\.[cm]?tsx?$/.test(e.file)||/\.[cm]?js$/.test(e.file)&&this.isFile(e.file.replace(/\.([cm]?)js$/,".d.$1ts")))}relativeFile(e,t){let s=`${t}\0relative:${e}`;if(this.resolutions.has(s))return this.resolutions.get(s);let i=a(n(t),e),r=i.slice(i.lastIndexOf(".")),l=i.slice(0,-r.length),o=[];if(/^\.[cm]?js$/.test(r)){let e=".mjs"===r?[".d.mts",".d.ts",".d.cts"]:".cjs"===r?[".d.cts",".d.ts",".d.mts"]:G;o.push(...e.map(e=>l+e))}H.includes(r)&&o.push(i);let d=[...G,...H];o.push(...d.map(e=>i+e),...d.map(e=>a(i,`index${e}`)));let h=o.find(e=>this.isFile(e))??null;return this.resolutions.set(s,h),h}internalAlias(e,t){if("src"!==e&&!e.startsWith("src/"))return null;for(let s of["es","lib","dist"]){let i=this.declaration(t,`${s}/${"src"===e?"index":e.slice(4)}`);if(i)return i}return null}localEntry(e){let t=d(e);if(/\.d\.[cm]?ts$/.test(t)&&this.isFile(t))return{file:t,root:this.cwd};let s=t.match(/^(.*)\.[cm]?[tj]sx?$/),i=s?.[1]??t,r=G.map(e=>i+e).find(e=>this.isFile(e));if(s)return(r??=/\.[cm]?tsx?$/.test(t)&&this.isFile(t)?t:void 0)?{file:r,root:this.cwd}:null;if(!(r??=G.map(e=>a(t,`index${e}`)).find(e=>this.isFile(e))))throw Error(`Cannot find local file: "${e}"`);return{file:r,root:this.cwd}}configuredTypes(){if(this.configured)return;this.configured=!0;let e=this.compilerOptions();this.resolver??=V.createModuleResolver(e);let t=new Set;for(let s of e.types??[]){let e=this.resolver.resolveModuleName(s,this.configDir).resolvedModule?.resolvedFileName;e&&/\.d\.[cm]?ts$/.test(e)&&t.add(e)}for(let e of t){let t=this.source(e);if(t){for(let e of t.statements)if(F(e)&&B(e.name)){let t=this.ambient.get(e.name.text)??[];t.push(e),this.ambient.set(e.name.text,t)}else if(!g(t))for(let t of ed(e))this.globals.set(t,[...this.globals.get(t)??[],e])}}}patternMatches(e,t){let s=e.indexOf("*",es(e)&&e.startsWith("*")?e.indexOf(":")+1:0);return s<0?e===t:t.length>=e.length-1&&t.startsWith(e.slice(0,s))&&t.endsWith(e.slice(s+1))}ambientId(e){return(this.configuredTypes(),this.ambient.has(e))?e:(this.ambientMatches.has(e)||(this.ambientPatterns??=[...this.ambient.keys()].filter(e=>e.includes("*")).sort((e,t)=>t.replaceAll("*","").length-e.replaceAll("*","").length),this.ambientMatches.set(e,this.ambientPatterns.find(t=>this.patternMatches(t,e)))),this.ambientMatches.get(e))}upstream(e){let t=e.indexOf(":");if(!es(e))return;let s=e.slice(0,t);return[...this.ambient.keys()].some(e=>es(e)&&e.startsWith(`${s}:`))?e.slice(t+1):void 0}configuredId(e,t){return this.ambientId(e)??(t&&e.startsWith(`${t}:`)?this.ambientId(e.slice(t.length+1)):void 0)??(this.upstream(e)?this.ambientId(this.upstream(e)):void 0)}hasTypes(e){return this.packageTypes.has(e)||this.packageTypes.set(e,this.usable(this.package(e))||this.usable(this.package(U(e)))),this.packageTypes.get(e)}unscoped(e,t){let s=t&&e.startsWith(`${t}:`)?e.slice(t.length+1):e;return this.upstream(s)??s}renderConfigured(e,t,s){return es(t)||!this.hasTypes(this.unscoped(e,s))}ambientSpecifier(e,t){if(!t||r(e))return e;let s=this.upstream(e);if(s)return et(!this.ambientId(e)&&this.ambientId(s)?s:e,t);let i=this.configuredId(e,t);return i?this.renderConfigured(e,i,t)?et(i,t):this.hasTypes(e)?et(e,t):e:e}mergeBindings(e,t,s){let i=e.get(t)??new Set;for(let e of s)i.add(e);e.set(t,i)}requestAmbient(e,t,s){let i=this.configuredId(e,t);if(!i||!this.renderConfigured(e,i,t))return;let r=`${t??""}\0${i}`,n=this.ambientRequests.get(r);if(n&&!n.bindings)return;let l=s?new Set(s):void 0;if(l?.has("*")&&(l=void 0),l&&n?.bindings&&(l=new Set([...n.bindings,...l])).size===n.bindings.size)return;let a={id:i,scope:t,bindings:l};this.ambientRequests.set(r,a),this.pending.set(r,a)}body(e){return e.body&&M(e.body)?e.body.statements:[]}exportSources(e,t=new Set){let s=new Map;if(t.has(e))return s;for(let i of(t.add(e),this.ambient.get(e)??[]))for(let r of this.body(i))if(m(r)){let i=r.moduleSpecifier&&B(r.moduleSpecifier)?r.moduleSpecifier.text:e;if(r.exportClause&&C(r.exportClause))for(let e of r.exportClause.elements)s.set(e.name.text,i);else if(!r.exportClause&&this.ambient.has(i))for(let e of this.exportSources(i,new Set(t)).keys())s.has(e)||s.set(e,i)}else if(en(r,A.ExportKeyword)&&!F(r))for(let t of ed(r))s.set(t,e);else u(r)&&r.isExportEquals&&s.set("default",e);return s}selectedStatements(e){let t=(this.ambient.get(e.id)??[]).flatMap(e=>[...this.body(e)]),s=e.bindings,i=this.exportSources(e.id);return s&&!s.has("*")&&t.some(m)&&t.every(e=>$(e)||m(e))&&!(s.has("default")&&i.has("default"))&&[...s].some(e=>i.has(e))?t.flatMap(e=>{if(!m(e))return[{node:e}];if(e.exportClause&&C(e.exportClause)){let t=e.exportClause.elements.filter(e=>s.has(e.name.text));return t.length?[{node:e,bindings:t.map(e=>e.getText())}]:[]}if(!e.moduleSpecifier)return[{node:e}];let t=B(e.moduleSpecifier)?e.moduleSpecifier.text:"",r=[...s].filter(e=>i.get(e)===t);return r.length?[{node:e,bindings:r.map(e=>`${e} as ${e}`)}]:[]}):t.map(e=>({node:e}))}namespaceProviders(e){let t=this.namespaceIndexes.get(e);if(t)return t;let s=new Map,i=(e,t)=>{if(!e||"global"===e)return;let i=s.get(e)??new Set;i.add(t),s.set(e,i)},r=(e,t)=>{for(let s of e)F(s)&&b(s.name)&&(i(s.name.text,t),s.body&&M(s.body)?r(s.body.statements,t):s.body&&F(s.body)&&r([s.body],t))},n=(e,t)=>{for(let s of e){if(N(s)&&i(s.name.text,t),u(s)&&s.isExportEquals&&b(s.expression)){i(s.expression.text,t);let n=e.find(e=>F(e)&&b(e.name)&&e.name.text===s.expression.getText());n&&F(n)&&n.body&&(M(n.body)?r(n.body.statements,t):r([n.body],t))}m(s)&&s.exportClause&&j(s.exportClause)&&i(s.exportClause.name.text,t),en(s,A.ExportKeyword)&&((S(s)||F(s)&&b(s.name))&&i(s.name.text,t),F(s)&&s.body&&M(s.body)&&n(s.body.statements,t))}};for(let[t,s]of e)n(s,t);return this.namespaceIndexes.set(e,s),s}configuredStatements(){return this.ambientStatements??=new Map([...this.ambient].map(([e,t])=>[e,t.flatMap(e=>[...this.body(e)])])),this.ambientStatements}unboundNamespaces(e,t=new Set){if(!t.size){let t=this.unboundNamespaceCache.get(e);if(t)return t}let s=new Set,i=new Set(t);for(let t of e){for(let e of ed(t))i.add(e);if($(t)){let e=t.importClause;if(e?.name&&i.add(e.name.text),e?.namedBindings)if(E(e.namedBindings))i.add(e.namedBindings.name.text);else for(let t of e.namedBindings.elements)i.add(t.name.text)}S(t)&&i.add(t.name.text)}for(let t of e)eo(t,e=>{let t;if(F(e)&&b(e.name)&&e.body&&M(e.body)){for(let t of this.unboundNamespaces(e.body.statements,i))s.add(t);return!1}if($(e)||S(e)||w(e))return!1;for(O(e)&&I(e.typeName)&&(t=e.typeName),z(e)&&(t=e.exprName),T(e)&&(t=e),c(e)&&I(e.expression)&&(t=e.expression);t&&(I(t)||T(t));)t=I(t)?t.left:t.expression;t&&b(t)&&!i.has(t.text)&&s.add(t.text)});return t.size||this.unboundNamespaceCache.set(e,s),s}namespaceImports(e,t,s,i){if(!e.includes(".")&&!e.includes("typeof"))return e;let r=this.parseBody(e),n=this.namespaceProviders(i),l=[],a=new Set;for(let e of this.references(r))a.add(this.unscoped(e.literal.text,s));for(let e of this.unboundNamespaces(r.statements)){let r=n.get(e);if(!r?.size)continue;let o=[...r].filter(e=>s&&e.startsWith(`${s}:`)),d=o.length?o:[...r],h=d.map(t=>{let r=20*!!a.has(this.unscoped(t,s));for(let s of i.get(t)??[])u(s)&&s.isExportEquals&&r++,F(s)&&b(s.name)&&(s.name.text===e&&(r+=2),s.name.text.toLowerCase()===e.toLowerCase()&&r++);return{candidate:t,score:r}}),p=Math.max(...h.map(e=>e.score)),f=h.filter(e=>e.score===p),m=d.find(t=>t.toLowerCase()===e.toLowerCase())??(1===f.length?f[0].candidate:void 0);if(!m||m===t)continue;let c=(i.get(m)??[]).some(t=>N(t)&&t.name.text===e||u(t)&&b(t.expression)&&t.expression.text===e);l.unshift(`import ${c?`* as ${e}`:`{ ${e} }`} from ${ee(et(m,s))};`),this.requestAmbient(m,s)}return l.length?`${l.join("\n")}
6
+ ${e}`:e}fileId(e,t){let s=e=>this.entryNames.has(e)&&!t.isEntry&&!this.scopedEntries.has(e);if(void 0!==t.main&&e===d(t.entry))return t.main.includes(":")||s(t.main)?t.main:et(t.main,t.scope);let i=Z(Y(e,t.root)),r=[t.pkg&&U(t.pkg),i].filter(Boolean).join("/");return s(r)?r:et(r,t.scope)}localReference(e,t,s){return e.startsWith(".")?this.relativeFile(e,t):l(e)||r(e)||Q.test(e)?null:(s.pkg?this.internalAlias(e,s.root):null)??this.resolveTs(e,t)}rewriteReference(e,t,s){let i=s.scope||(s.isEntry?"s":void 0),a=ei(e)?e:this.ambientSpecifier(e,i);if(a!==e)return a;if(e.startsWith(".")){let i=this.relativeFile(e,t);return i?this.fileId(i,s):null}let o=this.localReference(e,t,s);if(o)return this.fileId(o,s);if(r(e)||l(e))return e;if(this.entryNames.has(e))return this.scopedEntries.has(e)?et(e,s.scope):e;let d=e!==U(e)?this.package(e,n(t)):null;if(d){let t=Z(Y(d.file,d.root));return et([U(e),t].filter(Boolean).join("/"),i)}return et(e,i)}renderStatements(e,t,s,i=!1){let r=[],n=!1;for(let l of e){let{node:e,bindings:a}="kind"in l?{node:l,bindings:void 0}:l;if(ea(e)){if(n)continue;n=!0}let o=e.getSourceFile(),d=[];for(let t of _(o.text,e.pos)??[])o.text.startsWith("///",t.pos)&&d.push({start:t.pos,end:t.end,text:""});let h=eh(e);if(i&&h&&($(e)||m(e))){let i=t(h.literal.text),r=i===s&&(m(e)||!!e.importClause);if(Q.test(h.literal.text)||null===i||r||$(e)&&e.importClause&&!e.importClause.name&&!e.importClause.namedBindings)continue}for(let t of er(e))t.kind===A.DeclareKeyword&&d.push({start:t.getStart(o),end:t.end,text:""});if(a&&m(e)){let t=e.exportClause?.getStart(o)??o.text.indexOf("*",e.getStart(o));d.push({start:t,end:e.exportClause?.end??t+1,text:`{ ${a.join(", ")} }`})}eo(e,e=>{(el.has(e.kind)||x(e))&&!("body"in e&&e.body)&&!/[;,]/.test(o.text[e.end-1])&&d.push({start:e.end,end:e.end,text:";"});let s=eh(e);if(!s)return;let i=t(s.literal.text);i&&i!==s.literal.text&&d.push({start:s.literal.getStart(o),end:s.literal.end,text:ee(i)})}),r.push(ep(o.text,d,e.getFullStart(),e.end))}return r.join("\n")}put(e,t,s=!1,i=0){let r=this.blocks.get(e);if(!r||!(r.priority>i)){if(!r||r.priority<i)this.blocks.set(e,{id:e,body:t,ambient:s,priority:i});else if(t!==r.body){let e=this.parseBody(`${r.body}
7
+ ${t}`).statements,i=new Set;r.body=e.filter(e=>{let t=ef(e.getText());return!i.has(t)&&(i.add(t),!0)}).map(e=>e.getFullText()).join("\n"),r.ambient&&=s}}}entryOnly(e){return this.entryNames.has(e)&&!this.scopedEntries.has(e)||this.entryNames.has(U(e))&&!this.scopedEntries.has(U(e))}dependency(e,t,s,i,n=!1){if(!e||ei(e)||r(e)||Q.test(e)||this.entryOnly(e))return;this.mergeBindings(this.used,e,t);let l=this.configuredId(e,s);l&&this.renderConfigured(e,l,s)?this.requestAmbient(e,s,this.used.get(e)):this.dependencies.push({id:e,scope:s,from:i,full:n})}collectBindings(e,t,s=new Set){let i=d(e);if(s.has(i))return;s.add(i);let n=1===s.size,l=this.source(i);if(!l)return;let a=/^(?:es|lib|dist)\//.test(o(t,i).replaceAll("\\","/"));for(let e of l.statements)eo(e,l=>{let o=eh(l);if(!o)return;let d=o.literal.text;if(w(l)){ei(d)||r(d)||Q.test(d)||a&&this.internalAlias(d,t)||this.mergeBindings(this.used,d,o.bindings);return}if(l!==e)return;let h=S(l)?null:(a?this.internalAlias(d,t):null)??(d.startsWith(".")?this.relativeFile(d,i):this.resolveTs(d,i));h?this.collectBindings(h,t,s):ei(d)||r(d)||Q.test(d)||this.mergeBindings(this.used,d,o.bindings.map(e=>n&&e===X?"*":e))})}bindingFiles(e,t,s=new Set){let i=new Map;if(s.has(e))return i;s.add(e);let r=this.source(e);if(!r)return i;for(let n of r.statements)if(m(n)){let r=n.moduleSpecifier&&B(n.moduleSpecifier)?n.moduleSpecifier.text:void 0;if(n.exportClause&&C(n.exportClause))for(let s of n.exportClause.elements){if(!t.has(s.name.text))continue;let n=r?this.relativeFile(r,e):e;n&&i.set(s.name.text,{file:n,original:r?s.propertyName?.text:void 0})}else if(!n.exportClause&&r){let n=this.relativeFile(r,e);if(n)for(let[e,r]of this.bindingFiles(n,t,s))i.has(e)||i.set(e,r)}}else if(en(n,A.ExportKeyword)&&!F(n)){for(let s of ed(n))t.has(s)&&i.set(s,{file:e});ea(n)&&t.has("default")&&i.set("default",{file:e})}else u(n)&&t.has("default")&&i.set("default",{file:e});if(r.statements.some(e=>u(e)&&e.isExportEquals)&&r.statements.some(e=>F(e)&&b(e.name)))for(let s of t)i.has(s)||i.set(s,{file:e});return i}collectFile(e,t){let s=d(e),i=this.fileId(t.entry,{...t,main:void 0}),r=void 0!==t.main&&this.fileId(t.entry,t)!==i?[t.entry,t.main]:null,n=JSON.stringify([s,t.root,t.pkg&&U(t.pkg),t.scope,!!t.isEntry,!!t.full,r]);if(this.fileVisits.has(n))return;if(this.fileVisits.add(n),/\.[cm]?js$/.test(s)){let e=s.replace(/\.([cm]?)js$/,".d.$1ts");this.isFile(e)&&this.collectFile(e,t);return}let l=this.source(s);if(!l)return;let a=this.fileId(s,t),o=t.scope||(t.isEntry?"s":void 0);for(let e of this.references(l)){let i=e.literal.text;if(!Q.test(i)){let r=this.localReference(i,s,t);r?this.collectFile(r,t):this.dependency(i,e.bindings,o,t.root,!!t.full)}}for(let e of l.referencedFiles){let i=this.relativeFile(e.fileName,s);i&&this.collectFile(i,t)}for(let e of l.typeReferenceDirectives)this.dependency(e.fileName,["*"],o,t.root);let h=e=>this.rewriteReference(e,s,t),p=this.configuredStatements();if(g(l)){let e=l.statements.flatMap(e=>F(e)&&B(e.name)?[...this.body(e)]:[e]),t=this.renderStatements(e,h,a,!0);t.trim()&&this.put(a,this.namespaceImports(t,a,o,p))}else{let e=[];for(let t of l.statements){if(!F(t)||!B(t.name)){e.push(t);continue}let s=this.ambientSpecifier(t.name.text,o),i=s!==t.name.text||es(s)?s:et(s,o),r=this.renderStatements(this.body(t),h);r=this.namespaceImports(r,i,o,p),this.put(i,r,!0,2)}if(e.length){let t=e.filter(e=>$(e)||S(e)),s=e.filter(e=>!t.includes(e)),i=`${this.renderStatements(t,h)}
8
+ global {
9
+ ${this.renderStatements(s,h)}
10
+ }`;this.put(a,this.namespaceImports(i,a,o,p),!0,1)}}}collectPackage(e,t,s,i){let r=this.used.get(e)??new Set,n=this.explicit.has(e.replace(/\.[cm]?js$/,""))||r.has("*")||r.has(X)&&(i||1===r.size);n&&r.add("*");let l=new Set([...r].filter(e=>e!==X));if(!n&&!l.size)return;let a=JSON.stringify([t,[...r].sort()]),o=`${t??""}\0${e}`;if(this.visitedDependencies.get(o)===a)return;this.visitedDependencies.set(o,a);let h=this.package(e,s);if(!this.usable(h))return void this.requestAmbient(e,t,r.size?r:void 0);let p={pkg:e,root:h.root,entry:h.file,scope:t,full:n};if(n){p.main=e,p.isEntry=this.scopedEntries.has(e),this.collectFile(h.file,p);let s=et(e,t);this.blocks.has(s)||this.put(s,`export * from ${ee(this.fileId(h.file,p))};`)}else{p.pkg=U(e);let s=this.bindingFiles(h.file,l);if(s.size<l.size)return void this.collectFile(h.file,{...p,main:e,full:!0});let i=[];for(let e of new Set([...s.values()].map(e=>e.file)))this.collectFile(e,p);for(let[r,n]of s){let s=this.fileId(d(n.file),p);s!==et(e,t)&&i.push(`export { ${n.original?`${n.original} as `:""}${r} } from ${ee(s)};`)}i.length&&this.put(et(e,t),i.join("\n"),!1,-1)}}renderAmbient(e){let t=this.selectedStatements(e),s=et(e.id,e.scope),i=this.configuredStatements(),r=this.renderStatements(t,t=>this.ambientSpecifier(t,e.scope));r=this.namespaceImports(r,s,e.scope,i);let n=this.blocks.get(s);n?.ambient?n.body=r:this.put(s,r,!0),this.discoverReferences(r,e.scope)}discoverReferences(e,t){for(let s of this.references(this.parseBody(e))){if(s.call)continue;let e=this.configuredId(s.literal.text,t);e&&this.renderConfigured(s.literal.text,e,t)?this.requestAmbient(s.literal.text,t,s.bindings):this.dependency(this.unscoped(s.literal.text,t),s.bindings,t)}}configuredGlobals(){if(!this.globals.size)return;let e=new Set,t=e,s=e=>{if(b(e))for(let s of this.globals.get(e.text)??[])t.add(s)};for(let i of this.blocks.values()){let r=this.globalReferences.get(i.body);for(let n of(r||(t=r=new Set,eo(this.parseBody(i.body),s),this.globalReferences.set(i.body,r)),r))e.add(n)}for(let i of(t=e,e))eo(i,s);if(!e.size)return;let i=et("__ambient_globals__",this.scope),r=this.renderStatements([...e],e=>this.ambientSpecifier(e,this.scope)),n=this.namespaceImports(`global {
11
+ ${r}
12
+ }`,i,this.scope,this.configuredStatements());this.blocks.get(i)?.body!==n&&(this.blocks.set(i,{id:i,body:n,ambient:!0,priority:1}),this.discoverReferences(n,this.scope))}normalizeImports(e){if(!/\bimport\s/.test(e))return e;let t=this.parseBody(e),s=t.statements.map(e=>e.getFullText()),i=[],r=[],n=!1,l=e=>{let t=[...e.elements.values()].map(t=>`${!e.phase&&t.type?"type ":""}${t.imported===t.local?t.local:`${t.imported} as ${t.local}`}`),s=[e.defaultName,e.namespace?`* as ${e.namespace}`:t.length?`{ ${t.join(", ")} }`:void 0].filter(Boolean).join(", ");return`${e.comments.join("\n")}
13
+ import ${e.phase===A.TypeKeyword?"type ":""}${s||"{}"} from ${ee(e.module)};`};for(let e=0;e<t.statements.length;e++){let i=t.statements[e];if(!$(i)||!i.importClause||i.attributes||i.importClause.phaseModifier===A.DeferKeyword||!B(i.moduleSpecifier))continue;let a=i.importClause,o=a.namedBindings,d={index:e,module:i.moduleSpecifier.text,phase:a.phaseModifier,defaultName:a.name?.text,namespace:o&&E(o)?o.name.text:void 0,elements:new Map,comments:[]},h=i.getFullText();if(h.includes("/*")||h.includes("//")){let e=D(!1,void 0,h);for(let t=e.scan();t!==A.EndOfFile;t=e.scan())(t===A.SingleLineCommentTrivia||t===A.MultiLineCommentTrivia)&&d.comments.push(e.getTokenText())}if(o&&!E(o))for(let e of o.elements)d.elements.set(e.name.text,{imported:e.propertyName?.getText(t)??e.name.text,local:e.name.text,type:a.phaseModifier===A.TypeKeyword||e.isTypeOnly});if(d.phase===A.TypeKeyword&&d.defaultName&&o){let t={...d,namespace:void 0,elements:new Map,comments:[]};n=!0,s[e]=l(t),r.push(t),d.defaultName=void 0,d.index=s.length,s.push(l(d))}r.push(d)}for(let e of r){let t=i.find(t=>{if(t.module!==e.module||t.namespace&&e.elements.size||e.namespace&&t.elements.size||t.namespace&&e.namespace&&t.namespace!==e.namespace||t.defaultName&&e.defaultName&&t.defaultName!==e.defaultName)return!1;let s=t.phase===A.TypeKeyword&&e.phase===A.TypeKeyword;return(!s||!t.defaultName&&!e.defaultName||!t.elements.size&&!e.elements.size)&&(!!s||(t.phase!==A.TypeKeyword||!t.defaultName&&!t.namespace)&&(e.phase!==A.TypeKeyword||!e.defaultName&&!e.namespace))&&[...e.elements].every(([e,s])=>!t.elements.has(e)||t.elements.get(e).imported===s.imported)});if(!t){i.push(e);continue}for(let[s,i]of(n=!0,t.phase=t.phase===e.phase?t.phase:void 0,t.defaultName??=e.defaultName,t.namespace??=e.namespace,e.elements)){let e=t.elements.get(s);t.elements.set(s,{...i,type:e?e.type&&i.type:i.type})}t.comments.push(...e.comments),s[t.index]=l(t),s[e.index]=""}return n?s.join("\n"):e}finalizeDefaults(){let e=new Map,t=new Set,s=new Map;for(let i of this.blocks.values()){let r=this.parseBody(i.body),n=r.statements.some(ea),l=r.statements.flatMap(e=>m(e)&&!e.exportClause&&e.moduleSpecifier&&B(e.moduleSpecifier)?[e.moduleSpecifier.text]:[]);for(let a of(e.set(i.id,{source:r,direct:n,exports:l}),n&&t.add(i.id),l))s.set(a,[...s.get(a)??[],i.id])}for(let e of t)for(let i of s.get(e)??[])t.add(i);for(let[s,i]of e){let e=this.blocks.get(s),r=!1,n=[];for(let e of i.source.statements)ea(e)&&(r&&n.push({start:e.getFullStart(),end:e.end,text:""}),r=!0);e.body=ep(e.body,n);let l=new Set(i.exports.filter(e=>t.has(e)));i.direct||1!==l.size||(e.body+=`
14
+ export { default as default } from ${ee([...l][0])};`)}}run(e,t){let s=(Array.isArray(e)?e:[e]).flatMap(e=>"string"==typeof e?[{input:e,name:void 0}]:Object.entries(e).map(([e,t])=>({input:t,name:e}))),i=new Map,r=[];for(let e of(this.configuredTypes(),s))if(void 0!==e.name||ei(e.input)){let t=this.localEntry(e.input);i.set(e.input,t),t&&this.collectBindings(t.file,t.root),e.name&&!e.name.startsWith(".")&&(this.entryNames.add(e.name),this.entryNames.add(U(e.name)))}else{let t=e.input.replace(/\.[cm]?js$/,"");this.explicit.add(t),this.entryNames.add(t),this.entryNames.add(U(e.input)),this.scopedEntries.add(t),this.mergeBindings(this.used,t,["*"])}for(let e of s){let t=i.get(e.input),s=i.has(e.input)?d(e.input):e.input;if(!this.processed.has(s))if(this.processed.add(s),i.has(e.input)){if(t){let s=void 0===e.name?void 0:et(Y(t.file,t.root),this.scope);this.collectFile(t.file,{pkg:"",root:t.root,entry:t.file,main:s,scope:this.scope}),void 0!==e.name&&r.push({name:e.name,source:s})}}else this.collectPackage(e.input,this.scope,void 0,!0)}let n=0,l=-1;for(;n<this.dependencies.length||this.pending.size||l!==this.blocks.size;){for(l=this.blocks.size;n<this.dependencies.length;){let e=this.dependencies[n++];this.collectPackage(e.id,e.scope,e.from,e.full)}let e=[...this.pending.values()];for(let t of(this.pending.clear(),e))this.renderAmbient(t);this.configuredGlobals()}for(let e of r){let t=this.blocks.get(e.source);t?(this.blocks.delete(e.source),this.put(e.name,t.body,t.ambient,t.priority)):this.put(e.name,`export * from ${ee(e.source)};`)}let a=new Map([...this.blocks].map(([e,t])=>[e,this.parseBody(t.body).statements]));for(let e of this.blocks.values()){let t=a.get(e.id).filter(N).map(e=>({start:e.getFullStart(),end:e.end,text:""}));e.body=this.namespaceImports(ep(e.body,t),e.id,this.scope,a),e.body=this.normalizeImports(e.body)}return this.finalizeDefaults(),[...this.blocks.values()].map(e=>{let s=t?ef(e.body):e.body.trim();return`declare module ${ee(e.id)} {${s.startsWith("/*")?`
15
+ ${s}`:s}}`}).join("\n")}}export async function bundleDts(e,t,s=!0){let i=new eu(t);try{return i.run(e,s)}finally{i.close()}}
@@ -1,4 +1,4 @@
1
- import{hrtime as t}from"node:process";import{appendToFileSync as e}from"@moneko/utils";let r=new Date,a=t();async function n(n){let o,g,i,$,s,S,p,l,d,m,c,f,u=(g=(o=t(a))[0],i=o[1],s=($=new Date(r.getTime()+1e3*g+Math.floor(i/1e6))).getFullYear(),S=String($.getMonth()+1).padStart(2,"0"),p=String($.getDate()).padStart(2,"0"),l=String($.getHours()).padStart(2,"0"),d=String($.getMinutes()).padStart(2,"0"),m=String($.getSeconds()).padStart(2,"0"),c=String(Math.floor(i%1e6/1e3)).padStart(3,"0"),f=String(i%1e3).padStart(3,"0"),`${s}-${S}-${p}T${l}_${d}_${m}.${c}${f}`),h=(n instanceof Error?`${n.message}
1
+ import{hrtime as t}from"node:process";import{appendToFileSync as e}from"@moneko/utils";let r=new Date,a=t();export default async function(n){let o,g,i,$,s,S,p,l,d,m,c,f,u=(g=(o=t(a))[0],i=o[1],s=($=new Date(r.getTime()+1e3*g+Math.floor(i/1e6))).getFullYear(),S=String($.getMonth()+1).padStart(2,"0"),p=String($.getDate()).padStart(2,"0"),l=String($.getHours()).padStart(2,"0"),d=String($.getMinutes()).padStart(2,"0"),m=String($.getSeconds()).padStart(2,"0"),c=String(Math.floor(i%1e6/1e3)).padStart(3,"0"),f=String(i%1e3).padStart(3,"0"),`${s}-${S}-${p}T${l}_${d}_${m}.${c}${f}`),h=(n instanceof Error?`${n.message}
2
2
  ${n.stack||""}`:String(n)).split("\n"),M=`[${u}] ${h[0]}`,D=" ".repeat(`[${u}] `.length),k=h.slice(1).map(t=>`${D}${t}`).join("\n"),w=`${M}${k?`
3
3
  ${k}`:""}
4
- `;e(`logs/${u.substring(0,16)}.log`,w)}export default n;
4
+ `;e(`logs/${u.substring(0,16)}.log`,w)};
@@ -1 +1 @@
1
- import{env as e}from"node:process";import{fileExists as t,loadFile as r}from"@moneko/utils";import{CUSTOMCONFIG as n}from"./custom-config.mjs";async function i(i,o,s,a,l,c){let m=c||n,f=[".env",".env/.env",`.${i}.env`,`.env/.${i}.env`,`.${m}.env`,`.env/.${m}.env`].filter(t),p={NODE_ENV:i,APPTYPE:o,FRAMEWORK:s,IS_BUILD:l};return a.forEach(e=>{let[t,r]=e.replace(/^--/,"").split("=");Object.assign(p,{[`__args__${t}__`]:r||!0})}),(await Promise.all(f.map(r))).forEach(e=>{e&&Object.assign(p,e.split("\n").reduce((e,t)=>{if(!t||t.trim().startsWith("#"))return e;let[r,...n]=t.split("=");if(!r)return e;let i=n.join("=").trim();return e[r.trim()]=i.replace(/^["']|["']$/g,""),e},{}))}),Object.keys(p).forEach(t=>{let r=p[t];e[t]!==r&&(e[t]=p[t])}),p}export default i;
1
+ import{env as e}from"node:process";import{fileExists as t,loadFile as r}from"@moneko/utils";import{CUSTOMCONFIG as n}from"./custom-config.mjs";export default async function(i,o,s,a,l,c){let m=c||n,f=[".env",".env/.env",`.${i}.env`,`.env/.${i}.env`,`.${m}.env`,`.env/.${m}.env`].filter(t),p={NODE_ENV:i,APPTYPE:o,FRAMEWORK:s,IS_BUILD:l};return a.forEach(e=>{let[t,r]=e.replace(/^--/,"").split("=");Object.assign(p,{[`__args__${t}__`]:r||!0})}),(await Promise.all(f.map(r))).forEach(e=>{e&&Object.assign(p,e.split("\n").reduce((e,t)=>{if(!t||t.trim().startsWith("#"))return e;let[r,...n]=t.split("=");if(!r)return e;let i=n.join("=").trim();return e[r.trim()]=i.replace(/^["']|["']$/g,""),e},{}))}),Object.keys(p).forEach(t=>{let r=p[t];e[t]!==r&&(e[t]=p[t])}),p};
@@ -1 +1 @@
1
- import{ink as e,loadFile as r,println as t}from"@moneko/utils";import{setupCert as o}from"../commom/ca.mjs";async function i(i,m){if("key"in m){let o=await Promise.all([r(m.key),r(m.cert)]);return o[0]||(t(e(`法加载私钥。请检查路径和文件是否存在,并确保路径正确:${m.key}`,"red")),process.exit(1)),o[1]||(t(e(`无法加载证书。请检查路径和文件是否存在,并确保路径正确:${m.cert}`,"red")),process.exit(1)),{key:o[0],cert:o[1]}}return o(i,m.install)}export default i;
1
+ import{ink as e,loadFile as r,println as t}from"@moneko/utils";import{setupCert as o}from"../commom/ca.mjs";export default async function(i,m){if("key"in m){let o=await Promise.all([r(m.key),r(m.cert)]);return o[0]||(t(e(`法加载私钥。请检查路径和文件是否存在,并确保路径正确:${m.key}`,"red")),process.exit(1)),o[1]||(t(e(`无法加载证书。请检查路径和文件是否存在,并确保路径正确:${m.cert}`,"red")),process.exit(1)),{key:o[0],cert:o[1]}}return o(i,m.install)};
package/lib/dev/mock.mjs CHANGED
@@ -1 +1 @@
1
- import{watch as e}from"node:fs";import t from"node:http";import{join as r}from"node:path";import{StringDecoder as o}from"node:string_decoder";import{URL as n}from"node:url";import{directoryExists as a,ink as i,print as c,scanFolderSync as s}from"@moneko/utils";import{merge as m}from"webpack-merge";import d from"../commom/log.mjs";import l from"../commom/match-path.mjs";import p from"../commom/paths.mjs";import u,{METHOD_COLOR as f}from"../commom/print-log.mjs";import h from"../commom/require.mjs";import g from"../commom/sigint-exit.mjs";import{jsonSchema as y}from"./json-schema.mjs";function b(e){return!["GET","HEAD","OPTIONS"].includes(e.method?.toUpperCase()||"")}export function cacheBody(e){if(!e._bodyCached&&b(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){d(e)}}}function k(e,t){try{let r=Buffer.concat(e);if(t.includes("application/json")){let e=new o("utf-8").write(r);return JSON.parse(e)}if(t.includes("application/octet-stream")||t.startsWith("image/"));else if(t.includes("text/"))return r.toString("utf-8");else if(t.includes("application/x-www-form-urlencoded"))return Object.fromEntries(new URLSearchParams(r.toString("utf8")));return r}catch(e){return d(e),null}}async function j(e){return new Promise(t=>{if(!b(e))return void t(null);let r=e.headers["content-type"]||"",o=e.headers["content-length"],n=e.headers["transfer-encoding"],a=[];void 0!==e._dataChunks?t(k(e._dataChunks,r)):o||n?(e.on("data",e=>{a.push(e)}),e.on("end",()=>{t(k(a,r))}),e.on("error",e=>{t(null),d(e)})):t(null)})}export const yApiSchemaMock=(e,r)=>new Promise(o=>{t.get(`${e.host}/api/interface/get?id=${e.id}&token=${e.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=y(t);void 0!==r?o(m(n,r)):o(n)}}catch(e){d(e)}})})});export const yApiMock=(e,r)=>new Promise((o,a)=>{let i=new n(r.host),c={hostname:i.hostname,port:i.port,path:e.url?.replace(new RegExp(r.pathRewrite),`/mock/${r.projectId}/`),method:e.method,headers:e.headers,query:Object.fromEntries(i.searchParams)},s=t.request(c,e=>{e.setEncoding("utf8");let t="";e.on("data",e=>{t+=e}),e.on("end",()=>{try{o(JSON.parse(t))}catch(e){d(e)}})});s.on("error",e=>{a(e.message)}),s.write(JSON.stringify(e.body)),s.end()});let w=()=>{if(!a(p.mockPath)){O={};return}let e={},t=s(p.mockPath,["\\.(t|j)s$"]);c(i("Updating mock...","245"),!0),t.forEach(t=>{try{Object.assign(e,h(t).default)}catch(e){d(e)}}),c(i("Mock update successful","245"),!0),O=e},O={};export function containMockUrl(e){let t=Object.keys(O);return 0===t.length&&w(),t.find(t=>RegExp(`^${t.replace(/(:\w*)[^/]/g,"((?!/).)")}*$`).test(e))}function E(e,t){if(t.writableEnded)return t;let r=new n(`http://localhost:3000${e.url}`),o=e.method||"GET",a=`${o} ${r.pathname}`,i=containMockUrl(a)||a,c=O[i];if(c){if(u(o,r.pathname,{note:"MOCK",labelAlign:"center",labelLen:8,labelForegroundColor:f[o].fg,labelBackgroundColor:f[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 c){let o=l(i.split(" ")[1],r.pathname);r.searchParams&&Object.assign(e,{query:Object.fromEntries(r.searchParams)}),o&&Object.assign(e,{params:o.params}),e.body=j(e);try{c(e,t)}catch(e){d(e)}return!0}return t.end("string"==typeof c?c:JSON.stringify(c)),!0}return!1}export default(()=>{if(!a(p.mockPath))return;let t=e(p.mockPath,(e,t)=>{if(t){let e=r(p.mockPath,t);delete h.cache[e]}w()});return g(()=>{t.close()}),E});
1
+ import{watch as e}from"node:fs";import t from"node:http";import{join as r}from"node:path";import{StringDecoder as o}from"node:string_decoder";import{URL as n}from"node:url";import{directoryExists as a,ink as i,print as c,scanFolderSync as s}from"@moneko/utils";import{merge as m}from"webpack-merge";import d from"../commom/log.mjs";import l from"../commom/match-path.mjs";import p from"../commom/paths.mjs";import u,{METHOD_COLOR as f}from"../commom/print-log.mjs";import h from"../commom/require.mjs";import g from"../commom/sigint-exit.mjs";import{jsonSchema as y}from"./json-schema.mjs";function b(e){return!["GET","HEAD","OPTIONS"].includes(e.method?.toUpperCase()||"")}export function cacheBody(e){if(!e._bodyCached&&b(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){d(e)}}}function k(e,t){try{let r=Buffer.concat(e);if(t.includes("application/json")){let e=new o("utf-8").write(r);return JSON.parse(e)}if(t.includes("application/octet-stream")||t.startsWith("image/"));else if(t.includes("text/"))return r.toString("utf-8");else if(t.includes("application/x-www-form-urlencoded"))return Object.fromEntries(new URLSearchParams(r.toString("utf8")));return r}catch(e){return d(e),null}}export const yApiSchemaMock=(e,r)=>new Promise(o=>{t.get(`${e.host}/api/interface/get?id=${e.id}&token=${e.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=y(t);void 0!==r?o(m(n,r)):o(n)}}catch(e){d(e)}})})});export const yApiMock=(e,r)=>new Promise((o,a)=>{let i=new n(r.host),c={hostname:i.hostname,port:i.port,path:e.url?.replace(new RegExp(r.pathRewrite),`/mock/${r.projectId}/`),method:e.method,headers:e.headers,query:Object.fromEntries(i.searchParams)},s=t.request(c,e=>{e.setEncoding("utf8");let t="";e.on("data",e=>{t+=e}),e.on("end",()=>{try{o(JSON.parse(t))}catch(e){d(e)}})});s.on("error",e=>{a(e.message)}),s.write(JSON.stringify(e.body)),s.end()});let j=()=>{if(!a(p.mockPath)){w={};return}let e={},t=s(p.mockPath,["\\.(t|j)s$"]);c(i("Updating mock...","245"),!0),t.forEach(t=>{try{Object.assign(e,h(t).default)}catch(e){d(e)}}),c(i("Mock update successful","245"),!0),w=e},w={};export function containMockUrl(e){let t=Object.keys(w);return 0===t.length&&j(),t.find(t=>RegExp(`^${t.replace(/(:\w*)[^/]/g,"((?!/).)")}*$`).test(e))}function O(e,t){if(t.writableEnded)return t;let r=new n(`http://localhost:3000${e.url}`),o=e.method||"GET",a=`${o} ${r.pathname}`,i=containMockUrl(a)||a,c=w[i];if(c){if(u(o,r.pathname,{note:"MOCK",labelAlign:"center",labelLen:8,labelForegroundColor:f[o].fg,labelBackgroundColor:f[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 c){let o=l(i.split(" ")[1],r.pathname);r.searchParams&&Object.assign(e,{query:Object.fromEntries(r.searchParams)}),o&&Object.assign(e,{params:o.params}),e.body=async function(e){return new Promise(t=>{if(!b(e))return void t(null);let r=e.headers["content-type"]||"",o=e.headers["content-length"],n=e.headers["transfer-encoding"],a=[];void 0!==e._dataChunks?t(k(e._dataChunks,r)):o||n?(e.on("data",e=>{a.push(e)}),e.on("end",()=>{t(k(a,r))}),e.on("error",e=>{t(null),d(e)})):t(null)})}(e);try{c(e,t)}catch(e){d(e)}return!0}return t.end("string"==typeof c?c:JSON.stringify(c)),!0}return!1}export default(()=>{if(!a(p.mockPath))return;let t=e(p.mockPath,(e,t)=>{if(t){let e=r(p.mockPath,t);delete h.cache[e]}j()});return g(()=>{t.close()}),O});
@@ -1 +1 @@
1
- import{createServer as e}from"node:http";import{createServer as t}from"node:https";import{platform as o}from"node:os";import{extname as r,join as n,sep as i}from"node:path";import{env as s}from"node:process";import{ink as a,println as l}from"@moneko/utils";import{CA_ORGANIZATION as m,isCertificateInstalled as p}from"../commom/ca.mjs";import c from"../commom/mime.mjs";import d from"../commom/open.mjs";import{CONFIG as f}from"../config.mjs";import C from"../dev/get-cert.mjs";import{setupProxy as h}from"../dev/proxy.mjs";import u,{cacheBody as y}from"./mock.mjs";let A={"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 E(E){let S=n(E.root_dir,"index.html"),T=u();function g(e,t,o){let n=e.headers["accept-encoding"],i=n?.includes("br"),s=`${o}.${i?"br":"gz"}`,a=E.fileSystem.existsSync(s);a&&t.setHeader("Content-Encoding",i?"br":"gzip");let l=E.fileSystem.createReadStream(a?s:o,{autoClose:!0});l.on("open",()=>{t.writeHead(200,Object.assign({},A,E.headers,{"Access-Control-Allow-Origin":e.headers.origin??"*","Content-Type":c[r(o)]||"application/octet-stream"}))}),l.on("error",e=>{switch(l.readable=!0,e.code){case"ENOENT":t.writeHead(301,{Location:"/index.html"}),t.end();break;case"EACCES":t.writeHead(403,{"Content-Type":"text/plain"}),t.end(`Forbidden: ${e.message}`);break;default:t.writeHead(500,{"Content-Type":"text/plain"}),t.end(`Internal Server Error: ${e.message}`)}}),l.pipe(t)}async function w(e,t){if(y(e),!(E.onRequest&&E.onRequest(e,t))){if(!(f.proxy&&await h(e,t,f.proxy)||t.writableEnded||T&&T(e,t))&&!t.writableEnded){if("GET"===e.method){let o=("/"===e.url?S:decodeURIComponent(n(E.root_dir,e.url.replace(E.basename??"/","/")))).split("?")[0];if(E.fileSystem.existsSync(o))if(!E.fileSystem.statSync(o).isDirectory())return g(e,t,o);else{let r=n(o,"index.html");if(E.fileSystem.existsSync(r))return g(e,t,r)}}if(e.headers.accept?.includes("text/html"))return g(e,t,S.split("?")[0]);t.writeHead(404,{"Content-Type":"text/plain"}),t.end("File Not Found")}}}let x=E.https?t(await C(E.host,!0===E.https?{install:!0}:E.https),w):e(w);if(x.listen(E.port),E.https&&!await p(m)&&"darwin"===o()){let e=s.npm_execpath?.split(i).pop()?.split(".").shift()||"npm",t=s.npm_lifecycle_event??"start",o=`> sudo ${e} ${t}`;l(a("⚠️ 未检测到本地 SSL 证书,请通过以下命令重启项目以安装证书: ","yellow")),l(a(o,"yellow")),l("")}return E.open&&d(`${E.https?"https:":"http:"}//${E.host}:${E.port}${"/"===E.basename?"":E.basename}`),x}export default E;
1
+ import{createServer as e}from"node:http";import{createServer as t}from"node:https";import{platform as o}from"node:os";import{extname as r,join as n,sep as i}from"node:path";import{env as s}from"node:process";import{ink as a,println as l}from"@moneko/utils";import{CA_ORGANIZATION as m,isCertificateInstalled as p}from"../commom/ca.mjs";import c from"../commom/mime.mjs";import d from"../commom/open.mjs";import{CONFIG as f}from"../config.mjs";import C from"../dev/get-cert.mjs";import{setupProxy as h}from"../dev/proxy.mjs";import u,{cacheBody as y}from"./mock.mjs";let A={"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"};export default async function(E){let S=n(E.root_dir,"index.html"),T=u();function g(e,t,o){let n=e.headers["accept-encoding"],i=n?.includes("br"),s=`${o}.${i?"br":"gz"}`,a=E.fileSystem.existsSync(s);a&&t.setHeader("Content-Encoding",i?"br":"gzip");let l=E.fileSystem.createReadStream(a?s:o,{autoClose:!0});l.on("open",()=>{t.writeHead(200,Object.assign({},A,E.headers,{"Access-Control-Allow-Origin":e.headers.origin??"*","Content-Type":c[r(o)]||"application/octet-stream"}))}),l.on("error",e=>{switch(l.readable=!0,e.code){case"ENOENT":t.writeHead(301,{Location:"/index.html"}),t.end();break;case"EACCES":t.writeHead(403,{"Content-Type":"text/plain"}),t.end(`Forbidden: ${e.message}`);break;default:t.writeHead(500,{"Content-Type":"text/plain"}),t.end(`Internal Server Error: ${e.message}`)}}),l.pipe(t)}async function w(e,t){if(y(e),!(E.onRequest&&E.onRequest(e,t))){if(!(f.proxy&&await h(e,t,f.proxy)||t.writableEnded||T&&T(e,t))&&!t.writableEnded){if("GET"===e.method){let o=("/"===e.url?S:decodeURIComponent(n(E.root_dir,e.url.replace(E.basename??"/","/")))).split("?")[0];if(E.fileSystem.existsSync(o))if(!E.fileSystem.statSync(o).isDirectory())return g(e,t,o);else{let r=n(o,"index.html");if(E.fileSystem.existsSync(r))return g(e,t,r)}}if(e.headers.accept?.includes("text/html"))return g(e,t,S.split("?")[0]);t.writeHead(404,{"Content-Type":"text/plain"}),t.end("File Not Found")}}}let x=E.https?t(await C(E.host,!0===E.https?{install:!0}:E.https),w):e(w);if(x.listen(E.port),E.https&&!await p(m)&&"darwin"===o()){let e=s.npm_execpath?.split(i).pop()?.split(".").shift()||"npm",t=s.npm_lifecycle_event??"start",o=`> sudo ${e} ${t}`;l(a("⚠️ 未检测到本地 SSL 证书,请通过以下命令重启项目以安装证书: ","yellow")),l(a(o,"yellow")),l("")}return E.open&&d(`${E.https?"https:":"http:"}//${E.host}:${E.port}${"/"===E.basename?"":E.basename}`),x};
@@ -1 +1 @@
1
- import{projectName as t,version as e}from"app:info";let a=self;export async function precaching(){let i=`${t}-core-${e}`,n=`${t}-runtime-${e}`;async function s(t){let e=await caches.open(n),a=await e.match(t);if(a)return a;let i=await fetch(t);return i.ok&&"basic"===i.type&&e.put(t,i.clone()),i}async function c(t){let e=await caches.open(n);try{let a=await fetch(t);return a.ok&&"basic"===a.type&&e.put(t,a.clone()),a}catch{let a=await e.match(t);if(a)return a;return new Response("Offline",{status:503,statusText:"Offline"})}}a.addEventListener("install",t=>{t.waitUntil((async()=>{let t=await caches.open(i),e=await fetch(new URL("/app-resource.json",__webpack_public_path__)).then(t=>t.json()),n=(await Promise.allSettled(e.filter(t=>!t.endsWith(".map")).map(t=>t.startsWith("/")?t:`/${t}`).map(e=>t.add(e)))).filter(t=>"fulfilled"===t.status).length;console.info(`[SW] Precaching ${n}/${e.length} assets`),await a.skipWaiting()})())}),a.addEventListener("activate",t=>{t.waitUntil((async()=>{let t=await caches.keys();await Promise.all(t.filter(t=>![i,n].includes(t)).map(t=>caches.delete(t))),await a.clients.claim(),(await a.clients.matchAll({type:"window"})).forEach(t=>{t.postMessage({type:"SW_UPDATED",version:e})})})())}),a.addEventListener("fetch",t=>{let{request:e}=t;if("GET"!==e.method)return;let a=new URL(e.url);"navigate"===e.mode?t.respondWith(c(e)):a.origin===location.origin&&/\.(js|css|png|jpg|jpeg|svg|webp|woff2?)$/.test(a.pathname)&&t.respondWith(s(e))}),a.addEventListener("message",t=>{t.data?.type==="SKIP_WAITING"&&a.skipWaiting()})}
1
+ import{projectName as t,version as e}from"app:info";let a=self;export async function precaching(){let i=`${t}-core-${e}`,n=`${t}-runtime-${e}`;a.addEventListener("install",t=>{t.waitUntil((async()=>{let t=await caches.open(i),e=await fetch(new URL("/app-resource.json",__webpack_public_path__)).then(t=>t.json()),n=(await Promise.allSettled(e.filter(t=>!t.endsWith(".map")).map(t=>t.startsWith("/")?t:`/${t}`).map(e=>t.add(e)))).filter(t=>"fulfilled"===t.status).length;console.info(`[SW] Precaching ${n}/${e.length} assets`),await a.skipWaiting()})())}),a.addEventListener("activate",t=>{t.waitUntil((async()=>{let t=await caches.keys();await Promise.all(t.filter(t=>![i,n].includes(t)).map(t=>caches.delete(t))),await a.clients.claim(),(await a.clients.matchAll({type:"window"})).forEach(t=>{t.postMessage({type:"SW_UPDATED",version:e})})})())}),a.addEventListener("fetch",t=>{let{request:e}=t;if("GET"!==e.method)return;let a=new URL(e.url);"navigate"===e.mode?t.respondWith(async function(t){let e=await caches.open(n);try{let a=await fetch(t);return a.ok&&"basic"===a.type&&e.put(t,a.clone()),a}catch{let a=await e.match(t);if(a)return a;return new Response("Offline",{status:503,statusText:"Offline"})}}(e)):a.origin===location.origin&&/\.(js|css|png|jpg|jpeg|svg|webp|woff2?)$/.test(a.pathname)&&t.respondWith(async function(t){let e=await caches.open(n),a=await e.match(t);if(a)return a;let i=await fetch(t);return i.ok&&"basic"===i.type&&e.put(t,i.clone()),i}(e))}),a.addEventListener("message",t=>{t.data?.type==="SKIP_WAITING"&&a.skipWaiting()})}
@@ -1 +1 @@
1
- import{updateFile as e}from"@moneko/utils";import r from"../commom/log.mjs";import o from"../commom/require.mjs";import{CACHE_NAME as t,module_federation_schema as m}from"../process-env.mjs";import{mf_vm as l}from"../vm/mf.mjs";import{extractMfModules as a}from"./dts.mjs";import{node_modules as p}from"./index.mjs";async function $(s,c,i=[],n){try{let{request:r}=o("@moneko/request"),$=`${s.startsWith("//")?`http:${s}`:s}/module-federation.d.ts`,f=n||c,d=await r($,{responseType:"text",rejectUnauthorized:!1});a(d).forEach(e=>{let r=n?e.replace(`${c}/`,`${n}/`):e;l.has(r)||l.setData(r,{type:".ts",source:()=>`export * from '${r}'`})}),n&&(d=d.replaceAll(`_${c}_`,`_${n}_`).replaceAll(`declare module "${c}/`,`declare module "${n}/`).replaceAll(`declare module "${m}:${c}/`,`declare module "${m}:${n}/`).replaceAll(` from "${c}/`,` from "${n}/`)),e(p("@types",t,`${f}.d.ts`),function(e,r,o){let t=o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),m=r.filter(Boolean).map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).sort((e,r)=>r.length-e.length);if(!m.length)return e;let l=RegExp(`(["'])${t}:(${m.join("|")})(?=/|["'])`,"g");return e.replace(l,(e,r,o)=>`${r}${o}`)}(d,i,`_${f}_`))}catch(e){r(e)}}export default $;
1
+ import{updateFile as e}from"@moneko/utils";import r from"../commom/log.mjs";import o from"../commom/require.mjs";import{CACHE_NAME as t,module_federation_schema as m}from"../process-env.mjs";import{mf_vm as l}from"../vm/mf.mjs";import{extractMfModules as a}from"./dts.mjs";import{node_modules as p}from"./index.mjs";export default async function($,s,c=[],i){try{let{request:r}=o("@moneko/request"),n=`${$.startsWith("//")?`http:${$}`:$}/module-federation.d.ts`,f=i||s,d=await r(n,{responseType:"text",rejectUnauthorized:!1});a(d).forEach(e=>{let r=i?e.replace(`${s}/`,`${i}/`):e;l.has(r)||l.setData(r,{type:".ts",source:()=>`export * from '${r}'`})}),i&&(d=d.replaceAll(`_${s}_`,`_${i}_`).replaceAll(`declare module "${s}/`,`declare module "${i}/`).replaceAll(`declare module "${m}:${s}/`,`declare module "${m}:${i}/`).replaceAll(` from "${s}/`,` from "${i}/`)),e(p("@types",t,`${f}.d.ts`),function(e,r,o){let t=o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),m=r.filter(Boolean).map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).sort((e,r)=>r.length-e.length);if(!m.length)return e;let l=RegExp(`(["'])${t}:(${m.join("|")})(?=/|["'])`,"g");return e.replace(l,(e,r,o)=>`${r}${o}`)}(d,c,`_${f}_`))}catch(e){r(e)}};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moneko/core",
3
- "version": "4.14.0-beta.1",
3
+ "version": "4.14.0-beta.3",
4
4
  "description": "@moneko/core",
5
5
  "main": "lib/index.mjs",
6
6
  "type": "module",
@@ -140,11 +140,11 @@
140
140
  "@moneko/stylelint": "1.8.4",
141
141
  "@moneko/transform-imports": "1.6.0",
142
142
  "@moneko/utils": "0.3.5",
143
- "@swc/core": "1.16.12",
143
+ "@swc/core": "1.16.20",
144
144
  "@tailwindcss/webpack": "4.3.3",
145
- "browserslist": "4.29.3",
146
- "core-js": "3.50.0",
147
- "core-js-compat": "3.50.0",
145
+ "browserslist": "4.29.4",
146
+ "core-js": "3.51.0",
147
+ "core-js-compat": "3.51.0",
148
148
  "husky": "9.1.7",
149
149
  "less": "4.9.1",
150
150
  "less-loader": "12.3.3",
@@ -152,14 +152,14 @@
152
152
  "swc-loader": "0.2.7",
153
153
  "tailwindcss": "4.3.3",
154
154
  "typescript": "7.1.0-beta",
155
- "webpack": "5.111.1",
155
+ "webpack": "5.112.1",
156
156
  "webpack-hot-middleware": "2.26.1",
157
157
  "webpack-merge": "6.0.1"
158
158
  },
159
159
  "devDependencies": {
160
- "@modelcontextprotocol/sdk": "1.31.0",
161
- "@types/node": "26.6.3",
162
- "zod": "4.6.5"
160
+ "@modelcontextprotocol/sdk": "1.32.1",
161
+ "@types/node": "26.6.5",
162
+ "zod": "4.6.7"
163
163
  },
164
164
  "publishConfig": {
165
165
  "access": "public",