@stacksjs/ts-cloud 0.16.73 → 0.16.74
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/dist/aws/index.js +1 -1
- package/dist/bin/{chunk-kcgs4z6p.js → chunk-0sswdcvq.js} +1 -1
- package/dist/bin/{chunk-whecvra8.js → chunk-10z6s9nj.js} +2 -2
- package/dist/bin/{chunk-maes42nn.js → chunk-11xdxrp3.js} +75 -75
- package/dist/bin/chunk-1pj60edk.js +1 -0
- package/dist/bin/chunk-1qcztara.js +1 -0
- package/dist/bin/{chunk-s5gyhgw1.js → chunk-28a6yey5.js} +1 -1
- package/dist/bin/{chunk-8wvtmxpw.js → chunk-47yznk07.js} +1 -1
- package/dist/bin/{chunk-0g9ze9v3.js → chunk-613m8vf9.js} +1 -1
- package/dist/bin/{chunk-79n440fm.js → chunk-69j7md80.js} +8 -8
- package/dist/bin/{chunk-gsp1secn.js → chunk-6gspchrt.js} +1 -1
- package/dist/bin/{chunk-jnt0ypm6.js → chunk-8fspkmer.js} +8 -8
- package/dist/bin/{chunk-fvj9ktkm.js → chunk-9twr514q.js} +1 -1
- package/dist/bin/{chunk-9cqzzkrd.js → chunk-9zbfadg4.js} +1 -1
- package/dist/bin/{chunk-1c91h57k.js → chunk-c99xvba1.js} +3 -3
- package/dist/bin/{chunk-jk4v9sj1.js → chunk-cs2a075v.js} +4 -4
- package/dist/bin/chunk-cvet8kjp.js +1 -0
- package/dist/bin/{chunk-xt3jhs2k.js → chunk-e6kfkaxc.js} +1 -1
- package/dist/bin/{chunk-0sa000g6.js → chunk-eevqxagd.js} +94 -94
- package/dist/bin/{chunk-9362t52n.js → chunk-ekr2rzf6.js} +2 -2
- package/dist/bin/chunk-f80asgbh.js +1 -0
- package/dist/bin/{chunk-2j2xcq2h.js → chunk-fwcd0ef4.js} +1 -1
- package/dist/bin/{chunk-27t4ve22.js → chunk-gghy8mb4.js} +27 -27
- package/dist/bin/{chunk-jcbtp3aj.js → chunk-jh4ajbt1.js} +1 -1
- package/dist/bin/{chunk-00hq474q.js → chunk-qw5ch629.js} +1 -1
- package/dist/bin/{chunk-gwn9pezq.js → chunk-r5cpsqqk.js} +3 -3
- package/dist/bin/{chunk-efafd6hw.js → chunk-sfv47z62.js} +6 -6
- package/dist/bin/{chunk-8yv9ech5.js → chunk-t6njpv8j.js} +1 -1
- package/dist/bin/{chunk-efghc0tr.js → chunk-tvd5w8xq.js} +2 -2
- package/dist/bin/{chunk-erdkgb1d.js → chunk-w244mfsx.js} +2 -2
- package/dist/bin/{chunk-0k75pjkr.js → chunk-wkwcskhg.js} +1 -1
- package/dist/bin/{chunk-z7fnx9gx.js → chunk-yjmydj1w.js} +1 -1
- package/dist/bin/chunk-yqqx644v.js +1 -0
- package/dist/bin/{chunk-kb0yy9t1.js → chunk-zcq82zv1.js} +2 -2
- package/dist/bin/cli.js +212 -212
- package/dist/bin/dashboard-server.js +1 -1
- package/dist/{chunk-ms84y9kg.js → chunk-1ktv8jxf.js} +1 -1
- package/dist/{chunk-e32qtz2d.js → chunk-277enqjc.js} +78 -78
- package/dist/{chunk-rkashc9e.js → chunk-2r334egt.js} +1 -1
- package/dist/{chunk-2dffxn73.js → chunk-49raybtd.js} +1 -1
- package/dist/{chunk-1y1b1jy0.js → chunk-49rt1jbe.js} +1 -1
- package/dist/{chunk-ts2n068z.js → chunk-65fwpzeg.js} +14 -14
- package/dist/{chunk-vx5n4bhb.js → chunk-7qhcfnqf.js} +1 -1
- package/dist/{chunk-nx8dbae2.js → chunk-8ynkxbj6.js} +1 -1
- package/dist/{chunk-gssa1974.js → chunk-c2hvf1h5.js} +1 -1
- package/dist/chunk-c5pq3x7x.js +1 -0
- package/dist/{chunk-pydkxpf9.js → chunk-cfyn21gd.js} +1 -1
- package/dist/{chunk-3m5x6nrt.js → chunk-dq9g7cg9.js} +1 -1
- package/dist/{chunk-ysv0f0k5.js → chunk-ebb7j388.js} +1 -1
- package/dist/{chunk-0cd0mk3e.js → chunk-f4qv0c6w.js} +2 -2
- package/dist/{chunk-78xspqp6.js → chunk-fd6gsz34.js} +1 -1
- package/dist/chunk-fvad4wm8.js +1 -0
- package/dist/chunk-gc8r2gvd.js +1 -0
- package/dist/{chunk-3k9kdbsc.js → chunk-ggqxjcbe.js} +1 -1
- package/dist/chunk-k0scshn2.js +1 -0
- package/dist/{chunk-0nmtzbqn.js → chunk-mqr6s8wa.js} +1 -1
- package/dist/{chunk-65dddt6g.js → chunk-qcs3qkdf.js} +1 -1
- package/dist/{chunk-f4h7bn7y.js → chunk-s7gv665w.js} +86 -86
- package/dist/chunk-sacbxd79.js +1 -0
- package/dist/{chunk-v3z51fs0.js → chunk-ssywr12y.js} +1 -1
- package/dist/{chunk-1np2k92z.js → chunk-yqzc3a9m.js} +108 -108
- package/dist/{chunk-1eg5wsn2.js → chunk-z90dv6jx.js} +5 -5
- package/dist/deploy/index.js +1 -1
- package/dist/dns/index.js +1 -1
- package/dist/drivers/index.js +1 -1
- package/dist/index.js +39 -39
- package/dist/mail/index.js +1 -1
- package/dist/operations/index.js +1 -1
- package/dist/protection/index.js +1 -1
- package/dist/spend/index.js +1 -1
- package/dist/ui/404.html +1 -1
- package/dist/ui/accept-invitation.html +1 -1
- package/dist/ui/access-denied.html +1 -1
- package/dist/ui/account/automation.html +6 -6
- package/dist/ui/account/security.html +2 -2
- package/dist/ui/applications/compose.html +6 -6
- package/dist/ui/applications/new.html +2 -2
- package/dist/ui/data/backups.html +6 -6
- package/dist/ui/data/services.html +6 -6
- package/dist/ui/data/volumes.html +6 -6
- package/dist/ui/index.html +6 -6
- package/dist/ui/infrastructure/topology.html +6 -6
- package/dist/ui/integrations.html +2 -2
- package/dist/ui/operations/alerts.html +6 -6
- package/dist/ui/operations/configuration.html +6 -6
- package/dist/ui/operations/jobs.html +6 -6
- package/dist/ui/operations/maintenance.html +6 -6
- package/dist/ui/operations/observability.html +6 -6
- package/dist/ui/operations/previews.html +6 -6
- package/dist/ui/operations/queue.html +6 -6
- package/dist/ui/operations/regions.html +6 -6
- package/dist/ui/operations/releases.html +6 -6
- package/dist/ui/operations/spend.html +6 -6
- package/dist/ui/operations/workloads.html +6 -6
- package/dist/ui/security.html +2 -2
- package/dist/ui/server/actions.html +6 -6
- package/dist/ui/server/activity.html +2 -2
- package/dist/ui/server/capacity.html +5 -5
- package/dist/ui/server/database.html +6 -6
- package/dist/ui/server/deployments.html +6 -6
- package/dist/ui/server/diagnostics.html +2 -2
- package/dist/ui/server/firewall.html +6 -6
- package/dist/ui/server/fleet.html +6 -6
- package/dist/ui/server/logs.html +6 -6
- package/dist/ui/server/metrics.html +6 -6
- package/dist/ui/server/security.html +2 -2
- package/dist/ui/server/services.html +2 -2
- package/dist/ui/server/sites.html +6 -6
- package/dist/ui/server/ssh-keys.html +6 -6
- package/dist/ui/server/team.html +6 -6
- package/dist/ui/server/terminal.html +2 -2
- package/dist/ui/serverless/alarms.html +6 -6
- package/dist/ui/serverless/assets.html +2 -2
- package/dist/ui/serverless/cost.html +2 -2
- package/dist/ui/serverless/data.html +6 -6
- package/dist/ui/serverless/deployments.html +2 -2
- package/dist/ui/serverless/firewall.html +2 -2
- package/dist/ui/serverless/functions.html +6 -6
- package/dist/ui/serverless/logs.html +6 -6
- package/dist/ui/serverless/metrics.html +2 -2
- package/dist/ui/serverless/queues.html +5 -5
- package/dist/ui/serverless/secrets.html +6 -6
- package/dist/ui/serverless/traces.html +6 -6
- package/dist/ui/serverless.html +6 -6
- package/package.json +3 -3
- package/dist/bin/chunk-02kcxvf3.js +0 -1
- package/dist/bin/chunk-cq7gxt10.js +0 -1
- package/dist/bin/chunk-fy62gtke.js +0 -1
- package/dist/bin/chunk-h03hh7qw.js +0 -1
- package/dist/bin/chunk-jvwbq6j5.js +0 -1
- package/dist/chunk-2b4knhhy.js +0 -1
- package/dist/chunk-az9wzy1w.js +0 -1
- package/dist/chunk-g96mv4z5.js +0 -1
- package/dist/chunk-h3e1qc75.js +0 -1
- package/dist/chunk-qy8r2vwh.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{d}from"./chunk-
|
|
1
|
+
import{d}from"./chunk-fd6gsz34.js";var vt="/etc/rpx/sites.d",wA={start:3000,end:3999};function g(t){return t.slug?.trim()||"app"}function hd(t){let r=t.lastIndexOf(":");if(r<0||r===t.length-1)return;let e=t.slice(r+1).trim();if(!/^\d+$/.test(e))return;let n=Number(e);return n>=1&&n<=65535?n:void 0}function xi(t,r={}){let e=r.ignoreSlug?.trim(),n=new Map;for(let o of t){let c=g(o);if(e&&c===e)continue;for(let a of o.proxies??[]){let f=typeof a.from==="string"?[a.from]:a.from??[];for(let i of f){let u=hd(i);if(u!==void 0&&!n.has(u))n.set(u,c)}}}return n}function Oi(t=vt){return[`for __tsc_fragment in ${t}/*.json; do`,' [ -f "$__tsc_fragment" ] || continue',` base64 < "$__tsc_fragment" | tr -d '\\n'`," printf '\\n'","done"].join(`
|
|
2
2
|
`)}function _i(t){let r=[];for(let e of t.split(`
|
|
3
3
|
`)){let n=e.trim();if(!n)continue;try{let o=JSON.parse(Buffer.from(n,"base64").toString("utf8"));if(o&&typeof o==="object"&&!Array.isArray(o))r.push(o)}catch{continue}}return r}function jp(t,r,e=wA){let n=[],o=[],c=new Set(r.keys());for(let[a,f]of Object.entries(t.sites??{})){if(!f||d(f)!=="server-app")continue;let i=typeof f.port==="number"?f.port:void 0,u=Math.max(i??e.start,e.start),p;for(let s=u;s<=e.end;s++)if(!c.has(s)){p=s;break}if(p===void 0){let s=i!==void 0?r.get(i):void 0;o.push(`No free port for site '${a}' in ${e.start}-${e.end}${i!==void 0?` (wanted ${i}${s?`, held by '${s}'`:""})`:""}. Widen the range or free a port on the box.`);continue}c.add(p),n.push({site:a,port:p,declared:i,moved:i!==void 0&&p!==i})}return{allocations:n,errors:o}}
|
|
4
4
|
export{vt,wA,hd,xi,Oi,_i,jp};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{dn,mr}from"./chunk-
|
|
1
|
+
import{dn,mr}from"./chunk-277enqjc.js";import{zr,d}from"./chunk-fd6gsz34.js";import{isIP as L}from"node:net";var go="/etc/rpx/certs",A="/etc/rpx/local-ca",M="rpx-root-ca.crt";function po(e=A){return`${e.replace(/\/+$/,"")}/${M}`}function mo(e){if(e.toLowerCase().endsWith(".local"))return!1;return e.split(".").length===2}function fo(e,t={}){let r=new Set;for(let o of Object.values(e)){if(!o?.domain)continue;if(d(o)==="bucket")continue;r.add(o.domain)}let n=new Set;for(let o of Object.values(e)){if(!o?.domain||d(o)==="bucket")continue;for(let u of o.aliases??[]){let i=String(u).trim().toLowerCase();if(i&&i!==o.domain)n.add(i)}}if(t.autoWww!==!1)for(let o of[...r]){if(!mo(o))continue;r.add(`www.${o}`)}for(let o of n)r.add(o);return[...r]}var k=["1.1.1.1","8.8.8.8"],I="/var/www/acme-challenge";function W(e){if(typeof e==="string")return{to:e};let t={to:e.to};if(e.status!=null)t.status=e.status;if(e.preservePath!=null)t.preservePath=e.preservePath;return t}function U(e){let t=e.auth;if(!t||t.enabled===!1||!t.password)return;return{username:t.username||"admin",password:t.password,...t.realm?{realm:t.realm}:{}}}function dd(e){if(!e)return;return e.tls??"local-ca"}function Cp(e,t){if(e.cloud?.provider!=="ssh")return;let r=e.ssh?.lan;if(!r)return;return{...r.hostname?{hostname:r.hostname}:{},tls:r.tls??"local-ca",...t?{ip:t}:{}}}function Ep(e){if(e.cloud?.provider!=="ssh")return;return e.ssh?.profile}function X(e){let t=e.trim().toLowerCase();if(!t||t.startsWith("*")||t.includes(":")||t.includes("/")||t.includes(" "))return!1;if(L(t)!==0)return!1;return t.endsWith(".local")||!t.includes(".")}function F(e,t,r){let n=[],o=new Set,u=(g,a)=>{let p=g.trim().toLowerCase();if(!p||o.has(p))return;o.add(p),n.push({host:p,source:a})},i=t.hostname?.trim(),c=(i||`${r}.local`).toLowerCase();if(u(c,i?"ssh.lan.hostname":`the ssh provider's default LAN name for project "${r}"`),Object.entries(e).some(([g,a])=>!!a&&mr(g)))u(`dashboard.${c}`,"the management dashboard site");for(let[g,a]of Object.entries(e)){if(!a?.domain)continue;if(d(a)==="bucket")continue;if(!X(a.domain))continue;u(a.domain,`site "${g}"`)}return n}function H(e,t){if(!t?.length)return;return t.find((r)=>{let n=(r.startsWith(".")?r.slice(1):r).toLowerCase();return e===n||e.endsWith(`.${n}`)})}function K(e,t){if(!t?.enabled)return;for(let{host:r,source:n}of e){let o=H(r,t.allowedSuffixes);if(!o)continue;throw Error(`The LAN certificate authority and public on-demand TLS both claim "${r}". LAN source: ${n}. Public source: the on-demand TLS allowed suffix "${o}", which is derived from the site domains. A host is either LAN-only, with a certificate signed by the box's own CA, or public, with one issued by Let's Encrypt, never both. Give the LAN a name no site domain covers (ssh.lan.hostname), or take that domain out of the sites this deploy routes.`)}}function V(e){let t=e.split(".");return t.length>=3&&t[0]==="*"&&t.slice(1).every((r)=>/^[a-z0-9-]+$/i.test(r))}function D(e,t={}){let{wildcardCerts:r,...n}=e;return JSON.stringify({...t,...n},null,2)}function eA(e){if(!e||e==="/")return;let t=`/${e}`.replace(/\/+/g,"/").replace(/\/+$/,"");if(!t.startsWith("/"))t=`/${t}`;return t===""||t==="/"?void 0:t}function ld(e,t){let n=(t?`${e}${t}`:e).replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,128);return n.length>0?n:"rpx"}function Y(e,t){if(!t||t.length===0)return`localhost:${e}`;return t.map((r)=>`${r.privateIp??r.publicIp}:${e}`)}function N(e,t,r){let n=(t.wwwRoot??"/var/www").replace(/\/+$/,""),o=t.slug??"app",u=t.proxy.certsDir??go,i=t.proxy.loadBalancer,c=[],f=new Set,g=new Map;for(let[l,s]of Object.entries(e)){if(!s||!s.domain)continue;let w=d(s);if(w==="bucket")continue;let v=c.length,E=[...new Set((s.aliases??[]).map((m)=>String(m).trim().toLowerCase()).filter((m)=>m&&m!==s.domain))],b=()=>{let m=c.slice(v).filter((h)=>h.to===s.domain);for(let h of E){for(let O of m)c.push({...O,to:h,id:ld(h,O.path)});if(V(h)){if(!g.has(h))g.set(h,{domain:h,dnsEnvFile:`${n}/${o}-${l}/shared/.env`})}else f.add(h)}},C=eA(s.path),S=ld(s.domain,C),y=U(s);if(w==="redirect"){c.push({to:s.domain,path:C,redirect:W(s.redirect),id:S,...y?{auth:y}:{}}),f.add(s.domain),b();continue}if(w==="proxy"){let m=zr(s);if(m.length===0)continue;let h=m.length===1?m[0]:m;c.push({to:s.domain,path:C,from:h,id:S,...y?{auth:y}:{},...Array.isArray(h)&&i?{loadBalancer:i}:{}}),f.add(s.domain),b();continue}if(w==="server-app"){if(typeof s.port!=="number")continue;let m=Y(s.port,r);c.push({to:s.domain,path:C,from:m,id:S,...y?{auth:y}:{},...Array.isArray(m)&&i?{loadBalancer:i}:{}})}else c.push({to:s.domain,path:C,static:{dir:`${n}/${o}-${l}/current`,spa:s.spa??!1,pathRewriteStyle:s.pathRewriteStyle??"directory"},cleanUrls:s.pathRewriteStyle!=="flat",...y?{auth:y}:{},id:S});f.add(s.domain),b()}if(t.proxy.autoWww!==!1)for(let l of[...f]){if(!mo(l))continue;let s=`www.${l}`;if(f.has(s))continue;c.push({to:s,redirect:{to:`https://${l}`},id:ld(s)}),f.add(s)}c.sort((l,s)=>{if(l.to!==s.to)return l.to.localeCompare(s.to);return(s.path?.length??0)-(l.path?.length??0)});let a={proxies:c,productionCerts:{certsDir:u,certsDirServerNames:[...f,...g.keys()]},https:!0,hostsManagement:!1,cleanup:{hosts:!1,certs:!1},...g.size>0?{wildcardCerts:[...g.values()]}:{}};if(t.proxy.onDemandTls&&f.size>0)a.onDemandTls={enabled:!0,allowedSuffixes:[...f],email:t.proxy.onDemandTlsEmail,certsDir:u,staging:t.proxy.onDemandTlsStaging??!1};if(t.proxy.onDemandTls)a.acmeChallengeWebroot=t.proxy.acmeWebroot??I;let p=t.proxy.cdn,x=p?.frontedHosts?.length?p.frontedHosts:[...f];if(p?.secret&&x.length>0)a.originGuard={header:p.secretHeader??"X-Origin-Verify",value:p.secret,hosts:x};if(t.lan)if(dd(t.lan)==="off")a.https=!1;else{let l=F(e,t.lan,o);K(l,a.onDemandTls);let s=t.lan.ip&&L(t.lan.ip)!==0?[t.lan.ip]:[];a.localCa={dir:A,hosts:l.map((w)=>w.host),...s.length>0?{ips:s}:{},installTrust:!0}}return a}function B(e,t){return N({...e,...t.mail?dn(t.mail):{}},t)}function rr(e,t,r){return N({...e,...r.mail?dn(r.mail):{}},r,t)}function kI(e){return`// Generated by ts-cloud — rpx reverse-proxy gateway.
|
|
2
2
|
// Routes are derived from the \`sites\` model on every \`buddy deploy\`.
|
|
3
3
|
import { startProxies } from '@stacksjs/rpx'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Ke,n}from"./chunk-
|
|
1
|
+
import{Ke,n}from"./chunk-z90dv6jx.js";import{it}from"./chunk-tdhm38cg.js";import*as d from"node:crypto";import{readFileSync as B}from"node:fs";import{readdir as L}from"node:fs/promises";import{join as z}from"node:path";function qr(e){if(e){let r=D(e);if(!r)throw Error(`AWS profile '${e}' not found in ~/.aws/credentials`);return r}let t=process.env.AWS_ACCESS_KEY_ID,s=process.env.AWS_SECRET_ACCESS_KEY;if(t&&s)return{accessKeyId:t,secretAccessKey:s,sessionToken:process.env.AWS_SESSION_TOKEN};return D(process.env.AWS_PROFILE||"default")??{accessKeyId:"",secretAccessKey:""}}function D(e){let{existsSync:t,readFileSync:s}=it("node:fs"),{homedir:r}=it("node:os"),{join:i}=it("node:path"),a=process.env.AWS_SHARED_CREDENTIALS_FILE||i(r(),".aws","credentials");if(!t(a))return null;let c=s(a,"utf-8"),g=null,u,l,p;for(let h of c.split(`
|
|
2
2
|
`)){let y=h.trim();if(!y||y.startsWith("#")||y.startsWith(";"))continue;let m=y.match(/^\[([^\]]+)\]$/);if(m){if(g===e&&u&&l)return{accessKeyId:u,secretAccessKey:l,sessionToken:p};g=m[1],u=void 0,l=void 0,p=void 0;continue}if(g===e){let[b,...S]=y.split("="),f=S.join("=").trim();switch(b.trim().toLowerCase()){case"aws_access_key_id":u=f;break;case"aws_secret_access_key":l=f;break;case"aws_session_token":p=f;break}}}if(g===e&&u&&l)return{accessKeyId:u,secretAccessKey:l,sessionToken:p};return null}function U(e){let{buffer:t,byteOffset:s,byteLength:r}=e;if(t instanceof ArrayBuffer)return t.slice(s,s+r);let i=new ArrayBuffer(r);return new Uint8Array(i).set(new Uint8Array(e)),i}function j(e,t){let s=e?.[t]??e;if(s===null||typeof s!=="object"||Array.isArray(s))return s;let r={...s};return delete r["@_xmlns"],r}class o{client;region;explicitProfile;endpoint;endpointProtocol="https";forcePathStyle;explicitCredentials;constructor(e="us-east-1",t,s){let r=typeof e==="string"?s:e,i=typeof e==="string"?e:e.region??"us-east-1",a=typeof e==="string"?t:e.profile,c=r?.endpoint?Ke({region:i,path:"/",endpoint:r.endpoint}):void 0;this.region=i,this.explicitProfile=a,this.endpoint=c?.host,this.endpointProtocol=c?.protocol??"https",this.forcePathStyle=r?.forcePathStyle,this.explicitCredentials=r?.credentials,this.client=new n(r?.credentials,{profile:a,endpoint:r?.endpoint,forcePathStyle:r?.forcePathStyle})}getCredentials(){if(this.explicitCredentials?.accessKeyId&&this.explicitCredentials.secretAccessKey)return this.explicitCredentials;let e=qr(this.explicitProfile);if(e.accessKeyId&&e.secretAccessKey)return e;throw Error("S3 credentials not found. Set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY (or pass explicit credentials/profile), or configure ~/.aws/credentials.")}s3BaseHost(){return this.endpoint||`s3.${this.region}.amazonaws.com`}s3VirtualHost(e){return this.forcePathStyle?this.s3BaseHost():`${e}.${this.s3BaseHost()}`}objectPath(e,t){return this.forcePathStyle?`/${e}/${t}`:`/${t}`}objectUrl(e,t){return`${this.endpointProtocol}://${this.s3VirtualHost(e)}${this.objectPath(e,t)}`}async listBuckets(){let e=await this.client.request({service:"s3",region:this.region,method:"GET",path:"/"}),t=[],r=(e?.ListAllMyBucketsResult??e)?.Buckets?.Bucket;if(r){let i=Array.isArray(r)?r:[r];for(let a of i)t.push({Name:a.Name,CreationDate:a.CreationDate})}return{Buckets:t}}async createBucket(e,t){let s={};if(t?.acl)s["x-amz-acl"]=t.acl;let r;if(this.region!=="us-east-1"&&!this.endpoint)r=`<?xml version="1.0" encoding="UTF-8"?>
|
|
3
3
|
<CreateBucketConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
|
|
4
4
|
<LocationConstraint>${this.region}</LocationConstraint>
|