s3mini 0.1.0 → 0.1.1

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
@@ -1,6 +1,10 @@
1
- # s3mini | Tiny & fast S3 client built for the edge.
1
+ # s3mini | Tiny & fast S3 client for node and edge platforms.
2
2
 
3
- `s3mini` is an ultra-lightweight TypeScript client (~14 KB minified, ≈15 % more ops/s) for S3-compatible object storage. It runs on Node, Bun, Cloudflare Workers, and other edge platforms. It has been tested on Cloudflare R2, Backblaze B2, DigitalOcean Spaces, and MinIO. (No Browser support!)
3
+ `s3mini` is an ultra-lightweight Typescript client (~14 KB minified, ≈15 % more ops/s) for S3-compatible object storage. It runs on Node, Bun, Cloudflare Workers, and other edge platforms. It has been tested on Cloudflare R2, Backblaze B2, DigitalOcean Spaces, and MinIO. (No Browser support!)
4
+
5
+ [[github](https://github.com/good-lly/s3mini)]
6
+ [[issues](https://github.com/good-lly/s3mini/issues)]
7
+ [[npm](https://www.npmjs.com/package/s3mini)]
4
8
 
5
9
  ## Features
6
10
 
@@ -8,17 +12,26 @@
8
12
  - 🔧 Zero dependencies; supports AWS SigV4 (no pre-signed requests).
9
13
  - 🟠 Works on Cloudflare Workers; ideal for edge computing, Node, and Bun (no browser support).
10
14
  - 🔑 Only the essential S3 APIs—improved list, put, get, delete, and a few more.
11
- - 📦 **BYOS3** — _Bring your own S3-compatible bucket_ (tested on Cloudflare R2, Backblaze B2, DigitalOcean Spaces, MinIO; Ceph and Garage are in the queue).
15
+ - 📦 **BYOS3** — _Bring your own S3-compatible bucket_ (tested on Cloudflare R2, Backblaze B2, DigitalOcean Spaces, MinIO and Garage! Ceph and AWS are in the queue).
12
16
 
13
- ![GitHub Repo stars](https://img.shields.io/github/stars/good-lly/s3mini?style=social)
14
- ![GitHub License](https://img.shields.io/github/license/good-lly/s3mini)
17
+ #### Tested On
18
+
19
+ ![Tested On](testedon.png)
15
20
 
16
21
  Dev:
17
- ![GitHub package.json version](https://img.shields.io/github/package-json/v/good-lly/s3mini?color=green)
18
- ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/good-lly/s3mini)
22
+
23
+ ![GitHub commit activity (branch)](https://img.shields.io/github/commit-activity/m/good-lly/s3mini/dev?color=greeen)
24
+ ![GitHub Issues or Pull Requests](https://img.shields.io/github/issues/good-lly/s3mini)
19
25
  [![CodeQL Advanced](https://github.com/good-lly/s3mini/actions/workflows/codeql.yml/badge.svg?branch=dev)](https://github.com/good-lly/s3mini/actions/workflows/codeql.yml)
20
26
  [![Test:e2e(all)](https://github.com/good-lly/s3mini/actions/workflows/test-e2e.yml/badge.svg?branch=dev)](https://github.com/good-lly/s3mini/actions/workflows/test-e2e.yml)
21
27
 
28
+ ![GitHub Repo stars](https://img.shields.io/github/stars/good-lly/s3mini?style=social)
29
+ ![NPM Downloads](https://img.shields.io/npm/dm/s3mini)
30
+ ![NPM Version](https://img.shields.io/npm/v/s3mini?color=green)
31
+ ![npm package minimized gzipped size](https://img.shields.io/bundlejs/size/s3mini?color=green)
32
+ ![GitHub License](https://img.shields.io/github/license/good-lly/s3mini)
33
+
34
+ Performance tests was done on local Minio instance. Your results may vary depending on environment and network conditions, so take it with a grain of salt.
22
35
  ![performance-image](https://raw.githubusercontent.com/good-lly/s3mini/dev/performance-screenshot.png)
23
36
 
24
37
  ## Table of Contents
@@ -42,7 +55,7 @@ The library supports a subset of S3 operations, focusing on essential features,
42
55
  #### Objects ops
43
56
 
44
57
  - ✅ ListObjectsV2 (listObjects)
45
- - ✅ GetObject (getObject, getObjectWithETag, getObjectRaw, getObjectArrayBuffer)
58
+ - ✅ GetObject (getObject, getObjectResponse, getObjectWithETag, getObjectRaw, getObjectArrayBuffer, getObjectJSON)
46
59
  - ✅ PutObject (putObject)
47
60
  - ✅ DeleteObject (deleteObject)
48
61
  - ✅ HeadObject (objectExists, getEtag, getContentLength)
@@ -67,6 +80,12 @@ yarn add s3mini
67
80
  pnpm add s3mini
68
81
  ```
69
82
 
83
+ > **⚠️ Environment Support Notice**
84
+ >
85
+ > This library is designed to run in environments like **Node.js**, **Bun**, and **Cloudflare Workers**. It does **not support browser environments** due to the use of Node.js APIs and polyfills.
86
+ >
87
+ > **Cloudflare Workers:** To enable built-in Node.js Crypto API, add the `nodejs_compat` compatibility flag to your Wrangler configuration file. This also enables `nodejs_compat_v2` as long as your compatibility date is `2024-09-23` or later. [Learn more about the Node.js compatibility flag and v2](https://developers.cloudflare.com/workers/configuration/compatibility-dates/#nodejs-compatibility-flag).
88
+
70
89
  ## Usage
71
90
 
72
91
  ```typescript
@@ -212,3 +231,9 @@ If you figure out a solution to your question or problem on your own, please con
212
231
  ## License
213
232
 
214
233
  This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.
234
+
235
+ ## Sponsor This Project
236
+
237
+ Developing and maintaining s3mini (and other open-source projects) requires time and effort. If you find this library useful, please consider sponsoring its development. Your support helps ensure I can continue improving s3mini and other projects. Thank you!
238
+
239
+ [![Become a Sponsor](https://img.shields.io/badge/💸_GitHub-Sponsor-ff69b4?logo=github&logoColor=white)](https://github.com/sponsors/good-lly)
package/dist/s3mini.d.ts CHANGED
@@ -145,7 +145,9 @@ declare class s3mini {
145
145
  listObjects(delimiter?: string, prefix?: string, maxKeys?: number, opts?: Record<string, unknown>): Promise<object[] | null>;
146
146
  listMultipartUploads(delimiter?: string, prefix?: string, method?: HttpMethod, opts?: Record<string, string | number | boolean | undefined>): Promise<ListMultipartUploadSuccess | MultipartUploadError>;
147
147
  getObject(key: string, opts?: Record<string, unknown>): Promise<string | null>;
148
+ getObjectResponse(key: string, opts?: Record<string, unknown>): Promise<Response | null>;
148
149
  getObjectArrayBuffer(key: string, opts?: Record<string, unknown>): Promise<ArrayBuffer | null>;
150
+ getObjectJSON<T = unknown>(key: string, opts?: Record<string, unknown>): Promise<T | null>;
149
151
  getObjectWithETag(key: string, opts?: Record<string, unknown>): Promise<{
150
152
  etag: string | null;
151
153
  data: ArrayBuffer | null;
package/dist/s3mini.js CHANGED
@@ -30,7 +30,8 @@ const ERROR_DATA_BUFFER_REQUIRED = `${ERROR_PREFIX}data must be a Buffer or stri
30
30
  const ERROR_PREFIX_TYPE = `${ERROR_PREFIX}prefix must be a string`;
31
31
  const ERROR_DELIMITER_REQUIRED = `${ERROR_PREFIX}delimiter must be a string`;
32
32
 
33
- // Initialize crypto functions
33
+ // Initialize crypto functions - this is needed for environments where `crypto` is not available globally
34
+ // e.g., in Cloudflare Workers or other non-Node.js environments with nodejs_flags enabled.
34
35
  const _createHmac = crypto.createHmac || (await import('node:crypto')).createHmac;
35
36
  const _createHash = crypto.createHash || (await import('node:crypto')).createHash;
36
37
  /**
@@ -616,6 +617,13 @@ class s3mini {
616
617
  }
617
618
  return res.text();
618
619
  }
620
+ async getObjectResponse(key, opts = {}) {
621
+ const res = await this._signedRequest('GET', key, { query: opts, tolerated: [200, 404, 412, 304] });
622
+ if ([404, 412, 304].includes(res.status)) {
623
+ return null;
624
+ }
625
+ return res;
626
+ }
619
627
  async getObjectArrayBuffer(key, opts = {}) {
620
628
  const res = await this._signedRequest('GET', key, { query: opts, tolerated: [200, 404, 412, 304] });
621
629
  if ([404, 412, 304].includes(res.status)) {
@@ -623,6 +631,13 @@ class s3mini {
623
631
  }
624
632
  return res.arrayBuffer();
625
633
  }
634
+ async getObjectJSON(key, opts = {}) {
635
+ const res = await this._signedRequest('GET', key, { query: opts, tolerated: [200, 404, 412, 304] });
636
+ if ([404, 412, 304].includes(res.status)) {
637
+ return null;
638
+ }
639
+ return res.json();
640
+ }
626
641
  async getObjectWithETag(key, opts = {}) {
627
642
  try {
628
643
  const res = await this._signedRequest('GET', key, { query: opts, tolerated: [200, 404, 412, 304] });
@@ -795,7 +810,6 @@ class s3mini {
795
810
  const res = await fetch(url, {
796
811
  method,
797
812
  headers,
798
- keepalive: true,
799
813
  body: ['GET', 'HEAD'].includes(method) ? undefined : body,
800
814
  signal: this.requestAbortTimeout !== undefined ? AbortSignal.timeout(this.requestAbortTimeout) : undefined,
801
815
  });
@@ -1 +1 @@
1
- {"version":3,"file":"s3mini.js","sources":["../src/consts.ts","../src/utils.ts","../src/S3.ts"],"sourcesContent":[null,null,null],"names":["C.DEFAULT_REQUEST_SIZE_IN_BYTES","C.S3_SERVICE","C.AWS_REQUEST_TYPE","C.SENSITIVE_KEYS_REDACTED","C.ERROR_ACCESS_KEY_REQUIRED","C.ERROR_SECRET_KEY_REQUIRED","C.ERROR_ENDPOINT_REQUIRED","C.ERROR_ENDPOINT_FORMAT","C.ERROR_PREFIX","C.ERROR_KEY_REQUIRED","C.ERROR_DELIMITER_REQUIRED","C.ERROR_PREFIX_TYPE","C.ERROR_DATA_BUFFER_REQUIRED","C.ERROR_UPLOAD_ID_REQUIRED","C.HEADER_AMZ_CONTENT_SHA256","C.UNSIGNED_PAYLOAD","C.HEADER_AMZ_DATE","C.HEADER_HOST","C.HEADER_AUTHORIZATION","C.AWS_ALGORITHM","U.hash","U.hmac","U.uriResourceEscape","U.sanitizeETag","C.HEADER_CONTENT_TYPE","C.XML_CONTENT_TYPE","C.HEADER_CONTENT_LENGTH","U.uriEscape","C.LIST_TYPE","U.parseXml","C.HEADER_ETAG","C.DEFAULT_STREAM_CONTENT_TYPE","U.extractErrCode","U.S3NetworkError","U.S3ServiceError"],"mappings":"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"}
1
+ {"version":3,"file":"s3mini.js","sources":["../src/consts.ts","../src/utils.ts","../src/S3.ts"],"sourcesContent":[null,null,null],"names":["C.DEFAULT_REQUEST_SIZE_IN_BYTES","C.S3_SERVICE","C.AWS_REQUEST_TYPE","C.SENSITIVE_KEYS_REDACTED","C.ERROR_ACCESS_KEY_REQUIRED","C.ERROR_SECRET_KEY_REQUIRED","C.ERROR_ENDPOINT_REQUIRED","C.ERROR_ENDPOINT_FORMAT","C.ERROR_PREFIX","C.ERROR_KEY_REQUIRED","C.ERROR_DELIMITER_REQUIRED","C.ERROR_PREFIX_TYPE","C.ERROR_DATA_BUFFER_REQUIRED","C.ERROR_UPLOAD_ID_REQUIRED","C.HEADER_AMZ_CONTENT_SHA256","C.UNSIGNED_PAYLOAD","C.HEADER_AMZ_DATE","C.HEADER_HOST","C.HEADER_AUTHORIZATION","C.AWS_ALGORITHM","U.hash","U.hmac","U.uriResourceEscape","U.sanitizeETag","C.HEADER_CONTENT_TYPE","C.XML_CONTENT_TYPE","C.HEADER_CONTENT_LENGTH","U.uriEscape","C.LIST_TYPE","U.parseXml","C.HEADER_ETAG","C.DEFAULT_STREAM_CONTENT_TYPE","U.extractErrCode","U.S3NetworkError","U.S3ServiceError"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- const t="AWS4-HMAC-SHA256",e="aws4_request",r="s3",s="UNSIGNED-PAYLOAD",i="application/xml",o=["accessKeyId","secretAccessKey","sessionToken","password","token"],n="x-amz-content-sha256",a="Content-Type",h="Content-Length",c="etag",u="[s3mini] ",d=u+"accessKeyId must be a non-empty string",l=u+"secretAccessKey must be a non-empty string",p=u+"endpoint must be a non-empty string",y=u+"endpoint must be a valid URL. Expected format: https://<host>[:port][/base-path]",f=u+"key must be a non-empty string",w=u+"uploadId must be a non-empty string",g=u+"data must be a Buffer or string",m=u+"prefix must be a string",b=u+"delimiter must be a string",E=crypto.createHmac||(await import("node:crypto")).createHmac,T=crypto.createHash||(await import("node:crypto")).createHash,$=(t,e,r)=>{const s=E("sha256",t).update(e);return r?s.digest(r):s.digest()},O=t=>{const e={'"':"","&quot;":"","&#34;":"","&QUOT;":"","&#x00022":""};return t.replace(/^("|&quot;|&#34;)|("|&quot;|&#34;)$/g,(t=>e[t]))},j={"&quot;":'"',"&apos;":"'","&lt;":"<","&gt;":">","&amp;":"&"},A=t=>{const e=/<(\w)([-\w]+)(?:\/|[^>]*>((?:(?!<\1)[\s\S])*)<\/\1\2)>/gm,r={};let s;for(;null!==(s=e.exec(t));){const[,t="",e,i]=s,o=`${t.toLowerCase()}${e}`,n=i?A(i):"",a=r[o];void 0===a?r[o]=n:Array.isArray(a)?a.push(n):r[o]=[a,n]}return Object.keys(r).length>0?r:t.replace(/&(quot|apos|lt|gt|amp);/g,(t=>j[t]??t))},U=t=>"%"+t.charCodeAt(0).toString(16).toUpperCase(),q=t=>encodeURIComponent(t).replace(/[!'()*]/g,U);class S extends Error{code;constructor(t,e,r){super(t),this.name=new.target.name,this.code=e,this.cause=r}}class D extends S{}class x extends S{status;serviceCode;body;constructor(t,e,r,s){super(t,r),this.status=e,this.serviceCode=r,this.body=s}}const I=async(t,e=30,r=0)=>{const s=[];let i=[];for(const r of t)i.push(r),i.length===e&&(await o(i),i=[]);return i.length&&await o(i),s;async function o(t){const e=Date.now(),i=await Promise.allSettled(t.map((t=>t())));if(s.push(...i),r>0){const t=r-(Date.now()-e);t>0&&await new Promise((e=>setTimeout(e,t)))}}};class _{accessKeyId;secretAccessKey;endpoint;region;requestSizeInBytes;requestAbortTimeout;logger;fullDatetime;shortDatetime;signingKey;credentialScope;constructor({accessKeyId:t,secretAccessKey:s,endpoint:i,region:o="auto",requestSizeInBytes:n=8388608,requestAbortTimeout:a,logger:h}){this.t(t,s,i),this.accessKeyId=t,this.secretAccessKey=s,this.endpoint=this.i(i),this.region=o,this.requestSizeInBytes=n,this.requestAbortTimeout=a,this.logger=h,this.fullDatetime=(new Date).toISOString().replace(/[:-]|\.\d{3}/g,""),this.shortDatetime=this.fullDatetime.slice(0,8),this.signingKey=this.o(this.shortDatetime),this.credentialScope=[this.shortDatetime,this.region,r,e].join("/")}h(t){return"object"!=typeof t||null===t?t:Object.keys(t).reduce(((e,r)=>(e[r]=o.includes(r.toLowerCase())?"[REDACTED]":"object"==typeof t[r]&&null!==t[r]?this.h(t[r]):t[r],e)),Array.isArray(t)?[]:{})}u(t,e,r={}){if(this.logger&&"function"==typeof this.logger[t]){const s=this.h(r),i={timestamp:(new Date).toISOString(),level:t,message:e,details:s,context:this.h({region:this.region,endpoint:this.endpoint,accessKeyId:this.accessKeyId?this.accessKeyId.substring(0,4)+"...":void 0})};this.logger[t](JSON.stringify(i))}}t(t,e,r){if("string"!=typeof t||0===t.trim().length)throw new TypeError(d);if("string"!=typeof e||0===e.trim().length)throw new TypeError(l);if("string"!=typeof r||0===r.trim().length)throw new TypeError(p)}i(t){const e=/^(https?:)?\/\//i.test(t)?t:"https://"+t;try{return new URL(e),e.replace(/\/+$/,"")}catch{const e=`${y} But provided: "${t}"`;throw this.u("error",e),new TypeError(e)}}l(t){if("GET"!==t&&"HEAD"!==t)throw this.u("error",u+"method must be either GET or HEAD"),Error("method must be either GET or HEAD")}p(t){if("string"!=typeof t||0===t.trim().length)throw this.u("error",f),new TypeError(f)}m(t){if("string"!=typeof t||0===t.trim().length)throw this.u("error",b),new TypeError(b)}T(t){if("string"!=typeof t)throw this.u("error",m),new TypeError(m)}$(t){if("object"!=typeof t)throw this.u("error",u+"opts must be an object"),new TypeError(u+"opts must be an object")}O(t){const e={},r={},s=["if-match","if-none-match","if-modified-since","if-unmodified-since"];for(const[i,o]of Object.entries(t))s.includes(i.toLowerCase())?r[i]=o:e[i]=o;return{filteredOpts:e,conditionalHeaders:r}}j(t,e,r,s,i){if(this.p(t),!(r instanceof Buffer||"string"==typeof r))throw this.u("error",g),new TypeError(g);if("string"!=typeof e||0===e.trim().length)throw this.u("error",w),new TypeError(w);if(!Number.isInteger(s)||s<=0)throw this.u("error",u+"partNumber must be a positive integer"),new TypeError(u+"partNumber must be a positive integer");this.$(i)}A(t,e,r={},i={}){const o=new URL(this.endpoint);e&&e.length>0&&(o.pathname="/"===o.pathname?"/"+e.replace(/^\/+/,""):`${o.pathname}/${e.replace(/^\/+/,"")}`),i[n]=s,i["x-amz-date"]=this.fullDatetime,i.host=o.host;const a=this.U(i),h=Object.keys(i).map((t=>t.toLowerCase())).sort().join(";"),c=this.q(t,o,r,a,h),u=this.S(c),d=this.D(u),l=this.I(h,d);return i.Authorization=l,{url:""+o,headers:i}}U(t){return Object.entries(t).map((([t,e])=>`${t.toLowerCase()}:${(e+"").trim()}`)).sort().join("\n")}q(t,e,r,i,o){return[t,e.pathname,this._(r),i+"\n",o,s].join("\n")}S(e){return[t,this.fullDatetime,this.credentialScope,(r=e,T("sha256").update(r).digest("hex"))].join("\n");var r}D(t){return $(this.signingKey,t,"hex")}I(e,r){return[`${t} Credential=${this.accessKeyId}/${this.credentialScope}`,"SignedHeaders="+e,"Signature="+r].join(", ")}async C(t,e,{query:r={},body:i="",headers:o={},tolerated:a=[],withQuery:h=!1}={}){if(!["GET","HEAD","PUT","POST","DELETE"].includes(t))throw Error(`${u}Unsupported HTTP method ${t}`);e&&this.p(e);const{filteredOpts:c,conditionalHeaders:d}=["GET","HEAD"].includes(t)?this.O(r):{filteredOpts:r,conditionalHeaders:{}},l={[n]:s,...o,...d},p=e?q(e).replace(/%2F/g,"/"):"",{url:y,headers:f}=this.A(t,p,c,l);Object.keys(r).length>0&&(h=!0);const w=Object.fromEntries(Object.entries(c).map((([t,e])=>[t,e+""]))),g=h&&Object.keys(c).length?`${y}?${new URLSearchParams(w)}`:y,m=Object.fromEntries(Object.entries(f).map((([t,e])=>[t,e+""])));return this.P(g,t,m,i,a)}getProps(){return{accessKeyId:this.accessKeyId,secretAccessKey:this.secretAccessKey,endpoint:this.endpoint,region:this.region,requestSizeInBytes:this.requestSizeInBytes,requestAbortTimeout:this.requestAbortTimeout,logger:this.logger}}setProps(t){this.t(t.accessKeyId,t.secretAccessKey,t.endpoint),this.accessKeyId=t.accessKeyId,this.secretAccessKey=t.secretAccessKey,this.region=t.region||"auto",this.endpoint=t.endpoint,this.requestSizeInBytes=t.requestSizeInBytes||8388608,this.requestAbortTimeout=t.requestAbortTimeout,this.logger=t.logger}sanitizeETag(t){return O(t)}async createBucket(){const t=`\n <CreateBucketConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">\n <LocationConstraint>${this.region}</LocationConstraint>\n </CreateBucketConfiguration>\n `,e={[a]:i,[h]:""+Buffer.byteLength(t)};return 200===(await this.C("PUT","",{body:t,headers:e,tolerated:[200,404,403,409]})).status}async bucketExists(){return 200===(await this.C("HEAD","",{tolerated:[200,404,403]})).status}async listObjects(t="/",e="",r,s={}){this.m(t),this.T(e),this.$(s);const i="/"===t?t:q(t),o=!(r&&r>0);let n,a=o?1/0:r;const h=[];do{const t={"list-type":"2","max-keys":Math.min(a,1e3)+"",...e?{prefix:e}:{},...n?{"continuation-token":n}:{},...s},r=await this.C("GET",i,{query:t,withQuery:!0,tolerated:[200,404]});if(404===r.status)return null;if(200!==r.status){const t=await r.text(),e=r.headers.get("x-amz-error-code")||"Unknown",s=r.headers.get("x-amz-error-message")||r.statusText;throw this.u("error",`${u}Request failed with status ${r.status}: ${e} - ${s}, err body: ${t}`),Error(`${u}Request failed with status ${r.status}: ${e} - ${s}, err body: ${t}`)}const c=A(await r.text());if("object"!=typeof c||!c||"error"in c)throw this.u("error",`${u}Unexpected listObjects response shape: ${JSON.stringify(c)}`),Error(u+"Unexpected listObjects response shape");const d="listBucketResult"in c?c.listBucketResult:c,l=d.contents;if(l){const t=Array.isArray(l)?l:[l];h.push(...t),o||(a-=t.length)}n="true"===d.isTruncated||"true"===d.IsTruncated?d.nextContinuationToken||d.NextContinuationToken||d.nextMarker||d.NextMarker:void 0}while(n&&a>0);return h}async listMultipartUploads(t="/",e="",r="GET",s={}){this.m(t),this.T(e),this.l(r),this.$(s);const i={uploads:"",...s},o="/"===t?t:q(t),n=await this.C(r,o,{query:i,withQuery:!0}),a=A(await n.text());if("object"!=typeof a||null===a)throw Error(u+"Unexpected listMultipartUploads response shape");return"listMultipartUploadsResult"in a?a.listMultipartUploadsResult:a}async getObject(t,e={}){const r=await this.C("GET",t,{query:e,tolerated:[200,404,412,304]});return[404,412,304].includes(r.status)?null:r.text()}async getObjectArrayBuffer(t,e={}){const r=await this.C("GET",t,{query:e,tolerated:[200,404,412,304]});return[404,412,304].includes(r.status)?null:r.arrayBuffer()}async getObjectWithETag(t,e={}){try{const r=await this.C("GET",t,{query:e,tolerated:[200,404,412,304]});if([404,412,304].includes(r.status))return{etag:null,data:null};const s=r.headers.get(c);if(!s)throw Error("ETag not found in response headers");return{etag:O(s),data:await r.arrayBuffer()}}catch(e){throw this.u("error",`Error getting object ${t} with ETag: ${e+""}`),e}}async getObjectRaw(t,e=!0,r=0,s=this.requestSizeInBytes,i={}){return this.C("GET",t,{query:{...i},headers:e?{}:{range:`bytes=${r}-${s-1}`},withQuery:!0})}async getContentLength(t){const e=(await this.C("HEAD",t)).headers.get(h);return e?+e:0}async objectExists(t,e={}){const r=await this.C("HEAD",t,{query:e,tolerated:[200,404,412,304]});return 404!==r.status&&(412!==r.status&&304!==r.status||null)}async getEtag(t,e={}){const r=await this.C("HEAD",t,{query:e,tolerated:[200,404]});if(404===r.status)return null;const s=r.headers.get(c);if(!s)throw Error("ETag not found in response headers");return O(s)}async putObject(t,e){if(!(e instanceof Buffer||"string"==typeof e))throw new TypeError(g);return this.C("PUT",t,{body:e,headers:{[h]:"string"==typeof e?Buffer.byteLength(e):e.length},tolerated:[200]})}async getMultipartUploadId(t,e="application/octet-stream"){if(this.p(t),"string"!=typeof e)throw new TypeError(u+"fileType must be a string");const r={[a]:e},s=await this.C("POST",t,{query:{uploads:""},headers:r,withQuery:!0}),i=A(await s.text());if(i&&"object"==typeof i&&"initiateMultipartUploadResult"in i&&i.initiateMultipartUploadResult&&"uploadId"in i.initiateMultipartUploadResult)return i.initiateMultipartUploadResult.uploadId;throw Error(`${u}Failed to create multipart upload: ${JSON.stringify(i)}`)}async uploadPart(t,e,r,s,i={}){this.j(t,e,r,s,i);const o={uploadId:e,partNumber:s,...i},n=await this.C("PUT",t,{query:o,body:r,headers:{[h]:"string"==typeof r?Buffer.byteLength(r):r.length}});return{partNumber:s,etag:O(n.headers.get("etag")||"")}}async completeMultipartUpload(t,e,r){const s={uploadId:e},o=this.R(r),n={[a]:i,[h]:""+Buffer.byteLength(o)},c=await this.C("POST",t,{query:s,body:o,headers:n,withQuery:!0}),d=A(await c.text()),l=d&&"object"==typeof d&&"completeMultipartUploadResult"in d?d.completeMultipartUploadResult:d;if(!l||"object"!=typeof l)throw Error(`${u}Failed to complete multipart upload: ${JSON.stringify(d)}`);return("ETag"in l||"eTag"in l)&&(l.etag=this.sanitizeETag(l.eTag??l.ETag)),l}async abortMultipartUpload(t,e){if(this.p(t),!e)throw new TypeError(w);const r={uploadId:e},s={[a]:i},o=await this.C("DELETE",t,{query:r,headers:s,withQuery:!0}),n=A(await o.text());if(n&&"error"in n&&"object"==typeof n.error&&null!==n.error&&"message"in n.error)throw this.u("error",`${u}Failed to abort multipart upload: ${n.error.message+""}`),Error(`${u}Failed to abort multipart upload: ${n.error.message+""}`);return{status:"Aborted",key:t,uploadId:e,response:n}}R(t){return`\n <CompleteMultipartUpload>\n ${t.map((t=>`\n <Part>\n <PartNumber>${t.partNumber}</PartNumber>\n <ETag>${t.etag}</ETag>\n </Part>\n `)).join("")}\n </CompleteMultipartUpload>\n `}async deleteObject(t){const e=await this.C("DELETE",t,{tolerated:[200,204]});return 200===e.status||204===e.status}async P(t,e,r,s,i=[]){this.u("info",`Sending ${e} request to ${t}`,"headers: "+JSON.stringify(r));try{const o=await fetch(t,{method:e,headers:r,keepalive:!0,body:["GET","HEAD"].includes(e)?void 0:s,signal:void 0!==this.requestAbortTimeout?AbortSignal.timeout(this.requestAbortTimeout):void 0});return this.u("info",`Response status: ${o.status}, tolerated: ${i.join(",")}`),o.ok||i.includes(o.status)||await this.H(o),o}catch(t){const e=(t=>{if("object"!=typeof t||null===t)return;const e=t;return"string"==typeof e.code?e.code:"string"==typeof e.cause?.code?e.cause.code:void 0})(t);if(e&&["ENOTFOUND","EAI_AGAIN","ETIMEDOUT","ECONNREFUSED"].includes(e))throw new D("S3 network error: "+e,e,t);throw t}}async H(t){const e=await t.text(),r=t.headers.get("x-amz-error-code")??"Unknown",s=t.headers.get("x-amz-error-message")||t.statusText;throw this.u("error",`${u}Request failed with status ${t.status}: ${r} - ${s},err body: ${e}`),new x(`S3 returned ${t.status} – ${r}`,t.status,r,e)}_(t){return t&&0!==Object.keys(t).length?Object.keys(t).map((e=>`${encodeURIComponent(e)}=${encodeURIComponent(t[e])}`)).sort().join("&"):""}o(t){const s=$("AWS4"+this.secretAccessKey,t),i=$(s,this.region),o=$(i,r);return $(o,e)}}export{_ as default,I as runInBatches,_ as s3mini,O as sanitizeETag};
1
+ const t="AWS4-HMAC-SHA256",e="aws4_request",r="s3",s="UNSIGNED-PAYLOAD",i="application/xml",o=["accessKeyId","secretAccessKey","sessionToken","password","token"],n="x-amz-content-sha256",a="Content-Type",c="Content-Length",u="etag",h="[s3mini] ",d=h+"accessKeyId must be a non-empty string",l=h+"secretAccessKey must be a non-empty string",p=h+"endpoint must be a non-empty string",y=h+"endpoint must be a valid URL. Expected format: https://<host>[:port][/base-path]",f=h+"key must be a non-empty string",w=h+"uploadId must be a non-empty string",g=h+"data must be a Buffer or string",b=h+"prefix must be a string",m=h+"delimiter must be a string",E=crypto.createHmac||(await import("node:crypto")).createHmac,T=crypto.createHash||(await import("node:crypto")).createHash,$=(t,e,r)=>{const s=E("sha256",t).update(e);return r?s.digest(r):s.digest()},O=t=>{const e={'"':"","&quot;":"","&#34;":"","&QUOT;":"","&#x00022":""};return t.replace(/^("|&quot;|&#34;)|("|&quot;|&#34;)$/g,(t=>e[t]))},j={"&quot;":'"',"&apos;":"'","&lt;":"<","&gt;":">","&amp;":"&"},A=t=>{const e=/<(\w)([-\w]+)(?:\/|[^>]*>((?:(?!<\1)[\s\S])*)<\/\1\2)>/gm,r={};let s;for(;null!==(s=e.exec(t));){const[,t="",e,i]=s,o=`${t.toLowerCase()}${e}`,n=i?A(i):"",a=r[o];void 0===a?r[o]=n:Array.isArray(a)?a.push(n):r[o]=[a,n]}return Object.keys(r).length>0?r:t.replace(/&(quot|apos|lt|gt|amp);/g,(t=>j[t]??t))},U=t=>"%"+t.charCodeAt(0).toString(16).toUpperCase(),q=t=>encodeURIComponent(t).replace(/[!'()*]/g,U);class S extends Error{code;constructor(t,e,r){super(t),this.name=new.target.name,this.code=e,this.cause=r}}class D extends S{}class x extends S{status;serviceCode;body;constructor(t,e,r,s){super(t,r),this.status=e,this.serviceCode=r,this.body=s}}const I=async(t,e=30,r=0)=>{const s=[];let i=[];for(const r of t)i.push(r),i.length===e&&(await o(i),i=[]);return i.length&&await o(i),s;async function o(t){const e=Date.now(),i=await Promise.allSettled(t.map((t=>t())));if(s.push(...i),r>0){const t=r-(Date.now()-e);t>0&&await new Promise((e=>setTimeout(e,t)))}}};class _{accessKeyId;secretAccessKey;endpoint;region;requestSizeInBytes;requestAbortTimeout;logger;fullDatetime;shortDatetime;signingKey;credentialScope;constructor({accessKeyId:t,secretAccessKey:s,endpoint:i,region:o="auto",requestSizeInBytes:n=8388608,requestAbortTimeout:a,logger:c}){this.t(t,s,i),this.accessKeyId=t,this.secretAccessKey=s,this.endpoint=this.i(i),this.region=o,this.requestSizeInBytes=n,this.requestAbortTimeout=a,this.logger=c,this.fullDatetime=(new Date).toISOString().replace(/[:-]|\.\d{3}/g,""),this.shortDatetime=this.fullDatetime.slice(0,8),this.signingKey=this.o(this.shortDatetime),this.credentialScope=[this.shortDatetime,this.region,r,e].join("/")}u(t){return"object"!=typeof t||null===t?t:Object.keys(t).reduce(((e,r)=>(e[r]=o.includes(r.toLowerCase())?"[REDACTED]":"object"==typeof t[r]&&null!==t[r]?this.u(t[r]):t[r],e)),Array.isArray(t)?[]:{})}h(t,e,r={}){if(this.logger&&"function"==typeof this.logger[t]){const s=this.u(r),i={timestamp:(new Date).toISOString(),level:t,message:e,details:s,context:this.u({region:this.region,endpoint:this.endpoint,accessKeyId:this.accessKeyId?this.accessKeyId.substring(0,4)+"...":void 0})};this.logger[t](JSON.stringify(i))}}t(t,e,r){if("string"!=typeof t||0===t.trim().length)throw new TypeError(d);if("string"!=typeof e||0===e.trim().length)throw new TypeError(l);if("string"!=typeof r||0===r.trim().length)throw new TypeError(p)}i(t){const e=/^(https?:)?\/\//i.test(t)?t:"https://"+t;try{return new URL(e),e.replace(/\/+$/,"")}catch{const e=`${y} But provided: "${t}"`;throw this.h("error",e),new TypeError(e)}}l(t){if("GET"!==t&&"HEAD"!==t)throw this.h("error",h+"method must be either GET or HEAD"),Error("method must be either GET or HEAD")}p(t){if("string"!=typeof t||0===t.trim().length)throw this.h("error",f),new TypeError(f)}m(t){if("string"!=typeof t||0===t.trim().length)throw this.h("error",m),new TypeError(m)}T(t){if("string"!=typeof t)throw this.h("error",b),new TypeError(b)}$(t){if("object"!=typeof t)throw this.h("error",h+"opts must be an object"),new TypeError(h+"opts must be an object")}O(t){const e={},r={},s=["if-match","if-none-match","if-modified-since","if-unmodified-since"];for(const[i,o]of Object.entries(t))s.includes(i.toLowerCase())?r[i]=o:e[i]=o;return{filteredOpts:e,conditionalHeaders:r}}j(t,e,r,s,i){if(this.p(t),!(r instanceof Buffer||"string"==typeof r))throw this.h("error",g),new TypeError(g);if("string"!=typeof e||0===e.trim().length)throw this.h("error",w),new TypeError(w);if(!Number.isInteger(s)||s<=0)throw this.h("error",h+"partNumber must be a positive integer"),new TypeError(h+"partNumber must be a positive integer");this.$(i)}A(t,e,r={},i={}){const o=new URL(this.endpoint);e&&e.length>0&&(o.pathname="/"===o.pathname?"/"+e.replace(/^\/+/,""):`${o.pathname}/${e.replace(/^\/+/,"")}`),i[n]=s,i["x-amz-date"]=this.fullDatetime,i.host=o.host;const a=this.U(i),c=Object.keys(i).map((t=>t.toLowerCase())).sort().join(";"),u=this.q(t,o,r,a,c),h=this.S(u),d=this.D(h),l=this.I(c,d);return i.Authorization=l,{url:""+o,headers:i}}U(t){return Object.entries(t).map((([t,e])=>`${t.toLowerCase()}:${(e+"").trim()}`)).sort().join("\n")}q(t,e,r,i,o){return[t,e.pathname,this._(r),i+"\n",o,s].join("\n")}S(e){return[t,this.fullDatetime,this.credentialScope,(r=e,T("sha256").update(r).digest("hex"))].join("\n");var r}D(t){return $(this.signingKey,t,"hex")}I(e,r){return[`${t} Credential=${this.accessKeyId}/${this.credentialScope}`,"SignedHeaders="+e,"Signature="+r].join(", ")}async C(t,e,{query:r={},body:i="",headers:o={},tolerated:a=[],withQuery:c=!1}={}){if(!["GET","HEAD","PUT","POST","DELETE"].includes(t))throw Error(`${h}Unsupported HTTP method ${t}`);e&&this.p(e);const{filteredOpts:u,conditionalHeaders:d}=["GET","HEAD"].includes(t)?this.O(r):{filteredOpts:r,conditionalHeaders:{}},l={[n]:s,...o,...d},p=e?q(e).replace(/%2F/g,"/"):"",{url:y,headers:f}=this.A(t,p,u,l);Object.keys(r).length>0&&(c=!0);const w=Object.fromEntries(Object.entries(u).map((([t,e])=>[t,e+""]))),g=c&&Object.keys(u).length?`${y}?${new URLSearchParams(w)}`:y,b=Object.fromEntries(Object.entries(f).map((([t,e])=>[t,e+""])));return this.P(g,t,b,i,a)}getProps(){return{accessKeyId:this.accessKeyId,secretAccessKey:this.secretAccessKey,endpoint:this.endpoint,region:this.region,requestSizeInBytes:this.requestSizeInBytes,requestAbortTimeout:this.requestAbortTimeout,logger:this.logger}}setProps(t){this.t(t.accessKeyId,t.secretAccessKey,t.endpoint),this.accessKeyId=t.accessKeyId,this.secretAccessKey=t.secretAccessKey,this.region=t.region||"auto",this.endpoint=t.endpoint,this.requestSizeInBytes=t.requestSizeInBytes||8388608,this.requestAbortTimeout=t.requestAbortTimeout,this.logger=t.logger}sanitizeETag(t){return O(t)}async createBucket(){const t=`\n <CreateBucketConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">\n <LocationConstraint>${this.region}</LocationConstraint>\n </CreateBucketConfiguration>\n `,e={[a]:i,[c]:""+Buffer.byteLength(t)};return 200===(await this.C("PUT","",{body:t,headers:e,tolerated:[200,404,403,409]})).status}async bucketExists(){return 200===(await this.C("HEAD","",{tolerated:[200,404,403]})).status}async listObjects(t="/",e="",r,s={}){this.m(t),this.T(e),this.$(s);const i="/"===t?t:q(t),o=!(r&&r>0);let n,a=o?1/0:r;const c=[];do{const t={"list-type":"2","max-keys":Math.min(a,1e3)+"",...e?{prefix:e}:{},...n?{"continuation-token":n}:{},...s},r=await this.C("GET",i,{query:t,withQuery:!0,tolerated:[200,404]});if(404===r.status)return null;if(200!==r.status){const t=await r.text(),e=r.headers.get("x-amz-error-code")||"Unknown",s=r.headers.get("x-amz-error-message")||r.statusText;throw this.h("error",`${h}Request failed with status ${r.status}: ${e} - ${s}, err body: ${t}`),Error(`${h}Request failed with status ${r.status}: ${e} - ${s}, err body: ${t}`)}const u=A(await r.text());if("object"!=typeof u||!u||"error"in u)throw this.h("error",`${h}Unexpected listObjects response shape: ${JSON.stringify(u)}`),Error(h+"Unexpected listObjects response shape");const d="listBucketResult"in u?u.listBucketResult:u,l=d.contents;if(l){const t=Array.isArray(l)?l:[l];c.push(...t),o||(a-=t.length)}n="true"===d.isTruncated||"true"===d.IsTruncated?d.nextContinuationToken||d.NextContinuationToken||d.nextMarker||d.NextMarker:void 0}while(n&&a>0);return c}async listMultipartUploads(t="/",e="",r="GET",s={}){this.m(t),this.T(e),this.l(r),this.$(s);const i={uploads:"",...s},o="/"===t?t:q(t),n=await this.C(r,o,{query:i,withQuery:!0}),a=A(await n.text());if("object"!=typeof a||null===a)throw Error(h+"Unexpected listMultipartUploads response shape");return"listMultipartUploadsResult"in a?a.listMultipartUploadsResult:a}async getObject(t,e={}){const r=await this.C("GET",t,{query:e,tolerated:[200,404,412,304]});return[404,412,304].includes(r.status)?null:r.text()}async getObjectResponse(t,e={}){const r=await this.C("GET",t,{query:e,tolerated:[200,404,412,304]});return[404,412,304].includes(r.status)?null:r}async getObjectArrayBuffer(t,e={}){const r=await this.C("GET",t,{query:e,tolerated:[200,404,412,304]});return[404,412,304].includes(r.status)?null:r.arrayBuffer()}async getObjectJSON(t,e={}){const r=await this.C("GET",t,{query:e,tolerated:[200,404,412,304]});return[404,412,304].includes(r.status)?null:r.json()}async getObjectWithETag(t,e={}){try{const r=await this.C("GET",t,{query:e,tolerated:[200,404,412,304]});if([404,412,304].includes(r.status))return{etag:null,data:null};const s=r.headers.get(u);if(!s)throw Error("ETag not found in response headers");return{etag:O(s),data:await r.arrayBuffer()}}catch(e){throw this.h("error",`Error getting object ${t} with ETag: ${e+""}`),e}}async getObjectRaw(t,e=!0,r=0,s=this.requestSizeInBytes,i={}){return this.C("GET",t,{query:{...i},headers:e?{}:{range:`bytes=${r}-${s-1}`},withQuery:!0})}async getContentLength(t){const e=(await this.C("HEAD",t)).headers.get(c);return e?+e:0}async objectExists(t,e={}){const r=await this.C("HEAD",t,{query:e,tolerated:[200,404,412,304]});return 404!==r.status&&(412!==r.status&&304!==r.status||null)}async getEtag(t,e={}){const r=await this.C("HEAD",t,{query:e,tolerated:[200,404]});if(404===r.status)return null;const s=r.headers.get(u);if(!s)throw Error("ETag not found in response headers");return O(s)}async putObject(t,e){if(!(e instanceof Buffer||"string"==typeof e))throw new TypeError(g);return this.C("PUT",t,{body:e,headers:{[c]:"string"==typeof e?Buffer.byteLength(e):e.length},tolerated:[200]})}async getMultipartUploadId(t,e="application/octet-stream"){if(this.p(t),"string"!=typeof e)throw new TypeError(h+"fileType must be a string");const r={[a]:e},s=await this.C("POST",t,{query:{uploads:""},headers:r,withQuery:!0}),i=A(await s.text());if(i&&"object"==typeof i&&"initiateMultipartUploadResult"in i&&i.initiateMultipartUploadResult&&"uploadId"in i.initiateMultipartUploadResult)return i.initiateMultipartUploadResult.uploadId;throw Error(`${h}Failed to create multipart upload: ${JSON.stringify(i)}`)}async uploadPart(t,e,r,s,i={}){this.j(t,e,r,s,i);const o={uploadId:e,partNumber:s,...i},n=await this.C("PUT",t,{query:o,body:r,headers:{[c]:"string"==typeof r?Buffer.byteLength(r):r.length}});return{partNumber:s,etag:O(n.headers.get("etag")||"")}}async completeMultipartUpload(t,e,r){const s={uploadId:e},o=this.R(r),n={[a]:i,[c]:""+Buffer.byteLength(o)},u=await this.C("POST",t,{query:s,body:o,headers:n,withQuery:!0}),d=A(await u.text()),l=d&&"object"==typeof d&&"completeMultipartUploadResult"in d?d.completeMultipartUploadResult:d;if(!l||"object"!=typeof l)throw Error(`${h}Failed to complete multipart upload: ${JSON.stringify(d)}`);return("ETag"in l||"eTag"in l)&&(l.etag=this.sanitizeETag(l.eTag??l.ETag)),l}async abortMultipartUpload(t,e){if(this.p(t),!e)throw new TypeError(w);const r={uploadId:e},s={[a]:i},o=await this.C("DELETE",t,{query:r,headers:s,withQuery:!0}),n=A(await o.text());if(n&&"error"in n&&"object"==typeof n.error&&null!==n.error&&"message"in n.error)throw this.h("error",`${h}Failed to abort multipart upload: ${n.error.message+""}`),Error(`${h}Failed to abort multipart upload: ${n.error.message+""}`);return{status:"Aborted",key:t,uploadId:e,response:n}}R(t){return`\n <CompleteMultipartUpload>\n ${t.map((t=>`\n <Part>\n <PartNumber>${t.partNumber}</PartNumber>\n <ETag>${t.etag}</ETag>\n </Part>\n `)).join("")}\n </CompleteMultipartUpload>\n `}async deleteObject(t){const e=await this.C("DELETE",t,{tolerated:[200,204]});return 200===e.status||204===e.status}async P(t,e,r,s,i=[]){this.h("info",`Sending ${e} request to ${t}`,"headers: "+JSON.stringify(r));try{const o=await fetch(t,{method:e,headers:r,body:["GET","HEAD"].includes(e)?void 0:s,signal:void 0!==this.requestAbortTimeout?AbortSignal.timeout(this.requestAbortTimeout):void 0});return this.h("info",`Response status: ${o.status}, tolerated: ${i.join(",")}`),o.ok||i.includes(o.status)||await this.H(o),o}catch(t){const e=(t=>{if("object"!=typeof t||null===t)return;const e=t;return"string"==typeof e.code?e.code:"string"==typeof e.cause?.code?e.cause.code:void 0})(t);if(e&&["ENOTFOUND","EAI_AGAIN","ETIMEDOUT","ECONNREFUSED"].includes(e))throw new D("S3 network error: "+e,e,t);throw t}}async H(t){const e=await t.text(),r=t.headers.get("x-amz-error-code")??"Unknown",s=t.headers.get("x-amz-error-message")||t.statusText;throw this.h("error",`${h}Request failed with status ${t.status}: ${r} - ${s},err body: ${e}`),new x(`S3 returned ${t.status} – ${r}`,t.status,r,e)}_(t){return t&&0!==Object.keys(t).length?Object.keys(t).map((e=>`${encodeURIComponent(e)}=${encodeURIComponent(t[e])}`)).sort().join("&"):""}o(t){const s=$("AWS4"+this.secretAccessKey,t),i=$(s,this.region),o=$(i,r);return $(o,e)}}export{_ as default,I as runInBatches,_ as s3mini,O as sanitizeETag};
2
2
  //# sourceMappingURL=s3mini.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"s3mini.min.js","sources":["../src/consts.ts","../src/utils.ts","../src/S3.ts"],"sourcesContent":[null,null,null],"names":["AWS_ALGORITHM","AWS_REQUEST_TYPE","S3_SERVICE","UNSIGNED_PAYLOAD","XML_CONTENT_TYPE","SENSITIVE_KEYS_REDACTED","HEADER_AMZ_CONTENT_SHA256","HEADER_CONTENT_TYPE","HEADER_CONTENT_LENGTH","HEADER_ETAG","ERROR_PREFIX","ERROR_ACCESS_KEY_REQUIRED","ERROR_SECRET_KEY_REQUIRED","ERROR_ENDPOINT_REQUIRED","ERROR_ENDPOINT_FORMAT","ERROR_KEY_REQUIRED","ERROR_UPLOAD_ID_REQUIRED","ERROR_DATA_BUFFER_REQUIRED","ERROR_PREFIX_TYPE","ERROR_DELIMITER_REQUIRED","_createHmac","crypto","createHmac","import","_createHash","createHash","hmac","key","content","encoding","mac","update","digest","sanitizeETag","etag","replaceChars","replace","m","entityMap","parseXml","input","RE_TAG","result","match","exec","prefix","inner","fullKey","toLowerCase","node","current","undefined","Array","isArray","push","Object","keys","length","encodeAsHex","c","charCodeAt","toString","toUpperCase","uriEscape","uriStr","encodeURIComponent","S3Error","Error","code","constructor","msg","cause","super","this","name","S3NetworkError","S3ServiceError","status","serviceCode","body","runInBatches","async","tasks","batchSize","minIntervalMs","allResults","batch","task","executeBatch","batchFns","start","Date","now","settled","Promise","allSettled","map","fn","wait","r","setTimeout","s3mini","accessKeyId","secretAccessKey","endpoint","region","requestSizeInBytes","requestAbortTimeout","logger","fullDatetime","shortDatetime","signingKey","credentialScope","C.DEFAULT_REQUEST_SIZE_IN_BYTES","_validateConstructorParams","_ensureValidUrl","toISOString","slice","_getSignatureKey","C.S3_SERVICE","C.AWS_REQUEST_TYPE","join","_sanitize","obj","reduce","acc","C.SENSITIVE_KEYS_REDACTED","includes","_log","level","message","additionalData","sanitizedData","logEntry","timestamp","details","context","substring","JSON","stringify","trim","TypeError","C.ERROR_ACCESS_KEY_REQUIRED","C.ERROR_SECRET_KEY_REQUIRED","C.ERROR_ENDPOINT_REQUIRED","raw","candidate","test","URL","C.ERROR_ENDPOINT_FORMAT","_validateMethodIsGetOrHead","method","C.ERROR_PREFIX","_checkKey","C.ERROR_KEY_REQUIRED","_checkDelimiter","delimiter","C.ERROR_DELIMITER_REQUIRED","_checkPrefix","C.ERROR_PREFIX_TYPE","_checkOpts","opts","_filterIfHeaders","filteredOpts","conditionalHeaders","ifHeaders","value","entries","_validateUploadPartParams","uploadId","data","partNumber","Buffer","C.ERROR_DATA_BUFFER_REQUIRED","C.ERROR_UPLOAD_ID_REQUIRED","Number","isInteger","_sign","keyPath","query","headers","url","pathname","C.HEADER_AMZ_CONTENT_SHA256","C.UNSIGNED_PAYLOAD","host","canonicalHeaders","_buildCanonicalHeaders","signedHeaders","sort","canonicalRequest","_buildCanonicalRequest","stringToSign","_buildStringToSign","signature","_calculateSignature","authorizationHeader","_buildAuthorizationHeader","String","_buildCanonicalQueryString","C.AWS_ALGORITHM","U.hmac","_signedRequest","tolerated","withQuery","baseHeaders","encodedKey","filteredOptsStrings","fromEntries","k","v","finalUrl","URLSearchParams","signedHeadersString","_sendRequest","getProps","setProps","props","U.sanitizeETag","createBucket","xmlBody","C.HEADER_CONTENT_TYPE","C.XML_CONTENT_TYPE","C.HEADER_CONTENT_LENGTH","byteLength","bucketExists","listObjects","maxKeys","U.uriEscape","unlimited","token","remaining","Infinity","all","Math","min","res","errorBody","text","errorCode","get","errorMessage","statusText","U.parseXml","out","listBucketResult","contents","isTruncated","IsTruncated","nextContinuationToken","NextContinuationToken","nextMarker","NextMarker","listMultipartUploads","uploads","listMultipartUploadsResult","getObject","getObjectArrayBuffer","arrayBuffer","getObjectWithETag","C.HEADER_ETAG","err","getObjectRaw","wholeFile","rangeFrom","rangeTo","range","getContentLength","len","objectExists","getEtag","putObject","getMultipartUploadId","fileType","parsed","initiateMultipartUploadResult","uploadPart","completeMultipartUpload","parts","_buildCompleteMultipartUploadXml","completeMultipartUploadResult","eTag","ETag","abortMultipartUpload","error","response","part","deleteObject","toleratedStatusCodes","fetch","keepalive","signal","AbortSignal","timeout","ok","_handleErrorResponse","e","U.extractErrCode","U.S3NetworkError","svcCode","U.S3ServiceError","queryParams","dateStamp","kDate","kRegion","kService"],"mappings":"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"}
1
+ {"version":3,"file":"s3mini.min.js","sources":["../src/consts.ts","../src/utils.ts","../src/S3.ts"],"sourcesContent":[null,null,null],"names":["AWS_ALGORITHM","AWS_REQUEST_TYPE","S3_SERVICE","UNSIGNED_PAYLOAD","XML_CONTENT_TYPE","SENSITIVE_KEYS_REDACTED","HEADER_AMZ_CONTENT_SHA256","HEADER_CONTENT_TYPE","HEADER_CONTENT_LENGTH","HEADER_ETAG","ERROR_PREFIX","ERROR_ACCESS_KEY_REQUIRED","ERROR_SECRET_KEY_REQUIRED","ERROR_ENDPOINT_REQUIRED","ERROR_ENDPOINT_FORMAT","ERROR_KEY_REQUIRED","ERROR_UPLOAD_ID_REQUIRED","ERROR_DATA_BUFFER_REQUIRED","ERROR_PREFIX_TYPE","ERROR_DELIMITER_REQUIRED","_createHmac","crypto","createHmac","import","_createHash","createHash","hmac","key","content","encoding","mac","update","digest","sanitizeETag","etag","replaceChars","replace","m","entityMap","parseXml","input","RE_TAG","result","match","exec","prefix","inner","fullKey","toLowerCase","node","current","undefined","Array","isArray","push","Object","keys","length","encodeAsHex","c","charCodeAt","toString","toUpperCase","uriEscape","uriStr","encodeURIComponent","S3Error","Error","code","constructor","msg","cause","super","this","name","S3NetworkError","S3ServiceError","status","serviceCode","body","runInBatches","async","tasks","batchSize","minIntervalMs","allResults","batch","task","executeBatch","batchFns","start","Date","now","settled","Promise","allSettled","map","fn","wait","r","setTimeout","s3mini","accessKeyId","secretAccessKey","endpoint","region","requestSizeInBytes","requestAbortTimeout","logger","fullDatetime","shortDatetime","signingKey","credentialScope","C.DEFAULT_REQUEST_SIZE_IN_BYTES","_validateConstructorParams","_ensureValidUrl","toISOString","slice","_getSignatureKey","C.S3_SERVICE","C.AWS_REQUEST_TYPE","join","_sanitize","obj","reduce","acc","C.SENSITIVE_KEYS_REDACTED","includes","_log","level","message","additionalData","sanitizedData","logEntry","timestamp","details","context","substring","JSON","stringify","trim","TypeError","C.ERROR_ACCESS_KEY_REQUIRED","C.ERROR_SECRET_KEY_REQUIRED","C.ERROR_ENDPOINT_REQUIRED","raw","candidate","test","URL","C.ERROR_ENDPOINT_FORMAT","_validateMethodIsGetOrHead","method","C.ERROR_PREFIX","_checkKey","C.ERROR_KEY_REQUIRED","_checkDelimiter","delimiter","C.ERROR_DELIMITER_REQUIRED","_checkPrefix","C.ERROR_PREFIX_TYPE","_checkOpts","opts","_filterIfHeaders","filteredOpts","conditionalHeaders","ifHeaders","value","entries","_validateUploadPartParams","uploadId","data","partNumber","Buffer","C.ERROR_DATA_BUFFER_REQUIRED","C.ERROR_UPLOAD_ID_REQUIRED","Number","isInteger","_sign","keyPath","query","headers","url","pathname","C.HEADER_AMZ_CONTENT_SHA256","C.UNSIGNED_PAYLOAD","host","canonicalHeaders","_buildCanonicalHeaders","signedHeaders","sort","canonicalRequest","_buildCanonicalRequest","stringToSign","_buildStringToSign","signature","_calculateSignature","authorizationHeader","_buildAuthorizationHeader","String","_buildCanonicalQueryString","C.AWS_ALGORITHM","U.hmac","_signedRequest","tolerated","withQuery","baseHeaders","encodedKey","filteredOptsStrings","fromEntries","k","v","finalUrl","URLSearchParams","signedHeadersString","_sendRequest","getProps","setProps","props","U.sanitizeETag","createBucket","xmlBody","C.HEADER_CONTENT_TYPE","C.XML_CONTENT_TYPE","C.HEADER_CONTENT_LENGTH","byteLength","bucketExists","listObjects","maxKeys","U.uriEscape","unlimited","token","remaining","Infinity","all","Math","min","res","errorBody","text","errorCode","get","errorMessage","statusText","U.parseXml","out","listBucketResult","contents","isTruncated","IsTruncated","nextContinuationToken","NextContinuationToken","nextMarker","NextMarker","listMultipartUploads","uploads","listMultipartUploadsResult","getObject","getObjectResponse","getObjectArrayBuffer","arrayBuffer","getObjectJSON","json","getObjectWithETag","C.HEADER_ETAG","err","getObjectRaw","wholeFile","rangeFrom","rangeTo","range","getContentLength","len","objectExists","getEtag","putObject","getMultipartUploadId","fileType","parsed","initiateMultipartUploadResult","uploadPart","completeMultipartUpload","parts","_buildCompleteMultipartUploadXml","completeMultipartUploadResult","eTag","ETag","abortMultipartUpload","error","response","part","deleteObject","toleratedStatusCodes","fetch","signal","AbortSignal","timeout","ok","_handleErrorResponse","e","U.extractErrCode","U.S3NetworkError","svcCode","U.S3ServiceError","queryParams","dateStamp","kDate","kRegion","kService"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "s3mini",
3
- "version": "0.1.0",
4
- "description": "👶 Tiny & fast S3 client built for edge.",
3
+ "version": "0.1.1",
4
+ "description": "👶 Tiny & fast S3 client for node and edge computing platforms",
5
5
  "homepage": "https://github.com/good-lly/s3mini",
6
6
  "bugs": {
7
7
  "url": "https://github.com/good-lly/s3mini/issues"
@@ -36,12 +36,17 @@
36
36
  "module": "dist/s3mini.js",
37
37
  "types": "dist/s3mini.d.ts",
38
38
  "exports": {
39
- "import": {
40
- "development": "./dist/s3mini.js",
41
- "default": "./dist/s3mini.min.js"
42
- },
43
- "require": "./dist/s3mini.min.js",
44
- "types": "./dist/s3mini.d.ts"
39
+ ".": {
40
+ "import": {
41
+ "types": "./dist/s3mini.d.ts",
42
+ "development": "./dist/s3mini.js",
43
+ "default": "./dist/s3mini.min.js"
44
+ },
45
+ "require": {
46
+ "types": "./dist/s3mini.d.ts",
47
+ "default": "./dist/s3mini.min.js"
48
+ }
49
+ }
45
50
  },
46
51
  "sideEffects": false,
47
52
  "engines": {
@@ -55,6 +60,8 @@
55
60
  "bun": true,
56
61
  "browser": false
57
62
  },
63
+ "license": "MIT",
64
+ "private": false,
58
65
  "devDependencies": {
59
66
  "@aws-sdk/client-s3": "^3.802.0",
60
67
  "@eslint/eslintrc": "^3.3.1",
package/src/S3.ts CHANGED
@@ -535,6 +535,14 @@ class s3mini {
535
535
  return res.text();
536
536
  }
537
537
 
538
+ public async getObjectResponse(key: string, opts: Record<string, unknown> = {}): Promise<Response | null> {
539
+ const res = await this._signedRequest('GET', key, { query: opts, tolerated: [200, 404, 412, 304] });
540
+ if ([404, 412, 304].includes(res.status)) {
541
+ return null;
542
+ }
543
+ return res;
544
+ }
545
+
538
546
  public async getObjectArrayBuffer(key: string, opts: Record<string, unknown> = {}): Promise<ArrayBuffer | null> {
539
547
  const res = await this._signedRequest('GET', key, { query: opts, tolerated: [200, 404, 412, 304] });
540
548
  if ([404, 412, 304].includes(res.status)) {
@@ -543,6 +551,14 @@ class s3mini {
543
551
  return res.arrayBuffer();
544
552
  }
545
553
 
554
+ public async getObjectJSON<T = unknown>(key: string, opts: Record<string, unknown> = {}): Promise<T | null> {
555
+ const res = await this._signedRequest('GET', key, { query: opts, tolerated: [200, 404, 412, 304] });
556
+ if ([404, 412, 304].includes(res.status)) {
557
+ return null;
558
+ }
559
+ return res.json() as Promise<T>;
560
+ }
561
+
546
562
  public async getObjectWithETag(
547
563
  key: string,
548
564
  opts: Record<string, unknown> = {},
@@ -781,7 +797,6 @@ class s3mini {
781
797
  const res = await fetch(url, {
782
798
  method,
783
799
  headers,
784
- keepalive: true,
785
800
  body: ['GET', 'HEAD'].includes(method) ? undefined : (body as string),
786
801
  signal: this.requestAbortTimeout !== undefined ? AbortSignal.timeout(this.requestAbortTimeout) : undefined,
787
802
  });
package/src/types.ts CHANGED
@@ -1,5 +1,3 @@
1
- import type { createHash as NodeCreateHash, createHmac as NodeCreateHmac } from 'node:crypto';
2
-
3
1
  export interface S3Config {
4
2
  accessKeyId: string;
5
3
  secretAccessKey: string;
@@ -11,8 +9,17 @@ export interface S3Config {
11
9
  }
12
10
 
13
11
  export interface Crypto {
14
- createHmac: typeof NodeCreateHmac;
15
- createHash: typeof NodeCreateHash;
12
+ createHmac: (
13
+ algorithm: string,
14
+ key: Buffer | string,
15
+ ) => {
16
+ update: (data: Buffer | string) => { digest: (encoding?: string) => string | Buffer };
17
+ digest: (encoding?: string) => string | Buffer;
18
+ };
19
+ createHash: (algorithm: string) => {
20
+ update: (data: Buffer | string) => { digest: (encoding?: string) => string | Buffer };
21
+ digest: (encoding?: string) => string | Buffer;
22
+ };
16
23
  }
17
24
 
18
25
  export interface Logger {
package/src/utils.ts CHANGED
@@ -3,7 +3,8 @@
3
3
  import type { Crypto, XmlValue, XmlMap, ListBucketResponse, ErrorWithCode } from './types.js';
4
4
  declare const crypto: Crypto;
5
5
 
6
- // Initialize crypto functions
6
+ // Initialize crypto functions - this is needed for environments where `crypto` is not available globally
7
+ // e.g., in Cloudflare Workers or other non-Node.js environments with nodejs_flags enabled.
7
8
  const _createHmac: Crypto['createHmac'] = crypto.createHmac || (await import('node:crypto')).createHmac;
8
9
  const _createHash: Crypto['createHash'] = crypto.createHash || (await import('node:crypto')).createHash;
9
10
 
@@ -13,7 +14,7 @@ const _createHash: Crypto['createHash'] = crypto.createHash || (await import('no
13
14
  * @returns {string} Hex encoded hash
14
15
  */
15
16
  export const hash = (content: string | Buffer): string => {
16
- return _createHash('sha256').update(content).digest('hex');
17
+ return _createHash('sha256').update(content).digest('hex') as string;
17
18
  };
18
19
 
19
20
  /**
@@ -162,8 +163,8 @@ export class S3ServiceError extends S3Error {
162
163
  */
163
164
  export const runInBatches = async (
164
165
  tasks: Iterable<() => Promise<unknown>>,
165
- batchSize = 30,
166
- minIntervalMs = 0,
166
+ batchSize: number = 30,
167
+ minIntervalMs: number = 0,
167
168
  ): Promise<Array<PromiseSettledResult<unknown>>> => {
168
169
  const allResults: PromiseSettledResult<unknown>[] = [];
169
170
  let batch: Array<() => Promise<unknown>> = [];