diff --git a/cdn/src/util/S3Storage.ts b/cdn/src/util/S3Storage.ts
index df5bc19c..c4066817 100644
--- a/cdn/src/util/S3Storage.ts
+++ b/cdn/src/util/S3Storage.ts
@@ -5,30 +5,30 @@ import { Storage } from "./Storage";
const readableToBuffer = (readable: Readable): Promise<Buffer> =>
new Promise((resolve, reject) => {
const chunks: Buffer[] = [];
- readable.on('data', chunk => chunks.push(chunk));
- readable.on('error', reject);
- readable.on('end', () => resolve(Buffer.concat(chunks)));
+ readable.on("data", (chunk) => chunks.push(chunk));
+ readable.on("error", reject);
+ readable.on("end", () => resolve(Buffer.concat(chunks)));
});
export class S3Storage implements Storage {
public constructor(
private client: S3,
private bucket: string,
- private basePath?: string,
+ private basePath?: string
) {}
/**
* Always return a string, to ensure consistency.
*/
get bucketBasePath() {
- return this.basePath ?? '';
+ return this.basePath ?? "";
}
async set(path: string, data: Buffer): Promise<void> {
await this.client.putObject({
Bucket: this.bucket,
Key: `${this.bucketBasePath}${path}`,
- Body: data
+ Body: data,
});
}
@@ -36,15 +36,15 @@ export class S3Storage implements Storage {
try {
const s3Object = await this.client.getObject({
Bucket: this.bucket,
- Key: `${this.bucketBasePath ?? ''}${path}`
+ Key: `${this.bucketBasePath ?? ""}${path}`,
});
if (!s3Object.Body) return null;
const body = s3Object.Body;
- return await readableToBuffer(<Readable> body);
- } catch(err) {
+ return await readableToBuffer(<Readable>body);
+ } catch (err) {
console.error(`[CDN] Unable to get S3 object at path ${path}.`);
console.error(err);
return null;
@@ -54,7 +54,7 @@ export class S3Storage implements Storage {
async delete(path: string): Promise<void> {
await this.client.deleteObject({
Bucket: this.bucket,
- Key: `${this.bucketBasePath}${path}`
+ Key: `${this.bucketBasePath}${path}`,
});
}
}
diff --git a/cdn/src/util/Storage.ts b/cdn/src/util/Storage.ts
index 3332f21c..f45fe44a 100644
--- a/cdn/src/util/Storage.ts
+++ b/cdn/src/util/Storage.ts
@@ -2,7 +2,7 @@ import { FileStorage } from "./FileStorage";
import path from "path";
import fse from "fs-extra";
import { bgCyan, black } from "nanocolors";
-import { S3 } from '@aws-sdk/client-s3';
+import { S3 } from "@aws-sdk/client-s3";
import { S3Storage } from "./S3Storage";
process.cwd();
@@ -27,17 +27,20 @@ if (process.env.STORAGE_PROVIDER === "file" || !process.env.STORAGE_PROVIDER) {
storage = new FileStorage();
} else if (process.env.STORAGE_PROVIDER === "s3") {
- const
- region = process.env.STORAGE_REGION,
+ const region = process.env.STORAGE_REGION,
bucket = process.env.STORAGE_BUCKET;
if (!region) {
- console.error(`[CDN] You must provide a region when using the S3 storage provider.`);
+ console.error(
+ `[CDN] You must provide a region when using the S3 storage provider.`
+ );
process.exit(1);
}
if (!bucket) {
- console.error(`[CDN] You must provide a bucket when using the S3 storage provider.`);
+ console.error(
+ `[CDN] You must provide a bucket when using the S3 storage provider.`
+ );
process.exit(1);
}
@@ -45,8 +48,10 @@ if (process.env.STORAGE_PROVIDER === "file" || !process.env.STORAGE_PROVIDER) {
let location = process.env.STORAGE_LOCATION;
if (!location) {
- console.warn(`[CDN] STORAGE_LOCATION unconfigured for S3 provider, defaulting to the bucket root...`);
- location = undefined;
+ console.warn(
+ `[CDN] STORAGE_LOCATION unconfigured for S3 provider, defaulting to the bucket root...`
+ );
+ location = undefined;
}
const client = new S3({ region });
|