medusa-plugin-r2 1.0.2 → 1.1.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.
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@medusajs/types").ModuleProviderExports;
2
+ export default _default;
3
+ export * from './provider';
@@ -1,8 +1,23 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
17
  const utils_1 = require("@medusajs/framework/utils");
4
18
  const provider_1 = require("./provider");
5
19
  exports.default = (0, utils_1.ModuleProvider)(utils_1.Modules.FILE, {
6
20
  services: [provider_1.R2FileProvider]
7
21
  });
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3IyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQW1FO0FBQ25FLHlDQUEyQztBQUUzQyxrQkFBZSxJQUFBLHNCQUFjLEVBQUMsZUFBTyxDQUFDLElBQUksRUFBRTtJQUMzQyxRQUFRLEVBQUUsQ0FBQyx5QkFBYyxDQUFDO0NBQzFCLENBQUMsQ0FBQSJ9
22
+ __exportStar(require("./provider"), exports);
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3IyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFBbUU7QUFDbkUseUNBQTJDO0FBRTNDLGtCQUFlLElBQUEsc0JBQWMsRUFBQyxlQUFPLENBQUMsSUFBSSxFQUFFO0lBQzNDLFFBQVEsRUFBRSxDQUFDLHlCQUFjLENBQUM7Q0FDMUIsQ0FBQyxDQUFBO0FBRUYsNkNBQTBCIn0=
@@ -0,0 +1,52 @@
1
+ import { S3Client } from '@aws-sdk/client-s3';
2
+ import { FileTypes, Logger } from '@medusajs/framework/types';
3
+ import { AbstractFileProviderService } from '@medusajs/framework/utils';
4
+ import { Readable, Writable } from 'stream';
5
+ type InjectedDependencies = {
6
+ logger: Logger;
7
+ };
8
+ interface R2FileProviderConfig {
9
+ region: string;
10
+ bucket: string;
11
+ accessKeyId?: string;
12
+ secretAccessKey?: string;
13
+ fileUrl: string;
14
+ endpoint?: string;
15
+ globalPrefix?: string;
16
+ cacheControl?: string;
17
+ downloadFileDuration?: number;
18
+ additionalClientConfig?: Record<string, any>;
19
+ privateRegion?: string;
20
+ privateBucket?: string;
21
+ privateAccessKeyId?: string;
22
+ privateSecretAccessKey?: string;
23
+ privateEndpoint?: string;
24
+ }
25
+ export declare class R2FileProvider extends AbstractFileProviderService {
26
+ static identifier: string;
27
+ protected config_: R2FileProviderConfig;
28
+ protected logger_: Logger;
29
+ protected client_: S3Client;
30
+ protected privateClient_: S3Client;
31
+ constructor({ logger }: InjectedDependencies, options: R2FileProviderConfig);
32
+ protected getClient(priv?: boolean): S3Client;
33
+ upload(file: FileTypes.ProviderUploadFileDTO & {
34
+ prefix?: string;
35
+ }): Promise<FileTypes.ProviderFileResultDTO>;
36
+ getUploadStream(fileData: FileTypes.ProviderUploadStreamDTO & {
37
+ prefix?: string;
38
+ }): Promise<{
39
+ writeStream: Writable;
40
+ promise: Promise<FileTypes.ProviderFileResultDTO>;
41
+ url: string;
42
+ fileKey: string;
43
+ }>;
44
+ delete(files: FileTypes.ProviderDeleteFileDTO | FileTypes.ProviderDeleteFileDTO[]): Promise<void>;
45
+ deleteByUrl(url: string): Promise<void>;
46
+ getPresignedDownloadUrl(fileData: FileTypes.ProviderGetFileDTO): Promise<string>;
47
+ getPresignedUploadUrl(fileData: FileTypes.ProviderGetPresignedUploadUrlDTO): Promise<FileTypes.ProviderFileResultDTO>;
48
+ getDownloadStream(file: FileTypes.ProviderGetFileDTO): Promise<Readable>;
49
+ getAsBuffer(file: FileTypes.ProviderGetFileDTO): Promise<Buffer>;
50
+ private getFileKey;
51
+ }
52
+ export {};
@@ -15,6 +15,14 @@ const DEFAULT_UPLOAD_EXPIRATION_DURATION_SECONDS = 60 * 60;
15
15
  class R2FileProvider extends utils_1.AbstractFileProviderService {
16
16
  constructor({ logger }, options) {
17
17
  super();
18
+ this.getFileKey = (url) => {
19
+ const parsedUrl = new URL(url);
20
+ const basePath = new URL(this.config_.fileUrl).pathname;
21
+ const fullPath = parsedUrl.pathname;
22
+ const fileKeyPath = fullPath.startsWith(basePath) ? fullPath.slice(basePath.length) : fullPath;
23
+ const fileKey = fileKeyPath.startsWith('/') ? fileKeyPath.slice(1) : fileKeyPath;
24
+ return decodeURIComponent(fileKey);
25
+ };
18
26
  if (!options.accessKeyId || !options.secretAccessKey) {
19
27
  throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Access key ID and secret access key are required when using access key authentication`);
20
28
  }
@@ -168,19 +176,47 @@ class R2FileProvider extends utils_1.AbstractFileProviderService {
168
176
  }
169
177
  }));
170
178
  }
171
- else {
172
- const client = files.access === 'public' ? this.client_ : this.privateClient_;
173
- await client.send(new client_s3_1.DeleteObjectCommand({
174
- Bucket: files.access === 'public' ? this.config_.bucket : this.config_.privateBucket,
179
+ else if (files.access === 'public') {
180
+ await this.client_.send(new client_s3_1.DeleteObjectCommand({
181
+ Bucket: this.config_.bucket,
182
+ Key: files.fileKey
183
+ }));
184
+ }
185
+ else if (files.access === 'private') {
186
+ await this.privateClient_.send(new client_s3_1.DeleteObjectCommand({
187
+ Bucket: this.config_.privateBucket,
175
188
  Key: files.fileKey
176
189
  }));
177
190
  }
191
+ else {
192
+ // Access not specified — check which bucket has the file
193
+ try {
194
+ await this.client_.send(new client_s3_1.HeadObjectCommand({
195
+ Bucket: this.config_.bucket,
196
+ Key: files.fileKey
197
+ }));
198
+ await this.client_.send(new client_s3_1.DeleteObjectCommand({
199
+ Bucket: this.config_.bucket,
200
+ Key: files.fileKey
201
+ }));
202
+ }
203
+ catch {
204
+ await this.privateClient_.send(new client_s3_1.DeleteObjectCommand({
205
+ Bucket: this.config_.privateBucket,
206
+ Key: files.fileKey
207
+ }));
208
+ }
209
+ }
178
210
  }
179
211
  catch (e) {
180
212
  // TODO: Rethrow depending on the error (eg. a file not found error is fine, but a failed request should be rethrown)
181
213
  this.logger_.error(e);
182
214
  }
183
215
  }
216
+ async deleteByUrl(url) {
217
+ const fileKey = this.getFileKey(url);
218
+ return await this.delete({ fileKey });
219
+ }
184
220
  async getPresignedDownloadUrl(fileData) {
185
221
  // For r2, only the private bucket supports presigned urls
186
222
  if (fileData.access === 'public') {
@@ -244,4 +280,4 @@ class R2FileProvider extends utils_1.AbstractFileProviderService {
244
280
  }
245
281
  exports.R2FileProvider = R2FileProvider;
246
282
  R2FileProvider.identifier = 'r2';
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3IyL3Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtEQU8yQjtBQUMzQixzREFBNkM7QUFDN0Msd0VBQTREO0FBRTVELHFEQUFvRjtBQUNwRixnREFBdUI7QUFDdkIsbUNBQXdEO0FBQ3hELCtCQUEyQjtBQXdCM0IsTUFBTSwwQ0FBMEMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFBO0FBRTFELE1BQWEsY0FBZSxTQUFRLG1DQUEyQjtJQU85RCxZQUFZLEVBQUUsTUFBTSxFQUF3QixFQUFFLE9BQTZCO1FBQzFFLEtBQUssRUFBRSxDQUFBO1FBRVAsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdEQsTUFBTSxJQUFJLG1CQUFXLENBQ3BCLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsdUZBQXVGLENBQ3ZGLENBQUE7UUFDRixDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNkLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtZQUN0QixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDdEIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO1lBQ2hDLGVBQWUsRUFBRSxPQUFPLENBQUMsZUFBZTtZQUN4QyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1lBQzFCLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWSxJQUFJLEVBQUU7WUFDeEMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZLElBQUksMEJBQTBCO1lBQ2hFLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxFQUFFLEdBQUcsRUFBRTtZQUM3RCxzQkFBc0IsRUFBRSxPQUFPLENBQUMsc0JBQXNCLElBQUks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
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3IyL3Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtEQVEyQjtBQUMzQixzREFBNkM7QUFDN0Msd0VBQTREO0FBRTVELHFEQUFvRjtBQUNwRixnREFBdUI7QUFDdkIsbUNBQXdEO0FBQ3hELCtCQUEyQjtBQXdCM0IsTUFBTSwwQ0FBMEMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFBO0FBRTFELE1BQWEsY0FBZSxTQUFRLG1DQUEyQjtJQU85RCxZQUFZLEVBQUUsTUFBTSxFQUF3QixFQUFFLE9BQTZCO1FBQzFFLEtBQUssRUFBRSxDQUFBO1FBMlRBLGVBQVUsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQzlCLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFBO1lBQ3ZELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUE7WUFFbkMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQTtZQUM5RixNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUE7WUFDaEYsT0FBTyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNuQyxDQUFDLENBQUE7UUFqVUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxX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
package/README.md CHANGED
@@ -23,7 +23,7 @@ The R2 api is based on the S3 api, enabling the official S3 file provider to som
23
23
 
24
24
  Therefore, using the S3 file provider for R2 meant it did not support the full provider interface. For a very basic Medusa project, this might not be a problem. But for projects needing to use features like private files and presigned urls, it is a problem.
25
25
 
26
- This R2-specific file provider handles the differences by accepting two buckets in it's configuration. One is meant for public access and will automatically be used any time the ACL is set to public. The other bucket is meant for private files and supports presigned url generation.
26
+ This R2-specific file provider handles the differences by accepting two buckets in its configuration. One is meant for public access and will automatically be used any time the ACL is set to public. The other bucket is meant for private files and supports presigned url generation.
27
27
 
28
28
  ## Installation
29
29
 
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "medusa-plugin-r2",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "R2 file storage provider for Medusa v2",
5
5
  "author": "Lacey Pevey",
6
6
  "license": "MIT",
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "https://github.com/pevey/medusa-plugin-r2"
9
+ "url": "https://github.com/pevey/medusa-plugins"
10
10
  },
11
11
  "homepage": "https://pevey.com/medusa-plugin-r2",
12
12
  "files": [
@@ -14,65 +14,75 @@
14
14
  ],
15
15
  "exports": {
16
16
  "./package.json": "./package.json",
17
- "./.medusa/server/src/modules/*": "./.medusa/server/src/modules/*/index.js",
18
- "./modules/*": "./.medusa/server/src/modules/*/index.js",
19
- "./providers/*": "./.medusa/server/src/providers/*/index.js",
20
- "./*": "./.medusa/server/src/*.js",
21
- ".": "./.medusa/server/src/providers/r2/index.js"
17
+ "./.medusa/server/src/modules/*": {
18
+ "types": "./.medusa/server/src/modules/*/index.d.ts",
19
+ "default": "./.medusa/server/src/modules/*/index.js"
20
+ },
21
+ "./modules/*": {
22
+ "types": "./.medusa/server/src/modules/*/index.d.ts",
23
+ "default": "./.medusa/server/src/modules/*/index.js"
24
+ },
25
+ "./providers/*": {
26
+ "types": "./.medusa/server/src/providers/*/index.d.ts",
27
+ "default": "./.medusa/server/src/providers/*/index.js"
28
+ },
29
+ "./*": {
30
+ "types": "./.medusa/server/src/*.d.ts",
31
+ "default": "./.medusa/server/src/*.js"
32
+ },
33
+ ".": {
34
+ "types": "./.medusa/server/src/providers/r2/index.d.ts",
35
+ "default": "./.medusa/server/src/providers/r2/index.js"
36
+ }
22
37
  },
23
38
  "keywords": [
39
+ "medusa-plugin-integration",
40
+ "medusa-v2",
24
41
  "medusa",
25
- "plugin",
26
42
  "medusa-plugin-r2",
27
43
  "medusa r2",
28
- "medusa-v2",
29
44
  "r2",
30
45
  "cloudflare r2",
31
- "file",
32
46
  "file storage",
33
47
  "file provider"
34
48
  ],
35
49
  "scripts": {
36
- "prebuild": "node ./scripts/check-node-version.cjs",
37
50
  "build": "medusa plugin:build",
38
51
  "dev": "medusa plugin:develop",
39
- "prepublishOnly": "node ./scripts/check-node-version.cjs && medusa plugin:build",
40
- "test:unit": "TEST_TYPE=unit NODE_OPTIONS=--experimental-vm-modules jest --silent --runInBand --detectOpenHandles --forceExit"
52
+ "prepublishOnly": "medusa plugin:build",
53
+ "test:unit": "TEST_TYPE=unit NODE_OPTIONS=--experimental-vm-modules jest --silent --runInBand --detectOpenHandles --forceExit",
54
+ "test:integration": "NODE_OPTIONS=--experimental-vm-modules jest --silent --runInBand --detectOpenHandles --forceExit -- integration-tests"
41
55
  },
42
56
  "devDependencies": {
43
- "@medusajs/admin-sdk": "2.12.4",
44
- "@medusajs/cli": "2.12.4",
45
- "@medusajs/framework": "2.12.4",
46
- "@medusajs/icons": "2.12.4",
47
- "@medusajs/medusa": "2.12.4",
48
- "@medusajs/test-utils": "2.12.4",
49
- "@medusajs/ui": "4.0.25",
50
- "@swc/core": "^1.7.28",
51
- "@swc/jest": "^0.2.39",
52
- "@types/jest": "^30.0.0",
53
- "@types/node": "^20.0.0",
54
- "@types/react": "^18.3.2",
55
- "@types/react-dom": "^18.2.25",
56
- "jest": "^29.7.0",
57
- "prop-types": "^15.8.1",
58
- "react": "^18.2.0",
59
- "react-dom": "^18.2.0",
60
- "ts-node": "^10.9.2",
61
- "typescript": "^5.6.2",
62
- "vite": "^5.2.11",
63
- "yalc": "^1.0.0-pre.53"
57
+ "@medusajs/admin-sdk": "2.14.2",
58
+ "@medusajs/cli": "2.14.2",
59
+ "@medusajs/framework": "2.14.2",
60
+ "@medusajs/icons": "2.14.2",
61
+ "@medusajs/ui": "4.1.9",
62
+ "@swc/core": "1.7.28",
63
+ "@swc/jest": "0.2.39",
64
+ "@types/jest": "30.0.0",
65
+ "@types/node": "20.0.0",
66
+ "@types/react": "18.3.2",
67
+ "@types/react-dom": "18.2.25",
68
+ "axios": "1.7.0",
69
+ "jest": "29.7.0",
70
+ "prop-types": "15.8.1",
71
+ "react": "18.3.1",
72
+ "react-dom": "18.3.1",
73
+ "ts-node": "10.9.2",
74
+ "typescript": "5.6.2",
75
+ "vite": "5.4.14",
76
+ "yalc": "1.0.0-pre.53"
64
77
  },
65
78
  "peerDependencies": {
66
- "@medusajs/admin-sdk": "2.12.4",
67
- "@medusajs/cli": "2.12.4",
68
- "@medusajs/framework": "2.12.4",
69
- "@medusajs/icons": "2.12.4",
70
- "@medusajs/medusa": "2.12.4",
71
- "@medusajs/test-utils": "2.12.4",
72
- "@medusajs/ui": "4.0.25"
79
+ "@medusajs/framework": "2.14.2",
80
+ "@medusajs/js-sdk": "2.14.2",
81
+ "@medusajs/medusa": "2.14.2"
73
82
  },
74
83
  "engines": {
75
84
  "node": ">=20"
76
85
  },
77
- "packageManager": "yarn@4.13.0+sha512.5c20ba010c99815433e5c8453112165e673f1c7948d8d2b267f4b5e52097538658388ebc9f9580656d9b75c5cc996f990f611f99304a2197d4c56d21eea370e7"
86
+ "packageManager": "yarn@4.13.0+sha512.5c20ba010c99815433e5c8453112165e673f1c7948d8d2b267f4b5e52097538658388ebc9f9580656d9b75c5cc996f990f611f99304a2197d4c56d21eea370e7",
87
+ "gitHead": "35f16164d0d17e6281b2801a9f1eb355b5035571"
78
88
  }