@medusajs/file-local-next 0.0.3-snapshot-20240718083016 → 0.0.3-snapshot-20240719133408

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/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  import { ModuleProviderExports } from "@medusajs/types";
2
2
  declare const providerExport: ModuleProviderExports;
3
3
  export default providerExport;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAKvD,QAAA,MAAM,cAAc,EAAE,qBAErB,CAAA;AAED,eAAe,cAAc,CAAA"}
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var local_file_1 = require("./services/local-file");
4
- var services = [local_file_1.LocalFileService];
5
- var providerExport = {
6
- services: services,
3
+ const local_file_1 = require("./services/local-file");
4
+ const services = [local_file_1.LocalFileService];
5
+ const providerExport = {
6
+ services,
7
7
  };
8
8
  exports.default = providerExport;
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxvREFBd0Q7QUFFeEQsSUFBTSxRQUFRLEdBQUcsQ0FBQyw2QkFBZ0IsQ0FBQyxDQUFBO0FBRW5DLElBQU0sY0FBYyxHQUEwQjtJQUM1QyxRQUFRLFVBQUE7Q0FDVCxDQUFBO0FBRUQsa0JBQWUsY0FBYyxDQUFBIn0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxzREFBd0Q7QUFFeEQsTUFBTSxRQUFRLEdBQUcsQ0FBQyw2QkFBZ0IsQ0FBQyxDQUFBO0FBRW5DLE1BQU0sY0FBYyxHQUEwQjtJQUM1QyxRQUFRO0NBQ1QsQ0FBQTtBQUVELGtCQUFlLGNBQWMsQ0FBQSJ9
@@ -3,12 +3,14 @@ import { AbstractFileProviderService } from "@medusajs/utils";
3
3
  export declare class LocalFileService extends AbstractFileProviderService {
4
4
  static identifier: string;
5
5
  protected uploadDir_: string;
6
+ protected privateUploadDir_: string;
6
7
  protected backendUrl_: string;
7
8
  constructor(_: any, options: LocalFileServiceOptions);
8
9
  upload(file: FileTypes.ProviderUploadFileDTO): Promise<FileTypes.ProviderFileResultDTO>;
9
10
  delete(file: FileTypes.ProviderDeleteFileDTO): Promise<void>;
10
- getPresignedDownloadUrl(fileData: FileTypes.ProviderGetFileDTO): Promise<string>;
11
+ getPresignedDownloadUrl(file: FileTypes.ProviderGetFileDTO): Promise<string>;
11
12
  private getUploadFilePath;
12
13
  private getUploadFileUrl;
13
14
  private ensureDirExists;
14
15
  }
16
+ //# sourceMappingURL=local-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-file.d.ts","sourceRoot":"","sources":["../../src/services/local-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAE,2BAA2B,EAAe,MAAM,iBAAiB,CAAA;AAI1E,qBAAa,gBAAiB,SAAQ,2BAA2B;IAC/D,MAAM,CAAC,UAAU,SAAY;IAC7B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAA;IAC5B,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAA;IACnC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAA;gBAEjB,CAAC,KAAA,EAAE,OAAO,EAAE,uBAAuB;IAQzC,MAAM,CACV,IAAI,EAAE,SAAS,CAAC,qBAAqB,GACpC,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC;IAqCrC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB5D,uBAAuB,CAC3B,IAAI,EAAE,SAAS,CAAC,kBAAkB,GACjC,OAAO,CAAC,MAAM,CAAC;IAsBlB,OAAO,CAAC,iBAAiB,CAExB;IAED,OAAO,CAAC,gBAAgB,CAIvB;YAEa,eAAe;CAU9B"}
@@ -1,179 +1,92 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
- return new (P || (P = Promise))(function (resolve, reject) {
20
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
- step((generator = generator.apply(thisArg, _arguments || [])).next());
24
- });
25
- };
26
- var __generator = (this && this.__generator) || function (thisArg, body) {
27
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
- function verb(n) { return function (v) { return step([n, v]); }; }
30
- function step(op) {
31
- if (f) throw new TypeError("Generator is already executing.");
32
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
- if (y = 0, t) op = [op[0] & 2, t.value];
35
- switch (op[0]) {
36
- case 0: case 1: t = op; break;
37
- case 4: _.label++; return { value: op[1], done: false };
38
- case 5: _.label++; y = op[1]; op = [0]; continue;
39
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
- default:
41
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
- if (t[2]) _.ops.pop();
46
- _.trys.pop(); continue;
47
- }
48
- op = body.call(thisArg, _);
49
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
- }
52
- };
53
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
54
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
55
4
  };
56
5
  Object.defineProperty(exports, "__esModule", { value: true });
57
6
  exports.LocalFileService = void 0;
58
- var utils_1 = require("@medusajs/utils");
59
- var promises_1 = __importDefault(require("fs/promises"));
60
- var path_1 = __importDefault(require("path"));
61
- var LocalFileService = /** @class */ (function (_super) {
62
- __extends(LocalFileService, _super);
63
- function LocalFileService(_, options) {
64
- var _this = _super.call(this) || this;
65
- _this.getUploadFilePath = function (fileKey) {
66
- return path_1.default.join(_this.uploadDir_, fileKey);
7
+ const utils_1 = require("@medusajs/utils");
8
+ const promises_1 = __importDefault(require("fs/promises"));
9
+ const path_1 = __importDefault(require("path"));
10
+ class LocalFileService extends utils_1.AbstractFileProviderService {
11
+ constructor(_, options) {
12
+ super();
13
+ this.getUploadFilePath = (baseDir, fileKey) => {
14
+ return path_1.default.join(baseDir, fileKey);
15
+ };
16
+ this.getUploadFileUrl = (fileKey) => {
17
+ const baseUrl = new URL(this.backendUrl_);
18
+ baseUrl.pathname = path_1.default.join(baseUrl.pathname, fileKey);
19
+ return baseUrl.href;
67
20
  };
68
- _this.getUploadFileUrl = function (fileKey) {
69
- return path_1.default.join(_this.backendUrl_, _this.getUploadFilePath(fileKey));
21
+ this.uploadDir_ = options?.upload_dir || path_1.default.join(process.cwd(), "static");
22
+ this.privateUploadDir_ =
23
+ options?.private_upload_dir || path_1.default.join(process.cwd(), "private");
24
+ this.backendUrl_ = options?.backend_url || "http://localhost:9000/static";
25
+ }
26
+ async upload(file) {
27
+ if (!file) {
28
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `No file provided`);
29
+ }
30
+ if (!file.filename) {
31
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `No filename provided`);
32
+ }
33
+ const parsedFilename = path_1.default.parse(file.filename);
34
+ const baseDir = file.access === "public" ? this.uploadDir_ : this.privateUploadDir_;
35
+ const dir = await this.ensureDirExists(baseDir, parsedFilename.dir);
36
+ const fileKey = path_1.default.join(parsedFilename.dir,
37
+ // We append "private" to the file key so deletions and presigned URLs can know which folder to look into
38
+ `${Date.now()}-${parsedFilename.base}${file.access === "public" ? "" : "-private"}`);
39
+ const filePath = this.getUploadFilePath(baseDir, fileKey);
40
+ const fileUrl = this.getUploadFileUrl(fileKey);
41
+ const content = Buffer.from(file.content, "binary");
42
+ await promises_1.default.writeFile(filePath, content);
43
+ return {
44
+ key: fileKey,
45
+ url: fileUrl,
70
46
  };
71
- _this.uploadDir_ = (options === null || options === void 0 ? void 0 : options.upload_dir) || "uploads";
72
- _this.backendUrl_ = (options === null || options === void 0 ? void 0 : options.backend_url) || "http://localhost:9000";
73
- return _this;
74
47
  }
75
- LocalFileService.prototype.upload = function (file) {
76
- return __awaiter(this, void 0, void 0, function () {
77
- var parsedFilename, fileKey, filePath, fileUrl, content;
78
- return __generator(this, function (_a) {
79
- switch (_a.label) {
80
- case 0:
81
- if (!file) {
82
- throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "No file provided");
83
- }
84
- if (!file.filename) {
85
- throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "No filename provided");
86
- }
87
- parsedFilename = path_1.default.parse(file.filename);
88
- if (parsedFilename.dir) {
89
- this.ensureDirExists(parsedFilename.dir);
90
- }
91
- fileKey = path_1.default.join(parsedFilename.dir, "".concat(Date.now(), "-").concat(parsedFilename.base));
92
- filePath = this.getUploadFilePath(fileKey);
93
- fileUrl = this.getUploadFileUrl(fileKey);
94
- content = Buffer.from(file.content, "binary");
95
- return [4 /*yield*/, promises_1.default.writeFile(filePath, content)];
96
- case 1:
97
- _a.sent();
98
- return [2 /*return*/, {
99
- key: fileKey,
100
- url: fileUrl,
101
- }];
102
- }
103
- });
104
- });
105
- };
106
- LocalFileService.prototype.delete = function (file) {
107
- return __awaiter(this, void 0, void 0, function () {
108
- var filePath, e_1;
109
- return __generator(this, function (_a) {
110
- switch (_a.label) {
111
- case 0:
112
- filePath = this.getUploadFilePath(file.fileKey);
113
- _a.label = 1;
114
- case 1:
115
- _a.trys.push([1, 4, , 5]);
116
- return [4 /*yield*/, promises_1.default.access(filePath, promises_1.default.constants.F_OK)];
117
- case 2:
118
- _a.sent();
119
- return [4 /*yield*/, promises_1.default.unlink(filePath)];
120
- case 3:
121
- _a.sent();
122
- return [3 /*break*/, 5];
123
- case 4:
124
- e_1 = _a.sent();
125
- return [3 /*break*/, 5];
126
- case 5: return [2 /*return*/];
127
- }
128
- });
129
- });
130
- };
131
- LocalFileService.prototype.getPresignedDownloadUrl = function (fileData) {
132
- return __awaiter(this, void 0, void 0, function () {
133
- var _a;
134
- return __generator(this, function (_b) {
135
- switch (_b.label) {
136
- case 0:
137
- _b.trys.push([0, 2, , 3]);
138
- return [4 /*yield*/, promises_1.default.access(this.getUploadFilePath(fileData.fileKey), promises_1.default.constants.F_OK)];
139
- case 1:
140
- _b.sent();
141
- return [3 /*break*/, 3];
142
- case 2:
143
- _a = _b.sent();
144
- throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, "File with key ".concat(fileData.fileKey, " not found"));
145
- case 3: return [2 /*return*/, this.getUploadFileUrl(fileData.fileKey)];
146
- }
147
- });
148
- });
149
- };
150
- LocalFileService.prototype.ensureDirExists = function (dirPath) {
151
- return __awaiter(this, void 0, void 0, function () {
152
- var relativePath, e_2;
153
- return __generator(this, function (_a) {
154
- switch (_a.label) {
155
- case 0:
156
- relativePath = path_1.default.join(this.uploadDir_, dirPath);
157
- _a.label = 1;
158
- case 1:
159
- _a.trys.push([1, 3, , 5]);
160
- return [4 /*yield*/, promises_1.default.access(relativePath, promises_1.default.constants.F_OK)];
161
- case 2:
162
- _a.sent();
163
- return [3 /*break*/, 5];
164
- case 3:
165
- e_2 = _a.sent();
166
- return [4 /*yield*/, promises_1.default.mkdir(relativePath, { recursive: true })];
167
- case 4:
168
- _a.sent();
169
- return [3 /*break*/, 5];
170
- case 5: return [2 /*return*/];
171
- }
172
- });
173
- });
174
- };
175
- LocalFileService.identifier = "localfs";
176
- return LocalFileService;
177
- }(utils_1.AbstractFileProviderService));
48
+ async delete(file) {
49
+ const baseDir = file.fileKey.endsWith("-private")
50
+ ? this.privateUploadDir_
51
+ : this.uploadDir_;
52
+ const filePath = this.getUploadFilePath(baseDir, file.fileKey);
53
+ try {
54
+ await promises_1.default.access(filePath, promises_1.default.constants.F_OK);
55
+ await promises_1.default.unlink(filePath);
56
+ }
57
+ catch (e) {
58
+ // The file does not exist, so it's a noop.
59
+ }
60
+ return;
61
+ }
62
+ // For private files, we simply return the file path, which can then be loaded manually by the backend.
63
+ // The local file provider doesn't support presigned URLs for private files.
64
+ async getPresignedDownloadUrl(file) {
65
+ const isPrivate = file.fileKey.endsWith("-private");
66
+ const baseDir = isPrivate ? this.privateUploadDir_ : this.uploadDir_;
67
+ const filePath = this.getUploadFilePath(baseDir, file.fileKey);
68
+ try {
69
+ await promises_1.default.access(filePath, promises_1.default.constants.F_OK);
70
+ }
71
+ catch {
72
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `File with key ${file.fileKey} not found`);
73
+ }
74
+ if (isPrivate) {
75
+ return filePath;
76
+ }
77
+ return this.getUploadFileUrl(file.fileKey);
78
+ }
79
+ async ensureDirExists(baseDir, dirPath) {
80
+ const relativePath = path_1.default.join(baseDir, dirPath);
81
+ try {
82
+ await promises_1.default.access(relativePath, promises_1.default.constants.F_OK);
83
+ }
84
+ catch (e) {
85
+ await promises_1.default.mkdir(relativePath, { recursive: true });
86
+ }
87
+ return relativePath;
88
+ }
89
+ }
178
90
  exports.LocalFileService = LocalFileService;
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9sb2NhbC1maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLHlDQUEwRTtBQUMxRSx5REFBNEI7QUFDNUIsOENBQXVCO0FBRXZCO0lBQXNDLG9DQUEyQjtJQUsvRCwwQkFBWSxDQUFDLEVBQUUsT0FBZ0M7UUFBL0MsWUFDRSxpQkFBTyxTQUdSO1FBcUVPLHVCQUFpQixHQUFHLFVBQUMsT0FBZTtZQUMxQyxPQUFPLGNBQUksQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUM1QyxDQUFDLENBQUE7UUFFTyxzQkFBZ0IsR0FBRyxVQUFDLE9BQWU7WUFDekMsT0FBTyxjQUFJLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7UUFDckUsQ0FBQyxDQUFBO1FBN0VDLEtBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsVUFBVSxLQUFJLFNBQVMsQ0FBQTtRQUNsRCxLQUFJLENBQUMsV0FBVyxHQUFHLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFdBQVcsS0FBSSx1QkFBdUIsQ0FBQTs7SUFDcEUsQ0FBQztJQUVLLGlDQUFNLEdBQVosVUFDRSxJQUFxQzs7Ozs7O3dCQUVyQyxJQUFJLENBQUMsSUFBSSxFQUFFOzRCQUNULE1BQU0sSUFBSSxtQkFBVyxDQUFDLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO3lCQUMxRTt3QkFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTs0QkFDbEIsTUFBTSxJ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
91
+ LocalFileService.identifier = "localfs";
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9sb2NhbC1maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLDJDQUEwRTtBQUMxRSwyREFBNEI7QUFDNUIsZ0RBQXVCO0FBRXZCLE1BQWEsZ0JBQWlCLFNBQVEsbUNBQTJCO0lBTS9ELFlBQVksQ0FBQyxFQUFFLE9BQWdDO1FBQzdDLEtBQUssRUFBRSxDQUFBO1FBd0ZELHNCQUFpQixHQUFHLENBQUMsT0FBZSxFQUFFLE9BQWUsRUFBRSxFQUFFO1lBQy9ELE9BQU8sY0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDcEMsQ0FBQyxDQUFBO1FBRU8scUJBQWdCLEdBQUcsQ0FBQyxPQUFlLEVBQUUsRUFBRTtZQUM3QyxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7WUFDekMsT0FBTyxDQUFDLFFBQVEsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDdkQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFBO1FBQ3JCLENBQUMsQ0FBQTtRQS9GQyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sRUFBRSxVQUFVLElBQUksY0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFDM0UsSUFBSSxDQUFDLGlCQUFpQjtZQUNwQixPQUFPLEVBQUUsa0JBQWtCLElBQUksY0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUE7UUFDcEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLEVBQUUsV0FBVyxJQUFJLDhCQUE4QixDQUFBO0lBQzNFLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUNWLElBQXFDO1FBRXJDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE1BQU0sSUFBSSxtQkFBVyxDQUFDLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO1FBQzNFLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLHNCQUFzQixDQUN2QixDQUFBO1FBQ0gsQ0FBQztRQUVELE1BQU0sY0FBYyxHQUFHLGNBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ2hELE1BQU0sT0FBTyxHQUNYLElBQUksQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUE7UUFDckUsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUE7UUFFbkUsTUFBTSxPQUFPLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FDdkIsY0FBYyxDQUFDLEdBQUc7UUFDbEIseUdBQXlHO1FBQ3pHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLGNBQWMsQ0FBQyxJQUFJLEdBQ2xDLElBQUksQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQ2xDLEVBQUUsQ0FDSCxDQUFBO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUN6RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFOUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBaUIsRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUM3RCxNQUFNLGtCQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUVyQyxPQUFPO1lBQ0wsR0FBRyxFQUFFLE9BQU87WUFDWixHQUFHLEVBQUUsT0FBTztTQUNiLENBQUE7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFxQztRQUNoRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7WUFDL0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUI7WUFDeEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUE7UUFFbkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDOUQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxrQkFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsa0JBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDNUMsTUFBTSxrQkFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUMzQixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLDJDQUEyQztRQUM3QyxDQUFDO1FBRUQsT0FBTTtJQUNSLENBQUM7SUFFRCx1R0FBdUc7SUFDdkcsNEVBQTRFO0lBQzVFLEtBQUssQ0FBQyx1QkFBdUIsQ0FDM0IsSUFBa0M7UUFFbEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbkQsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUE7UUFFcEUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFOUQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxrQkFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsa0JBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDOUMsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLGlCQUFpQixJQUFJLENBQUMsT0FBTyxZQUFZLENBQzFDLENBQUE7UUFDSCxDQUFDO1FBRUQsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLE9BQU8sUUFBUSxDQUFBO1FBQ2pCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDNUMsQ0FBQztJQVlPLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBZSxFQUFFLE9BQWU7UUFDNUQsTUFBTSxZQUFZLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDaEQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxrQkFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsa0JBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDbEQsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLGtCQUFFLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ25ELENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQTtJQUNyQixDQUFDOztBQWxISCw0Q0FtSEM7QUFsSFEsMkJBQVUsR0FBRyxTQUFTLEFBQVosQ0FBWSJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medusajs/file-local-next",
3
- "version": "0.0.3-snapshot-20240718083016",
3
+ "version": "0.0.3-snapshot-20240719133408",
4
4
  "description": "Local filesystem file storage for Medusa",
5
5
  "main": "dist/index.js",
6
6
  "repository": {
@@ -12,7 +12,7 @@
12
12
  "dist"
13
13
  ],
14
14
  "engines": {
15
- "node": ">=16"
15
+ "node": ">=20"
16
16
  },
17
17
  "author": "Medusa",
18
18
  "license": "MIT",
@@ -24,12 +24,12 @@
24
24
  },
25
25
  "devDependencies": {
26
26
  "cross-env": "^5.2.1",
27
- "jest": "^25.5.4",
27
+ "jest": "^29.7.0",
28
28
  "rimraf": "^5.0.1",
29
- "typescript": "^4.9.5"
29
+ "typescript": "^5.3.3"
30
30
  },
31
31
  "dependencies": {
32
- "@medusajs/utils": "1.11.10-snapshot-20240718083016"
32
+ "@medusajs/utils": "1.12.0-snapshot-20240719133408"
33
33
  },
34
34
  "keywords": [
35
35
  "medusa-plugin",