@kensio/yulin 0.9.0 → 0.11.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/serve/controller/sim-service-controller.d.ts +1 -1
- package/dist/serve/controller/sim-service-controller.d.ts.map +1 -1
- package/dist/serve/http/sim-aws-local-server.js +1 -1
- package/dist/serve/http/sim-aws-local-server.js.map +1 -1
- package/dist/serve/http/sim-aws-local-url.d.ts +4 -0
- package/dist/serve/http/sim-aws-local-url.d.ts.map +1 -1
- package/dist/serve/http/sim-aws-local-url.js +9 -1
- package/dist/serve/http/sim-aws-local-url.js.map +1 -1
- package/dist/serve/resolve/sim-aws-local-service-resolver.d.ts +1 -0
- package/dist/serve/resolve/sim-aws-local-service-resolver.d.ts.map +1 -1
- package/dist/serve/resolve/sim-aws-local-service-resolver.js +27 -1
- package/dist/serve/resolve/sim-aws-local-service-resolver.js.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts +8 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.js +10 -1
- package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
- package/dist/service/aws/sim-aws-account.d.ts +3 -0
- package/dist/service/aws/sim-aws-account.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account.js +3 -0
- package/dist/service/aws/sim-aws-account.js.map +1 -1
- package/dist/service/aws/sim-aws-region.d.ts +4 -1
- package/dist/service/aws/sim-aws-region.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-region.js +4 -1
- package/dist/service/aws/sim-aws-region.js.map +1 -1
- package/dist/service/aws/sim-aws.d.ts +16 -0
- package/dist/service/aws/sim-aws.d.ts.map +1 -1
- package/dist/service/aws/sim-aws.js +28 -0
- package/dist/service/aws/sim-aws.js.map +1 -1
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts +14 -0
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts.map +1 -0
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.js +13 -0
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.js.map +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +29 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js +114 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -0
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts +20 -0
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts.map +1 -0
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.js +41 -0
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.js.map +1 -0
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +47 -0
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts.map +1 -0
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +64 -0
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js.map +1 -0
- package/dist/service/cloudfront/install/install-sim-cloudfront.d.ts +18 -0
- package/dist/service/cloudfront/install/install-sim-cloudfront.d.ts.map +1 -0
- package/dist/service/cloudfront/install/install-sim-cloudfront.js +43 -0
- package/dist/service/cloudfront/install/install-sim-cloudfront.js.map +1 -0
- package/dist/service/cloudfront/origin/sim-cloudfront-origin.d.ts +8 -0
- package/dist/service/cloudfront/origin/sim-cloudfront-origin.d.ts.map +1 -0
- package/dist/service/cloudfront/origin/sim-cloudfront-origin.js +2 -0
- package/dist/service/cloudfront/origin/sim-cloudfront-origin.js.map +1 -0
- package/dist/service/cloudfront/origin/sim-cloudfront-req-res.d.ts +8 -0
- package/dist/service/cloudfront/origin/sim-cloudfront-req-res.d.ts.map +1 -0
- package/dist/service/cloudfront/origin/sim-cloudfront-req-res.js +2 -0
- package/dist/service/cloudfront/origin/sim-cloudfront-req-res.js.map +1 -0
- package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.d.ts +38 -0
- package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.d.ts.map +1 -0
- package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.js +108 -0
- package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.js.map +1 -0
- package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.d.ts +17 -0
- package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.d.ts.map +1 -0
- package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.js +44 -0
- package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.js.map +1 -0
- package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.d.ts +26 -0
- package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.d.ts.map +1 -0
- package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.js +61 -0
- package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.js.map +1 -0
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.d.ts +26 -0
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.d.ts.map +1 -0
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js +58 -0
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js.map +1 -0
- package/dist/service/cloudfront/sim-cloud-front-registry.d.ts +22 -0
- package/dist/service/cloudfront/sim-cloud-front-registry.d.ts.map +1 -0
- package/dist/service/cloudfront/sim-cloud-front-registry.js +36 -0
- package/dist/service/cloudfront/sim-cloud-front-registry.js.map +1 -0
- package/dist/service/cloudfront/sim-cloudfront.d.ts +24 -0
- package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -0
- package/dist/service/cloudfront/sim-cloudfront.js +32 -0
- package/dist/service/cloudfront/sim-cloudfront.js.map +1 -0
- package/dist/service/dynamodb/command/create-table/create-table.handler.js +1 -1
- package/dist/service/dynamodb/command/create-table/create-table.handler.js.map +1 -1
- package/dist/service/dynamodb/table/dynamodb-key-schema.js +1 -1
- package/dist/service/dynamodb/table/dynamodb-key-schema.js.map +1 -1
- package/dist/service/dynamodb/table/dynamodb-table.js +1 -1
- package/dist/service/dynamodb/table/dynamodb-table.js.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts +5 -2
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket.js +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket.js.map +1 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js +1 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js.map +1 -1
- package/dist/service/s3/command/get-object/get-object.handler.js +1 -1
- package/dist/service/s3/command/get-object/get-object.handler.js.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.js +1 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.js.map +1 -1
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts.map +1 -1
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js +1 -2
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js.map +1 -1
- package/dist/service/s3/command/put-object/put-object.handler.js +1 -1
- package/dist/service/s3/command/put-object/put-object.handler.js.map +1 -1
- package/dist/service/s3/install/install-sim-s3.d.ts +7 -0
- package/dist/service/s3/install/install-sim-s3.d.ts.map +1 -1
- package/dist/service/s3/install/install-sim-s3.js +22 -3
- package/dist/service/s3/install/install-sim-s3.js.map +1 -1
- package/dist/service/s3/serve/sim-s3-controller.d.ts +1 -1
- package/dist/service/s3/serve/sim-s3-controller.d.ts.map +1 -1
- package/dist/service/s3/serve/sim-s3-controller.js +3 -3
- package/dist/service/s3/serve/sim-s3-controller.js.map +1 -1
- package/dist/service/s3/sim-s3-global-registry.d.ts +1 -0
- package/dist/service/s3/sim-s3-global-registry.d.ts.map +1 -1
- package/dist/service/s3/sim-s3-global-registry.js +1 -0
- package/dist/service/s3/sim-s3-global-registry.js.map +1 -1
- package/dist/service/s3/sim-s3.js +1 -1
- package/dist/service/s3/sim-s3.js.map +1 -1
- package/dist/service/s3/storage/s3-filesystem-storage.d.ts +1 -0
- package/dist/service/s3/storage/s3-filesystem-storage.d.ts.map +1 -1
- package/dist/service/s3/storage/s3-filesystem-storage.js +10 -3
- package/dist/service/s3/storage/s3-filesystem-storage.js.map +1 -1
- package/dist/util/defined/defined.d.ts +9 -0
- package/dist/util/defined/defined.d.ts.map +1 -0
- package/dist/util/defined/defined.js +21 -0
- package/dist/util/defined/defined.js.map +1 -0
- package/package.json +9 -4
|
@@ -4,17 +4,17 @@ import { SimS3GetObjectController } from "./sim-s3-get-obj-controller.js";
|
|
|
4
4
|
* Localhost HTTP controller for simulated S3.
|
|
5
5
|
*/
|
|
6
6
|
export class SimS3ServiceController {
|
|
7
|
-
|
|
7
|
+
s3Router;
|
|
8
8
|
getObjectController;
|
|
9
9
|
constructor(simAws) {
|
|
10
|
-
this.
|
|
10
|
+
this.s3Router = new SimS3RequestRouter(simAws);
|
|
11
11
|
this.getObjectController = new SimS3GetObjectController();
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
14
|
* Handle an HTTP request routed to a simulated S3 Bucket.
|
|
15
15
|
*/
|
|
16
16
|
async handleRequest(target, request) {
|
|
17
|
-
const route = this.
|
|
17
|
+
const route = this.s3Router.route(target, request);
|
|
18
18
|
if (route.action === "failure") {
|
|
19
19
|
return new Response(route.message, {
|
|
20
20
|
status: route.statusCode,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-controller.js","sourceRoot":"","sources":["../../../../src/service/s3/serve/sim-s3-controller.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAChB,
|
|
1
|
+
{"version":3,"file":"sim-s3-controller.js","sourceRoot":"","sources":["../../../../src/service/s3/serve/sim-s3-controller.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAChB,QAAQ,CAAqB;IAC7B,mBAAmB,CAA2B;IAE/D,YAAY,MAA6B;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,mBAAmB,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,MAA2B,EAC3B,OAAgB;QAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEnD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE;gBACjC,MAAM,EAAE,KAAK,CAAC,UAAU;gBACxB,OAAO,EAAE;oBACP,cAAc,EAAE,2BAA2B;iBAC5C;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAC3C,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,SAAS,EACf,OAAO,CACR,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -5,6 +5,7 @@ import type { SimAwsAccountRegionScope } from "../aws/sim-aws-account-region-sco
|
|
|
5
5
|
* Note that despite the label "global", this is still encapsulated.
|
|
6
6
|
* SimAws manages a singleton of this registry, but it can be freely
|
|
7
7
|
* instantiated for isolated state.
|
|
8
|
+
* The word "global" here refers to the cross-region aspect of S3 Buckets.
|
|
8
9
|
*/
|
|
9
10
|
export declare class SimS3GlobalRegistry {
|
|
10
11
|
private readonly bucketScopes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-global-registry.d.ts","sourceRoot":"","sources":["../../../src/service/s3/sim-s3-global-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAEvF
|
|
1
|
+
{"version":3,"file":"sim-s3-global-registry.d.ts","sourceRoot":"","sources":["../../../src/service/s3/sim-s3-global-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAEvF;;;;;;GAMG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAGzB;IAEJ;;OAEG;IACH,cAAc,CACZ,UAAU,EAAE,eAAe,EAC3B,KAAK,EAAE,wBAAwB,GAC9B,IAAI;IAIP;;OAEG;IACH,eAAe,CACb,UAAU,EAAE,eAAe,GAC1B,wBAAwB,GAAG,SAAS;CAGxC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Note that despite the label "global", this is still encapsulated.
|
|
4
4
|
* SimAws manages a singleton of this registry, but it can be freely
|
|
5
5
|
* instantiated for isolated state.
|
|
6
|
+
* The word "global" here refers to the cross-region aspect of S3 Buckets.
|
|
6
7
|
*/
|
|
7
8
|
export class SimS3GlobalRegistry {
|
|
8
9
|
bucketScopes = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-global-registry.js","sourceRoot":"","sources":["../../../src/service/s3/sim-s3-global-registry.ts"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"sim-s3-global-registry.js","sourceRoot":"","sources":["../../../src/service/s3/sim-s3-global-registry.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,MAAM,OAAO,mBAAmB;IACb,YAAY,GAAG,IAAI,GAAG,EAGpC,CAAC;IAEJ;;OAEG;IACH,cAAc,CACZ,UAA2B,EAC3B,KAA+B;QAE/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,eAAe,CACb,UAA2B;QAE3B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;CACF"}
|
|
@@ -6,7 +6,7 @@ import { ListObjectsCommandHandler } from "./command/list-objects/list-objects.h
|
|
|
6
6
|
import { SimS3GlobalRegistry } from "./sim-s3-global-registry.js";
|
|
7
7
|
import { simAwsAccountRegionScopeFactory, } from "../aws/sim-aws-account-region-scope.js";
|
|
8
8
|
import { PutBucketWebsiteCommandHandler } from "./command/put-bucket-website/put-bucket-website.handler.js";
|
|
9
|
-
import { assertDefined } from "../../util/defined.js";
|
|
9
|
+
import { assertDefined } from "../../util/defined/defined.js";
|
|
10
10
|
import { FilesystemS3BucketStorage } from "./storage/s3-filesystem-storage.js";
|
|
11
11
|
/**
|
|
12
12
|
* Simulated S3. Handles SDK commands. Emulates AWS behaviour and state.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3.js","sourceRoot":"","sources":["../../../src/service/s3/sim-s3.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAEL,+BAA+B,GAChC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,8BAA8B,EAAE,MAAM,4DAA4D,CAAC;AAC5G,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"sim-s3.js","sourceRoot":"","sources":["../../../src/service/s3/sim-s3.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,7 @@ export declare class FilesystemS3BucketStorage implements SimS3BucketStorage {
|
|
|
44
44
|
private contentTypeForObjectKey;
|
|
45
45
|
private assertSafeDirectoryPath;
|
|
46
46
|
private assertSafeObjectKey;
|
|
47
|
+
private assertSafeObjectKeyPath;
|
|
47
48
|
private pathContainsParentDirectorySegment;
|
|
48
49
|
private isAllowedObjectKeyExtension;
|
|
49
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-filesystem-storage.d.ts","sourceRoot":"","sources":["../../../../src/service/s3/storage/s3-filesystem-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAuB,MAAM,wBAAwB,CAAC;AAK1E;;;;;;;GAOG;AACH,qBAAa,yBAA0B,YAAW,kBAAkB;IAClE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAoB;gBAGxD,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,gCAAqC;IAQhD;;OAEG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"s3-filesystem-storage.d.ts","sourceRoot":"","sources":["../../../../src/service/s3/storage/s3-filesystem-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAuB,MAAM,wBAAwB,CAAC;AAK1E;;;;;;;GAOG;AACH,qBAAa,yBAA0B,YAAW,kBAAkB;IAClE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAoB;gBAGxD,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,gCAAqC;IAQhD;;OAEG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IA0B9D;;OAEG;IACG,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAmB1D;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IASnD;;;;OAIG;IACH,kBAAkB,IAAI,OAAO;IAI7B,OAAO,CAAC,oBAAoB;YAkBd,cAAc;YAoBd,yBAAyB;IAiCvC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAuE/B,OAAO,CAAC,uBAAuB;IAuC/B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,kCAAkC;IAI1C,OAAO,CAAC,2BAA2B;CAGpC;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;OAEG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpD"}
|
|
@@ -23,6 +23,10 @@ export class FilesystemS3BucketStorage {
|
|
|
23
23
|
* Get a simulated Object from a file in the directory.
|
|
24
24
|
*/
|
|
25
25
|
async getObject(key) {
|
|
26
|
+
if (!this.isAllowedObjectKeyExtension(key)) {
|
|
27
|
+
this.assertSafeObjectKeyPath(key);
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
26
30
|
const filePath = this.filePathForObjectKey(key);
|
|
27
31
|
try {
|
|
28
32
|
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
@@ -230,15 +234,18 @@ export class FilesystemS3BucketStorage {
|
|
|
230
234
|
}
|
|
231
235
|
}
|
|
232
236
|
assertSafeObjectKey(key) {
|
|
237
|
+
this.assertSafeObjectKeyPath(key);
|
|
238
|
+
if (!this.isAllowedObjectKeyExtension(key)) {
|
|
239
|
+
throw new Error(`S3 Object key has unsupported file extension: ${key}`);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
assertSafeObjectKeyPath(key) {
|
|
233
243
|
if (path.isAbsolute(key)) {
|
|
234
244
|
throw new Error(`S3 Object key must not be an absolute path: ${key}`);
|
|
235
245
|
}
|
|
236
246
|
if (this.pathContainsParentDirectorySegment(key)) {
|
|
237
247
|
throw new Error(`S3 Object key must not contain '..': ${key}`);
|
|
238
248
|
}
|
|
239
|
-
if (!this.isAllowedObjectKeyExtension(key)) {
|
|
240
|
-
throw new Error(`S3 Object key has unsupported file extension: ${key}`);
|
|
241
|
-
}
|
|
242
249
|
}
|
|
243
250
|
pathContainsParentDirectorySegment(value) {
|
|
244
251
|
return value.split(/[\\/]/u).includes("..");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-filesystem-storage.js","sourceRoot":"","sources":["../../../../src/service/s3/storage/s3-filesystem-storage.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"s3-filesystem-storage.js","sourceRoot":"","sources":["../../../../src/service/s3/storage/s3-filesystem-storage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7E;;;;;;;GAOG;AACH,MAAM,OAAO,yBAAyB;IACnB,aAAa,CAAS;IACtB,qBAAqB,CAAoB;IAE1D,YACE,aAAqB,EACrB,UAA4C,EAAE;QAE9C,IAAI,CAAC,qBAAqB;YACxB,OAAO,CAAC,qBAAqB,IAAI,4BAA4B,CAAC;QAChE,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,GAAW;QACzB,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAEhD,IAAI,CAAC;YACH,mEAAmE;YACnE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACtC,OAAO,IAAI,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IACE,KAAK,YAAY,KAAK;gBACtB,MAAM,IAAI,KAAK;gBACf,KAAK,CAAC,IAAI,KAAK,QAAQ,EACvB,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,oBAAoB;YACpB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAAe;QAC/B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE/C,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,UAAU;aACP,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aAC/D,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAEzC,2DAA2D;YAC3D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;YACzD,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CACL,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,MAAmB;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEvD,mEAAmE;QACnE,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,mEAAmE;QACnE,MAAM,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,kBAAkB;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,oBAAoB,CAAC,GAAW;QACtC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAE9B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAEvD,iEAAiE;QACjE,IACE,QAAQ,KAAK,IAAI,CAAC,aAAa;YAC/B,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EACxD,CAAC;YACD,MAAM,IAAI,KAAK,CACb,oDAAoD,GAAG,EAAE,CAC1D,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI,CAAC;YACH,mEAAmE;YACnE,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IACE,KAAK,YAAY,KAAK;gBACtB,MAAM,IAAI,KAAK;gBACf,KAAK,CAAC,IAAI,KAAK,QAAQ,EACvB,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,oBAAoB;YACpB,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClE,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACrC,aAAqB;QAErB,mEAAmE;QACnE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,iBAAiB,GAAwB,EAAE,CAAC;QAElD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAEvD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC;gBAClE,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBACnB,MAAM,GAAG,GAAG,IAAI;qBACb,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC;qBACvC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;qBACf,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEb,IAAI,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAExD,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,GAAW;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAEtD,wCAAwC;QACxC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,IAAI,mBAAmB,EAAE,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,mBAAmB,CAAC;YAC7B,cAAc,EAAE,WAAW;SAC5B,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,uBAAuB,CAAC,GAAW;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAElD,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,OAAO,+BAA+B,CAAC;YACzC,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,OAAO,WAAW,CAAC;YACrB,CAAC;YACD,KAAK,OAAO,CAAC;YACb,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,OAAO,WAAW,CAAC;YACrB,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,OAAO,cAAc,CAAC;YACxB,CAAC;YACD,KAAK,OAAO,CAAC;YACb,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,KAAK,KAAK,CAAC;YACX,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,OAAO,iBAAiB,CAAC;YAC3B,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,OAAO,kBAAkB,CAAC;YAC5B,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,OAAO,kBAAkB,CAAC;YAC5B,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,OAAO,WAAW,CAAC;YACrB,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,OAAO,eAAe,CAAC;YACzB,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,OAAO,iBAAiB,CAAC;YAC3B,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,OAAO,WAAW,CAAC;YACrB,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,OAAO,iBAAiB,CAAC;YAC3B,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,oBAAoB;gBACpB,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,aAAqB;QACnD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,0DAA0D,aAAa,EAAE,CAC1E,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,kCAAkC,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,+DAA+D,aAAa,EAAE,CAC/E,CAAC;QACJ,CAAC;QAED,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC1D,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAE9D,IAAI,qBAAqB,KAAK,mBAAmB,CAAC,IAAI,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CACb,uEAAuE,aAAa,EAAE,CACvF,CAAC;QACJ,CAAC;QAED,IAAI,qBAAqB,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CACb,6EAA6E,aAAa,EAAE,CAC7F,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAE3D,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CACb,wDAAwD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CACrF,IAAI,CACL,UAAU,aAAa,EAAE,CAC3B,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,GAAW;QACrC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,iDAAiD,GAAG,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,GAAW;QACzC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,+CAA+C,GAAG,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAEO,kCAAkC,CAAC,KAAa;QACtD,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAEO,2BAA2B,CAAC,GAAW;QAC7C,OAAO,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1E,CAAC;CACF;AAYD;;GAEG;AACH,MAAM,4BAA4B,GAAG;IACnC,QAAQ;IACR,OAAO;IACP,MAAM;IACN,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,KAAK;CACG,CAAC;AAEX;;;GAGG;AACH,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC;IAC1C,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;CACP,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Require that a given value is defined.
|
|
3
|
+
*/
|
|
4
|
+
export declare function assertDefined<T>(value: T | undefined, description: string): asserts value is T;
|
|
5
|
+
/**
|
|
6
|
+
* Require that a given value is not null.
|
|
7
|
+
*/
|
|
8
|
+
export declare function assertNotNull<T>(value: T | null, description: string): asserts value is T;
|
|
9
|
+
//# sourceMappingURL=defined.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defined.d.ts","sourceRoot":"","sources":["../../../src/util/defined/defined.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,KAAK,EAAE,CAAC,GAAG,SAAS,EACpB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,KAAK,IAAI,CAAC,CAIpB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,KAAK,EAAE,CAAC,GAAG,IAAI,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,KAAK,IAAI,CAAC,CAIpB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
class RequiredValueUndefinedError extends Error {
|
|
2
|
+
}
|
|
3
|
+
class RequiredValueNullError extends Error {
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Require that a given value is defined.
|
|
7
|
+
*/
|
|
8
|
+
export function assertDefined(value, description) {
|
|
9
|
+
if (value === undefined) {
|
|
10
|
+
throw new RequiredValueUndefinedError(`${description} must be defined`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Require that a given value is not null.
|
|
15
|
+
*/
|
|
16
|
+
export function assertNotNull(value, description) {
|
|
17
|
+
if (value === null) {
|
|
18
|
+
throw new RequiredValueNullError(`${description} must not be null`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=defined.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defined.js","sourceRoot":"","sources":["../../../src/util/defined/defined.ts"],"names":[],"mappings":"AAAA,MAAM,2BAA4B,SAAQ,KAAK;CAE9C;AAED,MAAM,sBAAuB,SAAQ,KAAK;CAEzC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAoB,EACpB,WAAmB;IAEnB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,2BAA2B,CAAC,GAAG,WAAW,kBAAkB,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAe,EACf,WAAmB;IAEnB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,sBAAsB,CAAC,GAAG,WAAW,mBAAmB,CAAC,CAAC;IACtE,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kensio/yulin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "AWS system behaviour simulation for isolated unit testing",
|
|
5
5
|
"repository": "https://github.com/KensioSoftware/yulin",
|
|
6
6
|
"type": "module",
|
|
@@ -49,10 +49,11 @@
|
|
|
49
49
|
"author": "Kensio Software",
|
|
50
50
|
"license": "AGPL-3.0",
|
|
51
51
|
"devDependencies": {
|
|
52
|
+
"@aws-sdk/client-cloudfront": "^3.1063.0",
|
|
52
53
|
"@aws-sdk/client-dynamodb": "^3.1057.0",
|
|
53
54
|
"@aws-sdk/client-s3": "^3.1057.0",
|
|
54
55
|
"@eslint/js": "^10.0.1",
|
|
55
|
-
"@kensio/smartass": "^1.
|
|
56
|
+
"@kensio/smartass": "^1.3.0",
|
|
56
57
|
"@smithy/smithy-client": "^4.13.5",
|
|
57
58
|
"@smithy/types": "^4.14.2",
|
|
58
59
|
"@types/eslint-plugin-security": "^3.0.1",
|
|
@@ -70,24 +71,28 @@
|
|
|
70
71
|
"globals": "^17.6.0",
|
|
71
72
|
"jiti": "^2.7.0",
|
|
72
73
|
"prettier": "^3.8.3",
|
|
74
|
+
"typescript": "^6.0.3",
|
|
73
75
|
"typescript-eslint": "^8.60.0",
|
|
74
76
|
"vitest": "^4.1.7"
|
|
75
77
|
},
|
|
76
78
|
"peerDependencies": {
|
|
79
|
+
"@aws-sdk/client-cloudfront": "^3.1063.0",
|
|
77
80
|
"@aws-sdk/client-dynamodb": "^3.1001.0",
|
|
78
81
|
"@aws-sdk/client-s3": "^3.1001.0",
|
|
79
|
-
"@faker-js/faker": "^10.4.0",
|
|
80
82
|
"@smithy/smithy-client": "^4.12.1"
|
|
81
83
|
},
|
|
82
84
|
"peerDependenciesMeta": {
|
|
83
85
|
"@smithy/smithy-client": {
|
|
84
86
|
"optional": true
|
|
85
87
|
},
|
|
86
|
-
"@aws-sdk/client-
|
|
88
|
+
"@aws-sdk/client-cloudfront": {
|
|
87
89
|
"optional": true
|
|
88
90
|
},
|
|
89
91
|
"@aws-sdk/client-dynamodb": {
|
|
90
92
|
"optional": true
|
|
93
|
+
},
|
|
94
|
+
"@aws-sdk/client-s3": {
|
|
95
|
+
"optional": true
|
|
91
96
|
}
|
|
92
97
|
},
|
|
93
98
|
"dependencies": {
|