@payloadcms/plugin-cloud-storage 1.0.13 → 1.0.15-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.
Files changed (104) hide show
  1. package/.editorconfig +10 -0
  2. package/.gitignore +248 -0
  3. package/.prettierignore +1 -0
  4. package/.prettierrc.js +8 -0
  5. package/.vscode/launch.json +40 -0
  6. package/.vscode/settings.json +9 -0
  7. package/LICENSE.md +1 -1
  8. package/README.md +25 -3
  9. package/dev/.env +21 -0
  10. package/dev/.env.example +21 -0
  11. package/dev/nodemon.json +8 -0
  12. package/dev/package.json +34 -0
  13. package/dev/src/collections/Media.ts +56 -0
  14. package/dev/src/collections/Users.ts +23 -0
  15. package/dev/src/mocks/fsMock.js +1 -0
  16. package/dev/src/mocks/promisifyMock.js +1 -0
  17. package/dev/src/payload.config.ts +111 -0
  18. package/dev/src/server.ts +26 -0
  19. package/dev/tsconfig.json +20 -0
  20. package/dist/adapters/azure/fileStub.d.ts +2 -0
  21. package/dist/adapters/azure/fileStub.js +4 -0
  22. package/dist/adapters/azure/fileStub.js.map +1 -0
  23. package/dist/adapters/azure/handleUpload.js +16 -1
  24. package/dist/adapters/azure/handleUpload.js.map +1 -1
  25. package/dist/adapters/azure/index.js.map +1 -1
  26. package/dist/adapters/azure/mock.d.ts +6 -0
  27. package/dist/adapters/azure/mock.js +4 -0
  28. package/dist/adapters/azure/mock.js.map +1 -1
  29. package/dist/adapters/azure/staticHandler.js +19 -15
  30. package/dist/adapters/azure/staticHandler.js.map +1 -1
  31. package/dist/adapters/azure/webpack.js +2 -2
  32. package/dist/adapters/azure/webpack.js.map +1 -1
  33. package/dist/adapters/gcs/webpack.js +2 -2
  34. package/dist/adapters/gcs/webpack.js.map +1 -1
  35. package/dist/adapters/s3/fileStub.d.ts +2 -0
  36. package/dist/adapters/s3/fileStub.js +4 -0
  37. package/dist/adapters/s3/fileStub.js.map +1 -0
  38. package/dist/adapters/s3/staticHandler.js +1 -0
  39. package/dist/adapters/s3/staticHandler.js.map +1 -1
  40. package/dist/adapters/s3/webpack.js +2 -2
  41. package/dist/adapters/s3/webpack.js.map +1 -1
  42. package/dist/hooks/afterDelete.js +5 -2
  43. package/dist/hooks/afterDelete.js.map +1 -1
  44. package/dist/hooks/beforeChange.js +36 -8
  45. package/dist/hooks/beforeChange.js.map +1 -1
  46. package/dist/plugin.d.ts +1 -1
  47. package/dist/plugin.js +10 -4
  48. package/dist/plugin.js.map +1 -1
  49. package/dist/types.d.ts +6 -0
  50. package/dist/utilities/getRangeFromHeader.d.ts +6 -0
  51. package/dist/utilities/getRangeFromHeader.js +67 -0
  52. package/dist/utilities/getRangeFromHeader.js.map +1 -0
  53. package/docs/local-dev.md +47 -0
  54. package/eslint-config/index.js +15 -0
  55. package/eslint-config/rules/import.js +38 -0
  56. package/eslint-config/rules/prettier.js +7 -0
  57. package/eslint-config/rules/style.js +21 -0
  58. package/eslint-config/rules/typescript.js +628 -0
  59. package/package.json +7 -4
  60. package/src/adapters/azure/emulator/docker-compose.yml +16 -0
  61. package/src/adapters/azure/fileStub.js +1 -0
  62. package/src/adapters/azure/generateURL.ts +13 -0
  63. package/src/adapters/azure/handleDelete.ts +16 -0
  64. package/src/adapters/azure/handleUpload.ts +41 -0
  65. package/src/adapters/azure/index.ts +48 -0
  66. package/src/adapters/azure/mock.js +13 -0
  67. package/src/adapters/azure/staticHandler.ts +38 -0
  68. package/src/adapters/azure/webpack.ts +24 -0
  69. package/src/adapters/gcs/emulator/docker-compose.yml +15 -0
  70. package/src/adapters/gcs/generateURL.ts +16 -0
  71. package/src/adapters/gcs/handleDelete.ts +16 -0
  72. package/src/adapters/gcs/handleUpload.ts +34 -0
  73. package/src/adapters/gcs/index.ts +37 -0
  74. package/src/adapters/gcs/mock.js +3 -0
  75. package/src/adapters/gcs/staticHandler.ts +34 -0
  76. package/src/adapters/gcs/webpack.ts +21 -0
  77. package/src/adapters/s3/emulator/.localstack/cache/machine.json +1 -0
  78. package/src/adapters/s3/emulator/.localstack/cache/server.test.pem +127 -0
  79. package/src/adapters/s3/emulator/.localstack/cache/server.test.pem.crt +99 -0
  80. package/src/adapters/s3/emulator/.localstack/cache/server.test.pem.key +28 -0
  81. package/src/adapters/s3/emulator/.localstack/cache/service-catalog-2_1_1_dev-1_29_149.pickle +0 -0
  82. package/src/adapters/s3/emulator/docker-compose.yml +15 -0
  83. package/src/adapters/s3/fileStub.js +1 -0
  84. package/src/adapters/s3/generateURL.ts +14 -0
  85. package/src/adapters/s3/handleDelete.ts +17 -0
  86. package/src/adapters/s3/handleUpload.ts +62 -0
  87. package/src/adapters/s3/index.ts +38 -0
  88. package/src/adapters/s3/mock.js +9 -0
  89. package/src/adapters/s3/staticHandler.ts +41 -0
  90. package/src/adapters/s3/webpack.ts +23 -0
  91. package/src/fields/getFields.ts +155 -0
  92. package/src/hooks/afterDelete.ts +35 -0
  93. package/src/hooks/afterRead.ts +38 -0
  94. package/src/hooks/beforeChange.ts +59 -0
  95. package/src/index.ts +1 -0
  96. package/src/plugin.ts +101 -0
  97. package/src/types.ts +79 -0
  98. package/src/utilities/getFilePrefix.ts +26 -0
  99. package/src/utilities/getIncomingFiles.ts +44 -0
  100. package/src/utilities/getRangeFromHeader.ts +27 -0
  101. package/src/webpack.ts +46 -0
  102. package/tsconfig.json +23 -0
  103. package/yarn-error.log +8163 -0
  104. package/yarn.lock +8062 -0
@@ -0,0 +1,26 @@
1
+ import express from 'express'
2
+ import payload from 'payload'
3
+
4
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
5
+ require('dotenv').config()
6
+
7
+ const app = express()
8
+
9
+ // Redirect root to Admin panel
10
+ app.get('/', (_, res) => {
11
+ res.redirect('/admin')
12
+ })
13
+
14
+ // Initialize Payload
15
+ payload.init({
16
+ secret: process.env.PAYLOAD_SECRET,
17
+ mongoURL: process.env.MONGODB_URI,
18
+ express: app,
19
+ onInit: () => {
20
+ payload.logger.info(`Payload Admin URL: ${payload.getAdminURL()}`)
21
+ },
22
+ })
23
+
24
+ // Add your own express routes here
25
+
26
+ app.listen(3000)
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es5",
4
+ "lib": [
5
+ "dom",
6
+ "dom.iterable",
7
+ "esnext"
8
+ ],
9
+ "strict": false,
10
+ "esModuleInterop": true,
11
+ "skipLibCheck": true,
12
+ "outDir": "./dist",
13
+ "rootDir": "../",
14
+ "jsx": "react",
15
+ "sourceMap": true
16
+ },
17
+ "ts-node": {
18
+ "transpileOnly": true
19
+ }
20
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: "file-stub";
2
+ export default _default;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = 'file-stub';
4
+ //# sourceMappingURL=fileStub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileStub.js","sourceRoot":"","sources":["../../../src/adapters/azure/fileStub.js"],"names":[],"mappings":";;AAAA,kBAAe,WAAW,CAAA"}
@@ -41,22 +41,37 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
42
  exports.getHandleUpload = void 0;
43
43
  var path_1 = __importDefault(require("path"));
44
+ var fs_1 = __importDefault(require("fs"));
45
+ var stream_1 = require("stream");
46
+ var abort_controller_1 = require("@azure/abort-controller");
47
+ var multipartThreshold = 1024 * 1024 * 50; // 50MB
44
48
  var getHandleUpload = function (_a) {
45
49
  var getStorageClient = _a.getStorageClient, _b = _a.prefix, prefix = _b === void 0 ? '' : _b;
46
50
  return function (_a) {
47
51
  var data = _a.data, file = _a.file;
48
52
  return __awaiter(void 0, void 0, void 0, function () {
49
- var blockBlobClient;
53
+ var blockBlobClient, fileBufferOrStream;
50
54
  return __generator(this, function (_b) {
51
55
  switch (_b.label) {
52
56
  case 0:
53
57
  blockBlobClient = getStorageClient().getBlockBlobClient(path_1.default.posix.join(prefix, file.filename));
58
+ if (!(!file.tempFilePath && file.buffer.length > 0 && file.buffer.length < multipartThreshold)) return [3 /*break*/, 2];
54
59
  return [4 /*yield*/, blockBlobClient.upload(file.buffer, file.buffer.byteLength, {
55
60
  blobHTTPHeaders: { blobContentType: file.mimeType },
56
61
  })];
57
62
  case 1:
58
63
  _b.sent();
59
64
  return [2 /*return*/, data];
65
+ case 2:
66
+ fileBufferOrStream = file.tempFilePath
67
+ ? fs_1.default.createReadStream(file.tempFilePath)
68
+ : stream_1.Readable.from(file.buffer);
69
+ return [4 /*yield*/, blockBlobClient.uploadStream(fileBufferOrStream, 4 * 1024 * 1024, 4, {
70
+ abortSignal: abort_controller_1.AbortController.timeout(30 * 60 * 1000),
71
+ })];
72
+ case 3:
73
+ _b.sent();
74
+ return [2 /*return*/, data];
60
75
  }
61
76
  });
62
77
  });
@@ -1 +1 @@
1
- {"version":3,"file":"handleUpload.js","sourceRoot":"","sources":["../../../src/adapters/azure/handleUpload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAWhB,IAAM,eAAe,GAAG,UAAC,EAAuC;QAArC,gBAAgB,sBAAA,EAAE,cAAW,EAAX,MAAM,mBAAG,EAAE,KAAA;IAC7D,OAAO,UAAO,EAAc;YAAZ,IAAI,UAAA,EAAE,IAAI,UAAA;;;;;;wBAClB,eAAe,GAAG,gBAAgB,EAAE,CAAC,kBAAkB,CAC3D,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CACvC,CAAA;wBAED,qBAAM,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;gCAChE,eAAe,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE;6BACpD,CAAC,EAAA;;wBAFF,SAEE,CAAA;wBAEF,sBAAO,IAAI,EAAA;;;;KACZ,CAAA;AACH,CAAC,CAAA;AAZY,QAAA,eAAe,mBAY3B"}
1
+ {"version":3,"file":"handleUpload.js","sourceRoot":"","sources":["../../../src/adapters/azure/handleUpload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AACvB,0CAAmB;AACnB,iCAAiC;AAEjC,4DAAyD;AAUzD,IAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,CAAA,CAAC,OAAO;AAC5C,IAAM,eAAe,GAAG,UAAC,EAAuC;QAArC,gBAAgB,sBAAA,EAAE,cAAW,EAAX,MAAM,mBAAG,EAAE,KAAA;IAC7D,OAAO,UAAO,EAAc;YAAZ,IAAI,UAAA,EAAE,IAAI,UAAA;;;;;;wBAClB,eAAe,GAAG,gBAAgB,EAAE,CAAC,kBAAkB,CAC3D,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CACvC,CAAA;6BAGG,CAAA,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,kBAAkB,CAAA,EAAvF,wBAAuF;wBACzF,qBAAM,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;gCAChE,eAAe,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE;6BACpD,CAAC,EAAA;;wBAFF,SAEE,CAAA;wBAEF,sBAAO,IAAI,EAAA;;wBAGP,kBAAkB,GAAa,IAAI,CAAC,YAAY;4BACpD,CAAC,CAAC,YAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC;4BACxC,CAAC,CAAC,iBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;wBAE9B,qBAAM,eAAe,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,EAAE;gCACzE,WAAW,EAAE,kCAAe,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;6BACrD,CAAC,EAAA;;wBAFF,SAEE,CAAA;wBAEF,sBAAO,IAAI,EAAA;;;;KACZ,CAAA;AACH,CAAC,CAAA;AAzBY,QAAA,eAAe,mBAyB3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/azure/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oDAAwE;AAExE,iDAA4C;AAC5C,6CAA8C;AAC9C,+CAAgD;AAChD,+CAAgD;AAChD,qCAA+C;AASxC,IAAM,uBAAuB,GAAG,UAAC,EAKjC;QAJL,gBAAgB,sBAAA,EAChB,oBAAoB,0BAAA,EACpB,aAAa,mBAAA,EACb,OAAO,aAAA;IAEP,IAAI,aAAa,GAA2B,IAAI,CAAA;IAChD,IAAM,gBAAgB,GAAG;QACvB,IAAI,aAAa;YAAE,OAAO,aAAa,CAAA;QACvC,IAAM,iBAAiB,GAAG,gCAAiB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;QAClF,OAAO,CAAC,aAAa,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAA;IAC9E,CAAC,CAAA;IAED,IAAM,0BAA0B,GAAG;QACjC,gBAAgB,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC1D,CAAC,CAAA;IAED,OAAO,UAAC,EAAsB;YAApB,UAAU,gBAAA,EAAE,MAAM,YAAA;QAC1B,kBACE,YAAY,EAAE,IAAA,8BAAe,EAAC;gBAC5B,UAAU,YAAA;gBACV,gBAAgB,kBAAA;gBAChB,MAAM,QAAA;aACP,CAAC,EACF,YAAY,EAAE,IAAA,8BAAe,EAAC,EAAE,UAAU,YAAA,EAAE,gBAAgB,kBAAA,EAAE,CAAC,EAC/D,WAAW,EAAE,IAAA,4BAAc,EAAC,EAAE,aAAa,eAAA,EAAE,OAAO,SAAA,EAAE,CAAC,EACvD,aAAa,EAAE,IAAA,0BAAU,EAAC,EAAE,gBAAgB,kBAAA,EAAE,UAAU,YAAA,EAAE,CAAC,EAC3D,OAAO,EAAE,6BAAmB,IACzB,CAAC,oBAAoB,IAAI,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,EACpE;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AA/BY,QAAA,uBAAuB,2BA+BnC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/azure/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,oDAAuD;AAEvD,iDAA4C;AAC5C,6CAA8C;AAC9C,+CAAgD;AAChD,+CAAgD;AAChD,qCAA+C;AASxC,IAAM,uBAAuB,GAAG,UAAC,EAKjC;QAJL,gBAAgB,sBAAA,EAChB,oBAAoB,0BAAA,EACpB,aAAa,mBAAA,EACb,OAAO,aAAA;IAEP,IAAI,aAAa,GAA2B,IAAI,CAAA;IAChD,IAAM,gBAAgB,GAAG;QACvB,IAAI,aAAa;YAAE,OAAO,aAAa,CAAA;QACvC,IAAM,iBAAiB,GAAG,gCAAiB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;QAClF,OAAO,CAAC,aAAa,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAA;IAC9E,CAAC,CAAA;IAED,IAAM,0BAA0B,GAAG;QACjC,gBAAgB,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC1D,CAAC,CAAA;IAED,OAAO,UAAC,EAAsB;YAApB,UAAU,gBAAA,EAAE,MAAM,YAAA;QAC1B,kBACE,YAAY,EAAE,IAAA,8BAAe,EAAC;gBAC5B,UAAU,YAAA;gBACV,gBAAgB,kBAAA;gBAChB,MAAM,QAAA;aACP,CAAC,EACF,YAAY,EAAE,IAAA,8BAAe,EAAC,EAAE,UAAU,YAAA,EAAE,gBAAgB,kBAAA,EAAE,CAAC,EAC/D,WAAW,EAAE,IAAA,4BAAc,EAAC,EAAE,aAAa,eAAA,EAAE,OAAO,SAAA,EAAE,CAAC,EACvD,aAAa,EAAE,IAAA,0BAAU,EAAC,EAAE,gBAAgB,kBAAA,EAAE,UAAU,YAAA,EAAE,CAAC,EAC3D,OAAO,EAAE,6BAAmB,IACzB,CAAC,oBAAoB,IAAI,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,EACpE;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AA/BY,QAAA,uBAAuB,2BA+BnC"}
@@ -5,3 +5,9 @@ export namespace BlobServiceClient {
5
5
  };
6
6
  };
7
7
  }
8
+ export namespace AbortController {
9
+ function timeout(): null;
10
+ }
11
+ export namespace Readable {
12
+ function from(): null;
13
+ }
@@ -6,4 +6,8 @@ exports.BlobServiceClient = {
6
6
  }); },
7
7
  }); },
8
8
  };
9
+ exports.AbortController = {
10
+ timeout: function () { return null; },
11
+ };
12
+ exports.Readable = { from: function () { return null; } };
9
13
  //# sourceMappingURL=mock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../../src/adapters/azure/mock.js"],"names":[],"mappings":";AAAA,OAAO,CAAC,iBAAiB,GAAG;IAC1B,oBAAoB,EAAE,cAAM,OAAA,CAAC;QAC3B,kBAAkB,EAAE,cAAM,OAAA,CAAC;YACzB,iBAAiB,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI;SAC9B,CAAC,EAFwB,CAExB;KACH,CAAC,EAJ0B,CAI1B;CACH,CAAA"}
1
+ {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../../src/adapters/azure/mock.js"],"names":[],"mappings":";AAAA,OAAO,CAAC,iBAAiB,GAAG;IAC1B,oBAAoB,EAAE,cAAM,OAAA,CAAC;QAC3B,kBAAkB,EAAE,cAAM,OAAA,CAAC;YACzB,iBAAiB,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI;SAC9B,CAAC,EAFwB,CAExB;KACH,CAAC,EAJ0B,CAI1B;CACH,CAAA;AAED,OAAO,CAAC,eAAe,GAAG;IACxB,OAAO,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI;CACpB,CAAA;AAED,OAAO,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI,EAAE,CAAA"}
@@ -42,34 +42,38 @@ Object.defineProperty(exports, "__esModule", { value: true });
42
42
  exports.getHandler = void 0;
43
43
  var path_1 = __importDefault(require("path"));
44
44
  var getFilePrefix_1 = require("../../utilities/getFilePrefix");
45
+ var getRangeFromHeader_1 = __importDefault(require("../../utilities/getRangeFromHeader"));
45
46
  var getHandler = function (_a) {
46
47
  var getStorageClient = _a.getStorageClient, collection = _a.collection;
47
48
  return function (req, res, next) { return __awaiter(void 0, void 0, void 0, function () {
48
- var prefix, blockBlobClient, blob, err_1;
49
- return __generator(this, function (_a) {
50
- switch (_a.label) {
49
+ var prefix, blockBlobClient, _a, start, end, blob, response, err_1;
50
+ return __generator(this, function (_b) {
51
+ switch (_b.label) {
51
52
  case 0:
52
- _a.trys.push([0, 3, , 4]);
53
+ _b.trys.push([0, 4, , 5]);
53
54
  return [4 /*yield*/, (0, getFilePrefix_1.getFilePrefix)({ req: req, collection: collection })];
54
55
  case 1:
55
- prefix = _a.sent();
56
+ prefix = _b.sent();
56
57
  blockBlobClient = getStorageClient().getBlockBlobClient(path_1.default.posix.join(prefix, req.params.filename));
57
- return [4 /*yield*/, blockBlobClient.download(0)];
58
+ return [4 /*yield*/, (0, getRangeFromHeader_1.default)(blockBlobClient, req.headers.range)];
58
59
  case 2:
59
- blob = _a.sent();
60
- res.set({
61
- 'Content-Length': blob.contentLength,
62
- 'Content-Type': blob.contentType,
63
- ETag: blob.etag,
64
- });
60
+ _a = _b.sent(), start = _a.start, end = _a.end;
61
+ return [4 /*yield*/, blockBlobClient.download(start, end)
62
+ // eslint-disable-next-line no-underscore-dangle
63
+ ];
64
+ case 3:
65
+ blob = _b.sent();
66
+ response = blob._response;
67
+ res.header(response.headers.rawHeaders());
68
+ res.status(response.status);
65
69
  if (blob === null || blob === void 0 ? void 0 : blob.readableStreamBody) {
66
70
  return [2 /*return*/, blob.readableStreamBody.pipe(res)];
67
71
  }
68
72
  return [2 /*return*/, next()];
69
- case 3:
70
- err_1 = _a.sent();
73
+ case 4:
74
+ err_1 = _b.sent();
71
75
  return [2 /*return*/, next()];
72
- case 4: return [2 /*return*/];
76
+ case 5: return [2 /*return*/];
73
77
  }
74
78
  });
75
79
  }); };
@@ -1 +1 @@
1
- {"version":3,"file":"staticHandler.js","sourceRoot":"","sources":["../../../src/adapters/azure/staticHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAIvB,+DAA6D;AAOtD,IAAM,UAAU,GAAG,UAAC,EAAsC;QAApC,gBAAgB,sBAAA,EAAE,UAAU,gBAAA;IACvD,OAAO,UAAO,GAAG,EAAE,GAAG,EAAE,IAAI;;;;;;oBAET,qBAAM,IAAA,6BAAa,EAAC,EAAE,GAAG,KAAA,EAAE,UAAU,YAAA,EAAE,CAAC,EAAA;;oBAAjD,MAAM,GAAG,SAAwC;oBACjD,eAAe,GAAG,gBAAgB,EAAE,CAAC,kBAAkB,CAC3D,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC7C,CAAA;oBAEY,qBAAM,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAA;;oBAAxC,IAAI,GAAG,SAAiC;oBAE9C,GAAG,CAAC,GAAG,CAAC;wBACN,gBAAgB,EAAE,IAAI,CAAC,aAAa;wBACpC,cAAc,EAAE,IAAI,CAAC,WAAW;wBAChC,IAAI,EAAE,IAAI,CAAC,IAAI;qBAChB,CAAC,CAAA;oBAEF,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,kBAAkB,EAAE;wBAC5B,sBAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA;qBACzC;oBAED,sBAAO,IAAI,EAAE,EAAA;;;oBAEb,sBAAO,IAAI,EAAE,EAAA;;;;SAEhB,CAAA;AACH,CAAC,CAAA;AAzBY,QAAA,UAAU,cAyBtB"}
1
+ {"version":3,"file":"staticHandler.js","sourceRoot":"","sources":["../../../src/adapters/azure/staticHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8CAAuB;AAGvB,+DAA6D;AAC7D,0FAAmE;AAO5D,IAAM,UAAU,GAAG,UAAC,EAAsC;QAApC,gBAAgB,sBAAA,EAAE,UAAU,gBAAA;IACvD,OAAO,UAAO,GAAG,EAAE,GAAG,EAAE,IAAI;;;;;;oBAET,qBAAM,IAAA,6BAAa,EAAC,EAAE,GAAG,KAAA,EAAE,UAAU,YAAA,EAAE,CAAC,EAAA;;oBAAjD,MAAM,GAAG,SAAwC;oBACjD,eAAe,GAAG,gBAAgB,EAAE,CAAC,kBAAkB,CAC3D,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC7C,CAAA;oBAEsB,qBAAM,IAAA,4BAAkB,EAAC,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAA;;oBAA7E,KAAiB,SAA4D,EAA3E,KAAK,WAAA,EAAE,GAAG,SAAA;oBAEL,qBAAM,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;wBACvD,gDAAgD;sBADO;;oBAAjD,IAAI,GAAG,SAA0C;oBAEjD,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAA;oBAC/B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;oBACzC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;oBAE3B,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,kBAAkB,EAAE;wBAC5B,sBAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA;qBACzC;oBAED,sBAAO,IAAI,EAAE,EAAA;;;oBAEb,sBAAO,IAAI,EAAE,EAAA;;;;SAEhB,CAAA;AACH,CAAC,CAAA;AAzBY,QAAA,UAAU,cAyBtB"}
@@ -17,8 +17,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.extendWebpackConfig = void 0;
18
18
  var path_1 = __importDefault(require("path"));
19
19
  var extendWebpackConfig = function (existingWebpackConfig) {
20
- var _a;
21
- var newConfig = __assign(__assign({}, existingWebpackConfig), { resolve: __assign(__assign({}, (existingWebpackConfig.resolve || {})), { alias: __assign(__assign({}, (((_a = existingWebpackConfig.resolve) === null || _a === void 0 ? void 0 : _a.alias) ? existingWebpackConfig.resolve.alias : {})), { '@azure/storage-blob': path_1.default.resolve(__dirname, './mock.js') }) }) });
20
+ var _a, _b;
21
+ var newConfig = __assign(__assign({}, existingWebpackConfig), { resolve: __assign(__assign({}, (existingWebpackConfig.resolve || {})), { fallback: __assign(__assign({}, (((_a = existingWebpackConfig.resolve) === null || _a === void 0 ? void 0 : _a.fallback) ? existingWebpackConfig.resolve.fallback : {})), { stream: false }), alias: __assign(__assign({}, (((_b = existingWebpackConfig.resolve) === null || _b === void 0 ? void 0 : _b.alias) ? existingWebpackConfig.resolve.alias : {})), { stream: path_1.default.resolve(__dirname, './mock.js'), '@azure/storage-blob': path_1.default.resolve(__dirname, './mock.js'), '@azure/abort-controller': path_1.default.resolve(__dirname, './mock.js'), fs: path_1.default.resolve(__dirname, './fileStub.js') }) }) });
22
22
  return newConfig;
23
23
  };
24
24
  exports.extendWebpackConfig = extendWebpackConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"webpack.js","sourceRoot":"","sources":["../../../src/adapters/azure/webpack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,8CAAuB;AAEhB,IAAM,mBAAmB,GAAG,UAAC,qBAAoC;;IACtE,IAAM,SAAS,yBACV,qBAAqB,KACxB,OAAO,wBACF,CAAC,qBAAqB,CAAC,OAAO,IAAI,EAAE,CAAC,KACxC,KAAK,wBACA,CAAC,CAAA,MAAA,qBAAqB,CAAC,OAAO,0CAAE,KAAK,EAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KACpF,qBAAqB,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,SAGhE,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAbY,QAAA,mBAAmB,uBAa/B"}
1
+ {"version":3,"file":"webpack.js","sourceRoot":"","sources":["../../../src/adapters/azure/webpack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,8CAAuB;AAEhB,IAAM,mBAAmB,GAAG,UAAC,qBAAoC;;IACtE,IAAM,SAAS,yBACV,qBAAqB,KACxB,OAAO,wBACF,CAAC,qBAAqB,CAAC,OAAO,IAAI,EAAE,CAAC,KACxC,QAAQ,wBACH,CAAC,CAAA,MAAA,qBAAqB,CAAC,OAAO,0CAAE,QAAQ,EAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAC1F,MAAM,EAAE,KAAK,KAEf,KAAK,wBACA,CAAC,CAAA,MAAA,qBAAqB,CAAC,OAAO,0CAAE,KAAK,EAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KACpF,MAAM,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,EAC5C,qBAAqB,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,EAC3D,yBAAyB,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,EAC/D,EAAE,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,SAGjD,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AApBY,QAAA,mBAAmB,uBAoB/B"}
@@ -17,8 +17,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.extendWebpackConfig = void 0;
18
18
  var path_1 = __importDefault(require("path"));
19
19
  var extendWebpackConfig = function (existingWebpackConfig) {
20
- var _a;
21
- var newConfig = __assign(__assign({}, existingWebpackConfig), { resolve: __assign(__assign({}, (existingWebpackConfig.resolve || {})), { alias: __assign(__assign({}, (((_a = existingWebpackConfig.resolve) === null || _a === void 0 ? void 0 : _a.alias) ? existingWebpackConfig.resolve.alias : {})), { '@google-cloud/storage': path_1.default.resolve(__dirname, './mock.js') }) }) });
20
+ var _a, _b;
21
+ var newConfig = __assign(__assign({}, existingWebpackConfig), { resolve: __assign(__assign({}, (existingWebpackConfig.resolve || {})), { fallback: __assign(__assign({}, (((_a = existingWebpackConfig.resolve) === null || _a === void 0 ? void 0 : _a.fallback) ? existingWebpackConfig.resolve.fallback : {})), { stream: false }), alias: __assign(__assign({}, (((_b = existingWebpackConfig.resolve) === null || _b === void 0 ? void 0 : _b.alias) ? existingWebpackConfig.resolve.alias : {})), { '@google-cloud/storage': path_1.default.resolve(__dirname, './mock.js') }) }) });
22
22
  return newConfig;
23
23
  };
24
24
  exports.extendWebpackConfig = extendWebpackConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"webpack.js","sourceRoot":"","sources":["../../../src/adapters/gcs/webpack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,8CAAuB;AAEhB,IAAM,mBAAmB,GAAG,UAAC,qBAAoC;;IACtE,IAAM,SAAS,yBACV,qBAAqB,KACxB,OAAO,wBACF,CAAC,qBAAqB,CAAC,OAAO,IAAI,EAAE,CAAC,KACxC,KAAK,wBACA,CAAC,CAAA,MAAA,qBAAqB,CAAC,OAAO,0CAAE,KAAK,EAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KACpF,uBAAuB,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,SAGlE,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAbY,QAAA,mBAAmB,uBAa/B"}
1
+ {"version":3,"file":"webpack.js","sourceRoot":"","sources":["../../../src/adapters/gcs/webpack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,8CAAuB;AAEhB,IAAM,mBAAmB,GAAG,UAAC,qBAAoC;;IACtE,IAAM,SAAS,yBACV,qBAAqB,KACxB,OAAO,wBACF,CAAC,qBAAqB,CAAC,OAAO,IAAI,EAAE,CAAC,KACxC,QAAQ,wBACH,CAAC,CAAA,MAAA,qBAAqB,CAAC,OAAO,0CAAE,QAAQ,EAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAC1F,MAAM,EAAE,KAAK,KAEf,KAAK,wBACA,CAAC,CAAA,MAAA,qBAAqB,CAAC,OAAO,0CAAE,KAAK,EAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KACpF,uBAAuB,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,SAGlE,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAjBY,QAAA,mBAAmB,uBAiB/B"}
@@ -0,0 +1,2 @@
1
+ declare const _default: "file-stub";
2
+ export default _default;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = 'file-stub';
4
+ //# sourceMappingURL=fileStub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileStub.js","sourceRoot":"","sources":["../../../src/adapters/s3/fileStub.js"],"names":[],"mappings":";;AAAA,kBAAe,WAAW,CAAA"}
@@ -60,6 +60,7 @@ var getHandler = function (_a) {
60
60
  case 2:
61
61
  object = _a.sent();
62
62
  res.set({
63
+ 'Accept-Ranges': object.AcceptRanges,
63
64
  'Content-Length': object.ContentLength,
64
65
  'Content-Type': object.ContentType,
65
66
  ETag: object.ETag,
@@ -1 +1 @@
1
- {"version":3,"file":"staticHandler.js","sourceRoot":"","sources":["../../../src/adapters/s3/staticHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAKvB,+DAA6D;AAQtD,IAAM,UAAU,GAAG,UAAC,EAA8C;QAA5C,gBAAgB,sBAAA,EAAE,MAAM,YAAA,EAAE,UAAU,gBAAA;IAC/D,OAAO,UAAO,GAAG,EAAE,GAAG,EAAE,IAAI;;;;;;oBAET,qBAAM,IAAA,6BAAa,EAAC,EAAE,GAAG,KAAA,EAAE,UAAU,YAAA,EAAE,CAAC,EAAA;;oBAAjD,MAAM,GAAG,SAAwC;oBAExC,qBAAM,gBAAgB,EAAE,CAAC,SAAS,CAAC;4BAChD,MAAM,EAAE,MAAM;4BACd,GAAG,EAAE,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;yBAClD,CAAC,EAAA;;oBAHI,MAAM,GAAG,SAGb;oBAEF,GAAG,CAAC,GAAG,CAAC;wBACN,gBAAgB,EAAE,MAAM,CAAC,aAAa;wBACtC,cAAc,EAAE,MAAM,CAAC,WAAW;wBAClC,IAAI,EAAE,MAAM,CAAC,IAAI;qBAClB,CAAC,CAAA;oBAEF,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,EAAE;wBAChB,sBAAQ,MAAM,CAAC,IAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA;qBAC3C;oBAED,sBAAO,IAAI,EAAE,EAAA;;;oBAEb,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAG,CAAC,CAAA;oBAC7B,sBAAO,IAAI,EAAE,EAAA;;;;SAEhB,CAAA;AACH,CAAC,CAAA;AA1BY,QAAA,UAAU,cA0BtB"}
1
+ {"version":3,"file":"staticHandler.js","sourceRoot":"","sources":["../../../src/adapters/s3/staticHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAKvB,+DAA6D;AAQtD,IAAM,UAAU,GAAG,UAAC,EAA8C;QAA5C,gBAAgB,sBAAA,EAAE,MAAM,YAAA,EAAE,UAAU,gBAAA;IAC/D,OAAO,UAAO,GAAG,EAAE,GAAG,EAAE,IAAI;;;;;;oBAET,qBAAM,IAAA,6BAAa,EAAC,EAAE,GAAG,KAAA,EAAE,UAAU,YAAA,EAAE,CAAC,EAAA;;oBAAjD,MAAM,GAAG,SAAwC;oBAExC,qBAAM,gBAAgB,EAAE,CAAC,SAAS,CAAC;4BAChD,MAAM,EAAE,MAAM;4BACd,GAAG,EAAE,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;yBAClD,CAAC,EAAA;;oBAHI,MAAM,GAAG,SAGb;oBAEF,GAAG,CAAC,GAAG,CAAC;wBACN,eAAe,EAAE,MAAM,CAAC,YAAY;wBACpC,gBAAgB,EAAE,MAAM,CAAC,aAAa;wBACtC,cAAc,EAAE,MAAM,CAAC,WAAW;wBAClC,IAAI,EAAE,MAAM,CAAC,IAAI;qBAClB,CAAC,CAAA;oBAEF,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,EAAE;wBAChB,sBAAQ,MAAM,CAAC,IAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA;qBAC3C;oBAED,sBAAO,IAAI,EAAE,EAAA;;;oBAEb,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAG,CAAC,CAAA;oBAC7B,sBAAO,IAAI,EAAE,EAAA;;;;SAEhB,CAAA;AACH,CAAC,CAAA;AA3BY,QAAA,UAAU,cA2BtB"}
@@ -17,8 +17,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.extendWebpackConfig = void 0;
18
18
  var path_1 = __importDefault(require("path"));
19
19
  var extendWebpackConfig = function (existingWebpackConfig) {
20
- var _a;
21
- var newConfig = __assign(__assign({}, existingWebpackConfig), { resolve: __assign(__assign({}, (existingWebpackConfig.resolve || {})), { alias: __assign(__assign({}, (((_a = existingWebpackConfig.resolve) === null || _a === void 0 ? void 0 : _a.alias) ? existingWebpackConfig.resolve.alias : {})), { '@aws-sdk/client-s3': path_1.default.resolve(__dirname, './mock.js'), '@aws-sdk/lib-storage': path_1.default.resolve(__dirname, './mock.js') }) }) });
20
+ var _a, _b;
21
+ var newConfig = __assign(__assign({}, existingWebpackConfig), { resolve: __assign(__assign({}, (existingWebpackConfig.resolve || {})), { fallback: __assign(__assign({}, (((_a = existingWebpackConfig.resolve) === null || _a === void 0 ? void 0 : _a.fallback) ? existingWebpackConfig.resolve.fallback : {})), { stream: false }), alias: __assign(__assign({}, (((_b = existingWebpackConfig.resolve) === null || _b === void 0 ? void 0 : _b.alias) ? existingWebpackConfig.resolve.alias : {})), { '@aws-sdk/client-s3': path_1.default.resolve(__dirname, './mock.js'), '@aws-sdk/lib-storage': path_1.default.resolve(__dirname, './mock.js'), fs: path_1.default.resolve(__dirname, './fileStub.js') }) }) });
22
22
  return newConfig;
23
23
  };
24
24
  exports.extendWebpackConfig = extendWebpackConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"webpack.js","sourceRoot":"","sources":["../../../src/adapters/s3/webpack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,8CAAuB;AAEhB,IAAM,mBAAmB,GAAG,UAAC,qBAAoC;;IACtE,IAAM,SAAS,yBACV,qBAAqB,KACxB,OAAO,wBACF,CAAC,qBAAqB,CAAC,OAAO,IAAI,EAAE,CAAC,KACxC,KAAK,wBACA,CAAC,CAAA,MAAA,qBAAqB,CAAC,OAAO,0CAAE,KAAK,EAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KACpF,oBAAoB,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,EAC1D,sBAAsB,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,SAGjE,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAdY,QAAA,mBAAmB,uBAc/B"}
1
+ {"version":3,"file":"webpack.js","sourceRoot":"","sources":["../../../src/adapters/s3/webpack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,8CAAuB;AAEhB,IAAM,mBAAmB,GAAG,UAAC,qBAAoC;;IACtE,IAAM,SAAS,yBACV,qBAAqB,KACxB,OAAO,wBACF,CAAC,qBAAqB,CAAC,OAAO,IAAI,EAAE,CAAC,KACxC,QAAQ,wBACH,CAAC,CAAA,MAAA,qBAAqB,CAAC,OAAO,0CAAE,QAAQ,EAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAC1F,MAAM,EAAE,KAAK,KAEf,KAAK,wBACA,CAAC,CAAA,MAAA,qBAAqB,CAAC,OAAO,0CAAE,KAAK,EAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KACpF,oBAAoB,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,EAC1D,sBAAsB,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,EAC5D,EAAE,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,SAGjD,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAnBY,QAAA,mBAAmB,uBAmB/B"}
@@ -63,10 +63,13 @@ var getAfterDeleteHook = function (_a) {
63
63
  promises = filesToDelete.map(function (filename) { return __awaiter(void 0, void 0, void 0, function () {
64
64
  return __generator(this, function (_a) {
65
65
  switch (_a.label) {
66
- case 0: return [4 /*yield*/, adapter.handleDelete({ collection: collection, doc: doc, req: req, filename: filename })];
66
+ case 0:
67
+ if (!filename) return [3 /*break*/, 2];
68
+ return [4 /*yield*/, adapter.handleDelete({ collection: collection, doc: doc, req: req, filename: filename })];
67
69
  case 1:
68
70
  _a.sent();
69
- return [2 /*return*/];
71
+ _a.label = 2;
72
+ case 2: return [2 /*return*/];
70
73
  }
71
74
  });
72
75
  }); });
@@ -1 +1 @@
1
- {"version":3,"file":"afterDelete.js","sourceRoot":"","sources":["../../src/hooks/afterDelete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUO,IAAM,kBAAkB,GAAG,UAAC,EAG5B;QAFL,UAAU,gBAAA,EACV,OAAO,aAAA;IAEP,OAAO,UAAO,EAAY;YAAV,GAAG,SAAA,EAAE,GAAG,SAAA;;;;;;;;wBAEd,aAAa;4BACjB,GAAG,CAAC,QAAQ;2BACT,MAAM,CAAC,MAAM,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAA,eAAe,IAAI,OAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,EAAzB,CAAyB,CAAC,OACrF,CAAA;wBAEK,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,UAAM,QAAQ;;;4CAC/C,qBAAM,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,YAAA,EAAE,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,EAAA;;wCAA9D,SAA8D,CAAA;;;;6BAC/D,CAAC,CAAA;wBAEF,qBAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAA;;wBAA3B,SAA2B,CAAA;;;;wBAE3B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACtB,uEAAgE,MAAA,UAAU,CAAC,MAAM,0CAAE,QAAQ,sBAAY,GAAG,CAAC,EAAE,MAAG,CACjH,CAAA;wBACD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAG,CAAC,CAAA;;4BAE/B,sBAAO,GAAG,EAAA;;;;KACX,CAAA;AACH,CAAC,CAAA;AAxBY,QAAA,kBAAkB,sBAwB9B"}
1
+ {"version":3,"file":"afterDelete.js","sourceRoot":"","sources":["../../src/hooks/afterDelete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUO,IAAM,kBAAkB,GAAG,UAAC,EAG5B;QAFL,UAAU,gBAAA,EACV,OAAO,aAAA;IAEP,OAAO,UAAO,EAAY;YAAV,GAAG,SAAA,EAAE,GAAG,SAAA;;;;;;;;wBAEd,aAAa;4BACjB,GAAG,CAAC,QAAQ;2BACT,MAAM,CAAC,MAAM,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAA,eAAe,IAAI,OAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,EAAzB,CAAyB,CAAC,OACrF,CAAA;wBAEK,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,UAAM,QAAQ;;;;6CAC3C,QAAQ,EAAR,wBAAQ;wCAAE,qBAAM,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,YAAA,EAAE,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,EAAA;;wCAA9D,SAA8D,CAAA;;;;;6BAC7E,CAAC,CAAA;wBAEF,qBAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAA;;wBAA3B,SAA2B,CAAA;;;;wBAE3B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACtB,uEAAgE,MAAA,UAAU,CAAC,MAAM,0CAAE,QAAQ,sBAAY,GAAG,CAAC,EAAE,MAAG,CACjH,CAAA;wBACD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAG,CAAC,CAAA;;4BAE/B,sBAAO,GAAG,EAAA;;;;KACX,CAAA;AACH,CAAC,CAAA;AAxBY,QAAA,kBAAkB,sBAwB9B"}
@@ -41,14 +41,41 @@ var getIncomingFiles_1 = require("../utilities/getIncomingFiles");
41
41
  var getBeforeChangeHook = function (_a) {
42
42
  var collection = _a.collection, adapter = _a.adapter;
43
43
  return function (_a) {
44
- var req = _a.req, data = _a.data;
44
+ var req = _a.req, data = _a.data, originalDoc = _a.originalDoc;
45
45
  return __awaiter(void 0, void 0, void 0, function () {
46
- var files, promises, err_1;
46
+ var files, filesToDelete, deletionPromises, promises, err_1;
47
47
  return __generator(this, function (_b) {
48
48
  switch (_b.label) {
49
49
  case 0:
50
- _b.trys.push([0, 2, , 3]);
50
+ _b.trys.push([0, 5, , 6]);
51
51
  files = (0, getIncomingFiles_1.getIncomingFiles)({ req: req, data: data });
52
+ if (!(files.length > 0)) return [3 /*break*/, 4];
53
+ if (!originalDoc) return [3 /*break*/, 2];
54
+ filesToDelete = [];
55
+ if (typeof (originalDoc === null || originalDoc === void 0 ? void 0 : originalDoc.filename) === 'string') {
56
+ filesToDelete.push(originalDoc.filename);
57
+ }
58
+ if (typeof originalDoc.sizes === 'object') {
59
+ filesToDelete = filesToDelete.concat(Object.values((originalDoc === null || originalDoc === void 0 ? void 0 : originalDoc.sizes) || []).map(function (resizedFileData) { return resizedFileData === null || resizedFileData === void 0 ? void 0 : resizedFileData.filename; }));
60
+ }
61
+ deletionPromises = filesToDelete.map(function (filename) { return __awaiter(void 0, void 0, void 0, function () {
62
+ return __generator(this, function (_a) {
63
+ switch (_a.label) {
64
+ case 0:
65
+ if (!filename) return [3 /*break*/, 2];
66
+ return [4 /*yield*/, adapter.handleDelete({ collection: collection, doc: originalDoc, req: req, filename: filename })];
67
+ case 1:
68
+ _a.sent();
69
+ _a.label = 2;
70
+ case 2: return [2 /*return*/];
71
+ }
72
+ });
73
+ }); });
74
+ return [4 /*yield*/, Promise.all(deletionPromises)];
75
+ case 1:
76
+ _b.sent();
77
+ _b.label = 2;
78
+ case 2:
52
79
  promises = files.map(function (file) { return __awaiter(void 0, void 0, void 0, function () {
53
80
  return __generator(this, function (_a) {
54
81
  switch (_a.label) {
@@ -60,15 +87,16 @@ var getBeforeChangeHook = function (_a) {
60
87
  });
61
88
  }); });
62
89
  return [4 /*yield*/, Promise.all(promises)];
63
- case 1:
90
+ case 3:
64
91
  _b.sent();
65
- return [3 /*break*/, 3];
66
- case 2:
92
+ _b.label = 4;
93
+ case 4: return [3 /*break*/, 6];
94
+ case 5:
67
95
  err_1 = _b.sent();
68
96
  req.payload.logger.error("There was an error while uploading files corresponding to the collection ".concat(collection.slug, " with filename ").concat(data.filename, ":"));
69
97
  req.payload.logger.error(err_1);
70
- return [3 /*break*/, 3];
71
- case 3: return [2 /*return*/, data];
98
+ return [3 /*break*/, 6];
99
+ case 6: return [2 /*return*/, data];
72
100
  }
73
101
  });
74
102
  });
@@ -1 +1 @@
1
- {"version":3,"file":"beforeChange.js","sourceRoot":"","sources":["../../src/hooks/beforeChange.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,kEAAgE;AAOzD,IAAM,mBAAmB,GAC9B,UAAC,EAA6B;QAA3B,UAAU,gBAAA,EAAE,OAAO,aAAA;IACtB,OAAA,UAAO,EAAa;YAAX,GAAG,SAAA,EAAE,IAAI,UAAA;;;;;;;wBAER,KAAK,GAAG,IAAA,mCAAgB,EAAC,EAAE,GAAG,KAAA,EAAE,IAAI,MAAA,EAAE,CAAC,CAAA;wBAEvC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,UAAM,IAAI;;;4CACnC,qBAAM,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,YAAA,EAAE,IAAI,MAAA,EAAE,GAAG,KAAA,EAAE,IAAI,MAAA,EAAE,CAAC,EAAA;;wCAA3D,SAA2D,CAAA;;;;6BAC5D,CAAC,CAAA;wBAEF,qBAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAA;;wBAA3B,SAA2B,CAAA;;;;wBAE3B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACtB,mFAA4E,UAAU,CAAC,IAAI,4BAAkB,IAAI,CAAC,QAAQ,MAAG,CAC9H,CAAA;wBACD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAG,CAAC,CAAA;;4BAE/B,sBAAO,IAAI,EAAA;;;;KACZ;AAhBD,CAgBC,CAAA;AAlBU,QAAA,mBAAmB,uBAkB7B"}
1
+ {"version":3,"file":"beforeChange.js","sourceRoot":"","sources":["../../src/hooks/beforeChange.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,kEAAgE;AAOzD,IAAM,mBAAmB,GAC9B,UAAC,EAA6B;QAA3B,UAAU,gBAAA,EAAE,OAAO,aAAA;IACtB,OAAA,UAAO,EAA0B;YAAxB,GAAG,SAAA,EAAE,IAAI,UAAA,EAAE,WAAW,iBAAA;;;;;;;wBAErB,KAAK,GAAG,IAAA,mCAAgB,EAAC,EAAE,GAAG,KAAA,EAAE,IAAI,MAAA,EAAE,CAAC,CAAA;6BAEzC,CAAA,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA,EAAhB,wBAAgB;6BAId,WAAW,EAAX,wBAAW;wBACT,aAAa,GAAa,EAAE,CAAA;wBAEhC,IAAI,OAAO,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAA,KAAK,QAAQ,EAAE;4BAC7C,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;yBACzC;wBAED,IAAI,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ,EAAE;4BACzC,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,MAAM,CAAC,MAAM,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,GAAG,CACzC,UAAA,eAAe,IAAI,OAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,EAAzB,CAAyB,CAC7C,CACF,CAAA;yBACF;wBAEK,gBAAgB,GAAG,aAAa,CAAC,GAAG,CAAC,UAAM,QAAQ;;;;6CACnD,QAAQ,EAAR,wBAAQ;wCACV,qBAAM,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,YAAA,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,KAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,EAAA;;wCAA3E,SAA2E,CAAA;;;;;6BAE9E,CAAC,CAAA;wBAEF,qBAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAA;;wBAAnC,SAAmC,CAAA;;;wBAG/B,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,UAAM,IAAI;;;4CACnC,qBAAM,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,YAAA,EAAE,IAAI,MAAA,EAAE,GAAG,KAAA,EAAE,IAAI,MAAA,EAAE,CAAC,EAAA;;wCAA3D,SAA2D,CAAA;;;;6BAC5D,CAAC,CAAA;wBAEF,qBAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAA;;wBAA3B,SAA2B,CAAA;;;;;wBAG7B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACtB,mFAA4E,UAAU,CAAC,IAAI,4BAAkB,IAAI,CAAC,QAAQ,MAAG,CAC9H,CAAA;wBACD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAG,CAAC,CAAA;;4BAE/B,sBAAO,IAAI,EAAA;;;;KACZ;AA7CD,CA6CC,CAAA;AA/CU,QAAA,mBAAmB,uBA+C7B"}
package/dist/plugin.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import type { Config } from 'payload/config';
2
2
  import type { PluginOptions } from './types';
3
- export declare const cloudStorage: (pluginOptions: PluginOptions) => (config: Config) => Config;
3
+ export declare const cloudStorage: (pluginOptions: PluginOptions) => (incomingConfig: Config) => Config;
package/dist/plugin.js CHANGED
@@ -68,11 +68,17 @@ var getFields_1 = require("./fields/getFields");
68
68
  // 1. handleUpload, 2. handleDelete, 3. generateURL, 4. staticHandler
69
69
  // Optionally, the adapter can specify any Webpack config overrides if they are necessary.
70
70
  var cloudStorage = function (pluginOptions) {
71
- return function (config) {
72
- var allCollectionOptions = pluginOptions.collections;
73
- var webpack = (0, webpack_1.extendWebpackConfig)({ options: pluginOptions, config: config });
71
+ return function (incomingConfig) {
72
+ var allCollectionOptions = pluginOptions.collections, enabled = pluginOptions.enabled;
73
+ var config = __assign({}, incomingConfig);
74
+ var webpack = (0, webpack_1.extendWebpackConfig)({ options: pluginOptions, config: incomingConfig });
75
+ config.admin = __assign(__assign({}, (config.admin || {})), { webpack: webpack });
76
+ // Return early if disabled. Only webpack config mods are applied.
77
+ if (enabled === false) {
78
+ return config;
79
+ }
74
80
  var initFunctions = [];
75
- return __assign(__assign({}, config), { admin: __assign(__assign({}, (config.admin || {})), { webpack: webpack }), collections: (config.collections || []).map(function (existingCollection) {
81
+ return __assign(__assign({}, config), { collections: (config.collections || []).map(function (existingCollection) {
76
82
  var _a, _b;
77
83
  var options = allCollectionOptions[existingCollection.slug];
78
84
  if (options === null || options === void 0 ? void 0 : options.adapter) {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -58,5 +58,11 @@ export interface CollectionOptions {
58
58
  adapter: Adapter | null;
59
59
  }
60
60
  export interface PluginOptions {
61
+ /**
62
+ * Whether or not to enable the plugin
63
+ *
64
+ * Default: true
65
+ */
66
+ enabled?: boolean;
61
67
  collections: Record<string, CollectionOptions>;
62
68
  }
@@ -0,0 +1,6 @@
1
+ import type { BlockBlobClient } from '@azure/storage-blob';
2
+ declare const getRangeFromHeader: (blockBlobClient: BlockBlobClient, rangeHeader?: string) => Promise<{
3
+ start: number;
4
+ end: number | undefined;
5
+ }>;
6
+ export default getRangeFromHeader;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ 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;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var range_parser_1 = __importDefault(require("range-parser"));
43
+ var getRangeFromHeader = function (blockBlobClient, rangeHeader) { return __awaiter(void 0, void 0, void 0, function () {
44
+ var fullRange, size, range;
45
+ return __generator(this, function (_a) {
46
+ switch (_a.label) {
47
+ case 0:
48
+ fullRange = { start: 0, end: undefined };
49
+ if (!rangeHeader) {
50
+ return [2 /*return*/, fullRange];
51
+ }
52
+ return [4 /*yield*/, blockBlobClient.getProperties().then(function (props) { return props.contentLength; })];
53
+ case 1:
54
+ size = _a.sent();
55
+ if (size === undefined) {
56
+ return [2 /*return*/, fullRange];
57
+ }
58
+ range = (0, range_parser_1.default)(size, rangeHeader);
59
+ if (range === -1 || range === -2 || range.type !== 'bytes' || range.length !== 1) {
60
+ return [2 /*return*/, fullRange];
61
+ }
62
+ return [2 /*return*/, range[0]];
63
+ }
64
+ });
65
+ }); };
66
+ exports.default = getRangeFromHeader;
67
+ //# sourceMappingURL=getRangeFromHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRangeFromHeader.js","sourceRoot":"","sources":["../../src/utilities/getRangeFromHeader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8DAAqC;AAErC,IAAM,kBAAkB,GAAG,UACzB,eAAgC,EAChC,WAAoB;;;;;gBAEd,SAAS,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAA;gBAE9C,IAAI,CAAC,WAAW,EAAE;oBAChB,sBAAO,SAAS,EAAA;iBACjB;gBAEY,qBAAM,eAAe,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,aAAa,EAAnB,CAAmB,CAAC,EAAA;;gBAA/E,IAAI,GAAG,SAAwE;gBACrF,IAAI,IAAI,KAAK,SAAS,EAAE;oBACtB,sBAAO,SAAS,EAAA;iBACjB;gBAEK,KAAK,GAAG,IAAA,sBAAU,EAAC,IAAI,EAAE,WAAW,CAAC,CAAA;gBAC3C,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBAChF,sBAAO,SAAS,EAAA;iBACjB;gBAED,sBAAO,KAAK,CAAC,CAAC,CAAC,EAAA;;;KAChB,CAAA;AAED,kBAAe,kBAAkB,CAAA"}
@@ -0,0 +1,47 @@
1
+ # Developing with this plugin locally
2
+
3
+ This repository includes a local development environment for local testing and development of this plugin. To run the local sandbox, follow the instructions below.
4
+
5
+ 1. Make sure you have Node and a MongoDB to work with
6
+ 1. Clone the repo
7
+ 1. `yarn` in both the root folder of the repo, and the `./dev` folder
8
+ 1. `cd` into `./dev` and run `cp .env.example .env` to create an `.env` file
9
+ 1. Open your newly created `./dev/.env` file and _completely_ fill out each property
10
+
11
+ ### Azure Adapter Development
12
+
13
+ This repository comes with a Docker emulator for Azure Blob Storage.
14
+
15
+ If you would like to test locally with an emulated blob storage container, you can `cd` into `./src/adapters/azure/emulator` and then run `docker-compose up -d`.
16
+
17
+ The default `./dev/.env.example` file comes pre-loaded with correct `env` variables that correspond to the Azure Docker emulator.
18
+
19
+ Otherwise, if you are not using the emulator, make sure your environment variables within `./dev/.env` are configured for your Azure connection.
20
+
21
+ Finally, to start the Payload dev server with the Azure adapter, run `yarn dev:azure` and then open `http://localhost:3000/admin` in your browser.
22
+
23
+ ### S3 Adapter Development
24
+
25
+ This repository also includes a Docker LocalStack emulator for S3. It requires a few more steps to get up and running.
26
+
27
+ To use the S3 emulator, use the following steps:
28
+
29
+ 1. Make sure you have `awscli` installed. On Mac, run `brew install awscli` to get started.
30
+ 1. Make sure you have an AWS profile created. LocalStack does not verify credentials, so you can create a profile with dummy credentials. However, your `region` will need to match. To create a dummy profile for LocalStack, type `aws configure --profile localstack`. Use the access key and secret from the `./dev/.env.example` and use region `us-east-1`.
31
+ 1. Now you can start the Docker container via moving to the `./src/adapters/s3/emulator` folder and running `docker-compose up -d`.
32
+ 1. Once the Docker container is running, you can create a new bucket with the following command: `aws --endpoint-url=http://localhost:4566 s3 mb s3://payload-bucket`. Note that our bucket is called `payload-bucket`.
33
+ 1. Finally, attach an ACL to the bucket so it is readable: `aws --endpoint-url=http://localhost:4566 s3api put-bucket-acl --bucket payload-bucket --acl public-read`
34
+
35
+ Finally, you can run `yarn dev:s3` and then open `http://localhost:3000/admin` in your browser.
36
+
37
+ ### Google Cloud Storage(GCS) Adapter Development
38
+
39
+ This repository comes with a Docker emulator for Google Cloud Storage.
40
+
41
+ If you would like to test locally with an emulated GCS container, you can `cd` into `./src/adapters/gcs/emulator` and then run `docker-compose up -d`.
42
+
43
+ The default `./dev/.env.example` file comes pre-loaded with correct `env` variables that correspond to the GCS Docker emulator.
44
+
45
+ Otherwise, if you are not using the emulator, make sure your environment variables within `./dev/.env` are configured for your Google connection.
46
+
47
+ Finally, to start the Payload dev server with the GCS adapter, run `yarn dev:gcs` and then open `http://localhost:3000/admin` in your browser.
@@ -0,0 +1,15 @@
1
+ module.exports = {
2
+ parser: '@typescript-eslint/parser',
3
+ extends: [
4
+ 'airbnb-base',
5
+ require.resolve('./rules/style.js'),
6
+ require.resolve('./rules/import.js'),
7
+ require.resolve('./rules/typescript.js'),
8
+ require.resolve('./rules/prettier.js'),
9
+ ],
10
+ env: {
11
+ es6: true,
12
+ browser: true,
13
+ node: true,
14
+ },
15
+ }