@payloadcms/plugin-cloud-storage 1.0.14 → 1.0.15
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/.editorconfig +10 -0
- package/.eslintrc.js +14 -14
- package/.gitignore +248 -0
- package/.idea/.gitignore +5 -0
- package/.idea/httpRequests/2023-04-07T152957.206.png +0 -0
- package/.idea/httpRequests/2023-04-07T153025.403.html +10 -0
- package/.idea/httpRequests/2023-04-07T153146.200.png +0 -0
- package/.idea/httpRequests/http-client.cookies +1 -0
- package/.idea/httpRequests/http-requests-log.http +74 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/jsLinters/eslint.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/plugin-cloud-storage.iml +12 -0
- package/.idea/vcs.xml +6 -0
- package/.idea/workspace.xml +269 -0
- package/.prettierignore +1 -0
- package/.prettierrc.js +8 -0
- package/.vscode/launch.json +28 -0
- package/.vscode/settings.json +9 -0
- package/LICENSE.md +22 -22
- package/README.md +178 -174
- package/azure.d.ts +1 -1
- package/azure.js +1 -1
- package/dev/.env +25 -0
- package/dev/.env.example +21 -0
- package/dev/build/127.d2c2ffcfff69fabfdd1b.js +1 -0
- package/dev/build/16.17dbe03b1d0a96f3e564.js +2 -0
- package/dev/build/16.17dbe03b1d0a96f3e564.js.LICENSE.txt +8 -0
- package/dev/build/171.bbcbae3ea90468ad0cad.js +2 -0
- package/dev/build/171.bbcbae3ea90468ad0cad.js.LICENSE.txt +8 -0
- package/dev/build/18.e50c27edff6716f930d9.js +1 -0
- package/dev/build/205.33c7a29683ba98de93e0.js +1 -0
- package/dev/build/2211c49456cd07331ea9.woff +0 -0
- package/dev/build/234.79395f82c18207c13766.js +1 -0
- package/dev/build/266.9d4a240b3e0985bd7dd5.js +1 -0
- package/dev/build/296.4c5d646257b42c915834.js +1 -0
- package/dev/build/304.40dbe690de322c8f7c0d.js +2 -0
- package/dev/build/304.40dbe690de322c8f7c0d.js.LICENSE.txt +37 -0
- package/dev/build/349.446c12bffd3905085fdb.js +1 -0
- package/dev/build/354.5acd04b85b96a9839125.js +1 -0
- package/dev/build/40ad7515b8674bb854a1.woff2 +0 -0
- package/dev/build/422.086542466cdc9f6a2437.js +2 -0
- package/dev/build/422.086542466cdc9f6a2437.js.LICENSE.txt +6 -0
- package/dev/build/491.0bfe1bb0ecfe383179aa.js +1 -0
- package/dev/build/4d8845b830f4e8e2affb.png +0 -0
- package/dev/build/51922ceb71da289688d3.woff2 +0 -0
- package/dev/build/522443364fda49e9e0ed.woff2 +0 -0
- package/dev/build/531.1c6f53f3b44a3c45b444.js +2 -0
- package/dev/build/531.1c6f53f3b44a3c45b444.js.LICENSE.txt +6 -0
- package/dev/build/570.f2d9b99706765fbf0225.js +1 -0
- package/dev/build/599.570a04990d5806004f61.js +1 -0
- package/dev/build/5b718d9772de251a8c0a.woff2 +0 -0
- package/dev/build/778.41ae26bcd617861ad586.js +1 -0
- package/dev/build/783.0117995f2ff6036d6746.js +1 -0
- package/dev/build/787999a6af6a17efbc7c.woff +0 -0
- package/dev/build/78b8935fb481e11c92ce.woff +0 -0
- package/dev/build/860.7688681d3269f3f16e9a.js +1 -0
- package/dev/build/892.1a4ca5ac67d81038ceec.js +1 -0
- package/dev/build/896.d8cb1160388dc29d6364.js +1 -0
- package/dev/build/8b4ddd0d08500553efde.woff +0 -0
- package/dev/build/8f612153248094525d9d.woff +0 -0
- package/dev/build/995.cc11e738ff81a85821b4.js +1 -0
- package/dev/build/9c7dfd0036f7bd24b053.woff2 +0 -0
- package/dev/build/a1cfdc5b5250b7c4b481.woff2 +0 -0
- package/dev/build/d7aeda9e48ce098e7b48.woff +0 -0
- package/dev/build/e009f21405b4d7e89367.woff2 +0 -0
- package/dev/build/e7caa9e17af6ac87d182.woff +0 -0
- package/dev/build/ebcc1430049fddb274f8.svg +15 -0
- package/dev/build/efe8f6a3b46446cc9135.woff +0 -0
- package/dev/build/f53bb8d4b29adc903703.woff2 +0 -0
- package/dev/build/index.html +1 -0
- package/dev/build/main.a2003d502fbb9aaa3e8d.js +2 -0
- package/dev/build/main.a2003d502fbb9aaa3e8d.js.LICENSE.txt +57 -0
- package/dev/build/styles.css +1 -0
- package/dev/build/styles.fa29d16b0baf5b98a1cf.js +1 -0
- package/dev/nodemon.json +8 -0
- package/dev/package.json +32 -0
- package/dev/src/collections/Media.ts +56 -0
- package/dev/src/collections/Users.ts +23 -0
- package/dev/src/mocks/fsMock.js +1 -0
- package/dev/src/mocks/promisifyMock.js +1 -0
- package/dev/src/payload.config.ts +111 -0
- package/dev/src/server.ts +26 -0
- package/dev/tsconfig.json +20 -0
- package/dist/adapters/azure/fileStub.d.ts +2 -0
- package/dist/adapters/azure/fileStub.js +4 -0
- package/dist/adapters/azure/fileStub.js.map +1 -0
- package/dist/adapters/azure/generateURL.d.ts +7 -7
- package/dist/adapters/azure/generateURL.js +15 -15
- package/dist/adapters/azure/handleDelete.d.ts +9 -9
- package/dist/adapters/azure/handleDelete.js +63 -63
- package/dist/adapters/azure/handleUpload.d.ts +10 -10
- package/dist/adapters/azure/handleUpload.js +80 -65
- package/dist/adapters/azure/handleUpload.js.map +1 -1
- package/dist/adapters/azure/index.d.ts +8 -8
- package/dist/adapters/azure/index.js +42 -42
- package/dist/adapters/azure/mock.d.ts +13 -7
- package/dist/adapters/azure/mock.js +12 -8
- package/dist/adapters/azure/mock.js.map +1 -1
- package/dist/adapters/azure/staticHandler.d.ts +9 -9
- package/dist/adapters/azure/staticHandler.js +81 -77
- package/dist/adapters/azure/staticHandler.js.map +1 -1
- package/dist/adapters/azure/webpack.d.ts +2 -2
- package/dist/adapters/azure/webpack.js +24 -24
- package/dist/adapters/azure/webpack.js.map +1 -1
- package/dist/adapters/gcs/generateURL.d.ts +8 -8
- package/dist/adapters/gcs/generateURL.js +15 -15
- package/dist/adapters/gcs/handleDelete.d.ts +8 -8
- package/dist/adapters/gcs/handleDelete.js +62 -62
- package/dist/adapters/gcs/handleUpload.d.ts +12 -12
- package/dist/adapters/gcs/handleUpload.js +72 -72
- package/dist/adapters/gcs/index.d.ts +8 -8
- package/dist/adapters/gcs/index.js +35 -35
- package/dist/adapters/gcs/mock.d.ts +1 -1
- package/dist/adapters/gcs/mock.js +4 -4
- package/dist/adapters/gcs/staticHandler.d.ts +10 -10
- package/dist/adapters/gcs/staticHandler.js +76 -76
- package/dist/adapters/gcs/webpack.d.ts +2 -2
- package/dist/adapters/gcs/webpack.js +24 -24
- package/dist/adapters/s3/fileStub.d.ts +2 -2
- package/dist/adapters/s3/fileStub.js +3 -3
- package/dist/adapters/s3/generateURL.d.ts +8 -8
- package/dist/adapters/s3/generateURL.js +15 -15
- package/dist/adapters/s3/handleDelete.d.ts +8 -8
- package/dist/adapters/s3/handleDelete.js +63 -63
- package/dist/adapters/s3/handleUpload.d.ts +12 -12
- package/dist/adapters/s3/handleUpload.js +93 -93
- package/dist/adapters/s3/index.d.ts +8 -8
- package/dist/adapters/s3/index.js +59 -59
- package/dist/adapters/s3/mock.d.ts +8 -8
- package/dist/adapters/s3/mock.js +9 -9
- package/dist/adapters/s3/staticHandler.d.ts +10 -10
- package/dist/adapters/s3/staticHandler.js +80 -80
- package/dist/adapters/s3/webpack.d.ts +2 -2
- package/dist/adapters/s3/webpack.js +24 -24
- package/dist/fields/getFields.d.ts +11 -11
- package/dist/fields/getFields.js +118 -118
- package/dist/hooks/afterDelete.d.ts +10 -10
- package/dist/hooks/afterDelete.js +88 -88
- package/dist/hooks/afterRead.d.ts +12 -12
- package/dist/hooks/afterRead.js +79 -79
- package/dist/hooks/beforeChange.d.ts +10 -10
- package/dist/hooks/beforeChange.js +77 -77
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5 -5
- package/dist/plugin.d.ts +3 -3
- package/dist/plugin.js +124 -124
- package/dist/types.d.ts +62 -62
- package/dist/types.js +2 -2
- package/dist/utilities/getFilePrefix.d.ts +5 -5
- package/dist/utilities/getFilePrefix.js +80 -80
- package/dist/utilities/getIncomingFiles.d.ts +7 -7
- package/dist/utilities/getIncomingFiles.js +37 -37
- package/dist/utilities/getRangeFromHeader.d.ts +6 -0
- package/dist/utilities/getRangeFromHeader.js +67 -0
- package/dist/utilities/getRangeFromHeader.js.map +1 -0
- package/dist/webpack.d.ts +9 -9
- package/dist/webpack.js +39 -39
- package/docs/local-dev.md +47 -0
- package/eslint-config/index.js +15 -0
- package/eslint-config/rules/import.js +38 -0
- package/eslint-config/rules/prettier.js +7 -0
- package/eslint-config/rules/style.js +21 -0
- package/eslint-config/rules/typescript.js +628 -0
- package/gcs.d.ts +1 -1
- package/gcs.js +1 -1
- package/package.json +67 -64
- package/s3.d.ts +1 -1
- package/s3.js +1 -1
- package/src/adapters/azure/emulator/docker-compose.yml +16 -0
- package/src/adapters/azure/fileStub.js +1 -0
- package/src/adapters/azure/generateURL.ts +13 -0
- package/src/adapters/azure/handleDelete.ts +16 -0
- package/src/adapters/azure/handleUpload.ts +41 -0
- package/src/adapters/azure/index.ts +47 -0
- package/src/adapters/azure/mock.js +13 -0
- package/src/adapters/azure/staticHandler.ts +38 -0
- package/src/adapters/azure/webpack.ts +20 -0
- package/src/adapters/gcs/emulator/docker-compose.yml +15 -0
- package/src/adapters/gcs/generateURL.ts +16 -0
- package/src/adapters/gcs/handleDelete.ts +16 -0
- package/src/adapters/gcs/handleUpload.ts +34 -0
- package/src/adapters/gcs/index.ts +37 -0
- package/src/adapters/gcs/mock.js +3 -0
- package/src/adapters/gcs/staticHandler.ts +34 -0
- package/src/adapters/gcs/webpack.ts +17 -0
- package/src/adapters/s3/emulator/docker-compose.yml +15 -0
- package/src/adapters/s3/fileStub.js +1 -0
- package/src/adapters/s3/generateURL.ts +14 -0
- package/src/adapters/s3/handleDelete.ts +17 -0
- package/src/adapters/s3/handleUpload.ts +62 -0
- package/src/adapters/s3/index.ts +38 -0
- package/src/adapters/s3/mock.js +9 -0
- package/src/adapters/s3/staticHandler.ts +40 -0
- package/src/adapters/s3/webpack.ts +19 -0
- package/src/fields/getFields.ts +155 -0
- package/src/hooks/afterDelete.ts +35 -0
- package/src/hooks/afterRead.ts +38 -0
- package/src/hooks/beforeChange.ts +30 -0
- package/src/index.ts +1 -0
- package/src/plugin.ts +94 -0
- package/src/types.ts +73 -0
- package/src/utilities/getFilePrefix.ts +26 -0
- package/src/utilities/getIncomingFiles.ts +44 -0
- package/src/utilities/getRangeFromHeader.ts +27 -0
- package/src/webpack.ts +46 -0
- package/tsconfig.json +23 -0
- package/yarn.lock +8155 -0
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getIncomingFiles = void 0;
|
|
4
|
-
function getIncomingFiles(_a) {
|
|
5
|
-
var _b;
|
|
6
|
-
var req = _a.req, data = _a.data;
|
|
7
|
-
var file = (_b = req.files) === null || _b === void 0 ? void 0 : _b.file;
|
|
8
|
-
var files = [];
|
|
9
|
-
if (file && data.filename && data.mimeType) {
|
|
10
|
-
var mainFile = {
|
|
11
|
-
filename: data.filename,
|
|
12
|
-
mimeType: data.mimeType,
|
|
13
|
-
buffer: file.data,
|
|
14
|
-
tempFilePath: file.tempFilePath,
|
|
15
|
-
filesize: file.size,
|
|
16
|
-
};
|
|
17
|
-
files = [mainFile];
|
|
18
|
-
if (data === null || data === void 0 ? void 0 : data.sizes) {
|
|
19
|
-
Object.entries(data.sizes).forEach(function (_a) {
|
|
20
|
-
var _b;
|
|
21
|
-
var key = _a[0], resizedFileData = _a[1];
|
|
22
|
-
if (((_b = req.payloadUploadSizes) === null || _b === void 0 ? void 0 : _b[key]) && data.mimeType) {
|
|
23
|
-
files = files.concat([
|
|
24
|
-
{
|
|
25
|
-
filename: "".concat(resizedFileData.filename),
|
|
26
|
-
mimeType: data.mimeType,
|
|
27
|
-
buffer: req.payloadUploadSizes[key],
|
|
28
|
-
filesize: req.payloadUploadSizes[key].length,
|
|
29
|
-
},
|
|
30
|
-
]);
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return files;
|
|
36
|
-
}
|
|
37
|
-
exports.getIncomingFiles = getIncomingFiles;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getIncomingFiles = void 0;
|
|
4
|
+
function getIncomingFiles(_a) {
|
|
5
|
+
var _b;
|
|
6
|
+
var req = _a.req, data = _a.data;
|
|
7
|
+
var file = (_b = req.files) === null || _b === void 0 ? void 0 : _b.file;
|
|
8
|
+
var files = [];
|
|
9
|
+
if (file && data.filename && data.mimeType) {
|
|
10
|
+
var mainFile = {
|
|
11
|
+
filename: data.filename,
|
|
12
|
+
mimeType: data.mimeType,
|
|
13
|
+
buffer: file.data,
|
|
14
|
+
tempFilePath: file.tempFilePath,
|
|
15
|
+
filesize: file.size,
|
|
16
|
+
};
|
|
17
|
+
files = [mainFile];
|
|
18
|
+
if (data === null || data === void 0 ? void 0 : data.sizes) {
|
|
19
|
+
Object.entries(data.sizes).forEach(function (_a) {
|
|
20
|
+
var _b;
|
|
21
|
+
var key = _a[0], resizedFileData = _a[1];
|
|
22
|
+
if (((_b = req.payloadUploadSizes) === null || _b === void 0 ? void 0 : _b[key]) && data.mimeType) {
|
|
23
|
+
files = files.concat([
|
|
24
|
+
{
|
|
25
|
+
filename: "".concat(resizedFileData.filename),
|
|
26
|
+
mimeType: data.mimeType,
|
|
27
|
+
buffer: req.payloadUploadSizes[key],
|
|
28
|
+
filesize: req.payloadUploadSizes[key].length,
|
|
29
|
+
},
|
|
30
|
+
]);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return files;
|
|
36
|
+
}
|
|
37
|
+
exports.getIncomingFiles = getIncomingFiles;
|
|
38
38
|
//# sourceMappingURL=getIncomingFiles.js.map
|
|
@@ -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"}
|
package/dist/webpack.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { Config } from 'payload/config';
|
|
2
|
-
import type { Configuration as WebpackConfig } from 'webpack';
|
|
3
|
-
import type { PluginOptions } from './types';
|
|
4
|
-
interface Args {
|
|
5
|
-
config: Config;
|
|
6
|
-
options: PluginOptions;
|
|
7
|
-
}
|
|
8
|
-
export declare const extendWebpackConfig: ({ config, options }: Args) => (webpackConfig: WebpackConfig) => WebpackConfig;
|
|
9
|
-
export {};
|
|
1
|
+
import type { Config } from 'payload/config';
|
|
2
|
+
import type { Configuration as WebpackConfig } from 'webpack';
|
|
3
|
+
import type { PluginOptions } from './types';
|
|
4
|
+
interface Args {
|
|
5
|
+
config: Config;
|
|
6
|
+
options: PluginOptions;
|
|
7
|
+
}
|
|
8
|
+
export declare const extendWebpackConfig: ({ config, options }: Args) => (webpackConfig: WebpackConfig) => WebpackConfig;
|
|
9
|
+
export {};
|
package/dist/webpack.js
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.extendWebpackConfig = void 0;
|
|
15
|
-
var extendWebpackConfig = function (_a) {
|
|
16
|
-
var config = _a.config, options = _a.options;
|
|
17
|
-
return function (webpackConfig) {
|
|
18
|
-
var _a, _b;
|
|
19
|
-
var existingWebpackConfig = typeof ((_a = config.admin) === null || _a === void 0 ? void 0 : _a.webpack) === 'function'
|
|
20
|
-
? config.admin.webpack(webpackConfig)
|
|
21
|
-
: webpackConfig;
|
|
22
|
-
var newConfig = __assign(__assign({}, existingWebpackConfig), { resolve: __assign(__assign({}, (existingWebpackConfig.resolve || {})), { alias: __assign({}, (((_b = existingWebpackConfig.resolve) === null || _b === void 0 ? void 0 : _b.alias) ? existingWebpackConfig.resolve.alias : {})) }) });
|
|
23
|
-
return Object.entries(options.collections).reduce(function (resultingWebpackConfig, _a) {
|
|
24
|
-
var _b;
|
|
25
|
-
var slug = _a[0], collectionOptions = _a[1];
|
|
26
|
-
var matchedCollection = (_b = config.collections) === null || _b === void 0 ? void 0 : _b.find(function (coll) { return coll.slug === slug; });
|
|
27
|
-
if (matchedCollection && typeof collectionOptions.adapter === 'function') {
|
|
28
|
-
var adapter = collectionOptions.adapter({
|
|
29
|
-
collection: matchedCollection,
|
|
30
|
-
});
|
|
31
|
-
if (adapter.webpack) {
|
|
32
|
-
return adapter.webpack(resultingWebpackConfig);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return resultingWebpackConfig;
|
|
36
|
-
}, newConfig);
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
exports.extendWebpackConfig = extendWebpackConfig;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.extendWebpackConfig = void 0;
|
|
15
|
+
var extendWebpackConfig = function (_a) {
|
|
16
|
+
var config = _a.config, options = _a.options;
|
|
17
|
+
return function (webpackConfig) {
|
|
18
|
+
var _a, _b;
|
|
19
|
+
var existingWebpackConfig = typeof ((_a = config.admin) === null || _a === void 0 ? void 0 : _a.webpack) === 'function'
|
|
20
|
+
? config.admin.webpack(webpackConfig)
|
|
21
|
+
: webpackConfig;
|
|
22
|
+
var newConfig = __assign(__assign({}, existingWebpackConfig), { resolve: __assign(__assign({}, (existingWebpackConfig.resolve || {})), { alias: __assign({}, (((_b = existingWebpackConfig.resolve) === null || _b === void 0 ? void 0 : _b.alias) ? existingWebpackConfig.resolve.alias : {})) }) });
|
|
23
|
+
return Object.entries(options.collections).reduce(function (resultingWebpackConfig, _a) {
|
|
24
|
+
var _b;
|
|
25
|
+
var slug = _a[0], collectionOptions = _a[1];
|
|
26
|
+
var matchedCollection = (_b = config.collections) === null || _b === void 0 ? void 0 : _b.find(function (coll) { return coll.slug === slug; });
|
|
27
|
+
if (matchedCollection && typeof collectionOptions.adapter === 'function') {
|
|
28
|
+
var adapter = collectionOptions.adapter({
|
|
29
|
+
collection: matchedCollection,
|
|
30
|
+
});
|
|
31
|
+
if (adapter.webpack) {
|
|
32
|
+
return adapter.webpack(resultingWebpackConfig);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return resultingWebpackConfig;
|
|
36
|
+
}, newConfig);
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
exports.extendWebpackConfig = extendWebpackConfig;
|
|
40
40
|
//# sourceMappingURL=webpack.js.map
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
env: {
|
|
3
|
+
es6: true,
|
|
4
|
+
},
|
|
5
|
+
extends: ['plugin:import/errors', 'plugin:import/warnings', 'plugin:import/typescript'],
|
|
6
|
+
plugins: ['import'],
|
|
7
|
+
settings: {
|
|
8
|
+
'import/parsers': {
|
|
9
|
+
'@typescript-eslint/parser': ['.ts'],
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
rules: {
|
|
13
|
+
/**
|
|
14
|
+
* https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-unresolved.md
|
|
15
|
+
*/
|
|
16
|
+
'import/no-unresolved': ['error', { commonjs: true, caseSensitive: true }],
|
|
17
|
+
'import/no-default-export': 'off',
|
|
18
|
+
'import/prefer-default-export': 'off',
|
|
19
|
+
'import/extensions': [
|
|
20
|
+
'error',
|
|
21
|
+
'ignorePackages',
|
|
22
|
+
{
|
|
23
|
+
ts: 'never',
|
|
24
|
+
tsx: 'never',
|
|
25
|
+
js: 'never',
|
|
26
|
+
jsx: 'never',
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
'import/no-extraneous-dependencies': 'off',
|
|
30
|
+
/**
|
|
31
|
+
* https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/named.md#when-not-to-use-it
|
|
32
|
+
*/
|
|
33
|
+
'import/named': 'error',
|
|
34
|
+
'import/no-relative-packages': 'warn',
|
|
35
|
+
'import/no-import-module-exports': 'warn',
|
|
36
|
+
'import/no-cycle': 'warn',
|
|
37
|
+
},
|
|
38
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
rules: {
|
|
3
|
+
'prefer-named-exports': 'off',
|
|
4
|
+
|
|
5
|
+
'prefer-destructuring': 'off',
|
|
6
|
+
// 'prefer-destructuring': ['warn', { object: true, array: true }],
|
|
7
|
+
// ensure all object/arrays end with a comma
|
|
8
|
+
'comma-dangle': ['error', 'always-multiline'],
|
|
9
|
+
'class-methods-use-this': 'off',
|
|
10
|
+
// consistent new lines
|
|
11
|
+
'function-paren-newline': ['error', 'consistent'],
|
|
12
|
+
'eol-last': ['error', 'always'],
|
|
13
|
+
// allow restricted syntax like for...of loops
|
|
14
|
+
'no-restricted-syntax': 'off',
|
|
15
|
+
'no-await-in-loop': 'off',
|
|
16
|
+
'no-console': 'error',
|
|
17
|
+
// 'no-floating-promises': true,
|
|
18
|
+
// do not allow process.env access in files
|
|
19
|
+
'no-process-env': 'warn',
|
|
20
|
+
},
|
|
21
|
+
}
|