@ez4/aws-bucket 0.12.0 → 0.13.0
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/client.cjs +2 -2
- package/dist/client.mjs +1 -1
- package/dist/main.cjs +15 -15
- package/dist/main.mjs +14 -14
- package/package.json +7 -7
package/dist/client.cjs
CHANGED
|
@@ -13,5 +13,5 @@ Key:t});return(0,y.getSignedUrl)(c,w,{signableHeaders:new Set(["content-type"]),
|
|
|
13
13
|
expiresIn:i})}async getReadUrl(t,e){let{expiresIn:i}=e,a=new n.GetObjectCommand(
|
|
14
14
|
{Bucket:o,Key:t});return(0,y.getSignedUrl)(c,a,{expiresIn:i})}async getStats(t){
|
|
15
15
|
try{let e=await c.send(new n.HeadObjectCommand({Bucket:o,Key:t}));return{type:e?.
|
|
16
|
-
ContentType,size:e?.ContentLength??0}}catch(e){if(e instanceof n.NotFound
|
|
17
|
-
n.NoSuchKey)
|
|
16
|
+
ContentType,size:e?.ContentLength??0}}catch(e){if(!(e instanceof n.NotFound)&&!(e instanceof
|
|
17
|
+
n.NoSuchKey))throw e;return}}})(d||={});0&&(module.exports={Client});
|
package/dist/client.mjs
CHANGED
|
@@ -10,4 +10,4 @@ Body.transformToByteArray();return Buffer.from(n)}async delete(e){await s.send(n
|
|
|
10
10
|
type"]),expiresIn:n})}async getReadUrl(e,t){let{expiresIn:n}=t,o=new c({Bucket:r,
|
|
11
11
|
Key:e});return i(s,o,{expiresIn:n})}async getStats(e){try{let t=await s.send(new m(
|
|
12
12
|
{Bucket:r,Key:e}));return{type:t?.ContentType,size:t?.ContentLength??0}}catch(t){
|
|
13
|
-
if(t instanceof d
|
|
13
|
+
if(!(t instanceof d)&&!(t instanceof u))throw t;return}}})(B||={});export{B as Client};
|
package/dist/main.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";var Ae=Object.create;var
|
|
1
|
+
"use strict";var Ae=Object.create;var w=Object.defineProperty;var Fe=Object.getOwnPropertyDescriptor;var Ue=Object.getOwnPropertyNames;var Ge=Object.getPrototypeOf,We=Object.prototype.hasOwnProperty;var Ze=(e,t)=>{for(var r in t)w(e,r,{get:t[r],enumerable:!0})},I=(e,t,r,o)=>{if(t&&
|
|
2
2
|
typeof t=="object"||typeof t=="function")for(let s of Ue(t))!We.call(e,s)&&s!==r&&
|
|
3
|
-
|
|
4
|
-
enumerable:!0}):r,e)),Qe=e=>I(
|
|
3
|
+
w(e,s,{get:()=>t[s],enumerable:!(o=Fe(t,s))||o.enumerable});return e};var Je=(e,t,r)=>(r=e!=null?Ae(Ge(e)):{},I(t||!e||!e.__esModule?w(r,"default",{value:e,
|
|
4
|
+
enumerable:!0}):r,e)),Qe=e=>I(w({},"__esModule",{value:!0}),e);var Bt={};Ze(Bt,{BucketServiceName:()=>n,BucketServiceType:()=>p,ObjectServiceName:()=>y,
|
|
5
5
|
ObjectServiceType:()=>m,PolicyServiceName:()=>g,PolicyServiceType:()=>u,createBucket:()=>z,
|
|
6
6
|
createBucketObject:()=>bt,createBucketPolicy:()=>kt,getBucketDomain:()=>St,getBucketName:()=>b,
|
|
7
7
|
getBucketObjectFiles:()=>it,getBucketObjectPath:()=>B,getBucketState:()=>tt,getBucketStateId:()=>C,
|
|
@@ -25,15 +25,15 @@ result&&e.result.bucketName===t.result?.bucketName,Xe=async(e,t)=>{let r={...e.p
|
|
|
25
25
|
dependencies:e.dependencies},o={...t.parameters,dependencies:t.dependencies},s=(0,P.deepCompare)(
|
|
26
26
|
r,o);if(s.counts)return{...s,name:r.bucketName}},Ye=async(e,t)=>{if(t.result)throw new F.ReplaceResourceError(
|
|
27
27
|
n,e.entryId,t.entryId);return G(e)},G=async e=>{let t=e.parameters,{bucketName:r}=await L(
|
|
28
|
-
t);return await
|
|
29
|
-
_e=async(e,t)=>{let{result:r,parameters:o}=e;if(!r)return;let s=r.bucketName;await
|
|
30
|
-
|
|
31
|
-
let t=e.result;t&&await A(t.bucketName)},W=async(e,t,r)=>{if(!(t.cors&&
|
|
32
|
-
(0,P.deepEqual)(t.cors,r.cors))){if(t.cors)return K(e,t.cors);if(r?.cors)
|
|
33
|
-
e)}},Z=async(e,t,r)=>{if(t.autoExpireDays!==r?.autoExpireDays){if(t.autoExpireDays)
|
|
28
|
+
t);return await W(r,t,void 0),await Z(r,t,void 0),await J(r,t.tags,void 0),{bucketName:r}},
|
|
29
|
+
_e=async(e,t)=>{let{result:r,parameters:o}=e;if(!r)return;let s=r.bucketName;await W(
|
|
30
|
+
s,o,t.parameters),await Z(s,o,t.parameters),await J(s,o.tags,t.parameters.tags)},
|
|
31
|
+
et=async e=>{let t=e.result;t&&await A(t.bucketName)},W=async(e,t,r)=>{if(!(t.cors&&
|
|
32
|
+
r?.cors&&(0,P.deepEqual)(t.cors,r.cors))){if(t.cors)return K(e,t.cors);if(r?.cors)
|
|
33
|
+
return H(e)}},Z=async(e,t,r)=>{if(t.autoExpireDays!==r?.autoExpireDays){if(t.autoExpireDays)
|
|
34
34
|
return M(e,t.autoExpireDays);if(r?.autoExpireDays)return $(e)}},J=async(e,t,r)=>{
|
|
35
|
-
let o=t??{};!(0,P.deepEqual)(o,r??{})&&await q(e,o)};var V=()=>{(0,Q.registerProvider)(p,U())};var ce=require("@ez4/aws-common");var re=require("@ez4/aws-common");var
|
|
36
|
-
e,C(t));if(!Y(r))throw new
|
|
35
|
+
let o=t??{};!(0,P.deepEqual)(o,r??{})&&await q(e,o)};var V=()=>{(0,Q.registerProvider)(p,U())};var ce=require("@ez4/aws-common");var re=require("@ez4/aws-common");var R=require("@ez4/stateful"),X=require("@ez4/aws-common"),j=require("@ez4/utils");var Y=e=>e.type===p,C=e=>(0,j.hashData)(p,(0,j.toKebabCase)(e)),tt=(e,t)=>{let r=(0,R.getEntry)(
|
|
36
|
+
e,C(t));if(!Y(r))throw new R.EntryNotFoundError(r.entryId);return r},b=(e,t,r)=>{
|
|
37
37
|
let o=r.getDependencies(p).at(0)?.result;if(!o?.bucketName)throw new X.IncompleteResourceError(
|
|
38
38
|
e,t,"bucketName");return o.bucketName};var v=require("@ez4/aws-common"),S=require("@aws-sdk/client-s3");var g="AWS:S3/Policy",u="aws:s3.policy";var _=new S.S3Client({}),ee=async e=>{let{bucketName:t,role:r}=e;return v.Logger.
|
|
39
39
|
logCreate(g,t),await _.send(new S.PutBucketPolicyCommand({Bucket:t,Policy:JSON.stringify(
|
|
@@ -69,12 +69,12 @@ let s=r??{};!(0,E.deepEqual)(s,o??{})&&await pe(e,t,s)};var Se=()=>{(0,de.regist
|
|
|
69
69
|
PutObject","s3:GetObject","s3:DeleteObject"]}]);var be=async e=>{let{state:t,options:r}=e,{resourcePrefix:o,projectName:s}=r,c=`${o}\
|
|
70
70
|
-${s}`;return(0,Pe.createPolicy)(t,{policyName:`${c}-bucket-policy`,policyDocument:N(
|
|
71
71
|
c)})};var Ce=require("@ez4/project/library"),Ee=require("@ez4/storage/library");var Be=require("@ez4/utils"),xe=require("@ez4/stateful");var z=(e,t)=>{let r=(0,Be.toKebabCase)(t.bucketName),o=C(t.bucketName);return(0,xe.attachEntry)(
|
|
72
|
-
e,{type:p,entryId:o,dependencies:[],parameters:{...t,bucketName:r}})};var
|
|
73
|
-
|
|
72
|
+
e,{type:p,entryId:o,dependencies:[],parameters:{...t,bucketName:r}})};var we=require("node:fs/promises"),x=require("node:path"),Re=require("@ez4/aws-bucket"),
|
|
73
|
+
je=async(e,t,r)=>{let o=(0,x.join)(process.cwd(),r),s=await(0,we.readdir)(o,{withFileTypes:!0,
|
|
74
74
|
recursive:!0});for(let c of s){if(!c.isFile())continue;let d=(0,x.join)(c.parentPath,
|
|
75
|
-
c.name),O=(0,x.relative)(o,d);(0,
|
|
75
|
+
c.name),O=(0,x.relative)(o,d);(0,Re.createBucketObject)(e,t,{objectKey:O,filePath:d})}};var Oe=async e=>{let{state:t,service:r,options:o}=e;if(!(0,Ee.isBucketService)(r))
|
|
76
76
|
return;let{autoExpireDays:s,localPath:c,cors:d}=r,O=z(t,{bucketName:(0,Ce.getServiceName)(
|
|
77
|
-
r,o),autoExpireDays:s,localPath:c,cors:d});c&&await
|
|
77
|
+
r,o),autoExpireDays:s,localPath:c,cors:d});c&&await je(t,O,c)};var ve=require("@ez4/storage/library"),Te=require("@ez4/project/library"),he=async e=>{
|
|
78
78
|
let{service:t,options:r}=e;return(0,ve.isBucketService)(t)?{constructor:`make('${(0,Te.getServiceName)(
|
|
79
79
|
t,r)}')`,module:"Client",from:"@ez4/aws-bucket/client"}:null};var De=!1,gt=()=>{De||((0,Ne.registerTriggers)(),(0,ze.registerTriggers)(),(0,Ie.registerTriggers)(),
|
|
80
80
|
(0,Le.createTrigger)("@ez4/aws-bucket",{"deploy:prepareExecutionPolicy":be,"depl\
|
package/dist/main.mjs
CHANGED
|
@@ -3,9 +3,9 @@ import{registerTriggers as gt}from"@ez4/storage/library";import{createTrigger as
|
|
|
3
3
|
deepEqual as T}from"@ez4/utils";import{getTagList as se,Logger as p}from"@ez4/aws-common";import{CreateBucketCommand as ce,
|
|
4
4
|
DeleteBucketCommand as ae,PutBucketTaggingCommand as ne,PutBucketCorsCommand as ie,
|
|
5
5
|
DeleteBucketCorsCommand as pe,PutBucketLifecycleConfigurationCommand as me,DeleteBucketLifecycleCommand as ue,
|
|
6
|
-
ExpirationStatus as ye,S3Client as le}from"@aws-sdk/client-s3";var a="AWS:S3/Bucket",n="aws:s3.bucket";var m=new le({}),
|
|
7
|
-
send(new ce({Bucket:t})),{bucketName:t}},
|
|
8
|
-
new ne({Bucket:e,Tagging:{TagSet:se({...t,ManagedBy:"EZ4"})}}))},
|
|
6
|
+
ExpirationStatus as ye,S3Client as le}from"@aws-sdk/client-s3";var a="AWS:S3/Bucket",n="aws:s3.bucket";var m=new le({}),w=async e=>{let{bucketName:t}=e;return p.logCreate(a,t),await m.
|
|
7
|
+
send(new ce({Bucket:t})),{bucketName:t}},R=async(e,t)=>{p.logTag(a,e),await m.send(
|
|
8
|
+
new ne({Bucket:e,Tagging:{TagSet:se({...t,ManagedBy:"EZ4"})}}))},j=async(e,t)=>{
|
|
9
9
|
p.logUpdate(a,`${e} CORS`),await m.send(new ie({Bucket:e,CORSConfiguration:{CORSRules:[
|
|
10
10
|
{ID:"ID0",AllowedOrigins:t.allowOrigins,AllowedMethods:t.allowMethods,AllowedHeaders:t.
|
|
11
11
|
allowHeaders,ExposeHeaders:t.exposeHeaders,MaxAgeSeconds:t.maxAge}]}}))},C=async e=>{
|
|
@@ -17,18 +17,18 @@ logDelete(a,e),await m.send(new ae({Bucket:e}))};var h=()=>({equals:de,create:D,
|
|
|
17
17
|
result&&e.result.bucketName===t.result?.bucketName,Se=async(e,t)=>{let r={...e.parameters,
|
|
18
18
|
dependencies:e.dependencies},o={...t.parameters,dependencies:t.dependencies},s=ge(
|
|
19
19
|
r,o);if(s.counts)return{...s,name:r.bucketName}},ke=async(e,t)=>{if(t.result)throw new fe(
|
|
20
|
-
a,e.entryId,t.entryId);return D(e)},D=async e=>{let t=e.parameters,{bucketName:r}=await
|
|
21
|
-
t);return await
|
|
22
|
-
Pe=async(e,t)=>{let{result:r,parameters:o}=e;if(!r)return;let s=r.bucketName;await
|
|
23
|
-
|
|
24
|
-
let t=e.result;t&&await v(t.bucketName)},N=async(e,t,r)=>{if(!(t.cors&&
|
|
25
|
-
T(t.cors,r.cors))){if(t.cors)return
|
|
26
|
-
if(t.autoExpireDays!==r?.autoExpireDays){if(t.autoExpireDays)return E(
|
|
27
|
-
if(r?.autoExpireDays)return O(e)}},I=async(e,t,r)=>{let o=t??
|
|
28
|
-
e,o)};var L=()=>{Be(n,h())};import{registerProvider as qe}from"@ez4/aws-common";import{ReplaceResourceError as he}from"@ez4/aws-common";import{EntryNotFoundError as xe,getEntry as
|
|
29
|
-
import{hashData as
|
|
20
|
+
a,e.entryId,t.entryId);return D(e)},D=async e=>{let t=e.parameters,{bucketName:r}=await w(
|
|
21
|
+
t);return await N(r,t,void 0),await z(r,t,void 0),await I(r,t.tags,void 0),{bucketName:r}},
|
|
22
|
+
Pe=async(e,t)=>{let{result:r,parameters:o}=e;if(!r)return;let s=r.bucketName;await N(
|
|
23
|
+
s,o,t.parameters),await z(s,o,t.parameters),await I(s,o.tags,t.parameters.tags)},
|
|
24
|
+
be=async e=>{let t=e.result;t&&await v(t.bucketName)},N=async(e,t,r)=>{if(!(t.cors&&
|
|
25
|
+
r?.cors&&T(t.cors,r.cors))){if(t.cors)return j(e,t.cors);if(r?.cors)return C(e)}},
|
|
26
|
+
z=async(e,t,r)=>{if(t.autoExpireDays!==r?.autoExpireDays){if(t.autoExpireDays)return E(
|
|
27
|
+
e,t.autoExpireDays);if(r?.autoExpireDays)return O(e)}},I=async(e,t,r)=>{let o=t??
|
|
28
|
+
{};!T(o,r??{})&&await R(e,o)};var L=()=>{Be(n,h())};import{registerProvider as qe}from"@ez4/aws-common";import{ReplaceResourceError as he}from"@ez4/aws-common";import{EntryNotFoundError as xe,getEntry as we}from"@ez4/stateful";import{IncompleteResourceError as Re}from"@ez4/aws-common";
|
|
29
|
+
import{hashData as je,toKebabCase as Ce}from"@ez4/utils";var Ee=e=>e.type===n,k=e=>je(n,Ce(e)),Mt=(e,t)=>{let r=we(e,k(t));if(!Ee(r))throw new xe(
|
|
30
30
|
r.entryId);return r},g=(e,t,r)=>{let o=r.getDependencies(n).at(0)?.result;if(!o?.
|
|
31
|
-
bucketName)throw new
|
|
31
|
+
bucketName)throw new Re(e,t,"bucketName");return o.bucketName};import{Logger as q}from"@ez4/aws-common";import{S3Client as Oe,PutBucketPolicyCommand as ve,
|
|
32
32
|
DeleteBucketPolicyCommand as Te}from"@aws-sdk/client-s3";var f="AWS:S3/Policy",u="aws:s3.policy";var K=new Oe({}),H=async e=>{let{bucketName:t,role:r}=e;return q.logCreate(f,t),
|
|
33
33
|
await K.send(new ve({Bucket:t,Policy:JSON.stringify(r)})),{bucketName:t}},M=async e=>{
|
|
34
34
|
q.logDelete(f,e),await K.send(new Te({Bucket:e}))};var $=()=>({equals:De,create:A,replace:ze,preview:Ne,update:Ie,delete:Le}),De=(e,t)=>!!e.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ez4/aws-bucket",
|
|
3
3
|
"description": "EZ4: Self-managed AWS S3 bucket provider",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.13.0",
|
|
5
5
|
"author": "Silas B.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"type": "module",
|
|
@@ -47,12 +47,12 @@
|
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@aws-sdk/client-s3": "^3.614.0",
|
|
49
49
|
"@aws-sdk/s3-request-presigner": "^3.651.0",
|
|
50
|
-
"@ez4/aws-common": "^0.
|
|
51
|
-
"@ez4/aws-identity": "^0.
|
|
52
|
-
"@ez4/project": "^0.
|
|
53
|
-
"@ez4/stateful": "^0.
|
|
54
|
-
"@ez4/storage": "^0.
|
|
55
|
-
"@ez4/utils": "^0.
|
|
50
|
+
"@ez4/aws-common": "^0.13.0",
|
|
51
|
+
"@ez4/aws-identity": "^0.13.0",
|
|
52
|
+
"@ez4/project": "^0.13.0",
|
|
53
|
+
"@ez4/stateful": "^0.13.0",
|
|
54
|
+
"@ez4/storage": "^0.13.0",
|
|
55
|
+
"@ez4/utils": "^0.13.0",
|
|
56
56
|
"mime": "^3.0.0"
|
|
57
57
|
}
|
|
58
58
|
}
|