@cxl/build 1.0.0-beta.4 → 1.0.0-beta.6

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/README.md CHANGED
@@ -6,10 +6,10 @@ A flexible build system that executes configurable build tasks producing output
6
6
 
7
7
  ## Project Details
8
8
 
9
- - Branch Version: [1.0.0-beta.4](https://npmjs.com/package/@cxl/build/v/1.0.0-beta.4)
9
+ - Branch Version: [1.0.0-beta.6](https://npmjs.com/package/@cxl/build/v/1.0.0-beta.6)
10
10
  - License: GPL-3.0
11
11
  - Documentation: [Link](https://cxlio.github.io/cxl/build)
12
- - Report Issues: [Github](https://github.com/cxlio/cxl/issues)
12
+ - Report Issues: [Github](https://github.com/cxlio/open/issues)
13
13
 
14
14
  ## Installation
15
15
 
package/audit.d.ts ADDED
@@ -0,0 +1 @@
1
+ export default function (): Promise<void>;
@@ -0,0 +1,44 @@
1
+ import{a as x,b as ae,c as g,d as ue,e as le,h as fe}from"./chunk-SWJCWBGM.js";import{basename as Fr,join as _}from"path";import{readFileSync as q}from"fs";var b={},Lr=Symbol("terminator");function He(e,t){let r=!1,n={error:o,unsubscribe:i,get closed(){return r},signal:I(),next(s){if(!r)try{e.next?.(s)}catch(c){o(c)}},complete(){if(!r)try{e.complete?.()}finally{i()}}};e.signal?.subscribe(i);function o(s){if(r)throw s;if(!e.error)throw i(),s;try{e.error(s)}finally{i()}}function i(){r||(r=!0,n.signal.next())}try{if(t?.(n))throw new Error("Unsubscribe function result is deprectaed")}catch(s){o(s)}return n}function de(...e){return t=>e.reduce((r,n)=>n(r),t)}var l=class{__subscribe;constructor(t){this.__subscribe=t}then(t,r){return Xe(this).then(t,r)}pipe(...t){return t.reduce((r,n)=>n(r),this)}subscribe(t){return He(!t||typeof t=="function"?{next:t}:t,this.__subscribe)}},T=class extends l{closed=!1;signal=I();observers=new Set;constructor(){super(t=>this.onSubscribe(t))}next(t){if(!this.closed)for(let r of Array.from(this.observers))r.closed||r.next(t)}error(t){if(!this.closed){this.closed=!0;let r=!1,n;for(let o of Array.from(this.observers))try{o.error(t)}catch(i){r=!0,n=i}if(r)throw n}}complete(){this.closed||(this.closed=!0,Array.from(this.observers).forEach(t=>t.complete()),this.observers.clear())}onSubscribe(t){this.closed?t.complete():(this.observers.add(t),t.signal.subscribe(()=>this.observers.delete(t)))}},z=class extends l{closed=!1;observers=new Set;constructor(){super(t=>{this.closed?(t.next(),t.complete()):this.observers.add(t)})}next(){if(!this.closed){this.closed=!0;for(let t of Array.from(this.observers))t.closed||(t.next(),t.complete());this.observers.clear()}}};var W=class extends T{bufferSize;buffer=[];hasError=!1;lastError;constructor(t=1/0){super(),this.bufferSize=t}error(t){this.hasError=!0,this.lastError=t,super.error(t)}next(t){return this.buffer.length===this.bufferSize&&this.buffer.shift(),this.buffer.push(t),super.next(t)}onSubscribe(t){this.observers.add(t),this.buffer.forEach(r=>t.next(r)),this.hasError?t.error(this.lastError):this.closed&&t.complete(),t.signal.subscribe(()=>this.observers.delete(t))}},H=class extends T{$value=b;get hasValue(){return this.$value!==b}get value(){if(this.$value===b)throw new Error("Reference not initialized");return this.$value}next(t){return this.$value=t,super.next(t)}onSubscribe(t){!this.closed&&this.$value!==b&&t.next(this.$value),super.onSubscribe(t)}},Y=class extends Error{message="No elements in sequence"};function I(){return new z}function k(e){return new l(t=>{e().subscribe(t)})}function me(e){return new l(t=>{for(let r of e)t.closed||t.next(r);t.complete()})}function ge(e){return new l(t=>{e.then(r=>{t.closed||t.next(r),t.complete()}).catch(r=>t.error(r))})}function M(e){return k(()=>ge(e()))}function Ye(e){return new l(t=>{for(let r of e)t.closed||t.next(r);t.complete()})}function he(e){return e instanceof l?e:Array.isArray(e)?me(e):e instanceof Promise?ge(e):Ye(e)}function R(...e){return me(e)}function Ke(e){return new Promise((t,r)=>{let n=b;e.subscribe({next:o=>n=o,error:o=>r(o),complete:()=>t(n)})})}function Xe(e){return Ke(e).then(t=>t===b?void 0:t)}function j(e,t){return $(r=>({next:e(r),unsubscribe:t}))}function $(e){return t=>new l(r=>{let n=e(r,t);r.signal.subscribe(()=>n.unsubscribe?.()),n.error||(n.error=r.error),n.complete||(n.complete=r.complete),n.signal=r.signal,t.subscribe(n)})}function K(e){return j(t=>r=>t.next(e(r)))}function X(e,t){return $(r=>{let n=t,o=0;return{next(i){n=e(n,i,o++)},complete(){r.next(n),r.complete()}}})}function Qe(e){return $(t=>{let r=!0,n;return{next(o){r&&(r=!1,t.next(o),n=setTimeout(()=>r=!0,e))},unsubscribe:()=>clearTimeout(n)}})}function Ze(e){return new l(t=>{let r=setTimeout(()=>{t.next(),t.complete()},e);t.signal.subscribe(()=>clearTimeout(r))})}function et(e,t=Ze){return xe(r=>t(e).map(()=>r))}function xe(e){return t=>v(r=>{let n=!1,o=!1,i,s=()=>{i?.next(),n=!1,o&&r.complete()},c=I();r.signal.subscribe(()=>{s(),c.next()}),t.subscribe({next(a){s(),i=I(),n=!0,e(a).subscribe({next:r.next,error:r.error,complete:s,signal:i})},error:r.error,complete(){o=!0,n||r.complete()},signal:c})})}function tt(e){return t=>v(r=>{let n=r.signal,o=0,i=0,s=!1;t.subscribe({next:c=>{o++,e(c).subscribe({next:r.next,error:r.error,complete:()=>{i++,s&&i===o&&r.complete()},signal:n})},error:r.error,complete(){s=!0,i===o&&r.complete()},signal:n})})}function rt(e){return $(t=>{let r=!0;return{next(n){r&&(r=!1,e(n).subscribe({next:t.next,error:t.error,complete:()=>r=!0,signal:t.signal}))}}})}function Q(e){return j(t=>r=>{e(r)&&t.next(r)})}function nt(e){return j(t=>r=>{e-- >0&&!t.closed&&t.next(r),(e<=0||t.closed)&&t.complete()})}function ot(e){return j(t=>r=>{!t.closed&&e(r)?t.next(r):t.complete()})}function st(){let e=!1;return $(t=>({next(r){e||(e=!0,t.next(r),t.complete())},complete(){t.closed||t.error(new Y)}}))}function Z(e){return j(t=>r=>{e(r),t.next(r)})}function it(e){return $((t,r)=>{let n,o={next:t.next,error(i){try{if(t.closed)return;let s=e(i,r);s&&(n?.next(),n=I(),s.subscribe({...o,signal:n}))}catch(s){t.error(s)}},unsubscribe:()=>n?.next()};return o})}function ct(){return j(e=>{let t=b;return r=>{r!==t&&(t=r,e.next(r))}})}function at(){return e=>{let t=new W(1),r=!1;return v(n=>{t.subscribe(n),r||(r=!0,e.subscribe(t))})}}function ut(){return e=>{let t,r=0;function n(){--r===0&&t?.signal.next()}return v(o=>{o.signal.subscribe(n),r++===0?(t=dt(),t.subscribe(o),e.subscribe(t)):t.subscribe(o)})}}function lt(){return e=>{let t=new T,r,n,o=!1,i=!1;return v(s=>{i?(s.next(n),s.complete()):t.subscribe(s),r??=e.subscribe({next:c=>{o=!0,n=c},error:s.error,complete(){i=!0,o&&t.next(n),t.complete()},signal:s.signal})})}}function we(...e){return e.length===1?e[0]:new l(t=>{let r=e.length;for(let n of e)t.closed||n.subscribe({next:t.next,error:t.error,complete(){r--===1&&t.complete()},signal:t.signal})})}function ft(e){return $(t=>({next:t.next,unsubscribe:e}))}function pt(){return Q(()=>!1)}var L=new l(e=>e.complete());function v(e){return new l(e)}function dt(){return new H}var pe={catchError:it,debounceTime:et,distinctUntilChanged:ct,exhaustMap:rt,filter:Q,finalize:ft,first:st,ignoreElements:pt,map:K,mergeMap:tt,publishLast:lt,reduce:X,share:ut,shareLatest:at,switchMap:xe,take:nt,takeWhile:ot,tap:Z,throttleTime:Qe};for(let e in pe)l.prototype[e]=function(...t){return this.pipe(pe[e](...t))};import{resolve as ht}from"path";import*as w from"inspector";function mt(e){let t=[];for(let r of e){let n=0,o=0;for(let i of r.functions)for(let s of i.ranges){let c=s.endOffset-s.startOffset;n+=c,s.count&&(o+=c)}t.push({url:r.url,functions:r.functions,blockTotal:n,blockCovered:o})}return t}async function gt(e){let t=[],r=/\/node_modules\//;for(let n of e){let o=n.url;r.test(o)||t.push({url:o,functions:n.functions})}return mt(t)}function ye(e){let t=0,r=e.results.map(o=>(o.success===!1&&t++,{message:o.message,success:o.success,data:o.data,stack:o.stack})),n=(e.only.length?e.only:e.tests).map(o=>{let i=ye(o);return t+=i.failureCount,i});return r.length===0&&e.tests.length===0&&(t++,r.push({success:!1,message:"No assertions found"})),{name:e.name,failureCount:t,results:r,tests:n,runTime:e.runTime,timeout:e.timeout}}async function O(e,t){let r=ye(e),n=t&&await gt(t);return{success:r.failureCount===0,testReport:r,coverage:n}}function A(e,t,r={}){return new Promise((n,o)=>{e.post(t,r,(i,s)=>i?o(i):n(s))})}async function xt(e,t){await A(e,"Profiler.enable"),await A(e,"Profiler.startPreciseCoverage",{detailed:!0});let r=await t(),n=await A(e,"Profiler.takePreciseCoverage");return await A(e,"Profiler.stopPreciseCoverage"),await A(e,"Profiler.disable"),{coverage:n.result,result:r}}async function ee(e){async function t(){let i=(await import(o)).default;return i.run().then(()=>i)}let r=e.entryFile,n=new w.Session;e.log(`Runner: Node ${process.version}`);let o=ht(r);if(e.log(`Suite: ${o}`),e.inspect&&(w.open(),console.log(`Waiting for debugger (${w.url()})`),w.waitForDebugger()),n.connect(),e.ignoreCoverage){let i=await t();return O(i)}else{let{result:i,coverage:s}=await xt(n,t);return process.argv.includes("--inspect")&&(console.log("Press any key to continue"),await new Promise(c=>process.stdin.once("data",c))),O(i,s)}}import*as Se from"puppeteer";import{readFile as De,writeFile as be,mkdir as $e}from"fs/promises";import{resolve as wt,relative as ke,join as yt,extname as bt}from"path";import{createRequire as $t}from"module";async function vt(e){await Promise.all([e.coverage.startJSCoverage({reportAnonymousScripts:!0})])}async function Et(e,t){let r=e.type(),{url:n,lineNumber:o}=e.location(),i=o!==void 0?` (${o})`:"";t.log(`console ${r}: ${n}${i}`);for(let s of e.args())try{console.log(await s.evaluate(c=>c instanceof Error?{message:c.message,stack:c.stack}:JSON.stringify(c,null,2)))}catch{console.log(s.toString())}}async function St(e){return await(await e.createBrowserContext()).newPage()}async function Dt(e,t,r){function n(a){let u=a.type;if(u==="figure")try{return Nt(o,a,e)}catch(p){return{success:!1,message:String(p)||"Unknown Error"}}else{if(u==="hover"||u==="tap"||u==="click")return o.$(a.element).then(p=>{if(!p)throw new Error(`Element for selector "${a.element}" not found.`);return p[u]()}).then(()=>({success:!0,message:"Element"}));if(u==="type"||u==="press")return o.$(a.element).then(p=>{if(!p)throw new Error(`Element for selector "${a.element}" not found.`);return p[u](a.value)}).then(()=>({success:!0,message:"Element"}));if(u==="testElement")return{success:!0,message:"testElement supported"};if(u==="concurrency")return{success:!0,message:"Concurrency",concurrency:r}}return{success:!1,message:`Feature not supported: ${u}`}}let o=await St(t),i=e.vfsRoot?`./${ke(e.vfsRoot,e.entryFile)}`:e.entryFile;o.on("console",a=>Et(a,e)),o.on("pageerror",a=>e.log(a)),o.on("requestfailed",a=>{e.log(`requestfailed: ${a.method()} ${a.url()} ${a.failure()?.errorText}`)}),o.exposeFunction("__cxlRunner",n),await vt(o),e.browserUrl&&await je(e,o,e.browserUrl),await o.bringToFront();let s=await jt(o,e,i);if(!s)throw new Error("Invalid suite");let c=e.ignoreCoverage?void 0:await Pt(o,e);return{suite:s,coverage:c}}function kt(e,t){let r=t.vfsRoot?wt(t.vfsRoot):process.cwd(),n=$t(r+"/");function o(i){try{let s=n.resolve(i.slice(1));if(s)return ke(r,s)}catch{}return i}e.on("request",async i=>{try{let s=new URL(i.url());if(i.method()==="GET"&&s.hostname==="cxl-tester"){if(s.pathname==="/"||s.pathname==="/favicon.ico")return i.respond({status:200,body:""});let c=o(s.pathname);if(c!==s.pathname)return i.respond({status:301,headers:{location:"/"+c}});let a=await De(yt(r,c),"utf8"),u=bt(c);u===".js"&&!t.sources.has(s.href)&&t.sources.set(s.href,{path:c,source:a}),i.respond({status:200,contentType:u===".js"?"text/javascript":"text/plain",body:a})}else i.continue()}catch{t.log(`Error handling request ${i.method()} ${i.url()}`),i.respond({status:500})}})}function je(e,t,r){return t.goto(r)}async function jt(e,t,r){return await e.setRequestInterception(!0),kt(e,t),await je(t,e,"https://cxl-tester"),t.importmap&&await e.addScriptTag({type:"importmap",content:t.importmap}),e.evaluate(`(async entry => {
2
+ const r = (await import(entry)).default;
3
+ await r.run();
4
+ return r.toJSON();
5
+ })('${r}')`)}function te(e,t,r){return{startOffset:e,endOffset:t,count:r}}function Ct(e){let t=[],r=0;for(let n of e.ranges)n.start>r&&t.push(te(r,n.start,0)),t.push(te(n.start,n.end,1)),r=n.end;return r<e.text.length&&t.push(te(r,e.text.length,0)),t}async function Pt(e,t){return(await e.coverage.stopJSCoverage()).flatMap(n=>{let o=t.sources.get(n.url);return o?{url:o.path,functions:[{functionName:"",ranges:Ct(n),isBlockCoverage:!0}]}:[]})}var ve=Promise.resolve();async function Ee(e){let t=(await import("./png-BPHNXF4V.js")).PNG;return new Promise((r,n)=>{new t().parse(Buffer.from(e),(i,s)=>{i?n(i):r(s)})})}function Ft(e,t,r){return new Promise((n,o)=>{let i=`#${t}`;ve=ve.then(()=>e.$eval(i,(s,c)=>{s.innerHTML=c,s.style.zIndex="10",s.getRootNode()?.activeElement?.blur?.()},r).then(async()=>(await e.waitForNetworkIdle({idleTime:120,timeout:5e3}),await e.waitForFunction("document.fonts?.ready"),await e.mouse.move(350,-100),(await e.$(i))?.screenshot({type:"png",encoding:"binary"}))).then(s=>{ArrayBuffer.isView(s)?n(s):o("Invalid value returned by screenshot()")},s=>o(s)))})}async function Nt(e,t,r){let{name:n,domId:o,html:i}=t,s=t.baseline=`${r.baselinePath||"spec"}/${n}.png`,c=`spec/${n}.png`,[a,u]=await Promise.all([De(s).catch(()=>{}),Ft(e,o,i)]);if(u&&$e("spec").catch(()=>!1).then(()=>be(c,u)),(!a||r.updateBaselines)&&u&&r.baselinePath)$e(r.baselinePath).catch(()=>!1).then(()=>be(s,u));else if(a&&u&&r.baselinePath){let[p,S]=await Promise.all([Ee(a),Ee(u)]),N=p.data,J=S.data,m=N.length;if(m!==J.length)return{success:!1,message:`Screenshot should match baseline: Different Size (${p.width}x${p.height} vs ${S.width}x${S.height})`,data:t};for(let D=0;D<m;D++)if(N.readUInt8(D)!==J.readUInt8(D))return{success:!1,message:"Screenshot should match baseline",data:t}}return{success:!0,message:"Screenshot should match baseline",data:t}}async function re(e){let t=["--no-sandbox","--disable-setuid-sandbox","--disable-gpu","--font-render-hinting=none","--disable-font-subpixel-positioning","--animation-duration-scale=0","--force-device-scale-factor=1","--window-size=1280,1024","--disable-infobars","--hide-scrollbars","--blink-settings=imagesEnabled=true","--enable-font-antialiasing","--disable-features=Translate,BackForwardCache,ColorPicker,SharedArrayBuffer,InterestCohort,NotificationIndicator,Prerender2","--disable-background-timer-throttling","--disable-backgrounding-occluded-windows","--disable-renderer-backgrounding","--mute-audio","--disable-extensions"];e.disableSecurity&&t.push("--disable-web-security");let r=await Se.launch({headless:!0,args:t,timeout:5e3});try{e.log(`Puppeteer ${await r.version()}`);let{suite:n,coverage:o}=await Dt(e,r,0);return O(n,o)}finally{await r.close()}}function Ce(e){return e.node?ee(e):re(e)}function Tt(e,t){let r=t.message;console.error(e,x.red(r)),t.stack&&console.error(t.stack)}function Pe(e){let t="",r=e.results.filter(o=>(t+=o.success?x.green("."):x.red("X"),o.success===!1)),n=e.runTime>e.timeout?"brightYellow":e.runTime>e.timeout/2?"yellow":"gray";return console.group(`${e.name} ${x[n](`(${e.runTime.toFixed(2)} ms)`)} ${t}`),r.forEach(o=>Tt(e.name,o)),e.tests.forEach(Pe),console.groupEnd(),r}function It(e){console.log("Coverage Report:");for(let t of e){let r=(t.blockCovered/t.blockTotal*100).toFixed(2);console.log(`${t.url}: ${r}% (${t.blockTotal}/${t.blockCovered})`)}}function ne(e){e.coverage&&It(e.coverage),Pe(e.testReport)}import{dirname as Wt,relative as Ht,resolve as Yt}from"path";import{existsSync as Kt,utimesSync as Xt,writeFileSync as Qt}from"fs";import{spawn as Zt,execSync as Ae}from"child_process";import{createRequire as er}from"module";import{existsSync as At,readFileSync as Re}from"fs";import{join as Bt,resolve as Jt}from"path";import{promises as Rt,readFileSync as Zr}from"fs";import{basename as Lt,dirname as tn,resolve as Ot}from"path";async function Ne(e){let t=await Rt.readFile(e);return{path:e,source:t}}function E(e,t){return k(()=>he(Ne(e).then(r=>({path:t||Ot(e),source:r.source}))))}function nn(e){return Z(t=>t.path=(e||"")+Lt(t.path))}function on(e,t=`
6
+ `){return de(X((r,n)=>`${r}${t}${n.source}`,""),K(r=>({path:e,source:Buffer.from(r)})))}function sn(e){return new l(t=>{Promise.all(e.map(Ne)).then(r=>{r.forEach(n=>t.next(n)),t.complete()},r=>t.error(r))})}function Te(e,t,r=""){return U(`mkdir -p ${t} && rsync -au -i --delete ${e}/${r} ${t}`)}function cn(e,t){return Fe(`zip - ${e.join(" ")}`).map(r=>({path:t,source:r}))}import{execSync as Mt}from"child_process";import*as Le from"esbuild";var Ut=process.cwd(),C=Mt("npm prefix",{cwd:Ut}).toString().trim(),Gt={"GPL-3.0":"license-GPL-3.0.md","GPL-3.0-only":"license-GPL-3.0.md","Apache-2.0":"license-Apache-2.0.md","SEE LICENSE IN LICENSE.md":"",UNLICENSED:""};function Ie(e,t,r){for(let n of e)if(!t[n])throw new Error(`Field "${n}" missing in "${r}"`)}function oe(e){return new l(t=>{Le.build({minify:!0,bundle:!0,splitting:!0,format:"esm",tsconfig:"tsconfig.json",platform:"browser",define:{CXL_DEBUG:"false"},...e}).then(()=>t.complete())})}function G(e=C){let t=Jt(e,"package.json");if(!At(t))throw new Error(`"${t}" not found`);let r=JSON.parse(Re(t,"utf8"));return Ie(["name","version","description"],r,t),r.private||Ie(["license"],r,t),r}function Vt(e,t){return R({path:"package.json",source:Buffer.from(JSON.stringify({name:e.name,version:e.version,description:e.description,private:e.private,license:e.license,files:e.files||["*.js","*.d.ts","*.css","LICENSE.md","*.md"],main:t??e.main??"index.js",exports:e.exports,browser:e.browser,homepage:e.homepage,bugs:e.bugs,bin:e.bin,sideEffects:e.sideEffects,repository:e.repository,dependencies:e.dependencies,peerDependencies:e.peerDependencies,bundledDependencies:e.bundledDependencies,type:e.type},null,2))})}function _t(e){if(e==="UNLICENSED"||e==="SEE LICENSE IN LICENSE.md")return L;let t=Gt[e];if(!t)throw new Error(`Invalid license: "${e}"`);return E(Bt(import.meta.dirname,t),"LICENSE")}function qt(e,t){return`https://npmjs.com/package/${e}/v/${t}`}function zt(e){try{return Re(e,"utf8")}catch{return""}}function Oe(){return k(()=>{let e=G(C),t=zt("USAGE.md"),r=encodeURIComponent(e.name);return R({path:"README.md",source:Buffer.from(`# ${e.name}
7
+
8
+ [![npm version](https://badge.fury.io/js/${r}.svg)](https://badge.fury.io/js/${r})
9
+
10
+ ${e.description}
11
+
12
+ ## Project Details
13
+
14
+ - Branch Version: [${e.version}](${qt(e.name,e.version)})
15
+ - License: ${e.license}
16
+ - Documentation: [Link](${e.homepage})
17
+ - Report Issues: [Github](${e.bugs})
18
+
19
+ ## Installation
20
+
21
+ npm install ${e.name}
22
+
23
+ ${t}`)})})}function se(e){return k(()=>{let t=G(),r=t.license,n=[Vt(t,e)];return r&&n.push(_t(r)),we(...n)})}var tr=x.green("build"),y=ue.bind(null,tr),Be=er(import.meta.dirname);function rr(e){return(e/1e3).toFixed(2)+"kb"}function nr(e){let t=Number(e)/1e9,r=t.toFixed(4)+"s";return t>.1?t>.5?x.red(r):x.yellow(r):r}function V(e){return Be(Be.resolve(e,{paths:[process.cwd(),import.meta.dirname]}))}async function Je(...e){if(!e)throw new Error("Invalid configuration");C!==process.cwd()&&(process.chdir(C),y(`chdir "${C}"`));let t=G();y(`${t.name} ${t.version}`);let r=[void 0,...process.argv];try{for(let n of r)for(let o of e)o.target===n&&await new ie(y,o).build()}catch(n){console.error(n),process.exit(1)}}function U(e,t){return new l(r=>{y(`sh ${e}`),ae(le(e,t)).then(n=>{y(`sh ${e}`,nr(n.time)),n.result&&console.log(n.result),r.complete()},n=>{r.error(n)})})}function Fe(e,t={}){return new l(r=>{let n=Zt(e,[],{shell:!0,...t}),o,i;n.stdout?.on("data",s=>o=o?Buffer.concat([o,Buffer.from(s)]):Buffer.from(s)),n.stderr?.on("data",s=>i=i?Buffer.concat([i,Buffer.from(s)]):Buffer.from(s)),n.on("close",s=>{s?r.error(i||o):(r.next(o),r.complete())})})}var ie=class{log;config;outputDir;constructor(t,r){this.log=t,this.config=r,this.outputDir=r.outputDir||"."}async build(){try{let t=this.config.target||"";t&&this.log(`target ${t}`),Ae(`mkdir -p ${this.outputDir}`),await Promise.all(this.config.tasks.map(r=>this.runTask(r)))}catch(t){throw console.log("BUILD: ",t),"Build finished with errors"}}async runTask(t){await t.tap(r=>{let n=Yt(this.outputDir,r.path),o=r.source,i=Wt(n);Kt(i)||Ae(`mkdir -p ${i}`),Qt(n,o),r.mtime&&Xt(n,r.mtime,r.mtime);let s=Ht(process.cwd(),n);this.log(`${s} ${rr((r.source||"").length)}`)})}};import{relative as or,join as sr}from"path";function ir(e){let t=[],r=!1;if(e.forEach(n=>{let o=n.errorCount,i=or(process.cwd(),n.filePath);y(`eslint ${i}`),o&&(r=!0,n.messages.forEach(s=>console.error(`${i}#${s.line}:${s.column}: ${s.message} (${s.ruleId})`)))}),r)throw new Error("eslint errors found.");return t}function Me(e){return new l(t=>{(async()=>{let{ESLint:r}=V("eslint");y(`eslint ${r.version}`),new r({cache:!0,cwd:process.cwd(),overrideConfigFile:sr(import.meta.dirname,"eslint-config.js"),...e}).lintFiles(["**/*.ts?(x)"]).then(ir).then(()=>t.complete(),o=>t.error(o))})()})}import{relative as cr}from"path";var h=V("typescript"),P=h.sys,ar={useCaseSensitiveFileNames:!0,readDirectory:P.readDirectory,getCurrentDirectory:P.getCurrentDirectory,fileExists:P.fileExists,readFile:P.readFile,onUnRecoverableConfigFileDiagnostic(e){throw e}},ur={getCurrentDirectory:P.getCurrentDirectory,getNewLine:()=>`
24
+ `,getCanonicalFileName:e=>e},Fn=h.version;function lr(e){return[...e.getConfigFileParsingDiagnostics(),...e.getOptionsDiagnostics(),...e.getGlobalDiagnostics(),...e.getDeclarationDiagnostics()]}function Ue(e,t=ur){throw console.error(h.formatDiagnosticsWithColorAndContext(e,t)),new Error("Typescript compilation failed")}function fr(e="tsconfig.json",t={module:h.ModuleKind.CommonJS}){let r=h.createSolutionBuilderHost(P),n=dr(e);n.errors?.length&&Ue(n.errors);let o=n.options.outDir;if(!o)throw new Error(`No outDir field set in ${e}`);let i=h.createSolutionBuilder(r,[e],t);return{outputDir:o,builder:i,options:n}}function pr(e="tsconfig.json",t,r={module:h.ModuleKind.CommonJS}){let{outputDir:n,builder:o}=fr(e,r),i,s="";function c(a,u){s&&a.startsWith(s)?(a=cr(n,a),t.next({path:a,source:Buffer.from(u)})):console.warn(`File "${a}" is outside of outDir. Ignoring.`)}for(;i=o.getNextInvalidatedProject();){if(i.kind===h.InvalidatedProjectKind.Build){let u=i.getProgram();if(s=i.getCompilerOptions().outDir??"",u){let p=lr(u);p.length&&Ue(p)}}if(i.done(void 0,c)!==h.ExitStatus.Success)throw`${i.project}: Typescript compilation failed`}}function Ge(e="tsconfig.json",t){return new l(r=>{pr(e,r,t),r.complete()})}function dr(e){let t;try{t=h.getParsedCommandLineOfConfigFile(e,{},ar)}catch(r){if(r instanceof Error)throw r;let n=r?.message||r?.messageText||"Unknown Error";throw new Error(n)}if(!t)throw console.log(process.cwd()),new Error(`Could not parse config file "${e}"`);return t}import*as F from"path";import{promises as d}from"fs";import*as _e from"child_process";var mr="https://github.com/cxlio/cxl/issues",Ve=F.resolve("."),gr=["name","version","description","license","homepage","bugs"],hr=["build","test"],xr=["GPL-3.0","GPL-3.0-only","Apache-2.0","SEE LICENSE IN LICENSE.md"];async function wr({projectPath:e,rootPkg:t}){let r=`${e}/package.json`,n=await g(r),o=JSON.stringify(n,null," ");for(let s in n.dependencies){let c=t.devDependencies?.[s]||t.dependencies?.[s];c&&n.dependencies[s]!==c&&(n.dependencies[s]=c)}let i=JSON.stringify(n,null," ");o!==i&&await d.writeFile(r,i)}async function yr({projectPath:e,name:t}){let r=`${e}/package.json`,n=await g(r),o=await g(`${e}/tsconfig.json`,!1),i=JSON.stringify(n,null," ");o||(o={extends:"../tsconfig.json",compilerOptions:{outDir:`../dist/${t}`},files:[],references:[]},await d.writeFile(`${e}/tsconfig.json`,JSON.stringify(o,null," ")));let s=JSON.stringify(n,null," ");i!==s&&await d.writeFile(r,s)}async function br({projectPath:e,name:t}){let r=`${e}/tsconfig.test.json`,n=`${e}/test.ts`,o=!1;await B(r)||await d.writeFile(r,`{
25
+ "extends": "./tsconfig.json",
26
+ "include": ["test.ts"],
27
+ "references": [{ "path": "." }, { "path": "../spec" }]
28
+ }
29
+ `);let i=await g(`${e}/tsconfig.test.json`,null)||{};(!i.extends||i.extends!=="./tsconfig.json")&&(i.extends="./tsconfig.json",o=!0),i.compilerOptions&&(delete i.compilerOptions,o=!0),o&&await d.writeFile(`${e}/tsconfig.test.json`,JSON.stringify(i,null," ")),await B(n)||await d.writeFile(n,`import { spec } from '@cxl/spec';
30
+ import { } from './index.js';
31
+
32
+ export default spec('${t}', s => {
33
+ s.test('should load', a => {
34
+ a.ok(get);
35
+ });
36
+ });
37
+ `)}function B(e){return d.stat(e).catch(()=>!1)}function f(e,t){return{valid:e,message:t}}async function $r({projectPath:e,name:t,rootPkg:r}){let n=`${e}/package.json`,o=await g(n),i=JSON.stringify(o,null," "),s=r.devDependencies?.["@cxl/build"]?"cxl-build":"node ../dist/build",c="npm run build test",a="./index.bundle.js";o.scripts||(o.scripts={}),o.scripts.test||(o.scripts.test=c),o.scripts.build||(o.scripts.build=s),o.homepage||(o.homepage=`${r.homepage}/${t}`),o.license||(o.license="GPL-3.0"),(!o.bugs||o.bugs!==r.bugs)&&(o.bugs=r.bugs||mr),!o.browser&&o.devDependencies&&delete o.devDependencies,o.browser&&o.dependencies&&delete o.dependencies,o.peerDependencies&&delete o.peerDependencies,o.browser&&(o.browser=a),!o.repository&&r.repository&&(typeof r.repository=="string"&&(r.repository={type:"git",url:r.repository}),o.repository={...r.repository,directory:t}),o.scripts.test!==c&&(o.scripts.test=c);let u=JSON.stringify(o,null," ");i!==u&&await d.writeFile(n,u)}async function vr({pkg:e,name:t,rootPkg:r}){let n=gr.map(s=>f(s in e,`Field "${s}" required in package.json`)),o="./index.bundle.js";if(e.scripts){let s=e.scripts;n.push(...hr.map(c=>f(c in s,`Script "${c}" required in package.json`)))}else n.push(f("scripts"in e,'Field "scripts" required in package.json'));return n.push(f(xr.includes(e.license),`"${e.license}" is not a valid license.`),f(!!e.browser||!e.devDependencies,"Package should not have devDependencies."),f(!e.browser||!e.dependencies,"Browser package should only have devDependencies."),f(!e.peerDependencies,"Package should not have peerDependencies."),f(!e.browser||e.browser===o,`Package "browser" property should be "${o}"`),f(e.bugs===r.bugs,`Package "bugs" property must match root package "${r.bugs}"`),f(e?.scripts?.test==="npm run build test","Valid test script in package.json"),f(!!e.repository,'Package "repository" field must be set'),f(typeof e.repository!="string",'"repository" must be an object')),{id:"package",project:t,fix:$r,rules:n}}async function Er({projectPath:e}){let t=await g(`${e}/tsconfig.test.json`);return{id:"test",fix:br,project:e,rules:[f(!!await B(`${e}/tsconfig.test.json`),'Missing "tsconfig.test.json" file.'),f(t?.extends==="./tsconfig.json",'tsconfig.test.json extends should be "./tsconfig.json"'),f(!!(await B(`${e}/test.ts`)||await B(`${e}/test.tsx`)),'Missing "test.ts" file.'),f(!t.compilerOptions,"tsconfig.test.json should not have compilerOptions")]}}async function Sr({name:e,rootPkg:t,pkg:r}){let n=[];for(let o in r.dependencies){let i=r.dependencies[o],s=t.devDependencies?.[o]||t.dependencies?.[o];n.push(f(!!(o.startsWith(t.name)||s),`Dependency "${o}" must be included in root package.json`),f(i!=="*",`Dependency "${o}" must be a valid version. pkg:${i}`),f(o.startsWith(t.name)||s===i,`Conflicting versions "${o}". root: ${s}, dep: ${i}`))}return{id:"dependencies",project:e,fix:wr,rules:n}}async function Dr({projectPath:e,name:t}){let r=await g(`${e}/tsconfig.json`,null),n=[f(!!r,"tsconfig.json should be present"),f(!!r?.compilerOptions,"tsconfig.json should have compilerOptions"),f(r?.compilerOptions?.outDir===`../dist/${t}`,"tsconfig.json should have a valid outDir compiler option")];return{id:"tsconfig",project:t,fix:yr,rules:n}}var kr=/(.+):(.+)/g;async function jr({name:e}){let r=_e.spawnSync("git",["grep",`"from '\\.\\.\\/"`,e],{encoding:"utf8"}).stdout.trim(),n=[],o;for(;o=kr.exec(r);){let[,i,s]=o,c=s.replace(/'\.\.\/([^/]+)\/index\.js/,"'@cxl/$1");if(c!==s){n.push({file:i,line:s,newLine:c});let a=await d.readFile(i,"utf8");await d.writeFile(i,a.replace(s,c))}}return{id:"imports",project:e,rules:[f(n.length===0,"Should not have local imports")],async fix(){for(let i of n){let s=await d.readFile(i.file,"utf8");await d.writeFile(i.file,s.replace(i.line,i.newLine))}}}}var Cr=[vr,Er,Sr,Dr,jr];async function Pr(e){let t=Ve,r=await d.stat(t),n=F.basename(t);if(!r.isDirectory())return[];let o=await g(F.join(t,"package.json"),!1);if(!o)return[];let i={projectPath:t,name:n,pkg:o,rootPkg:e,baseDir:Ve},s=(await Promise.all(Cr.map(c=>c(i)))).flat();return s.forEach(c=>c.data=i),s}async function qe(){function e(i,s){console.error(`${i}: ${s}`)}let t=await g("../package.json"),r=await Pr(t),n=!1,o=[];for(let i of r){for(let s of i.rules)s.valid||(i.hasErrors=n=!0,e(i.data?.name||"root",s.message));if(i.hasErrors&&i.fix&&i.data){let{data:s,fix:c}=i;o.push(()=>(console.log(`${i.data?.name}: Attempting fix for "${i.id}"`),c(s)))}}for(let i of o)await i();if(n)throw new Error("Errors detected, check logs for details.")}var Nr;function ze(e,t={}){for(let r in e)t[r]=`/${r}`;return t}function We(e,t){let r={};return e.devDependencies&&ze(e.devDependencies,r),t.dependencies&&ze(t.dependencies,r),r}function Tr(e,t){let r=We(e,t);return JSON.stringify({imports:r})}function Ir(e,t){let r=We(e,t);for(let n in r)r[`${n}/`]=`../../node_modules${r[n]}/`;return r["@cxl/spec"]="../../node_modules/@cxl/spec/index.bundle.js",JSON.stringify({imports:r})}function Rr(e,t,r,n){return Buffer.from(`<!DOCTYPE html>
38
+ <title>${t} Test Suite</title>
39
+ <script type="importmap">${n}</script>
40
+ <script type="module">
41
+ import suite from '${r}';
42
+ ${Nr??=q(_(import.meta.dirname,"spec-browser.js"),"utf8")}
43
+ browserRunner.run([suite], '../../${e}/spec');
44
+ </script>`)}function Wn(...e){let t=process.cwd(),n=JSON.parse(q(t+"/tsconfig.json","utf8"))?.compilerOptions?.outDir,o=Fr(n),i=_(n,"package"),s=JSON.parse(q("package.json","utf8")),c=JSON.parse(q("../package.json","utf8")),a=!!s.browser,u=s.browser==="./index.bundle.js"&&s.exports,p=s.browser??s.exports?.["."]??"./index.bundle.js",S=[...Object.keys(s.dependencies??{}),...Object.keys(s.peerDependencies??{})],N=[{out:"index.bundle",in:_(n,"index.js")}],J=s.exports?Object.values(s.exports).flatMap(m=>m?[_(n,m)]:[]):N;return Je({outputDir:n,tasks:[E("test-screenshot.html","test-screenshot.html").catchError(()=>L),E("test.html","test.html").catchError(()=>R({path:"test.html",source:Rr(o,s.name,"./test.js",Ir(c,s))})),Ge("tsconfig.test.json"),se("index.js")]},{target:"test",outputDir:n,tasks:[M(async()=>{try{process.chdir(n);let m=await Ce({node:!a,mjs:!0,vfsRoot:"../..",entryFile:"./test.js",importmap:a?Tr(c,s):void 0,sources:new Map,log:console.log.bind(console)});ne(m)}finally{process.chdir(t)}}).ignoreElements()]},{target:"audit",outputDir:n,tasks:[M(qe).ignoreElements()]},{target:"docs",outputDir:`../docs/${o}`,tasks:[v(m=>{import("./render-WEE5MH6Y.js").then(({buildDocs:D})=>D({$:[],clean:!0,summary:!0,markdown:!0,cxlExtensions:!0,outputDir:`../docs/${o}`},ce=>{m.next({path:ce.name,source:Buffer.from(ce.content)})}).then(()=>m.complete()))})]},{target:"package",outputDir:".",tasks:[Oe(),Me(),U(`rm -rf ${i}`)]},{target:"package",outputDir:i,tasks:[E("README.md","README.md"),E("LICENSE.md","LICENSE.md").catchError(()=>L),se(p),Te(n,i,"*.d.ts"),oe({entryPoints:J,platform:a?"browser":"node",outdir:i,external:S}),...u?[oe({entryPoints:N,platform:"browser",outdir:i,external:S})]:[]]},{target:"publish",outputDir:n,tasks:[M(async()=>{await fe(".",i)}).ignoreElements()]},...e)}export{oe as a,Oe as b,se as c,Je as d,U as e,Fe as f,E as g,nn as h,on as i,sn as j,Te as k,cn as l,Wn as m};
@@ -0,0 +1 @@
1
+ import{readFile as y,stat as V,mkdir as A}from"fs/promises";import{spawn as $}from"child_process";var p={reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],grey:[90,39],brightRed:[91,39],brightGreen:[92,39],brightYellow:[93,39],brightBlue:[94,39],brightMagenta:[95,39],brightCyan:[96,39],brightWhite:[97,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgGray:[100,49],bgGrey:[100,49],bgBrightRed:[101,49],bgBrightGreen:[102,49],bgBrightYellow:[103,49],bgBrightBlue:[104,49],bgBrightMagenta:[105,49],bgBrightCyan:[106,49],bgBrightWhite:[107,49],blackBG:[40,49],redBG:[41,49],greenBG:[42,49],yellowBG:[43,49],blueBG:[44,49],magentaBG:[45,49],cyanBG:[46,49],whiteBG:[47,49]},C=Object.keys(p).reduce((t,n)=>{let r=p[n],s="\x1B["+r[0]+"m",e="\x1B["+r[1]+"m";return t[n]=i=>s+i+e,t},{}),f='"(?:[^"\\\\]|\\\\.)*"',x="-(\\w\\w+)",d=`\\s*=?\\s*(${f}|[^-][^\\s]*)?`,B=`-(\\w)${d}`,k=`--(\\w+)${d}`,N=new RegExp(`\\s*(?:${x}|${B}|${k}|(${f}|[^\\s]+))`,"g");function h(){return process.hrtime.bigint()}async function I(t){let n=h(),r=await(typeof t=="function"?t():t),s=0,e=h(),i={start:n,tasks:++s,time:e-n,result:r};return n=e,i}async function M(t,n){try{return JSON.parse(await y(t,"utf8"))}catch(r){if(n!==void 0)return n;throw r}}function R(t,...n){console.log(typeof t=="string"?t:t(),...n)}function o(t,n={}){return new Promise((r,s)=>{let e=$(t,[],{shell:!0,...n}),i="";e.stdout?.on("data",a=>i+=a?.toString()||""),e.stderr?.on("data",a=>i+=a?.toString()||""),e.on("exit",a=>{a!==0?s(i):r(i)})})}import{readFile as v}from"fs/promises";async function m(t){return(await o("git rev-parse --abbrev-ref HEAD",{cwd:t})).trim()}async function w(t){return(await o("git remote show origin",{cwd:t})).match(/HEAD branch:\s+(\S+)/)?.[1]}import{resolve as P}from"path";async function S(t){return JSON.parse(await v(t,"utf8"))}async function F(t,n="latest"){return(await b(t))?.["dist-tags"][n]||void 0}async function G(t,n){let r=P(n);try{await o("npm install --production",{cwd:r}),await o("npm test",{cwd:t})}finally{await o(`rm -rf ${r}/node_modules ${r}/package-lock.json`)}}async function H(t,n){let r=await m(process.cwd()),s=await w(process.cwd());if(r!==s)throw`Active branch "${r}" is not main branch`;let e=await S(`${t}/package.json`),i=e.name.split("/")[1],a=await b(e.name);if(a.versions.includes(e.version))console.log(`Package "${e.name}" version "${e.version}" already published. Skipping.`);else{console.log(`Building ${e.name} ${e.version}`),await o(`npm run build package --prefix ${t}`),await G(t,n);let c=e.version.includes("beta")?"beta":e.version.includes("alpha")?"alpha":"latest",l=c==="alpha"?a["dist-tags"].alpha:void 0;if(console.log(await o(`npm publish --access=public --tag ${c}`,{cwd:n})),c==="beta"||c==="alpha"){let u=`${e.version.split(".")[0]}-${c}`;console.log(await o(`npm dist-tag add ${e.name}@${e.version} ${u}`))}if(l)try{console.log(await o(`npm unpublish ${e.name}@${l}`))}catch(u){console.error(`Removing old version ${e.name}@${l} failed.`),console.error(u)}}let g=`${i}/${e.version}`;(await o(`git tag -l ${g}`)).trim()||(console.log(`Creating tag "${g}"`),await o(`git tag ${g} && git push origin ${g}`))}async function b(t){return JSON.parse((await o(`npm show ${t} --json`)).trim())}export{C as a,I as b,M as c,R as d,o as e,S as f,F as g,H as h};
@@ -0,0 +1,4 @@
1
+ import{existsSync as Ae}from"fs";import{dirname as q,join as Ne,resolve as Le}from"path";import{readFile as Ie,stat as Re,mkdir as $e}from"fs/promises";import{join as zt,resolve as je}from"path";import{spawn as Oe}from"child_process";import{relative as ae,resolve as Ge}from"path";import{createRequire as Je}from"module";var z={reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],grey:[90,39],brightRed:[91,39],brightGreen:[92,39],brightYellow:[93,39],brightBlue:[94,39],brightMagenta:[95,39],brightCyan:[96,39],brightWhite:[97,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgGray:[100,49],bgGrey:[100,49],bgBrightRed:[101,49],bgBrightGreen:[102,49],bgBrightYellow:[103,49],bgBrightBlue:[104,49],bgBrightMagenta:[105,49],bgBrightCyan:[106,49],bgBrightWhite:[107,49],blackBG:[40,49],redBG:[41,49],greenBG:[42,49],yellowBG:[43,49],blueBG:[44,49],magentaBG:[45,49],cyanBG:[46,49],whiteBG:[47,49]},Yt=Object.keys(z).reduce((e,t)=>{let n=z[t],i="\x1B["+n[0]+"m",a="\x1B["+n[1]+"m";return e[t]=s=>i+s+a,e},{}),re='"(?:[^"\\\\]|\\\\.)*"',Me="-(\\w\\w+)",ie=`\\s*=?\\s*(${re}|[^-][^\\s]*)?`,Be=`-(\\w)${ie}`,Ue=`--(\\w+)${ie}`,_t=new RegExp(`\\s*(?:${Me}|${Be}|${Ue}|(${re}|[^\\s]+))`,"g");async function O(e){await Re(e).catch(()=>O(je(e,"..")).then(()=>$e(e)))}async function Q(e,t){try{return JSON.parse(await Ie(e,"utf8"))}catch(n){if(t!==void 0)return t;throw n}}function Ke(e,t={}){return new Promise((n,i)=>{let a=Oe(e,[],{shell:!0,...t}),s="";a.stdout?.on("data",c=>s+=c?.toString()||""),a.stderr?.on("data",c=>s+=c?.toString()||""),a.on("exit",c=>{c!==0?i(s):n(s)})})}var o;(function(e){e[e.Unknown=0]="Unknown",e[e.Variable=1]="Variable",e[e.TypeAlias=2]="TypeAlias",e[e.TypeParameter=3]="TypeParameter",e[e.Interface=4]="Interface",e[e.TypeUnion=5]="TypeUnion",e[e.Reference=6]="Reference",e[e.Module=7]="Module",e[e.Class=8]="Class",e[e.Parameter=9]="Parameter",e[e.Property=10]="Property",e[e.Method=11]="Method",e[e.Getter=12]="Getter",e[e.Setter=13]="Setter",e[e.Constructor=14]="Constructor",e[e.Array=15]="Array",e[e.Function=16]="Function",e[e.FunctionType=17]="FunctionType",e[e.ConditionalType=18]="ConditionalType",e[e.Parenthesized=19]="Parenthesized",e[e.Infer=20]="Infer",e[e.IndexedType=21]="IndexedType",e[e.Enum=22]="Enum",e[e.Literal=23]="Literal",e[e.IndexSignature=24]="IndexSignature",e[e.Export=25]="Export",e[e.Keyof=26]="Keyof",e[e.Typeof=27]="Typeof",e[e.ConstructorType=28]="ConstructorType",e[e.Tuple=29]="Tuple",e[e.ThisType=30]="ThisType",e[e.Constant=31]="Constant",e[e.BaseType=32]="BaseType",e[e.ClassType=33]="ClassType",e[e.ObjectType=34]="ObjectType",e[e.Component=35]="Component",e[e.Attribute=36]="Attribute",e[e.Namespace=37]="Namespace",e[e.CallSignature=38]="CallSignature",e[e.ConstructSignature=39]="ConstructSignature",e[e.MappedType=40]="MappedType",e[e.TypeIntersection=41]="TypeIntersection",e[e.ReadonlyKeyword=42]="ReadonlyKeyword",e[e.UnknownType=43]="UnknownType",e[e.Event=44]="Event",e[e.Spread=45]="Spread",e[e.ImportType=46]="ImportType",e[e.Symbol=47]="Symbol"})(o||(o={}));var p;(function(e){e[e.None=0]="None",e[e.Export=1]="Export",e[e.Ambient=2]="Ambient",e[e.Public=4]="Public",e[e.Private=8]="Private",e[e.Protected=16]="Protected",e[e.Static=32]="Static",e[e.Readonly=64]="Readonly",e[e.Abstract=128]="Abstract",e[e.Async=256]="Async",e[e.Default=512]="Default",e[e.Deprecated=8192]="Deprecated",e[e.Overload=16384]="Overload",e[e.External=32768]="External",e[e.DefaultLibrary=65536]="DefaultLibrary",e[e.DeclarationMerge=131072]="DeclarationMerge",e[e.Rest=262144]="Rest",e[e.Optional=524288]="Optional",e[e.Internal=1048576]="Internal"})(p||(p={}));var oe=Je(import.meta.dirname),Ve=oe.resolve("typescript",{paths:[".",import.meta.dirname]}),l=oe(Ve),{getParsedCommandLineOfConfigFile:He,NodeFlags:Y,sys:A}=l,r=l.SyntaxKind,f=l.TypeFlags,le={[r.Unknown]:o.Unknown,[r.VariableDeclaration]:o.Variable,[r.TypeAliasDeclaration]:o.TypeAlias,[r.TypeParameter]:o.TypeParameter,[r.InterfaceDeclaration]:o.Interface,[r.UnionType]:o.TypeUnion,[r.TypeReference]:o.Reference,[r.SourceFile]:o.Module,[r.ClassDeclaration]:o.Class,[r.Parameter]:o.Parameter,[r.PropertyDeclaration]:o.Property,[r.MethodDeclaration]:o.Method,[r.GetAccessor]:o.Getter,[r.SetAccessor]:o.Setter,[r.Constructor]:o.Constructor,[r.ArrayType]:o.Array,[r.FunctionDeclaration]:o.Function,[r.FunctionType]:o.FunctionType,[r.ConditionalType]:o.ConditionalType,[r.ParenthesizedType]:o.Parenthesized,[r.InferType]:o.Infer,[r.IndexedAccessType]:o.IndexedType,[r.EnumDeclaration]:o.Enum,[r.LiteralType]:o.Literal,[r.TemplateLiteralType]:o.Literal,[r.IndexSignature]:o.IndexSignature,[r.ExportSpecifier]:o.Export,[r.KeyOfKeyword]:o.Keyof,[r.TypeQuery]:o.Typeof,[r.ConstructorType]:o.ConstructorType,[r.TupleType]:o.Tuple,[r.ThisType]:o.ThisType,[r.ModuleDeclaration]:o.Namespace,[r.CallSignature]:o.CallSignature,[r.ConstructSignature]:o.ConstructSignature,[r.MappedType]:o.MappedType,[r.IntersectionType]:o.TypeIntersection,[r.ReadonlyKeyword]:o.ReadonlyKeyword,[r.UnknownKeyword]:o.UnknownType,[r.SpreadAssignment]:o.Spread,[r.ImportType]:o.ImportType,[r.SymbolKeyword]:o.Symbol},se={exportsOnly:!0,rootDir:void 0,cxlExtensions:!1},ce=v("number"),pe=v("string"),ue=v("boolean"),de=v("undefined"),fe=v("null"),ye=v("void"),me=v("any"),We=v("unknown"),qe=v("BigInt"),ge=v("never"),k=Symbol("dtsNode"),ze=l.createPrinter(),he,g,C,M,u,Qe=1,P,I,h,E,B,U={useCaseSensitiveFileNames:!0,readDirectory:A.readDirectory,getCurrentDirectory:A.getCurrentDirectory,getNewLine:()=>`
2
+ `,fileExists:A.fileExists,getCanonicalFileName:e=>e,readFile:A.readFile,onUnRecoverableConfigFileDiagnostic(e){let t=l.formatDiagnosticsWithColorAndContext([e],U);throw new Error(t)}};function v(e){return{name:e,kind:o.BaseType,flags:0}}function Te(e,t){let n;try{n=He(e,{},U)}catch(i){if(i instanceof Error)throw i;let a=typeof i=="string"?i:String(i);throw new Error(a)}if(!n)throw new Error(`Could not parse config file "${e}"`);return n}function Ye(e){switch(e.kind){case r.BindingElement:return e.parent.parent.parent.flags&Y.Const?o.Constant:o.Variable;case r.VariableDeclaration:return e.parent.flags&Y.Const?o.Constant:o.Variable;case r.TypeLiteral:case r.ObjectLiteralExpression:return o.ObjectType;case r.PropertySignature:case r.PropertyAssignment:case r.EnumMember:return o.Property}return le[e.kind]||o.Unknown}function K(e,t){return Qe++}function _e(e){let t=h.packageRoot||process.cwd(),n=e.getSourceFile(),i=n?{name:ae(t,n.fileName),index:e.pos,tsconfig:g.getCompilerOptions().configFilePath}:void 0;return i&&Object.defineProperty(i,"sourceFile",{value:n,enumerable:!1}),i}function G(e){return l.isSourceFile(e)?W(e.fileName):(e.name?e=e.name:e.typeName&&(e=e.typeName),e.escapedText!==void 0?e.escapedText:e.pos!==-1&&l.isStringLiteral(e)?e.getText():l.isTemplateLiteralTypeNode(e)||l.isLiteralTypeNode(e)||l.isLiteralExpression(e)?ze.printNode(l.EmitHint.Unspecified,e,e.getSourceFile()):e.text?e.text:l.isComputedPropertyName(e)||l.isQualifiedName(e)?e.pos===-1?e.text||"":e.getText():e.moduleName||"")}function y(e,t){let n=e[k]||{};n.source??=_e(e),n.kind=t?.kind??n.kind??Ye(e),n.name||=t?.name||G(e),n.flags??=nt(e);let i=lt(e,n);return i&&(n.docs=i),t&&Object.assign(n,t),e[k]=n}function J(e,t){let n=t[k];if(!n){let i=t.getSourceFile();if(!g.isSourceFileDefaultLibrary(i)&&!g.isSourceFileFromExternalLibrary(i)&&i.isDeclarationFile&&e){let a=H(e),s=I[a];if(s?.source)return s}return y(t)}return n.id??=K(t),n}function Xe(e){return e.kind===r.PropertyDeclaration||e.kind===r.MethodDeclaration||e.kind===r.GetAccessor||e.kind===r.SetAccessor||e.kind===r.PropertySignature||e.kind===r.MethodSignature}function d(e){return(Ot[e.kind]||y)(e)}function Ze(e){return e.getText()}function et(e,t){let n=e;if(e.kind===r.ModuleDeclaration)return!1;do{if(n.$$internal)return!0;if(n.$$internal===!1)continue;let i=l.getLeadingCommentRanges(t,n.pos);if(i){for(let a of i)if(t.substring(a.pos,a.end).indexOf("@internal")!==-1)return n.$$internal=!0}}while(n=n.parent);return e.$$internal=!1}function tt(e,t){let n=l.ModifierFlags,i=e.getSourceFile()?.isDeclarationFile,a=0;return(t&n.Export||i||e.kind===r.NamespaceExport)&&(a|=p.Export),t&n.Ambient&&(a|=p.Ambient),t&n.Public&&(a|=p.Public),t&n.Private&&(a|=p.Private),t&n.Protected&&(a|=p.Protected),t&n.Static&&(a|=p.Static),t&n.Readonly&&(a|=p.Readonly),t&n.Abstract&&(a|=p.Abstract),t&n.Async&&(a|=p.Async),t&n.Default&&(a|=p.Default),t&n.Deprecated&&(a|=p.Deprecated),Xe(e)&&(l.isPrivateIdentifier(e.name)?a|=p.Private:a&(p.Private|p.Protected)||(a|=p.Public)),a}function nt(e){let t=0;e.questionToken&&(t|=p.Optional);let n=l.isSourceFile(e)?e:e.getSourceFile();return n&&(et(e,n.getFullText())&&(t|=p.Internal),g.isSourceFileDefaultLibrary(n)&&(t|=p.DefaultLibrary),g.isSourceFileFromExternalLibrary(n)&&(t|=p.External)),t}function V(e){if(e.$$resolvedType)return;let t=u.getWidenedType(e);if(t===e)try{let n=u.typeToTypeNode(t,void 0,l.NodeBuilderFlags.NoTypeReduction|l.NodeBuilderFlags.InTypeAlias|l.NodeBuilderFlags.NoTruncation);return n&&(n.$$resolvedType=!0),n?d(n):void 0}catch(n){console.error(n);return}else t.$$resolvedType=!0;return T(t)}var rt=/<!--(.*?)-->/g;function _(e){return e.replace(rt,"")}function X(e){if(e)return typeof e=="string"?_(e):e.map(t=>t.kind===r.JSDocLink?{tag:"link",value:`${t.name?.getText()||""}${t.text}`}:{value:_(t.text)})}var it=/^\s*\*\s/gm;function at(e){return e.getText().replace(it,"")}function ot(e,t){let n=`
3
+ ${at(t)}`;if(e.length>0){let i=e[e.length-1].value||"";typeof i=="string"?e[e.length-1].value=i+n:i.push({value:n})}else e.push({value:n})}function lt(e,t){let n=e.jsDoc,i=[],a={content:i};return n?.forEach(s=>{let c=X(s.comment);c&&i.push({value:c})}),l.getJSDocTags(e).forEach(s=>{let c=s.tagName.escapedText==="description"?void 0:s.tagName.escapedText,b=s.name?.getText(),w=s.comment?X(s.comment):b;if(h.cxlExtensions&&c==="tagName"){a.tagName=String(w);return}if(s.comment&&c&&!h?.customJsDocTags?.includes(c)&&c!==c.toLowerCase()&&i.length>0){ot(i,s);return}c==="deprecated"&&(t.flags|=p.Deprecated),c==="see"&&s.comment==="*"&&(w=b),c==="beta"&&(a.beta=!0),c==="alpha"&&(a.alpha=!0),h.cxlExtensions&&(c==="attribute"?t.kind=o.Attribute:c==="event"&&(t.kind=o.Event)),w&&!(c==="param"&&e.kind!==r.Parameter)&&i.push({tag:c==="desc"||c==="description"?void 0:c,value:w})}),i.length?a:void 0}function D(e){let t=y(e);t.id===void 0&&(t.id=K(e,t)),t.flags|=tt(e,l.getCombinedModifierFlags(e));let n=t.id,i=e.typeParameters;return i&&(t.typeParameters=i.map(d)),l.isEnumMember(e)?t.value=JSON.stringify(u.getConstantValue(e)):e.initializer&&(t.value=Ze(e.initializer)),n&&(he[n]=t),t}function st(e){let t=D(e);return e.default&&e.getSourceFile()&&(t.value=e.default.getText()),e.constraint&&(t.children=[d(e.constraint)]),t}function ct(e){return{name:e.name,kind:o.Unknown,flags:0}}function pt(e){let t=e.valueDeclaration;if(!t)return ct(e);let n=m(t);return n.name||(n.name=t.name.getText()),n.flags&(p.Private|p.Public|p.Protected)&&(n.kind=o.Property),t.dotDotDotToken&&(n.flags=n.flags|p.Rest),t.questionToken&&(n.flags=n.flags|p.Optional),n}function N(e,t){let n=e.declarations?.[0]||e.valueDeclaration,i=e.flags&l.SymbolFlags.Namespace||n?.kind===r.EnumMember?Se(e):e.getName();return n?{name:i,flags:0,kind:o.Reference,type:J(e,n),typeParameters:t&&t.length?t.map(T):void 0}:{name:i,flags:0,kind:o.Reference,typeParameters:t&&t.length?t.map(T):void 0}}function ut(e){return e.flags&f.Enum||e.flags&f.EnumLiteral||e.flags&f.UniqueESSymbol||e.isClassOrInterface()||e.isTypeParameter()||e.objectFlags&l.ObjectFlags.Reference}function dt(e){return{name:"",kind:o.IndexedType,flags:0,children:[T(e.objectType),T(e.indexType)]}}function R(e){return e&&(e.declarations?.[0]||e.valueDeclaration)}function be(e){let t=R(e),n=t?d(t):{name:e.name,kind:o.Unknown,flags:0};return n.kind!==o.Namespace&&(n.name=e.name),n}function ft(e){return{name:u.typeToString(e),kind:o.Keyof,type:T(e.type),resolvedType:V(e),flags:0}}function yt(e,t){return{name:u.typeToString(e),kind:o.Literal,type:t!==e?T(t):void 0,flags:0}}function Z(e){let t=u.typeToTypeNode(e,void 0,l.NodeBuilderFlags.InObjectTypeLiteral|l.NodeBuilderFlags.NoTruncation);return t?d(t):{name:u.typeToString(e),kind:o.ObjectType,flags:0}}function mt(e){return u.isArrayType(e)}function T(e){if(e.aliasSymbol)return N(e.aliasSymbol,e.aliasTypeArguments);if(e.flags&f.Any)return me;if(e.flags&f.Unknown)return We;if(e.flags&f.Void)return ye;if(e.flags&f.Boolean)return ue;if(e.flags&f.BigInt)return qe;if(e.flags&f.Null)return fe;if(e.flags&f.Number)return ce;if(e.flags&f.String)return pe;if(e.flags&f.Undefined)return de;if(e.flags&f.Never)return ge;if(e.flags&f.Index)return ft(e);if(e.flags&f.IndexedAccess)return dt(e);if(mt(e))return Z(e);if(e.symbol?.flags&l.SymbolFlags.Namespace){let t=N(e.symbol);return t.kind=o.ImportType,t}if(ut(e)&&e.symbol)return N(e.symbol,u.getTypeArguments(e));if(e.flags&f.Literal||e.flags&f.TemplateLiteral){let t=u.getBaseTypeOfLiteralType(e);return e.isStringLiteral()||e.isNumberLiteral()||e.isLiteral()||e.flags&f.TemplateLiteral?yt(e,t):T(t)}return e.isUnionOrIntersection()?{name:"",flags:0,kind:e.isUnion()?o.TypeUnion:o.TypeIntersection,children:e.types.map(T)}:e.flags&f.Object?Z(e):e.symbol?be(e.symbol):{name:u.typeToString(e),kind:o.Unknown,flags:0}}function S(e){let t=D(e),n=u.getSignatureFromDeclaration(e);e.kind===r.ArrowFunction||e.kind===r.FunctionExpression?t.kind=o.Function:e.kind===r.MethodSignature&&(t.kind=o.Method),e.type&&(t.type=d(e.type)),e.typeParameters&&(t.typeParameters=e.typeParameters.map(d)),t.parameters=n?n.getParameters().map(pt):e.parameters.map(d);let i=u.getTypeAtLocation(e);if(u.getSignaturesOfType(i,l.SignatureKind.Call)?.length>1&&!u.isImplementationOfOverload(e)&&(t.flags=t.flags|p.Overload),n&&!t.type){let a=n.getReturnType();t.type=a&&T(a)}return t}function gt(e){let t=y(e,{name:"Array"});return t.type=d(e.elementType),t}function xe(e,t){if(!l.canHaveDecorators(e))return;let n=l.getDecorators(e);return n&&n.find(i=>l.isCallExpression(i.expression)&&l.isIdentifier(i.expression.expression)&&i.expression.expression.escapedText.endsWith(t))}function ht(e,t){let n=xe(e,"Attribute");if(n){let i=n.expression.expression.escapedText;t.kind=i==="EventAttribute"?o.Event:o.Attribute}}function Tt(e){let t=e.arguments[0];return l.isStringLiteral(t)?t.text:""}function bt(e){let t=u.getTypeAtLocation(e);for(;t;){let n=t.symbol.valueDeclaration;if(!n||!l.isClassDeclaration(n))return!1;let i=n.heritageClauses?.find(s=>s.token===l.SyntaxKind.ExtendsKeyword)?.types?.[0]?.expression,a=i&&u.getTypeAtLocation(i);if(!a||t===a)break;if(a.symbol?.name==="Component")return!0;t=a}}function xt(e,t,n){let i=xe(e,"Augment"),a=i?.expression?.arguments,s=n.docs||{};if(i||t&&bt(e))n.kind=o.Component;else return!1;if(n.children){let c=n.children.find(b=>b.name==="tagName"&&b.kind===o.Property&&b.flags&p.Static);c&&c.value&&(s.tagName=c.value.slice(1,-1))}return a&&a.forEach((c,b)=>{b===0&&l.isStringLiteral(c)?s.tagName=c.text:l.isCallExpression(c)&&l.isIdentifier(c.expression)&&c.expression.escapedText==="role"&&(s.role=Tt(c))}),(s.tagName||s.role)&&(n.docs=s),!!i}function m(e){let t=D(e);if(l.isVariableDeclaration(e)&&(l.isArrayBindingPattern(e.name)||l.isObjectBindingPattern(e.name))&&(t.children=e.name.elements.map(d)),h.cxlExtensions&&ht(e,t),!t.type){let n=e.type;if(n)t.type=d(n);else if(l.isFunctionDeclaration(e)||l.isMethodDeclaration(e)){let i=u.getSignatureFromDeclaration(e);i&&(t.type=T(i.getReturnType()))}else try{let i=u.getTypeAtLocation(e);i&&(t.type=T(i))}catch(i){console.error(i)}}if(l.isTypeAliasDeclaration(e)){let n=u.getTypeAtLocation(e);t.resolvedType=V(n)}return t}function F(e,t){e.children||=[];for(let n of t)n.parent||(Object.defineProperty(n,"parent",{value:e,enumerable:!1}),e.children.push(n))}function ee(e){let t=y(e);if(!t.children){let n=l.isObjectLiteralExpression(e)?e.properties.map(d):e.members.map(d);F(t,n)}return t}function St(e){let t=R(e),n=t&&ke(t);return n?E[n]:void 0}function H(e){if(e.$$fqn)return e.$$fqn;let t=e.getDeclarations()?.[0]?.getSourceFile()?.path;return t?e.$$fqn=`${t}.${e.getName()}`:e.$$fqn=u.getFullyQualifiedName(e)}function vt(e){if(!e)return;if(h.followReferences){let n=St(e);if(n){let i=n.children?.find(a=>a.name===e.name);if(i)return i}}let t=e&&I[H(e)];return t?.source?t:void 0}function j(e){let t=u.getSymbolAtLocation(e)||e.name&&u.getSymbolAtLocation(e.name),n;if(e.kind===r.InterfaceDeclaration&&t&&!(t.flags&l.SymbolFlags.Class)){if(n=t[k],!n&&t.declarations){let i=t.declarations.find(a=>a[k]);i&&(n=D(i))}n??=vt(t),n&&!(n.flags&p.Export)&&l.getCombinedModifierFlags(e)&l.ModifierFlags.Export&&(n.flags|=p.Export),t&&(t[k]??=n)}if(n??=D(e),e.members&&(!n.children||e.kind===r.InterfaceDeclaration)&&F(n,e.members.map(d)),n.children){for(let i of n.children)if(i.kind===o.Constructor&&i.parameters)for(let a of i.parameters)a.kind===o.Property&&F(n,[a])}if(t&&l.isInterfaceDeclaration(e)&&t.flags&l.SymbolFlags.Class){let i=t.declarations?.[0]||t.valueDeclaration;if(n.flags|=p.DeclarationMerge,n.children&&i){let a=J(t,i);a&&F(a,n.children.map(s=>({...s})))}}if(l.isClassDeclaration(e)&&h.cxlExtensions&&xt(e,t,n),e.heritageClauses?.length){let i=n.type={flags:0,kind:o.ClassType,name:"",type:n};if(e.heritageClauses.forEach(a=>F(i,a.types.map(d))),i.children)for(let a of i.children)a.kind===o.Reference&&a.type&&(a.type.extendedBy||(a.type.extendedBy=[])).push({name:n.name,type:n,kind:o.Reference,flags:0})}return n}function kt(e,t){let n=l.ObjectFlags,i=e.objectFlags&n.Interface?r.InterfaceDeclaration:void 0;return i?t.declarations?.find(a=>a.kind===i):t.declarations?.[0]||t.valueDeclaration}function te(e){let t=u.getTypeFromTypeNode(e),n=t.aliasSymbol||t.symbol;!n&&l.isTypeReferenceNode(e)&&(n=u.getSymbolAtLocation(e.typeName)),n&&n.flags&l.SymbolFlags.Alias&&(n=u.getAliasedSymbol(n)??n);let i=n&&kt(t,n),a=i&&n?J(n,i):e.flags&l.NodeFlags.Synthesized?void 0:T(t),s=G(l.isTypeReferenceNode(e)?e.typeName:e.expression);return a&&!a.name&&(a.name=s),y(e,{name:s,kind:o.Reference,type:a,typeParameters:e.typeArguments?.map(d)})}function Dt(e){return y(e,{children:[d(e.checkType),d(e.extendsType),d(e.trueType),d(e.falseType)]})}function ne(e){let t=S(e);return t.name="constructor",t}function wt(e){return y(e,{children:[d(e.objectType),d(e.indexType)]})}function Et(e){return y(e,{id:K(e),name:"__index",parameters:e.parameters.map(d),type:e.type&&d(e.type)})}function Ft(e){let t=y(e,{kind:le[e.operator],type:d(e.type)}),n=e.flags&l.NodeFlags.Synthesized?void 0:u.getTypeFromTypeNode(e);if(n){let i=n&&T(n);i&&i.kind!==t.kind&&(t.resolvedType=i)}return t}function Ct(e){let t=y(e);return t.name=G(e.exprName),t}function Pt(e){return y(e,{children:e.elements.map(d)})}function At(e){let t=d(e.type);return t.flags|=p.Rest,t}function Nt(e){let t=y(e);if(e.typeParameter){let n=d(e.typeParameter);t.children=[n],n.children?.[0]&&(t.children.push(n.children?.[0]),n.children=void 0)}return e.type&&(t.type=d(e.type)),t}function Lt(e){let t=u.getExportSpecifierLocalTargetSymbol(e);if(t){let n=be(t);return n.name=e.name.text,n.flags|=p.Export,n.kind===o.Unknown&&(n.kind=o.Export),n}return m(e)}function W(e){let t=h.rootDir??C?.options.rootDir??"";return ae(t,e)}function Se(e){let t=e,n=[e.valueDeclaration?.kind===r.SourceFile&&e.name.startsWith('"')?`"${W(e.name.slice(1,-1))}"`:e.name];for(;t=t.parent;)t.valueDeclaration?.kind!==r.SourceFile&&n.unshift(t.name);return n.join(".")}function It(e,t){let n=t?Se(t):void 0;if(t){if(t.$$moduleResult)return t.$$moduleResult;if(n&&h.followReferences){let a=De(t,e.getSourceFile())||E[n];if(a)return t.$$moduleResult=a}}let i=D(e);return t&&(t.$$moduleResult=i),n&&(h.forceExports?.includes(n)&&(i.flags|=p.Export),i.name=n,E[n]=i),i}function Rt(e,t){if(!e||P.includes(t))return!1;if(h.exportsOnly){let n=e;do{if(n.valueDeclaration?.kind===r.SourceFile)break;let i=n.$$moduleResult;if(!i||!(i.flags&p.Export))return!1}while(n=n.parent)}return!0}function ve(e){let t=u.getSymbolAtLocation(e)||e.name&&u.getSymbolAtLocation(e.name),n=It(e,t);return e.body?.forEachChild(i=>we(i,n)),t&&n.flags&p.Export&&Ee(t),Rt(t,n)&&P.push(n),n}function $t(e){let t=u.getSymbolAtLocation(e);if(t){let n=N(t);return n.kind=o.ImportType,n}return y(e,{})}function jt(e){let t=y(e);return t.children=[d(e.expression)],t}var Ot={[r.AnyKeyword]:()=>me,[r.StringKeyword]:()=>pe,[r.NumberKeyword]:()=>ce,[r.BooleanKeyword]:()=>ue,[r.VoidKeyword]:()=>ye,[r.NeverKeyword]:()=>ge,[r.NullKeyword]:()=>fe,[r.FunctionType]:S,[r.CallSignature]:S,[r.ConstructSignature]:S,[r.UndefinedKeyword]:()=>de,[r.ArrayType]:gt,[r.FunctionDeclaration]:S,[r.ArrowFunction]:S,[r.FunctionExpression]:S,[r.TypeReference]:te,[r.ExpressionWithTypeArguments]:te,[r.ConditionalType]:Dt,[r.ParenthesizedType]:m,[r.InferType](e){return y(e,{type:d(e.typeParameter)})},[r.TypeQuery]:Ct,[r.IndexedAccessType]:wt,[r.IntersectionType](e){return y(e,{kind:o.TypeIntersection,children:e.types.map(d)})},[r.UnionType](e){let t=e.$$resolvedType?void 0:u.getTypeAtLocation(e);return y(e,{kind:o.TypeUnion,children:e.types.map(d),resolvedType:t&&V(t)})},[r.TupleType]:Pt,[r.EnumDeclaration]:j,[r.EnumMember]:m,[r.RestType]:At,[r.PropertySignature]:m,[r.Constructor]:ne,[r.Parameter]:m,[r.PropertyDeclaration]:m,[r.MethodDeclaration]:S,[r.MethodSignature]:S,[r.ClassDeclaration]:j,[r.TypeAliasDeclaration]:m,[r.TypeParameter]:st,[r.InterfaceDeclaration]:j,[r.VariableDeclaration]:m,[r.BindingElement]:m,[r.ConstructorType]:ne,[r.GetAccessor]:S,[r.SetAccessor]:S,[r.TypeOperator]:Ft,[r.TypeLiteral]:ee,[r.TemplateLiteralType]:D,[r.ObjectLiteralExpression]:ee,[r.PropertyAssignment]:m,[r.ShorthandPropertyAssignment]:m,[r.IndexSignature]:Et,[r.MappedType]:Nt,[r.SpreadAssignment]:jt,[r.ModuleDeclaration]:ve,[r.NamespaceExport]:m,[r.NamespaceImport]:m,[r.ExportSpecifier]:Lt,[r.ImportType]:$t,[r.SymbolKeyword]:D};function Mt({options:e,errors:t,fileNames:n,projectReferences:i},a,s){e.noEmit=!0,s||(s=l.createCompilerHost(e)),g=l.createProgram({configFileParsingDiagnostics:t,rootNames:n,projectReferences:i,options:e,host:s}),u=g.getTypeChecker()}function ke(e){let t=e.kind===r.SourceFile?e:e.getSourceFile();return t.isDeclarationFile?t.originalFileName:void 0}function Bt(e){let t=g.getResolvedProjectReferences();if(t)return t.find(n=>n?.commandLine.fileNames.includes(e))}function De(e,t){let n=R(e);if(n&&l.isSourceFile(n)&&!M.includes(n))if(n.isDeclarationFile){if(h.followReferences){let i=ke(n),a=i&&Bt(i);if(a){Ce(a.commandLine);let s=W(i);return P.find(c=>c.name===s)}}if(t.isDeclarationFile)return L(n)}else return L(n)}function we(e,t){function n(i){let a=d(i);(!h.exportsOnly||a.flags&p.Export)&&F(t,[a])}if(l.isVariableStatement(e))e.declarationList.declarations.map(n);else if(l.isExportDeclaration(e)){if(e.exportClause)l.isNamedExports(e.exportClause)?e.exportClause.elements.forEach(n):n(e.exportClause);else if(e.moduleSpecifier){let i=u.getSymbolAtLocation(e.moduleSpecifier);i&&De(i,e.getSourceFile())}}else switch(e.kind){case r.InterfaceDeclaration:case r.TypeAliasDeclaration:case r.FunctionDeclaration:case r.EnumDeclaration:case r.VariableDeclaration:case r.ClassDeclaration:n(e);break;case r.ModuleDeclaration:ve(e)}}function Ee(e){e.exports?.forEach(t=>{let n=R(t);n?.[k]?.source&&!(n[k].flags&p.Internal)&&(I[H(t)]=n[k])})}function L(e){if(E[e.fileName])return E[e.fileName];let t=y(e);if(E[e.fileName]=t,t.flags&p.Internal)return t;e.forEachChild(i=>we(i,t));let n=u.getSymbolAtLocation(e);return n&&Ee(n),e.isDeclarationFile&&e.referencedFiles.forEach(i=>{let a=i.fileName;if(C?.fileNames.includes(a))return;let s=g.getSourceFile(a);s&&!g.isSourceFileDefaultLibrary(s)&&!g.isSourceFileFromExternalLibrary(s)&&L(s)}),t.children?.length&&P.push(t),t}function Fe(e){Mt(e),M=e.fileNames.flatMap(t=>g.getSourceFile(t)||[]),M.forEach(L)}function Ce(e){let t=e.options.configFilePath;if(!B.includes(t)){let n=g,i=u;B.push(t),Fe(e),g=n,u=i}}function Pe(e,t){h=t,E={},I={},B=[];let n={modules:P||=[],index:he||={},config:e,env:{typescript:l.version}};return e.projectReferences?.forEach(i=>{i.prepend&&Ce(Te(l.resolveProjectReferencePath(i)))}),Fe(e),n}function Ut(e,t,n){return C=l.parseJsonConfigFileContent(e,U,t),Pe(C,{...se,...n})}function Kt(e=Ge("tsconfig.json"),t){let n={...se,...t};return C=Te(e,n),Pe(C,n)}var en={repository:{type:"string",help:"URL of the source code repository (e.g., GitHub repository URL)"},clean:{help:"Removes all existing files from the output directory before generating documentation."},outputDir:{short:"o",type:"string",help:"Specifies the output directory where the generated documentation will be saved."},scripts:{type:"string",many:!0,help:"List of additional scripts (paths) to include in the generated documentation HTML."},demoScripts:{type:"string",many:!0,help:"List of scripts (paths) to include in the generated documentation demo output."},demoStyles:{type:"string",help:"CSS styles to include in the generated demo output."},packageJson:{help:'Path to the package.json file. Defaults to "./package.json" if not specified.',type:"string"},packageName:{help:"Sets the title of the generated documentation. Defaults to the name property in package.json.",type:"string"},summary:{help:'Enables generation of a "summary.json" file.',type:"boolean"},sitemap:{help:"Generates a sitemap for the documentation using the provided value as the base URL.",type:"string"},file:{help:"Allows parsing of a single file instead of an entire project.",type:"string",many:!0},tsconfig:{help:'Path to the tsconfig.json file used for TypeScript compilation. Defaults to "./tsconfig.json" if not specified.',type:"string"},markdown:{help:"Enables rendering of markdown syntax within symbol descriptions.",type:"boolean"},typeRoots:{help:"Specify additional type root directories (paths) for TypeScript projects (can be used multiple times).",type:"string",many:!0},docsJson:{help:'Path to a custom "docs.json" file for configuring documentation generation.',type:"string"},baseHref:{help:"Sets the base URL for markdown links within the generated documentation.",type:"string"},exclude:{help:"List of modules (paths) to exclude from documentation generation (can be used multiple times).",type:"string",many:!0},rootDir:{help:"Overrides the default root directory used for resolving TypeScript project file names.",type:"string"},customJsDocTags:{help:"Allows declaration of custom jsdoc tags for documentation (can be used multiple times).",type:"string",many:!0},cxlExtensions:{help:"Enables support for Coaxial UI extensions within the generated documentation.",type:"boolean"},exports:{help:"Treats specific symbols (paths) as exported even if not explicitly marked.",type:"string",many:!0},followReferences:{help:"Includes documentation from symbols referenced in project references.",type:"boolean"},headHtml:{help:"Path to a file containing custom HTML to be added to the `<head>` element of the generated page.",type:"string"},noHtml:{help:"Do not generate HTML",type:"boolean"},debug:{help:"Enables debug mode to print detailed output during documentation generation.",type:"boolean"}},Gt=/[&<"]/g,Jt={"&":"&amp;","<":"&lt;",'"':"&quot;"};function tn(e){return e.replace(Gt,t=>Jt[t])}function nn(e){if(e.startsWith("<caption>")){let t=e.indexOf(`
4
+ `);return{title:e.slice(0,t).trim().replace("</caption>",""),value:e=e.slice(t).trim()}}return{title:"",value:e}}async function rn(e,t){let n={outputDir:"./docs",clean:!1,debug:!1,spa:!1,tsconfig:"tsconfig.json",packageJson:"package.json",packageRoot:"",summary:!1,...e};(n.docsJson||Ae("3doc.json"))&&Object.assign(n,await Q(n.docsJson||"3doc.json"));function i(x){return Ke(`rm -f ${x}/*.html ${x}/*.json ${x}/*.js`)}let a=n.outputDir,s=await Q(n.packageJson);if(n.packageRoot??=q(Le(n.packageJson)),await O(a),await O(a+"/"+s.version),n.clean&&(await i(a),await i(Ne(a,s.version))),n.repository===void 0&&s?.repository){let x=s.repository;n.repository=typeof x=="string"?x:x.url}let c={rootDir:n.rootDir,exportsOnly:!0,customJsDocTags:n.customJsDocTags,cxlExtensions:n.cxlExtensions||!1,forceExports:n.exports,followReferences:n.followReferences},b=n.file?.length?Ut({compilerOptions:{allowJs:!0,rootDir:q(n.file[0]),sourceMap:!1,typeRoots:n.typeRoots||[],noEmit:!0,lib:["es2021"]},files:n.file},process.cwd(),c):Kt(n.tsconfig,c),w={...n,modulePackage:s,repositoryLink:n.repository};if(n.summary){let x=await import("./render-summary-LMSHEX67-C5I3XNGJ.js");await Promise.all(x.render(w,b).map($=>t($,a)))}if(!n.noHtml){let x=await import("./render-html-3KIHSJJY-VNYRPRM7.js");await Promise.all(x.render(w,b).map($=>t($,a)))}}export{o as a,p as b,en as c,tn as d,nn as e,rn as f};
package/hljs.css ADDED
@@ -0,0 +1,104 @@
1
+ .hljs {
2
+ display: block;
3
+ overflow-x: auto;
4
+ padding: 0.5em;
5
+ color: #fff;
6
+ background-color: #102027;
7
+ }
8
+
9
+ .hljs-keyword {
10
+ color: rgba(255, 110, 64, 1);
11
+ }
12
+ .hljs-operator {
13
+ color: rgba(255, 204, 188, 1);
14
+ }
15
+ .hljs-pattern-match {
16
+ color: rgba(255, 110, 64, 1);
17
+ }
18
+ .hljs-pattern-match .hljs-constructor {
19
+ color: rgba(255, 110, 64, 1);
20
+ }
21
+ .hljs-function {
22
+ color: rgba(176, 190, 197, 1);
23
+ }
24
+ .hljs-function .hljs-params {
25
+ color: rgba(236, 239, 241, 1);
26
+ }
27
+ .hljs-function .hljs-params .hljs-typing {
28
+ color: rgba(222, 193, 106);
29
+ }
30
+ .hljs-module-access .hljs-module {
31
+ color: rgba(176, 190, 197, 1);
32
+ }
33
+ .hljs-constructor {
34
+ color: rgba(176, 190, 197, 1);
35
+ }
36
+ .hljs-constructor .hljs-string {
37
+ color: rgba(255, 158, 128, 1);
38
+ }
39
+ .hljs-comment,
40
+ .hljs-quote {
41
+ color: rgba(207, 216, 220, 1);
42
+ font-style: italic;
43
+ }
44
+ .hljs-doctag,
45
+ .hljs-formula {
46
+ color: rgba(222, 193, 106);
47
+ }
48
+ .hljs-tag {
49
+ color: rgba(255, 204, 188, 1);
50
+ }
51
+ .hljs-tag .hljs-name {
52
+ color: rgba(222, 193, 106);
53
+ }
54
+ .hljs-section,
55
+ .hljs-name,
56
+ .hljs-selector-tag,
57
+ .hljs-deletion,
58
+ .hljs-subst {
59
+ color: rgba(236, 239, 241, 1);
60
+ }
61
+ .hljs-literal {
62
+ color: rgba(255, 110, 64, 1);
63
+ }
64
+ .hljs-string,
65
+ .hljs-regexp,
66
+ .hljs-addition,
67
+ .hljs-attribute,
68
+ .hljs-meta-string {
69
+ color: rgba(255, 158, 128, 1);
70
+ }
71
+ .hljs-built_in,
72
+ .hljs-class .hljs-title {
73
+ color: rgba(255, 110, 64, 1);
74
+ }
75
+ .hljs-attr {
76
+ color: rgba(176, 190, 197, 1);
77
+ }
78
+
79
+ .hljs-variable,
80
+ .hljs-template-variable,
81
+ .hljs-type,
82
+ .hljs-selector-class,
83
+ .hljs-selector-attr,
84
+ .hljs-selector-pseudo,
85
+ .hljs-number {
86
+ color: rgba(236, 239, 241, 1);
87
+ }
88
+ .hljs-symbol,
89
+ .hljs-bullet,
90
+ .hljs-link,
91
+ .hljs-meta,
92
+ .hljs-selector-id,
93
+ .hljs-title {
94
+ color: #ffb300;
95
+ }
96
+ .hljs-emphasis {
97
+ font-style: italic;
98
+ }
99
+ .hljs-strong {
100
+ font-weight: bold;
101
+ }
102
+ .hljs-link {
103
+ text-decoration: underline;
104
+ }
package/index.bundle.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{a as i,b as r,c as o,d as a,e as t,f as m,g as l,h as p,i as b,j as f,k as n,l as d,m as s}from"./chunk-HB6NETSB.js";import"./chunk-BJVTLF6O.js";import"./chunk-FSRPMVAS.js";if(import.meta.main){let{buildLibrary:e}=await import("./library-UXEXX527.js");await e()}export{p as basename,a as build,s as buildLibrary,b as concatFile,n as copyDir,i as esbuild,t as exec,l as file,f as files,o as pkg,r as readme,m as shell,d as zip};
2
+ import{a as e,b as o,c as r,d as t,e as a,f as m,g as p,h as l,i as s,j as n,k as b,l as f,m as c}from"./chunk-KPQXDQIW.js";import"./chunk-SWJCWBGM.js";import"./chunk-FSRPMVAS.js";import{existsSync as d}from"fs";if(import.meta.main)if(d("./project.json")){let{buildRoot:i}=await import("./root-G5JDVI4D.js");await i()}else{let{buildLibrary:i}=await import("./library-PNA444FE.js");await i()}export{l as basename,t as build,c as buildLibrary,s as concatFile,b as copyDir,e as esbuild,a as exec,p as file,n as files,r as pkg,o as readme,m as shell,f as zip};
@@ -0,0 +1 @@
1
+ import{m as a}from"./chunk-KPQXDQIW.js";import"./chunk-SWJCWBGM.js";import"./chunk-FSRPMVAS.js";export{a as buildLibrary};
package/npm.d.ts CHANGED
@@ -22,6 +22,7 @@ export interface Package {
22
22
  devDependencies?: Dependencies;
23
23
  peerDependencies?: Dependencies;
24
24
  bundledDependecies?: Dependencies;
25
+ sideEffects?: boolean;
25
26
  type?: string;
26
27
  scripts?: Record<string, string>;
27
28
  exports?: Record<string, string>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cxl/build",
3
- "version": "1.0.0-beta.4",
3
+ "version": "1.0.0-beta.6",
4
4
  "description": "A flexible build system that executes configurable build tasks producing output files, with logging and shell command support.",
5
5
  "license": "GPL-3.0",
6
6
  "files": [
@@ -10,9 +10,9 @@
10
10
  "LICENSE.md",
11
11
  "*.md"
12
12
  ],
13
- "main": "index.bundle.js",
13
+ "main": "./index.bundle.js",
14
14
  "homepage": "https://cxlio.github.io/cxl/build",
15
- "bugs": "https://github.com/cxlio/cxl/issues",
15
+ "bugs": "https://github.com/cxlio/open/issues",
16
16
  "bin": {
17
17
  "cxl-build": "index.bundle.js"
18
18
  },
@@ -22,10 +22,10 @@
22
22
  "directory": "build"
23
23
  },
24
24
  "dependencies": {
25
- "@eslint/js": "^9.30.1",
25
+ "@eslint/js": "^9.36.0",
26
26
  "esbuild": "^0.25.10",
27
27
  "typescript": "^5.9.2",
28
- "typescript-eslint": "^8.39.0",
28
+ "typescript-eslint": "^8.45.0",
29
29
  "puppeteer": "^24.22.3"
30
30
  },
31
31
  "type": "module"
@@ -0,0 +1 @@
1
+ import{c as a,d as s,e,f as r}from"./chunk-TMHR6BIT.js";import"./chunk-FSRPMVAS.js";export{a as Parameters,r as buildDocs,s as escape,e as parseExample};