@seanhogg/builderforce-webcontainers 2026.10.6 → 2026.10.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- "use strict";(()=>{var ve=Object.defineProperty;var ke=(n,e,t)=>e in n?ve(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var S=(n,e,t)=>ke(n,typeof e!="symbol"?e+"":e,t);function E(n){let e=[];for(let t of n.replace(/\\/g,"/").split("/"))!t||t==="."||(t===".."?e.pop():e.push(t));return"/"+e.join("/")}function k(n){let e=E(n),t=e.lastIndexOf("/");return t<=0?"/":e.slice(0,t)}function Re(n){let e=E(n);return e.slice(e.lastIndexOf("/")+1)}function w(...n){return E(n.join("/"))}function C(n){let e=Re(n),t=e.lastIndexOf(".");return t<=0?"":e.slice(t).toLowerCase()}var $e=new TextDecoder,I=class{constructor(){S(this,"files",new Map);S(this,"versions",new Map);S(this,"mtimes",new Map);S(this,"children",new Map([["/",new Set]]));S(this,"explicit",new Set);S(this,"listeners",new Set);S(this,"clock",0)}writeFile(e,t){let s=E(e);if(s==="/"||this.children.has(s))throw new Error(`EISDIR: illegal operation on a directory, open '${s}'`);let r=!this.files.has(s);r&&this.link(s),this.files.set(s,t),this.versions.set(s,++this.clock),this.mtimes.set(s,Date.now()),this.emit({type:"write",path:s,created:r})}readFile(e){return this.files.get(E(e))}readText(e){let t=this.readFile(e);if(t!==void 0)return typeof t=="string"?t:$e.decode(t)}isFile(e){return this.files.has(E(e))}isDirectory(e){return this.children.has(E(e))}exists(e){return this.isFile(e)||this.isDirectory(e)}mkdir(e){let t=E(e);if(this.files.has(t))throw new Error(`EEXIST: file already exists, mkdir '${t}'`);if(t==="/")return;let s=this.children.has(t);this.explicit.add(t),!s&&(this.ensureDir(t),this.emit({type:"mkdir",path:t}))}readdir(e){return[...this.children.get(E(e))??[]].sort()}list(){return[...this.files.keys()].sort()}explicitDirectories(){return[...this.explicit].sort()}rm(e){let t=E(e);if(this.files.has(t)){this.removeFile(t);return}if(!this.children.has(t))return;for(let r of[...this.children.get(t)??[]])this.rm(t==="/"?"/"+r:`${t}/${r}`);if(t==="/")return;let s=this.explicit.delete(t);this.children.has(t)&&this.unlinkDir(t),s&&this.emit({type:"remove",path:t})}version(e){return this.versions.get(E(e))}mtime(e){return this.mtimes.get(E(e))}writeTree(e,t="/"){for(let[s,r]of Object.entries(e)){let c=w(t,s);typeof r=="string"||r instanceof Uint8Array?this.writeFile(c,r):(this.mkdir(c),this.writeTree(r,c))}}toFlat(){let e={};for(let[t,s]of this.files)e[t.slice(1)]=s;return e}watch(e){return this.listeners.add(e),()=>this.listeners.delete(e)}removeFile(e){this.files.delete(e),this.versions.delete(e),this.mtimes.delete(e),this.unlink(e),this.emit({type:"remove",path:e})}link(e){let t=k(e);this.ensureDir(t),this.children.get(t).add(e.slice(e.lastIndexOf("/")+1))}ensureDir(e){if(!this.children.has(e)){if(this.files.has(e))throw new Error(`ENOTDIR: not a directory, '${e}'`);this.children.set(e,new Set),this.link(e)}}unlink(e){let t=k(e),s=this.children.get(t);s&&(s.delete(e.slice(e.lastIndexOf("/")+1)),s.size===0&&t!=="/"&&!this.explicit.has(t)&&this.unlinkDir(t))}unlinkDir(e){this.children.delete(e),this.unlink(e)}emit(e){for(let t of this.listeners)t(e)}};function Te(n){return["/.env","/.env.local",`/.env.${n}`,`/.env.${n}.local`]}function z(n){let e="",t=!1;for(let s=0;s<n.length;s++){let r=n[s],c=n[s+1];if(t){e+=r,r==="\\"?(e+=c??"",s++):r==='"'&&(t=!1);continue}if(r==='"'){t=!0,e+=r;continue}if(r==="/"&&c==="/"){for(;s<n.length&&n[s]!==`
2
- `;)s++;e+=`
3
- `;continue}if(r==="/"&&c==="*"){for(s+=2;s<n.length&&!(n[s]==="*"&&n[s+1]==="/");)s++;s++;continue}e+=r}return JSON.parse(e.replace(/,(\s*[}\]])/g,"$1"))}function U(n,e){let t=n.readText(e);if(t!==void 0)try{let s=z(t);return s&&typeof s=="object"?s:void 0}catch{return}}function N(n){return n&&typeof n=="object"?n:{}}function Ce(n){let e=U(n,"/package.json")??{},t={};for(let s of["devDependencies","dependencies"])for(let[r,c]of Object.entries(N(e[s])))typeof c=="string"&&(t[r]=c);return t}function Fe(n){let e=U(n,"/tsconfig.json")??U(n,"/jsconfig.json")??{},t={...N(e.compilerOptions)},s=Array.isArray(e.references)?e.references:[];for(let r of s){let c=N(r).path;if(typeof c!="string")continue;let o=c.endsWith(".json")?w("/",c):w("/",c,"tsconfig.json");for(let[l,a]of Object.entries(N(U(n,o)?.compilerOptions)))l in t||(t[l]=a)}return t}function be(n){let e=typeof n.baseUrl=="string"?n.baseUrl:".",t=[];for(let[s,r]of Object.entries(N(n.paths))){if(!Array.isArray(r))continue;let c=s.endsWith("*"),o=r.filter(l=>typeof l=="string").map(l=>{let a=c?l.replace(/\*$/,""):l,f=w("/",e,a);return a.endsWith("/")&&f!=="/"?f+"/":f});t.push({prefix:c?s.slice(0,-1):s,wildcard:c,targets:o})}return t.sort((s,r)=>r.prefix.length-s.prefix.length)}var _e=[{name:"react-native",twin:"react-native-web"}];function De(n){let e={};for(let{name:t,twin:s}of _e)s in n&&(e[t]=s);return e}function Pe(n){let e=typeof n.jsxImportSource=="string"?n.jsxImportSource:"react";return{runtime:n.jsx==="react"?"classic":"automatic",importSource:e}}function Ie(n){let e={};for(let t of n.split(/\r?\n/)){let s=t.trim();if(!s||s.startsWith("#"))continue;let r=s.indexOf("=");if(r<=0)continue;let c=s.slice(0,r).replace(/^export\s+/,"").trim(),o=s.slice(r+1).trim();(o.startsWith('"')&&o.endsWith('"')||o.startsWith("'")&&o.endsWith("'"))&&(o=o.slice(1,-1)),e[c]=o}return e}function Ne(n,e){let t={};for(let s of Te(e)){let r=n.readText(s);r!==void 0&&Object.assign(t,Ie(r))}return t}function ee(n,e="development"){let t=Fe(n),s=Ce(n);return{dependencies:s,aliases:be(t),packageAliases:De(s),jsx:Pe(t),env:Ne(n,e)}}var te=[".tsx",".ts",".jsx",".js",".mjs",".cjs",".json",".css"];function R(n){return n.startsWith(".")||n.startsWith("/")?!1:!/^[a-z][a-z0-9+.-]*:/i.test(n)}function $(n){let e=n.split("/"),t=n.startsWith("@")?2:1;return{name:e.slice(0,t).join("/"),subpath:e.length>t?"/"+e.slice(t).join("/"):""}}function Oe(n,e){if(n.isFile(e))return e;for(let s of te)if(n.isFile(e+s))return e+s;let t=C(e);if(t===".js"||t===".jsx"||t===".mjs"){let s=e.slice(0,-t.length);for(let r of[".ts",".tsx"])if(n.isFile(s+r))return s+r}if(n.isDirectory(e))for(let s of te){let r=w(e,"index"+s);if(n.isFile(r))return r}}function ne(n,e,t){for(let s of e){if(!(s.wildcard?t.startsWith(s.prefix):t===s.prefix))continue;let c=s.wildcard?t.slice(s.prefix.length):"";for(let o of s.targets){let l=Oe(n,E(o+c));if(l)return l}}}var W="/__bfwc_shims__",O=`${W}/ambient.d.ts`,q=`${W}/empty.d.ts`,H=new Set(["vite/client","react-scripts"]),A="{ const src: string; export default src; }",se="{ const value: any; export default value; }",Me=[["*.module.css","{ const classes: { readonly [key: string]: string }; export default classes; }"],["*.module.scss","{ const classes: { readonly [key: string]: string }; export default classes; }"],["*.css","{}"],["*.scss","{}"],["*.sass","{}"],["*.less","{}"],...["svg","png","jpg","jpeg","gif","webp","avif","ico","bmp","woff","woff2","ttf","otf","eot","mp4","webm","mp3","wav","ogg","pdf","txt","md","wasm"].map(n=>[`*.${n}`,A]),["*?raw",A],["*?url",A],["*?inline",A],["*.vue",se],["*.svelte",se]],Le=`interface ImportMetaEnv {
1
+ "use strict";(()=>{var ke=Object.defineProperty;var je=(s,e,t)=>e in s?ke(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var S=(s,e,t)=>je(s,typeof e!="symbol"?e+"":e,t);function E(s){let e=[];for(let t of s.replace(/\\/g,"/").split("/"))!t||t==="."||(t===".."?e.pop():e.push(t));return"/"+e.join("/")}function j(s){let e=E(s),t=e.lastIndexOf("/");return t<=0?"/":e.slice(0,t)}function Re(s){let e=E(s);return e.slice(e.lastIndexOf("/")+1)}function w(...s){return E(s.join("/"))}function F(s){let e=Re(s),t=e.lastIndexOf(".");return t<=0?"":e.slice(t).toLowerCase()}var $e=new TextDecoder,P=class{constructor(){S(this,"files",new Map);S(this,"versions",new Map);S(this,"mtimes",new Map);S(this,"children",new Map([["/",new Set]]));S(this,"explicit",new Set);S(this,"listeners",new Set);S(this,"clock",0)}writeFile(e,t){let n=E(e);if(n==="/"||this.children.has(n))throw new Error(`EISDIR: illegal operation on a directory, open '${n}'`);let r=!this.files.has(n);r&&this.link(n),this.files.set(n,t),this.versions.set(n,++this.clock),this.mtimes.set(n,Date.now()),this.emit({type:"write",path:n,created:r})}readFile(e){return this.files.get(E(e))}readText(e){let t=this.readFile(e);if(t!==void 0)return typeof t=="string"?t:$e.decode(t)}isFile(e){return this.files.has(E(e))}isDirectory(e){return this.children.has(E(e))}exists(e){return this.isFile(e)||this.isDirectory(e)}mkdir(e){let t=E(e);if(this.files.has(t))throw new Error(`EEXIST: file already exists, mkdir '${t}'`);if(t==="/")return;let n=this.children.has(t);this.explicit.add(t),!n&&(this.ensureDir(t),this.emit({type:"mkdir",path:t}))}readdir(e){return[...this.children.get(E(e))??[]].sort()}entries(e){let t=E(e);return this.readdir(t).map(n=>({name:n,kind:this.children.has(w(t,n))?"directory":"file"}))}rename(e,t){let n=E(e),r=E(t);if(n===r)return;if(!this.exists(n))throw new Error(`ENOENT: no such file or directory, rename '${n}' -> '${r}'`);if(this.exists(r))throw new Error(`EEXIST: file already exists, rename '${n}' -> '${r}'`);if(r.startsWith(n+"/"))throw new Error(`EINVAL: cannot move '${n}' into itself`);if(this.files.has(n)){let c=this.files.get(n);this.removeFile(n),this.writeFile(r,c);return}let o=n+"/",a=[...this.files].filter(([c])=>c.startsWith(o)),l=[...this.explicit].filter(c=>c===n||c.startsWith(o));this.rm(n),this.mkdir(r);for(let c of l)this.mkdir(r+c.slice(n.length));for(let[c,f]of a)this.writeFile(r+c.slice(n.length),f)}list(){return[...this.files.keys()].sort()}explicitDirectories(){return[...this.explicit].sort()}rm(e){let t=E(e);if(this.files.has(t)){this.removeFile(t);return}if(!this.children.has(t))return;for(let r of[...this.children.get(t)??[]])this.rm(t==="/"?"/"+r:`${t}/${r}`);if(t==="/")return;let n=this.explicit.delete(t);this.children.has(t)&&this.unlinkDir(t),n&&this.emit({type:"remove",path:t})}version(e){return this.versions.get(E(e))}mtime(e){return this.mtimes.get(E(e))}writeTree(e,t="/"){for(let[n,r]of Object.entries(e)){let o=w(t,n);typeof r=="string"||r instanceof Uint8Array?this.writeFile(o,r):(this.mkdir(o),this.writeTree(r,o))}}toFlat(){let e={};for(let[t,n]of this.files)e[t.slice(1)]=n;return e}watch(e,t={}){let n=t.under===void 0?void 0:E(t.under),r=n===void 0||n==="/"?e:o=>(o.path===n||o.path.startsWith(n+"/"))&&e(o);return this.listeners.add(r),()=>this.listeners.delete(r)}removeFile(e){this.files.delete(e),this.versions.delete(e),this.mtimes.delete(e),this.unlink(e),this.emit({type:"remove",path:e})}link(e){let t=j(e);this.ensureDir(t),this.children.get(t).add(e.slice(e.lastIndexOf("/")+1))}ensureDir(e){if(!this.children.has(e)){if(this.files.has(e))throw new Error(`ENOTDIR: not a directory, '${e}'`);this.children.set(e,new Set),this.link(e)}}unlink(e){let t=j(e),n=this.children.get(t);n&&(n.delete(e.slice(e.lastIndexOf("/")+1)),n.size===0&&t!=="/"&&!this.explicit.has(t)&&this.unlinkDir(t))}unlinkDir(e){this.children.delete(e),this.unlink(e)}emit(e){for(let t of this.listeners)t(e)}};function Te(s){return["/.env","/.env.local",`/.env.${s}`,`/.env.${s}.local`]}function z(s){let e="",t=!1;for(let n=0;n<s.length;n++){let r=s[n],o=s[n+1];if(t){e+=r,r==="\\"?(e+=o??"",n++):r==='"'&&(t=!1);continue}if(r==='"'){t=!0,e+=r;continue}if(r==="/"&&o==="/"){for(;n<s.length&&s[n]!==`
2
+ `;)n++;e+=`
3
+ `;continue}if(r==="/"&&o==="*"){for(n+=2;n<s.length&&!(s[n]==="*"&&s[n+1]==="/");)n++;n++;continue}e+=r}return JSON.parse(e.replace(/,(\s*[}\]])/g,"$1"))}function U(s,e){let t=s.readText(e);if(t!==void 0)try{let n=z(t);return n&&typeof n=="object"?n:void 0}catch{return}}function N(s){return s&&typeof s=="object"?s:{}}function Fe(s){let e=U(s,"/package.json")??{},t={};for(let n of["devDependencies","dependencies"])for(let[r,o]of Object.entries(N(e[n])))typeof o=="string"&&(t[r]=o);return t}function Ce(s){let e=U(s,"/tsconfig.json")??U(s,"/jsconfig.json")??{},t={...N(e.compilerOptions)},n=Array.isArray(e.references)?e.references:[];for(let r of n){let o=N(r).path;if(typeof o!="string")continue;let a=o.endsWith(".json")?w("/",o):w("/",o,"tsconfig.json");for(let[l,c]of Object.entries(N(U(s,a)?.compilerOptions)))l in t||(t[l]=c)}return t}function be(s){let e=typeof s.baseUrl=="string"?s.baseUrl:".",t=[];for(let[n,r]of Object.entries(N(s.paths))){if(!Array.isArray(r))continue;let o=n.endsWith("*"),a=r.filter(l=>typeof l=="string").map(l=>{let c=o?l.replace(/\*$/,""):l,f=w("/",e,c);return c.endsWith("/")&&f!=="/"?f+"/":f});t.push({prefix:o?n.slice(0,-1):n,wildcard:o,targets:a})}return t.sort((n,r)=>r.prefix.length-n.prefix.length)}var _e=[{name:"react-native",twin:"react-native-web"}];function De(s){let e={};for(let{name:t,twin:n}of _e)n in s&&(e[t]=n);return e}function Ie(s){let e=typeof s.jsxImportSource=="string"?s.jsxImportSource:"react";return{runtime:s.jsx==="react"?"classic":"automatic",importSource:e}}function Pe(s){let e={};for(let t of s.split(/\r?\n/)){let n=t.trim();if(!n||n.startsWith("#"))continue;let r=n.indexOf("=");if(r<=0)continue;let o=n.slice(0,r).replace(/^export\s+/,"").trim(),a=n.slice(r+1).trim();(a.startsWith('"')&&a.endsWith('"')||a.startsWith("'")&&a.endsWith("'"))&&(a=a.slice(1,-1)),e[o]=a}return e}function Ne(s,e){let t={};for(let n of Te(e)){let r=s.readText(n);r!==void 0&&Object.assign(t,Pe(r))}return t}function ee(s,e="development"){let t=Ce(s),n=Fe(s);return{dependencies:n,aliases:be(t),packageAliases:De(n),jsx:Ie(t),env:Ne(s,e)}}var te=[".tsx",".ts",".jsx",".js",".mjs",".cjs",".json",".css"];function R(s){return s.startsWith(".")||s.startsWith("/")?!1:!/^[a-z][a-z0-9+.-]*:/i.test(s)}function $(s){let e=s.split("/"),t=s.startsWith("@")?2:1;return{name:e.slice(0,t).join("/"),subpath:e.length>t?"/"+e.slice(t).join("/"):""}}function Oe(s,e){if(s.isFile(e))return e;for(let n of te)if(s.isFile(e+n))return e+n;let t=F(e);if(t===".js"||t===".jsx"||t===".mjs"){let n=e.slice(0,-t.length);for(let r of[".ts",".tsx"])if(s.isFile(n+r))return n+r}if(s.isDirectory(e))for(let n of te){let r=w(e,"index"+n);if(s.isFile(r))return r}}function ne(s,e,t){for(let n of e){if(!(n.wildcard?t.startsWith(n.prefix):t===n.prefix))continue;let o=n.wildcard?t.slice(n.prefix.length):"";for(let a of n.targets){let l=Oe(s,E(a+o));if(l)return l}}}var W="/__bfwc_shims__",O=`${W}/ambient.d.ts`,q=`${W}/empty.d.ts`,H=new Set(["vite/client","react-scripts"]),A="{ const src: string; export default src; }",se="{ const value: any; export default value; }",Me=[["*.module.css","{ const classes: { readonly [key: string]: string }; export default classes; }"],["*.module.scss","{ const classes: { readonly [key: string]: string }; export default classes; }"],["*.css","{}"],["*.scss","{}"],["*.sass","{}"],["*.less","{}"],...["svg","png","jpg","jpeg","gif","webp","avif","ico","bmp","woff","woff2","ttf","otf","eot","mp4","webm","mp3","wav","ogg","pdf","txt","md","wasm"].map(s=>[`*.${s}`,A]),["*?raw",A],["*?url",A],["*?inline",A],["*.vue",se],["*.svelte",se]],Le=`interface ImportMetaEnv {
4
4
  readonly [key: string]: any;
5
5
  readonly MODE: string;
6
6
  readonly BASE_URL: string;
@@ -12,9 +12,9 @@ interface ImportMeta {
12
12
  readonly env: ImportMetaEnv;
13
13
  readonly hot?: any;
14
14
  readonly glob: any;
15
- }`;function Ue(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ae(n,e){let t=new RegExp(`declare\\s+module\\s+['"]${Ue(e)}['"]`);for(let s of n)if(t.test(s))return!0;return!1}function re(n){let e=[Le];n.existing.some(t=>/declare\s+var\s+process\b/.test(t))||e.push("declare var process: { env: { readonly [key: string]: string | undefined; readonly NODE_ENV: string } };");for(let[t,s]of Me)Ae(n.existing,t)||e.push(`declare module ${JSON.stringify(t)} ${s}`);for(let t of n.untyped)e.push(`declare module ${JSON.stringify(t)};`),e.push(`declare module ${JSON.stringify(`${t}/*`)};`);return e.join(`
15
+ }`;function Ue(s){return s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ae(s,e){let t=new RegExp(`declare\\s+module\\s+['"]${Ue(e)}['"]`);for(let n of s)if(t.test(n))return!0;return!1}function re(s){let e=[Le];s.existing.some(t=>/declare\s+var\s+process\b/.test(t))||e.push("declare var process: { env: { readonly [key: string]: string | undefined; readonly NODE_ENV: string } };");for(let[t,n]of Me)Ae(s.existing,t)||e.push(`declare module ${JSON.stringify(t)} ${n}`);for(let t of s.untyped)e.push(`declare module ${JSON.stringify(t)};`),e.push(`declare module ${JSON.stringify(`${t}/*`)};`);return e.join(`
16
16
  `)+`
17
- `}function ie(n){return!/^(workspace|file|link|portal|git\+|git:|github:|https?:)/.test(n)&&!n.includes("/")}var F="/__bfwc_types__",b="/__bfwc_lib__",M="/node_modules",G="https://esm.sh",B="https://cdn.jsdelivr.net/npm";function K(n){return`${B}/typescript@${n}/lib`}function X(n){return`@types/${n.startsWith("@")?n.slice(1).replace("/","__"):n}`}function J(n,e){let t=e[n];return t&&ie(t)?`${n}@${t}`:n}function T(n,e,t){let{name:s,subpath:r}=$(e);return`${n}/${J(s,t)}${r}`}function P(n,e){let t=new URL(n,e).href.replace(/[?#].*$/,"");return/\.d\.[mc]?ts$/.test(t)?[t]:/\.[mc]?js$/.test(t)?[t.replace(/\.([mc]?)js$/,".d.$1ts")]:/\.[mc]?ts$/.test(t)?[t]:[`${t}.d.ts`,`${t}/index.d.ts`]}var _=class{constructor(){S(this,"files",new Map);S(this,"redirects",new Map);S(this,"packages",new Map);S(this,"libs",new Map);S(this,"configs",new Map);S(this,"sourceFiles",new Map)}finalUrl(e){return(this.redirects.get(e)??(this.files.has(e)?e:void 0))||void 0}virtualPath(e){return`${F}/${e.replace(/^[a-z]+:\/\//i,"")}`}urlOf(e){if(!e.startsWith(`${F}/`))return;let t=e.slice(F.length+1);for(let s of["https://","http://"])if(this.files.has(s+t))return s+t}read(e){if(e.startsWith(`${b}/`))return this.libs.get(e.slice(b.length+1))??void 0;if(e.startsWith(`${M}/`))return this.configs.get(e)??void 0;let t=this.urlOf(e);return t?this.files.get(t):void 0}};var We="X-TypeScript-Types";async function oe(n,e,t,s){let{sources:r}=s,c=new Map,o=[],l=u=>o.push(u().catch(()=>{})),a=(u,x)=>(c.has(u)||c.set(u,x()),c.get(u)),f=u=>s.fetch(u).then(x=>x.ok?x:void 0,()=>{});function i(u,x){let h=n.preProcessFile(x,!0,!0);for(let p of h.referencedFiles)l(()=>d(P(p.fileName,u)));for(let p of h.typeReferenceDirectives)l(()=>v(p.fileName));for(let p of h.libReferenceDirectives)l(()=>y(`lib.${p.fileName.toLowerCase()}.d.ts`));for(let p of h.importedFiles){let j=p.fileName;l(()=>R(j)?g(j):d(P(j,u)))}}function m(u){let x=e.redirects.get(u);return x!==void 0?Promise.resolve(x||void 0):e.files.has(u)?Promise.resolve(u):a(`dts:${u}`,async()=>{if(e.files.size>=s.maxFiles)return;let h=await f(u);if(!h){e.redirects.set(u,"");return}let p=h.url||u;if(e.redirects.set(u,p),!e.files.has(p)){let j=await h.text();e.files.set(p,j),i(p,j)}return p})}async function d(u){for(let x of u){let h=await m(x);if(h)return h}}function g(u,x={}){let h=T(r.typesOrigin,u,x);return e.packages.has(h)?Promise.resolve(e.packages.get(h)??void 0):a(`pkg:${h}`,async()=>{let p=await f(h),j=p?.headers.get(We),L=j?await m(new URL(j,p.url||h).href):void 0;return e.packages.set(h,L??null),L})}function v(u,x={}){if(H.has(u))return Promise.resolve();let h=`types:${u}`;return e.packages.has(h)?Promise.resolve():a(h,async()=>{let p=u==="node"?void 0:await g(u,x),{name:j,subpath:L}=$(u),Se=X(j),je=p?void 0:await m(`${r.typesOrigin}/${J(Se,x)}${L||"/index"}.d.ts`);e.packages.set(h,p??je??null)})}function y(u){return e.libs.has(u)?Promise.resolve():a(`lib:${u}`,async()=>{let x=await f(`${r.libBaseUrl}/${u}`),h=x?await x.text():null;if(e.libs.set(u,h),h)for(let p of n.preProcessFile(h,!0,!1).libReferenceDirectives)l(()=>y(`lib.${p.fileName.toLowerCase()}.d.ts`))})}for(let u of t.specifiers)l(()=>g(u,t.dependencies));for(let u of t.typeReferences)l(()=>v(u,t.dependencies));for(let u of t.libFiles)l(()=>y(u));for(;o.length;)await Promise.all(o.splice(0))}async function ce(n,e,t,s){let r=[];function c(a){try{let f=z(a).extends;return(Array.isArray(f)?f:[f]).filter(i=>typeof i=="string")}catch{return[]}}function o(a,f){for(let i of c(f)){let m;if(R(i)){let{name:d,subpath:g}=$(i);m=`${M}/${d}${g?g.endsWith(".json")?g:`${g}.json`:"/tsconfig.json"}`}else if(a.startsWith(`${M}/`))m=w(k(a),i.endsWith(".json")?i:`${i}.json`);else continue;e.configs.has(m)||(e.configs.set(m,null),r.push(l(m)))}}async function l(a){let f=a.slice(M.length+1),{name:i,subpath:m}=$(f),d=await s.fetch(`${s.sources.npmBaseUrl}/${J(i,t)}${m}`).catch(()=>{});if(!d?.ok)return;let g=await d.text();e.configs.set(a,g),o(a,g)}for(let a of n.list())/^\/tsconfig[^/]*\.json$/.test(a)&&o(a,n.readText(a)??"");for(;r.length;)await Promise.all(r.splice(0))}var V=[".ts",".tsx",".d.ts",".mts",".cts",".js",".jsx",".mjs",".cjs",".json"];function He(n,e){return e.endsWith(".d.ts")?n.Extension.Dts:e.endsWith(".d.mts")?n.Extension.Dmts:e.endsWith(".d.cts")?n.Extension.Dcts:{".ts":n.Extension.Ts,".tsx":n.Extension.Tsx,".mts":n.Extension.Mts,".cts":n.Extension.Cts,".js":n.Extension.Js,".jsx":n.Extension.Jsx,".mjs":n.Extension.Mjs,".cjs":n.Extension.Cjs,".json":n.Extension.Json}[C(e)]??n.Extension.Ts}function ae(n,e){let t=C(e);if(n.isFile(e)&&V.includes(t))return e;for(let s of V)if(n.isFile(e+s))return e+s;if(t===".js"||t===".jsx"||t===".mjs"||t===".cjs"){let s=e.slice(0,-t.length);for(let r of[".ts",".tsx",".d.ts",".mts",".cts"])if(n.isFile(s+r))return s+r}for(let s of V)if(n.isFile(w(e,`index${s}`)))return w(e,`index${s}`)}function fe(n,e){let{fs:t,store:s}=e,r=i=>i===O?e.shim:i===q?`export {};
18
- `:t.readText(i)??s.read(i);function c(i){return i?s.virtualPath(i):void 0}function o(i,m){if(R(i))return c(s.packages.get(T(e.typesOrigin,i,{})));for(let d of P(i,m)){let g=s.finalUrl(d);if(g)return c(g)}}function l(i,m){if(!i.includes("?")){if(!R(i)){let d=i.startsWith("/")?E(i):w(k(m),i);return ae(t,d)}for(let d of e.aliases){if(!(d.wildcard?i.startsWith(d.prefix):i===d.prefix))continue;let v=d.wildcard?i.slice(d.prefix.length):"";for(let y of d.targets){let u=ae(t,E(y+v));if(u)return u}}return c(s.packages.get(T(e.typesOrigin,i,e.dependencies)))}}function a(i,m){let d=s.urlOf(m),g=d?o(i,d):l(i,m);if(g)return{resolvedFileName:g,extension:He(n,g),isExternalLibraryImport:g.startsWith(`${F}/`)}}function f(i){return H.has(i)?q:c(s.packages.get(`types:${i}`))}return{getSourceFile(i,m){let d=!t.isFile(i),g=d?s.sourceFiles.get(i):void 0;if(g)return g;let v=r(i);if(v===void 0)return;let y=n.createSourceFile(i,v,m,!0);return d&&i!==O&&s.sourceFiles.set(i,y),y},getDefaultLibFileName:i=>`${b}/${n.getDefaultLibFileName(i)}`,getDefaultLibLocation:()=>b,writeFile:()=>{},getCurrentDirectory:()=>"/",getCanonicalFileName:i=>i,useCaseSensitiveFileNames:()=>!0,getNewLine:()=>`
19
- `,fileExists:i=>r(i)!==void 0,readFile:r,directoryExists:i=>t.isDirectory(i)||i.startsWith(F)||i===b||i===W,getDirectories:()=>[],resolveModuleNameLiterals:(i,m)=>i.map(d=>({resolvedModule:a(d.text,m)})),resolveTypeReferenceDirectiveReferences:i=>i.map(m=>{let d=f(typeof m=="string"?m:m.fileName);return{resolvedTypeReferenceDirective:d?{primary:!0,resolvedFileName:d,isExternalLibraryImport:!0}:void 0}})}}var Be={0:"warning",1:"error",2:"suggestion",3:"message"};function Q(n,e){let t=n.flattenDiagnosticMessageText(e.messageText,`
20
- `),s=Be[e.category]??"error";if(!e.file||e.start===void 0)return{line:1,column:1,message:t,code:e.code,category:s};let{line:r,character:c}=e.file.getLineAndCharacterOfPosition(e.start);return{file:e.file.fileName.replace(/^\//,""),line:r+1,column:c+1,message:t,code:e.code,category:s}}function le(n){let e=new Set;return n.filter(t=>{let s=`${t.file??""}:${t.line}:${t.column}:${t.code}:${t.message}`;return e.has(s)?!1:(e.add(s),!0)}).sort((t,s)=>(t.file??"").localeCompare(s.file??"")||t.line-s.line||t.column-s.column)}var ue=/(^|\/)(vite|vitest|svelte|tailwind|postcss|eslint|prettier|playwright)\.config\.[cm]?[jt]s$/,Je=[".ts",".tsx",".mts",".cts"],Ye=18003;function ze(n,e){return{target:n.ScriptTarget.ES2020,lib:["lib.es2020.d.ts","lib.dom.d.ts","lib.dom.iterable.d.ts"],module:n.ModuleKind.ESNext,moduleResolution:n.ModuleResolutionKind.Bundler,jsx:n.JsxEmit.ReactJSX,...e?{jsxImportSource:e}:{},strict:!0,noFallthroughCasesInSwitch:!0,isolatedModules:!0,resolveJsonModule:!0,allowImportingTsExtensions:!0,esModuleInterop:!0,skipLibCheck:!0,noEmit:!0}}function qe(n){return{...n,noEmit:!0,skipLibCheck:!0,composite:!1,incremental:!1,declaration:!1,declarationMap:!1,emitDeclarationOnly:!1,tsBuildInfoFile:void 0}}function Ge(n){let e="";for(let t=0;t<n.length;t++){let s=n[t];s==="*"&&n[t+1]==="*"&&n[t+2]==="/"?(e+="(?:[^/]+/)*",t+=2):s==="*"?e+="[^/]*":s==="?"?e+="[^/]":e+=s.replace(/[.+^${}()|[\]\\]/g,"\\$&")}return new RegExp(`^${e}$`)}function de(n,e){let t=w(n,e),s=t.slice(t.lastIndexOf("/")+1);return!/[*?]/.test(s)&&!C(s)&&(t=`${t==="/"?"":t}/**/*`),Ge(t)}function Ke(n,e){return{useCaseSensitiveFileNames:!0,fileExists:t=>n.isFile(t)||e.read(t)!==void 0,readFile:t=>n.readText(t)??e.read(t),readDirectory(t,s,r,c){let o=(c??["**/*"]).map(a=>de(t,a)),l=(r??[]).map(a=>de(t,a));return n.list().filter(a=>s.some(f=>a.endsWith(f))&&!a.includes("/node_modules/")&&o.some(f=>f.test(a))&&!l.some(f=>f.test(a)))}}}function Xe(n,e,t){let s=e.readFile(t)??"",r=n.parseConfigFileTextToJson(t,s);return r.error?{errors:[r.error]}:n.parseJsonConfigFileContent(r.config,e,k(t),void 0,t)}function Ve(n,e,t){let s=n.parseConfigFileTextToJson(t,e.readFile(t)??"").config,r=s?.references??[],c=(s?.files?.length??0)>0||s?.include!==void 0;return!r.length||c?[]:r.map(o=>typeof o.path=="string"?w(k(t),o.path):void 0).filter(o=>!!o).map(o=>o.endsWith(".json")?o:w(o,"tsconfig.json")).filter(o=>e.fileExists(o))}function pe(n,e,t,s){let r=Ke(e,t),c=["/tsconfig.json","/jsconfig.json"].find(a=>e.isFile(a));if(!c){let a=e.list().filter(f=>Je.some(i=>f.endsWith(i))&&!f.includes("/node_modules/")&&!ue.test(f));return a.length?[{options:ze(n,s),rootNames:a,errors:[]}]:[]}let o=Ve(n,r,c),l=[];for(let a of o.length?o:[c]){let f=Xe(n,r,a),i=f.errors.filter(d=>d.code!==Ye);if(!("options"in f)){l.push({configPath:a,options:{},rootNames:[],errors:i});continue}let m=f.fileNames.filter(d=>!ue.test(d));!m.length&&!i.length||l.push({configPath:a,options:qe(f.options),rootNames:m,errors:i})}return l}function Qe(n){if(n instanceof I)return n;let e=new I;return e.writeTree(n),e}function Ze(n,e,t,s){let r={specifiers:new Set,typeReferences:new Set,libFiles:new Set};for(let c of t){let{options:o}=c;for(let l of c.rootNames){let a=n.preProcessFile(e.readText(l)??"",!0,!0);for(let f of a.importedFiles)R(f.fileName)&&!f.fileName.includes("?")&&!s(f.fileName)&&r.specifiers.add(f.fileName);for(let f of a.typeReferenceDirectives)r.typeReferences.add(f.fileName);for(let f of a.libReferenceDirectives)r.libFiles.add(`lib.${f.fileName.toLowerCase()}.d.ts`)}for(let l of o.types??[])r.typeReferences.add(l);if(o.jsx===n.JsxEmit.ReactJSX||o.jsx===n.JsxEmit.ReactJSXDev){let l=o.jsx===n.JsxEmit.ReactJSXDev?"jsx-dev-runtime":"jsx-runtime";r.specifiers.add(`${o.jsxImportSource??"react"}/${l}`)}if(!o.noLib)for(let l of o.lib??[n.getDefaultLibFileName(o)])r.libFiles.add(l)}return r}async function Z(n,e,t){let s=Qe(e),r=t.store??new _,c={typesOrigin:G,npmBaseUrl:B,libBaseUrl:K(n.version),...t.sources},o=ee(s),{dependencies:l}=o;await ce(s,r,l,{fetch:t.fetch,sources:c});let a=pe(n,s,r,o.jsx.importSource==="react"?void 0:o.jsx.importSource),f=Ze(n,s,a,y=>ne(s,o.aliases,y)!==void 0);await oe(n,r,{specifiers:[...f.specifiers],typeReferences:[...f.typeReferences],libFiles:[...f.libFiles],dependencies:l},{fetch:t.fetch,sources:c,maxFiles:t.maxTypeFiles??2e3});let i=[...new Set([...f.specifiers].filter(y=>!r.packages.get(T(c.typesOrigin,y,l))).map(y=>$(y).name))].sort(),m=s.list().filter(y=>y.endsWith(".d.ts")).map(y=>s.readText(y)??""),d=re({existing:[...m,...r.files.values()],untyped:i}),g=[],v=new Set;for(let y of a){for(let p of y.errors)g.push(Q(n,p));if(!y.rootNames.length)continue;let u=fe(n,{fs:s,store:r,typesOrigin:c.typesOrigin,dependencies:l,aliases:o.aliases,shim:d}),x=n.createProgram({rootNames:[...y.rootNames,O],options:y.options,host:u}),h=[...x.getOptionsDiagnostics(),...x.getGlobalDiagnostics()];for(let p of x.getSourceFiles())s.isFile(p.fileName)&&(v.add(p.fileName.slice(1)),h.push(...x.getSyntacticDiagnostics(p),...x.getSemanticDiagnostics(p)));for(let p of h)p.file&&!s.isFile(p.file.fileName)||g.push(Q(n,p))}return{diagnostics:le(g),untypedPackages:i,files:[...v].sort()}}var et="bfwc-types-v1",tt=/@\d+\.\d+\.\d+(?:[-+][\w.]+)?\//,me="x-bfwc-final-url",Y="x-typescript-types";function he(n,e,t){return{ok:!0,url:n,headers:{get:s=>s.toLowerCase()===Y?t:null},text:async()=>e}}function ge(n=fetch){let e,t=()=>e??(e=typeof caches>"u"?Promise.resolve(void 0):caches.open(et).catch(()=>{}));return async s=>{let c=tt.test(s)?await t():void 0,o=await c?.match(s).catch(()=>{});if(o)return he(o.headers.get(me)??s,await o.text(),o.headers.get(Y));let l=await n(s);if(!l.ok||!c)return l;let a=await l.text(),f=l.headers.get(Y),i={[me]:l.url||s};return f&&(i[Y]=f),await c.put(s,new Response(a,{headers:i})).catch(()=>{}),he(l.url||s,a,f)}}var xe="bfwc:check",ye="bfwc:check-result",Ee="bfwc:check-error";var D=globalThis,nt=new _,st=ge(),we;function rt(n){if((!D.ts||we!==n)&&(D.importScripts(n),we=n),!D.ts)throw new Error(`${n} did not define the TypeScript compiler.`);return D.ts}D.addEventListener("message",n=>{let e=n.data;if(e?.type!==xe)return;let t=Date.now();(async()=>{try{let s=rt(e.typescriptUrl),r=await Z(s,e.files,{fetch:st,store:nt,sources:e.sources});D.postMessage({type:ye,id:e.id,result:r,durationMs:Date.now()-t})}catch(s){D.postMessage({type:Ee,id:e.id,message:s instanceof Error?s.message:String(s)})}})()});})();
17
+ `}function ie(s){return!/^(workspace|file|link|portal|git\+|git:|github:|https?:)/.test(s)&&!s.includes("/")}var C="/__bfwc_types__",b="/__bfwc_lib__",M="/node_modules",G="https://esm.sh",B="https://cdn.jsdelivr.net/npm";function K(s){return`${B}/typescript@${s}/lib`}function X(s){return`@types/${s.startsWith("@")?s.slice(1).replace("/","__"):s}`}function J(s,e){let t=e[s];return t&&ie(t)?`${s}@${t}`:s}function T(s,e,t){let{name:n,subpath:r}=$(e);return`${s}/${J(n,t)}${r}`}function I(s,e){let t=new URL(s,e).href.replace(/[?#].*$/,"");return/\.d\.[mc]?ts$/.test(t)?[t]:/\.[mc]?js$/.test(t)?[t.replace(/\.([mc]?)js$/,".d.$1ts")]:/\.[mc]?ts$/.test(t)?[t]:[`${t}.d.ts`,`${t}/index.d.ts`]}var _=class{constructor(){S(this,"files",new Map);S(this,"redirects",new Map);S(this,"packages",new Map);S(this,"libs",new Map);S(this,"configs",new Map);S(this,"sourceFiles",new Map)}finalUrl(e){return(this.redirects.get(e)??(this.files.has(e)?e:void 0))||void 0}virtualPath(e){return`${C}/${e.replace(/^[a-z]+:\/\//i,"")}`}urlOf(e){if(!e.startsWith(`${C}/`))return;let t=e.slice(C.length+1);for(let n of["https://","http://"])if(this.files.has(n+t))return n+t}read(e){if(e.startsWith(`${b}/`))return this.libs.get(e.slice(b.length+1))??void 0;if(e.startsWith(`${M}/`))return this.configs.get(e)??void 0;let t=this.urlOf(e);return t?this.files.get(t):void 0}};var We="X-TypeScript-Types";async function oe(s,e,t,n){let{sources:r}=n,o=new Map,a=[],l=u=>a.push(u().catch(()=>{})),c=(u,x)=>(o.has(u)||o.set(u,x()),o.get(u)),f=u=>n.fetch(u).then(x=>x.ok?x:void 0,()=>{});function i(u,x){let m=s.preProcessFile(x,!0,!0);for(let p of m.referencedFiles)l(()=>d(I(p.fileName,u)));for(let p of m.typeReferenceDirectives)l(()=>k(p.fileName));for(let p of m.libReferenceDirectives)l(()=>y(`lib.${p.fileName.toLowerCase()}.d.ts`));for(let p of m.importedFiles){let v=p.fileName;l(()=>R(v)?g(v):d(I(v,u)))}}function h(u){let x=e.redirects.get(u);return x!==void 0?Promise.resolve(x||void 0):e.files.has(u)?Promise.resolve(u):c(`dts:${u}`,async()=>{if(e.files.size>=n.maxFiles)return;let m=await f(u);if(!m){e.redirects.set(u,"");return}let p=m.url||u;if(e.redirects.set(u,p),!e.files.has(p)){let v=await m.text();e.files.set(p,v),i(p,v)}return p})}async function d(u){for(let x of u){let m=await h(x);if(m)return m}}function g(u,x={}){let m=T(r.typesOrigin,u,x);return e.packages.has(m)?Promise.resolve(e.packages.get(m)??void 0):c(`pkg:${m}`,async()=>{let p=await f(m),v=p?.headers.get(We),L=v?await h(new URL(v,p.url||m).href):void 0;return e.packages.set(m,L??null),L})}function k(u,x={}){if(H.has(u))return Promise.resolve();let m=`types:${u}`;return e.packages.has(m)?Promise.resolve():c(m,async()=>{let p=u==="node"?void 0:await g(u,x),{name:v,subpath:L}=$(u),Se=X(v),ve=p?void 0:await h(`${r.typesOrigin}/${J(Se,x)}${L||"/index"}.d.ts`);e.packages.set(m,p??ve??null)})}function y(u){return e.libs.has(u)?Promise.resolve():c(`lib:${u}`,async()=>{let x=await f(`${r.libBaseUrl}/${u}`),m=x?await x.text():null;if(e.libs.set(u,m),m)for(let p of s.preProcessFile(m,!0,!1).libReferenceDirectives)l(()=>y(`lib.${p.fileName.toLowerCase()}.d.ts`))})}for(let u of t.specifiers)l(()=>g(u,t.dependencies));for(let u of t.typeReferences)l(()=>k(u,t.dependencies));for(let u of t.libFiles)l(()=>y(u));for(;a.length;)await Promise.all(a.splice(0))}async function ce(s,e,t,n){let r=[];function o(c){try{let f=z(c).extends;return(Array.isArray(f)?f:[f]).filter(i=>typeof i=="string")}catch{return[]}}function a(c,f){for(let i of o(f)){let h;if(R(i)){let{name:d,subpath:g}=$(i);h=`${M}/${d}${g?g.endsWith(".json")?g:`${g}.json`:"/tsconfig.json"}`}else if(c.startsWith(`${M}/`))h=w(j(c),i.endsWith(".json")?i:`${i}.json`);else continue;e.configs.has(h)||(e.configs.set(h,null),r.push(l(h)))}}async function l(c){let f=c.slice(M.length+1),{name:i,subpath:h}=$(f),d=await n.fetch(`${n.sources.npmBaseUrl}/${J(i,t)}${h}`).catch(()=>{});if(!d?.ok)return;let g=await d.text();e.configs.set(c,g),a(c,g)}for(let c of s.list())/^\/tsconfig[^/]*\.json$/.test(c)&&a(c,s.readText(c)??"");for(;r.length;)await Promise.all(r.splice(0))}var V=[".ts",".tsx",".d.ts",".mts",".cts",".js",".jsx",".mjs",".cjs",".json"];function He(s,e){return e.endsWith(".d.ts")?s.Extension.Dts:e.endsWith(".d.mts")?s.Extension.Dmts:e.endsWith(".d.cts")?s.Extension.Dcts:{".ts":s.Extension.Ts,".tsx":s.Extension.Tsx,".mts":s.Extension.Mts,".cts":s.Extension.Cts,".js":s.Extension.Js,".jsx":s.Extension.Jsx,".mjs":s.Extension.Mjs,".cjs":s.Extension.Cjs,".json":s.Extension.Json}[F(e)]??s.Extension.Ts}function ae(s,e){let t=F(e);if(s.isFile(e)&&V.includes(t))return e;for(let n of V)if(s.isFile(e+n))return e+n;if(t===".js"||t===".jsx"||t===".mjs"||t===".cjs"){let n=e.slice(0,-t.length);for(let r of[".ts",".tsx",".d.ts",".mts",".cts"])if(s.isFile(n+r))return n+r}for(let n of V)if(s.isFile(w(e,`index${n}`)))return w(e,`index${n}`)}function fe(s,e){let{fs:t,store:n}=e,r=i=>i===O?e.shim:i===q?`export {};
18
+ `:t.readText(i)??n.read(i);function o(i){return i?n.virtualPath(i):void 0}function a(i,h){if(R(i))return o(n.packages.get(T(e.typesOrigin,i,{})));for(let d of I(i,h)){let g=n.finalUrl(d);if(g)return o(g)}}function l(i,h){if(!i.includes("?")){if(!R(i)){let d=i.startsWith("/")?E(i):w(j(h),i);return ae(t,d)}for(let d of e.aliases){if(!(d.wildcard?i.startsWith(d.prefix):i===d.prefix))continue;let k=d.wildcard?i.slice(d.prefix.length):"";for(let y of d.targets){let u=ae(t,E(y+k));if(u)return u}}return o(n.packages.get(T(e.typesOrigin,i,e.dependencies)))}}function c(i,h){let d=n.urlOf(h),g=d?a(i,d):l(i,h);if(g)return{resolvedFileName:g,extension:He(s,g),isExternalLibraryImport:g.startsWith(`${C}/`)}}function f(i){return H.has(i)?q:o(n.packages.get(`types:${i}`))}return{getSourceFile(i,h){let d=!t.isFile(i),g=d?n.sourceFiles.get(i):void 0;if(g)return g;let k=r(i);if(k===void 0)return;let y=s.createSourceFile(i,k,h,!0);return d&&i!==O&&n.sourceFiles.set(i,y),y},getDefaultLibFileName:i=>`${b}/${s.getDefaultLibFileName(i)}`,getDefaultLibLocation:()=>b,writeFile:()=>{},getCurrentDirectory:()=>"/",getCanonicalFileName:i=>i,useCaseSensitiveFileNames:()=>!0,getNewLine:()=>`
19
+ `,fileExists:i=>r(i)!==void 0,readFile:r,directoryExists:i=>t.isDirectory(i)||i.startsWith(C)||i===b||i===W,getDirectories:()=>[],resolveModuleNameLiterals:(i,h)=>i.map(d=>({resolvedModule:c(d.text,h)})),resolveTypeReferenceDirectiveReferences:i=>i.map(h=>{let d=f(typeof h=="string"?h:h.fileName);return{resolvedTypeReferenceDirective:d?{primary:!0,resolvedFileName:d,isExternalLibraryImport:!0}:void 0}})}}var Be={0:"warning",1:"error",2:"suggestion",3:"message"};function Q(s,e){let t=s.flattenDiagnosticMessageText(e.messageText,`
20
+ `),n=Be[e.category]??"error";if(!e.file||e.start===void 0)return{line:1,column:1,message:t,code:e.code,category:n};let{line:r,character:o}=e.file.getLineAndCharacterOfPosition(e.start);return{file:e.file.fileName.replace(/^\//,""),line:r+1,column:o+1,message:t,code:e.code,category:n}}function le(s){let e=new Set;return s.filter(t=>{let n=`${t.file??""}:${t.line}:${t.column}:${t.code}:${t.message}`;return e.has(n)?!1:(e.add(n),!0)}).sort((t,n)=>(t.file??"").localeCompare(n.file??"")||t.line-n.line||t.column-n.column)}var ue=/(^|\/)(vite|vitest|svelte|tailwind|postcss|eslint|prettier|playwright)\.config\.[cm]?[jt]s$/,Je=[".ts",".tsx",".mts",".cts"],Ye=18003;function ze(s,e){return{target:s.ScriptTarget.ES2020,lib:["lib.es2020.d.ts","lib.dom.d.ts","lib.dom.iterable.d.ts"],module:s.ModuleKind.ESNext,moduleResolution:s.ModuleResolutionKind.Bundler,jsx:s.JsxEmit.ReactJSX,...e?{jsxImportSource:e}:{},strict:!0,noFallthroughCasesInSwitch:!0,isolatedModules:!0,resolveJsonModule:!0,allowImportingTsExtensions:!0,esModuleInterop:!0,skipLibCheck:!0,noEmit:!0}}function qe(s){return{...s,noEmit:!0,skipLibCheck:!0,composite:!1,incremental:!1,declaration:!1,declarationMap:!1,emitDeclarationOnly:!1,tsBuildInfoFile:void 0}}function Ge(s){let e="";for(let t=0;t<s.length;t++){let n=s[t];n==="*"&&s[t+1]==="*"&&s[t+2]==="/"?(e+="(?:[^/]+/)*",t+=2):n==="*"?e+="[^/]*":n==="?"?e+="[^/]":e+=n.replace(/[.+^${}()|[\]\\]/g,"\\$&")}return new RegExp(`^${e}$`)}function de(s,e){let t=w(s,e),n=t.slice(t.lastIndexOf("/")+1);return!/[*?]/.test(n)&&!F(n)&&(t=`${t==="/"?"":t}/**/*`),Ge(t)}function Ke(s,e){return{useCaseSensitiveFileNames:!0,fileExists:t=>s.isFile(t)||e.read(t)!==void 0,readFile:t=>s.readText(t)??e.read(t),readDirectory(t,n,r,o){let a=(o??["**/*"]).map(c=>de(t,c)),l=(r??[]).map(c=>de(t,c));return s.list().filter(c=>n.some(f=>c.endsWith(f))&&!c.includes("/node_modules/")&&a.some(f=>f.test(c))&&!l.some(f=>f.test(c)))}}}function Xe(s,e,t){let n=e.readFile(t)??"",r=s.parseConfigFileTextToJson(t,n);return r.error?{errors:[r.error]}:s.parseJsonConfigFileContent(r.config,e,j(t),void 0,t)}function Ve(s,e,t){let n=s.parseConfigFileTextToJson(t,e.readFile(t)??"").config,r=n?.references??[],o=(n?.files?.length??0)>0||n?.include!==void 0;return!r.length||o?[]:r.map(a=>typeof a.path=="string"?w(j(t),a.path):void 0).filter(a=>!!a).map(a=>a.endsWith(".json")?a:w(a,"tsconfig.json")).filter(a=>e.fileExists(a))}function pe(s,e,t,n){let r=Ke(e,t),o=["/tsconfig.json","/jsconfig.json"].find(c=>e.isFile(c));if(!o){let c=e.list().filter(f=>Je.some(i=>f.endsWith(i))&&!f.includes("/node_modules/")&&!ue.test(f));return c.length?[{options:ze(s,n),rootNames:c,errors:[]}]:[]}let a=Ve(s,r,o),l=[];for(let c of a.length?a:[o]){let f=Xe(s,r,c),i=f.errors.filter(d=>d.code!==Ye);if(!("options"in f)){l.push({configPath:c,options:{},rootNames:[],errors:i});continue}let h=f.fileNames.filter(d=>!ue.test(d));!h.length&&!i.length||l.push({configPath:c,options:qe(f.options),rootNames:h,errors:i})}return l}function Qe(s){if(s instanceof P)return s;let e=new P;return e.writeTree(s),e}function Ze(s,e,t,n){let r={specifiers:new Set,typeReferences:new Set,libFiles:new Set};for(let o of t){let{options:a}=o;for(let l of o.rootNames){let c=s.preProcessFile(e.readText(l)??"",!0,!0);for(let f of c.importedFiles)R(f.fileName)&&!f.fileName.includes("?")&&!n(f.fileName)&&r.specifiers.add(f.fileName);for(let f of c.typeReferenceDirectives)r.typeReferences.add(f.fileName);for(let f of c.libReferenceDirectives)r.libFiles.add(`lib.${f.fileName.toLowerCase()}.d.ts`)}for(let l of a.types??[])r.typeReferences.add(l);if(a.jsx===s.JsxEmit.ReactJSX||a.jsx===s.JsxEmit.ReactJSXDev){let l=a.jsx===s.JsxEmit.ReactJSXDev?"jsx-dev-runtime":"jsx-runtime";r.specifiers.add(`${a.jsxImportSource??"react"}/${l}`)}if(!a.noLib)for(let l of a.lib??[s.getDefaultLibFileName(a)])r.libFiles.add(l)}return r}async function Z(s,e,t){let n=Qe(e),r=t.store??new _,o={typesOrigin:G,npmBaseUrl:B,libBaseUrl:K(s.version),...t.sources},a=ee(n),{dependencies:l}=a;await ce(n,r,l,{fetch:t.fetch,sources:o});let c=pe(s,n,r,a.jsx.importSource==="react"?void 0:a.jsx.importSource),f=Ze(s,n,c,y=>ne(n,a.aliases,y)!==void 0);await oe(s,r,{specifiers:[...f.specifiers],typeReferences:[...f.typeReferences],libFiles:[...f.libFiles],dependencies:l},{fetch:t.fetch,sources:o,maxFiles:t.maxTypeFiles??2e3});let i=[...new Set([...f.specifiers].filter(y=>!r.packages.get(T(o.typesOrigin,y,l))).map(y=>$(y).name))].sort(),h=n.list().filter(y=>y.endsWith(".d.ts")).map(y=>n.readText(y)??""),d=re({existing:[...h,...r.files.values()],untyped:i}),g=[],k=new Set;for(let y of c){for(let p of y.errors)g.push(Q(s,p));if(!y.rootNames.length)continue;let u=fe(s,{fs:n,store:r,typesOrigin:o.typesOrigin,dependencies:l,aliases:a.aliases,shim:d}),x=s.createProgram({rootNames:[...y.rootNames,O],options:y.options,host:u}),m=[...x.getOptionsDiagnostics(),...x.getGlobalDiagnostics()];for(let p of x.getSourceFiles())n.isFile(p.fileName)&&(k.add(p.fileName.slice(1)),m.push(...x.getSyntacticDiagnostics(p),...x.getSemanticDiagnostics(p)));for(let p of m)p.file&&!n.isFile(p.file.fileName)||g.push(Q(s,p))}return{diagnostics:le(g),untypedPackages:i,files:[...k].sort()}}var et="bfwc-types-v1",tt=/@\d+\.\d+\.\d+(?:[-+][\w.]+)?\//,he="x-bfwc-final-url",Y="x-typescript-types";function me(s,e,t){return{ok:!0,url:s,headers:{get:n=>n.toLowerCase()===Y?t:null},text:async()=>e}}function ge(s=fetch){let e,t=()=>e??(e=typeof caches>"u"?Promise.resolve(void 0):caches.open(et).catch(()=>{}));return async n=>{let o=tt.test(n)?await t():void 0,a=await o?.match(n).catch(()=>{});if(a)return me(a.headers.get(he)??n,await a.text(),a.headers.get(Y));let l=await s(n);if(!l.ok||!o)return l;let c=await l.text(),f=l.headers.get(Y),i={[he]:l.url||n};return f&&(i[Y]=f),await o.put(n,new Response(c,{headers:i})).catch(()=>{}),me(l.url||n,c,f)}}var xe="bfwc:check",ye="bfwc:check-result",Ee="bfwc:check-error";var D=globalThis,nt=new _,st=ge(),we;function rt(s){if((!D.ts||we!==s)&&(D.importScripts(s),we=s),!D.ts)throw new Error(`${s} did not define the TypeScript compiler.`);return D.ts}D.addEventListener("message",s=>{let e=s.data;if(e?.type!==xe)return;let t=Date.now();(async()=>{try{let n=rt(e.typescriptUrl),r=await Z(n,e.files,{fetch:st,store:nt,sources:e.sources});D.postMessage({type:ye,id:e.id,result:r,durationMs:Date.now()-t})}catch(n){D.postMessage({type:Ee,id:e.id,message:n instanceof Error?n.message:String(n)})}})()});})();
package/dist/host.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- import { DevServer, VirtualFileSystem, type BuildResult, type Bundler, type ComponentCompilers, type FileTree, type PackageCdnFactory, type PortChange, type ProcessOptions, type ProjectProfile, type RuntimeProcess, type ServerAddress, type Transformer } from '@seanhogg/builderforce-webcontainers-core';
1
+ import { DevServer, VirtualFileSystem, type BuildResult, type Bundler, type ComponentCompilers, type FileTree, type PackageCdnFactory, type PortChange, type ProcessOptions, type ProjectProfile, type RuntimeProcess, type ServerAddress, type Transformer, type ZipExportOptions } from '@seanhogg/builderforce-webcontainers-core';
2
2
  import { type WireResponse } from './protocol.js';
3
- import { type NodeRuntimeOptions } from './node/index.js';
3
+ import { type NodeRuntimeOptions, type ProcessInfo } from './node/index.js';
4
+ import { type PreviewConsoleMessage, type PreviewError } from './previewMessages.js';
4
5
  /** Serve previews on THIS page's origin. Only for code the page's own user trusts. */
5
6
  export interface SameOriginOptions {
6
7
  /** Where the host serves this package's `dist/sw.js` (e.g. `/__bfwc/sw.js`). */
@@ -36,14 +37,11 @@ export interface CommonRuntimeOptions {
36
37
  attribution?: boolean;
37
38
  /** Reload open previews when files change. Default true. */
38
39
  liveReload?: boolean;
40
+ /** Your scripts (JavaScript source), run in every preview page before the app — analytics, test hooks, a mock `fetch`. */
41
+ previewScripts?: string[];
39
42
  /** The Node runtime behind `run` (process workers, npm registry). */
40
43
  node?: NodeRuntimeOptions;
41
44
  }
42
- export interface PreviewError {
43
- message: string;
44
- stack?: string;
45
- href: string;
46
- }
47
45
  export interface RuntimeBuildOptions {
48
46
  /** Where the site will be served from. Default `./` (works from any directory). */
49
47
  base?: string;
@@ -56,8 +54,14 @@ export interface PreviewRuntime {
56
54
  readonly url: string;
57
55
  readonly fs: VirtualFileSystem;
58
56
  readonly server: DevServer;
59
- /** Write files into the runtime (nested or flat; see `FileTree`). Open previews reload. */
60
- writeTree(files: FileTree): void;
57
+ /** Write files into the runtime (nested or flat; see `FileTree`), under `at` (default `/`). Open previews reload. */
58
+ writeTree(files: FileTree, at?: string): void;
59
+ /** The project as a zip — "Download project" with `exclude: ['node_modules']`, or a full snapshot to restore later. */
60
+ exportZip(options?: ZipExportOptions): Uint8Array;
61
+ /** Write a zip's contents (an `exportZip` snapshot, a downloaded template) into the runtime, under `at`. */
62
+ importZip(zip: Uint8Array, at?: string): void;
63
+ /** Reload every frame showing this preview now (live reload does this on edits by itself). */
64
+ reload(): void;
61
65
  /** Whether this runtime can serve the mounted project, and why not. */
62
66
  profile(): ProjectProfile;
63
67
  /**
@@ -68,6 +72,10 @@ export interface PreviewRuntime {
68
72
  build(options?: RuntimeBuildOptions): Promise<BuildResult>;
69
73
  /** Uncaught errors and rejections raised inside the preview. */
70
74
  onError(listener: (error: PreviewError) => void): () => void;
75
+ /** The preview's `console.log/info/warn/error/debug` output (first 1,000 messages per page load). */
76
+ onPreviewConsole(listener: (message: PreviewConsoleMessage) => void): () => void;
77
+ /** Replace the scripts run in preview pages; open previews reload to pick them up. */
78
+ setPreviewScripts(scripts: string[]): void;
71
79
  /**
72
80
  * Run a command — `node server.js`, `npm install`, `npm run dev`, `bfsh` for a
73
81
  * terminal — in its own Web Worker. Pass `{ terminal: { cols, rows } }` when
@@ -79,6 +87,8 @@ export interface PreviewRuntime {
79
87
  onServerListening(listener: (server: ServerAddress) => void): () => void;
80
88
  /** A virtual server opened or closed its port. */
81
89
  onPortChange(listener: (change: PortChange) => void): () => void;
90
+ /** Processes still running, with the ports their servers listen on. */
91
+ listProcesses(): ProcessInfo[];
82
92
  dispose(): void;
83
93
  }
84
94
  export declare function toWire(reqId: number, served: Awaited<ReturnType<DevServer['handle']>>): {
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
package/dist/host.js CHANGED
@@ -1,6 +1,7 @@
1
- import { DevServer, ERROR_MESSAGE_TYPE, VirtualFileSystem, buildProject, } from '@seanhogg/builderforce-webcontainers-core';
1
+ import { DevServer, VirtualFileSystem, buildProject, exportZip, importZip, } from '@seanhogg/builderforce-webcontainers-core';
2
2
  import { PREVIEW_ID, isPortPath, isWireRequest, previewBase } from './protocol.js';
3
3
  import { createProcessHost, servePortRequest } from './node/index.js';
4
+ import { listenToPreview } from './previewMessages.js';
4
5
  import { relayTransport, sameOriginTransport } from './transport.js';
5
6
  import { createEsbuildWasmBundler, createEsbuildWasmTransformer } from './esbuildWasm.js';
6
7
  import { createCdnComponentCompilers } from './componentCompilers.js';
@@ -37,7 +38,7 @@ export async function startPreviewRuntime(options) {
37
38
  let server;
38
39
  try {
39
40
  const transformer = options.transformer ?? (await createEsbuildWasmTransformer());
40
- server = new DevServer({ fs, transformer, base, cdn: options.cdn, components, attribution: options.attribution });
41
+ server = new DevServer({ fs, transformer, base, cdn: options.cdn, components, attribution: options.attribution, previewScripts: options.previewScripts });
41
42
  }
42
43
  catch (error) {
43
44
  transport.dispose();
@@ -71,40 +72,34 @@ export async function startPreviewRuntime(options) {
71
72
  clearTimeout(reloadTimer);
72
73
  reloadTimer = setTimeout(() => transport.reload(base), RELOAD_DEBOUNCE_MS);
73
74
  });
74
- const errorListeners = new Set();
75
- const onWindowMessage = (event) => {
76
- const data = event.data;
77
- if (data?.type !== ERROR_MESSAGE_TYPE || typeof data.href !== 'string')
78
- return;
79
- if (event.origin !== transport.origin || !new URL(data.href).pathname.startsWith(base))
80
- return; // another runtime's preview
81
- const error = { message: String(data.message ?? ''), stack: data.stack, href: data.href };
82
- for (const listener of errorListeners)
83
- listener(error);
84
- };
85
- window.addEventListener('message', onWindowMessage);
75
+ const previewMessages = listenToPreview(window, transport.origin, base);
86
76
  return {
87
77
  id,
88
78
  url: previewUrl,
89
79
  fs,
90
80
  server,
91
- writeTree: (files) => fs.writeTree(files),
81
+ writeTree: (files, at) => fs.writeTree(files, at),
82
+ exportZip: (zipOptions) => exportZip(fs, zipOptions),
83
+ importZip: (zip, at) => importZip(fs, zip, at),
84
+ reload: () => transport.reload(base),
92
85
  profile: () => server.profile(),
93
86
  async build(buildOptions = {}) {
94
87
  const bundler = options.bundler ?? (await createEsbuildWasmBundler());
95
88
  return buildProject({ files: fs, bundler, cdn: options.cdn, components, base: buildOptions.base, minify: buildOptions.minify });
96
89
  },
97
- onError(listener) {
98
- errorListeners.add(listener);
99
- return () => errorListeners.delete(listener);
90
+ onError: (listener) => previewMessages.onError(listener),
91
+ onPreviewConsole: (listener) => previewMessages.onConsole(listener),
92
+ setPreviewScripts(scripts) {
93
+ server.setPreviewScripts(scripts);
94
+ transport.reload(base);
100
95
  },
101
96
  run: (command, args, runOptions) => processes.run(command, args, runOptions),
102
97
  onServerListening: (listener) => processes.servers.onListening(listener),
103
98
  onPortChange: (listener) => processes.servers.onPortChange(listener),
99
+ listProcesses: () => processes.list(),
104
100
  dispose() {
105
101
  processes.dispose();
106
- window.removeEventListener('message', onWindowMessage);
107
- errorListeners.clear();
102
+ previewMessages.dispose();
108
103
  clearTimeout(reloadTimer);
109
104
  stopWatching?.();
110
105
  stopReattach();
package/dist/host.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export { startPreviewRuntime } from './host.js';
2
- export type { PreviewRuntimeOptions, SameOriginOptions, RelayOptions, CommonRuntimeOptions, PreviewRuntime, PreviewError, RuntimeBuildOptions, } from './host.js';
2
+ export type { PreviewRuntimeOptions, SameOriginOptions, RelayOptions, CommonRuntimeOptions, PreviewRuntime, RuntimeBuildOptions, } from './host.js';
3
+ export { listenToPreview } from './previewMessages.js';
4
+ export type { PreviewError, PreviewConsoleMessage, ConsoleLevel, PreviewMessages } from './previewMessages.js';
3
5
  export type { PreviewTransport } from './transport.js';
4
6
  export { createEsbuildWasmTransformer, createEsbuildWasmBundler, loadEsbuildWasm } from './esbuildWasm.js';
5
7
  export type { EsbuildWasmOptions } from './esbuildWasm.js';
@@ -7,7 +9,7 @@ export { createCdnComponentCompilers, defaultVueCompilerUrl, defaultSvelteCompil
7
9
  export type { CdnComponentCompilerOptions } from './componentCompilers.js';
8
10
  export { createCacheStoragePackageCache } from './packageCache.js';
9
11
  export { ProcessHost, createWorkerProcess } from './node/index.js';
10
- export type { NodeRuntimeOptions, ProcessHostOptions, WorkerLike } from './node/index.js';
12
+ export type { NodeRuntimeOptions, ProcessHostOptions, ProcessInfo, WorkerLike } from './node/index.js';
11
13
  export { createSwRouter } from './swRouter.js';
12
14
  export type { SwRouter, SwRouterOptions, PortLike, PreviewTarget, RoutedResponse, RequestDetails } from './swRouter.js';
13
15
  export { previewBase, previewPrefix, PREVIEW_SEGMENT, PREVIEW_ID, PORT_SEGMENT, isPortPath } from './protocol.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC3G,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACvH,YAAY,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACxH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClH,cAAc,2CAA2C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC/G,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC3G,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACvH,YAAY,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACvG,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACxH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClH,cAAc,2CAA2C,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { startPreviewRuntime } from './host.js';
2
+ export { listenToPreview } from './previewMessages.js';
2
3
  export { createEsbuildWasmTransformer, createEsbuildWasmBundler, loadEsbuildWasm } from './esbuildWasm.js';
3
4
  export { createCdnComponentCompilers, defaultVueCompilerUrl, defaultSvelteCompilerUrl } from './componentCompilers.js';
4
5
  export { createCacheStoragePackageCache } from './packageCache.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAWhD,OAAO,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE3G,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEvH,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClH,cAAc,2CAA2C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAShD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE3G,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEvH,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClH,cAAc,2CAA2C,CAAC"}
@@ -7,7 +7,7 @@ import { type VirtualFileSystem } from '@seanhogg/builderforce-webcontainers-cor
7
7
  import type { WireRequest, WireResponse } from '../protocol.js';
8
8
  import { ProcessHost, type WorkerLike } from './processHost.js';
9
9
  export { ProcessHost } from './processHost.js';
10
- export type { ProcessHostOptions, WorkerLike } from './processHost.js';
10
+ export type { ProcessHostOptions, ProcessInfo, WorkerLike } from './processHost.js';
11
11
  export { createWorkerProcess } from './workerProcess.js';
12
12
  export interface NodeRuntimeOptions {
13
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACzB,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,UAAU,CAAC;IAChC,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,EAAE,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,kBAAkB,CAAA;CAAE,GAAG,WAAW,CAgB9J;AAID,8DAA8D;AAC9D,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CAe5I"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACzB,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,UAAU,CAAC;IAChC,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,EAAE,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,kBAAkB,CAAA;CAAE,GAAG,WAAW,CAgB9J;AAID,8DAA8D;AAC9D,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CAe5I"}
@@ -33,6 +33,17 @@ export interface ProcessHostOptions {
33
33
  /** How long a killed process may take to exit before its worker is terminated. Default 2000ms. */
34
34
  killGraceMs?: number;
35
35
  }
36
+ /** A running process, as `listProcesses()` reports it. */
37
+ export interface ProcessInfo {
38
+ pid: number;
39
+ command: string;
40
+ args: string[];
41
+ cwd: string;
42
+ /** Epoch ms. */
43
+ startedAt: number;
44
+ /** Ports its servers listen on. */
45
+ ports: number[];
46
+ }
36
47
  export declare class ProcessHost {
37
48
  private readonly options;
38
49
  readonly ports: PortRegistry;
@@ -50,6 +61,8 @@ export declare class ProcessHost {
50
61
  run(command: string, args?: string[], options?: ProcessOptions): RuntimeProcess;
51
62
  run(command: string, options?: ProcessOptions): RuntimeProcess;
52
63
  spawnChild(command: string, args?: string[], options?: ProcessOptions): ChildHandle;
64
+ /** Every process still running, oldest first — children started by a shell included. */
65
+ list(): ProcessInfo[];
53
66
  /** Dispatch an HTTP request to the server on `port` (the preview service worker's `/__port/<port>/` path). */
54
67
  request(port: number, request: HttpRequestData): Promise<HttpResponseData | undefined>;
55
68
  dispose(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"processHost.d.ts","sourceRoot":"","sources":["../../src/node/processHost.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAEL,YAAY,EACZ,YAAY,EAIZ,KAAK,WAAW,EAEhB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,2CAA2C,CAAC;AAInD,yFAAyF;AACzF,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACvD,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACzD,SAAS,IAAI,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,iBAAiB,CAAC;IACtB,YAAY,IAAI,UAAU,CAAC;IAC3B,wEAAwE;IACxE,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,kGAAkG;IAClG,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAiBD,qBAAa,WAAW;IAWV,OAAO,CAAC,QAAQ,CAAC,OAAO;IAVpC,QAAQ,CAAC,KAAK,eAAsB;IACpC,oDAAoD;IACpD,QAAQ,CAAC,OAAO,eAAsB;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,YAAY,CAAC,CAAO;IAC5B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;gBAEV,OAAO,EAAE,kBAAkB;IASxD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/B,uFAAuF;IACvF,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,cAAc;IAC/E,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,cAAc;IAM9D,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,EAAE,OAAO,GAAE,cAAmB,GAAG,WAAW;IA2D3F,8GAA8G;IAC9G,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAItF,OAAO,IAAI,IAAI;IASf,OAAO,CAAC,IAAI;IAgBZ,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,eAAe;IA6EvB,OAAO,CAAC,OAAO;CAOhB"}
1
+ {"version":3,"file":"processHost.d.ts","sourceRoot":"","sources":["../../src/node/processHost.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,7 @@ export class ProcessHost {
44
44
  const exit = new Promise((resolve) => (resolveExit = resolve));
45
45
  const proc = {
46
46
  pid,
47
+ info: { pid, command, args: [...args], cwd: options.cwd ?? '/', startedAt: Date.now() },
47
48
  worker,
48
49
  stdout: new Set(),
49
50
  stderr: new Set(),
@@ -96,6 +97,10 @@ export class ProcessHost {
96
97
  exit,
97
98
  };
98
99
  }
100
+ /** Every process still running, oldest first — children started by a shell included. */
101
+ list() {
102
+ return [...this.procs].map((proc) => ({ ...proc.info, args: [...proc.info.args], ports: [...proc.registrations.keys()] }));
103
+ }
99
104
  /** Dispatch an HTTP request to the server on `port` (the preview service worker's `/__port/<port>/` path). */
100
105
  request(port, request) {
101
106
  return this.ports.request(port, request);
@@ -1 +1 @@
1
- {"version":3,"file":"processHost.js","sourceRoot":"","sources":["../../src/node/processHost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processHost.js","sourceRoot":"","sources":["../../src/node/processHost.ts"],"names":[],"mappings":"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"}