drapcode-utility 2.7.5-sandbox.1 → 2.7.5-sandbox.2
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/build/aws/s3-util.d.ts +1 -1
- package/build/aws/s3-util.d.ts.map +1 -1
- package/build/aws/s3-util.js +22 -6
- package/build/aws/s3-util.js.map +1 -1
- package/build/errors/error-codes.d.ts +2 -0
- package/build/errors/error-codes.d.ts.map +1 -1
- package/build/errors/error-codes.js +2 -0
- package/build/errors/error-codes.js.map +1 -1
- package/build/utils/file-util.d.ts +5 -0
- package/build/utils/file-util.d.ts.map +1 -1
- package/build/utils/file-util.js +86 -1
- package/build/utils/file-util.js.map +1 -1
- package/package.json +6 -3
package/build/aws/s3-util.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export declare const fileUploadToS3: (files: any, s3Client: S3Client, s3Config:
|
|
|
18
18
|
smallIcon: string | null;
|
|
19
19
|
mediumIcon: string | null;
|
|
20
20
|
largeIcon: string | null;
|
|
21
|
-
}[]
|
|
21
|
+
}[]>;
|
|
22
22
|
export declare const deleteS3FromKey: (config: AWSConfig, bucket: string, key: string) => Promise<void>;
|
|
23
23
|
export declare const loadObjectFromS3Key: (config: AWSConfig, bucket: string, key: string) => Promise<import("@smithy/types").StreamingBlobPayloadOutputTypes>;
|
|
24
24
|
export declare const createSingedUrl: (config: AWSConfig, bucket: string, key: string) => Promise<string | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-util.d.ts","sourceRoot":"","sources":["../../src/aws/s3-util.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,QAAQ,EAKT,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"s3-util.d.ts","sourceRoot":"","sources":["../../src/aws/s3-util.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,QAAQ,EAKT,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAY,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAYpE,eAAO,MAAM,cAAc,GACzB,OAAO,GAAG,EACV,UAAU,QAAQ,EAClB,UAAU,QAAQ,EAClB,gBAAgB,QAAQ,EACxB,gBAAgB,QAAQ,EACxB,iBAAiB,OAAO,EACxB,YAAY,UAAU,EACtB,YAAY,EACZ,mBAAiB;;;;;;;;;;;;;;;;;;IAiClB,CAAC;AA+JF,eAAO,MAAM,eAAe,GAAU,QAAQ,SAAS,EAAE,QAAQ,MAAM,EAAE,KAAK,MAAM,kBAUnF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAU,QAAQ,SAAS,EAAE,QAAQ,MAAM,EAAE,KAAK,MAAM,qEAcvF,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,QAAQ,SAAS,EAAE,QAAQ,MAAM,EAAE,KAAK,MAAM;;;EAQnF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAU,QAAQ,SAAS,EAAE,QAAQ,GAAG;;;EAQrE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAU,QAAQ,SAAS,EAAE,QAAQ,GAAG;;;EASxE,CAAC"}
|
package/build/aws/s3-util.js
CHANGED
|
@@ -10,12 +10,13 @@ const client_s3_1 = require("@aws-sdk/client-s3");
|
|
|
10
10
|
const lib_storage_1 = require("@aws-sdk/lib-storage");
|
|
11
11
|
const s3_request_presigner_1 = require("@aws-sdk/s3-request-presigner");
|
|
12
12
|
const fs_1 = __importDefault(require("fs"));
|
|
13
|
-
const mime_types_1 = __importDefault(require("mime-types"));
|
|
14
13
|
const uuid_1 = require("uuid");
|
|
15
14
|
const encryption_1 = require("./encryption");
|
|
16
15
|
const file_util_1 = require("../utils/file-util");
|
|
17
16
|
const util_1 = require("../utils/util");
|
|
18
17
|
const aws_util_1 = require("./aws-util");
|
|
18
|
+
const app_error_1 = require("../errors/app-error");
|
|
19
|
+
const error_codes_1 = require("../errors/error-codes");
|
|
19
20
|
const fileUploadToS3 = async (files, s3Client, s3Config, publicS3Client, publicS3Config, isGenerateIcons, encryption, options = {}, encrypted = false) => {
|
|
20
21
|
const privateConfig = { s3Client, s3Config };
|
|
21
22
|
const publicConfig = { publicS3Client, publicS3Config };
|
|
@@ -49,14 +50,29 @@ const processFileUploadToS3 = async (file, privateConfig, publicConfig, encryptC
|
|
|
49
50
|
const { s3Config, s3Client } = privateConfig;
|
|
50
51
|
const { publicS3Client, publicS3Config } = publicConfig;
|
|
51
52
|
const { encryption, encrypted } = encryptConfig;
|
|
52
|
-
const contentType =
|
|
53
|
+
const contentType = await (0, file_util_1.validateFileMimeType)(file);
|
|
54
|
+
const scanResult = await (0, file_util_1.scanFileForMalware)(file.path);
|
|
55
|
+
if (scanResult.isInfected) {
|
|
56
|
+
drapcode_logger_1.logger.warn(`Malware detected in uploaded file: ${file.originalname}`);
|
|
57
|
+
// Remove infected temporary file
|
|
58
|
+
if (fs_1.default.existsSync(file.path)) {
|
|
59
|
+
fs_1.default.unlinkSync(file.path);
|
|
60
|
+
}
|
|
61
|
+
throw new app_error_1.AppError({
|
|
62
|
+
code: error_codes_1.ErrorCodes.FILE.MALWARE_DETECTED,
|
|
63
|
+
statusCode: 400,
|
|
64
|
+
message: `Malware detected in uploaded file: ${file.originalname}`,
|
|
65
|
+
details: {
|
|
66
|
+
fileName: file.originalname,
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
}
|
|
53
70
|
const { acl, key, bucket } = s3Config;
|
|
54
|
-
let params = null;
|
|
55
71
|
let filePath = file.path;
|
|
56
72
|
if (encrypted) {
|
|
57
73
|
filePath = await (0, encryption_1.cryptFile)(file.path, encryption, false);
|
|
58
74
|
}
|
|
59
|
-
params = {
|
|
75
|
+
const params = {
|
|
60
76
|
Bucket: bucket,
|
|
61
77
|
ACL: acl,
|
|
62
78
|
Key: key,
|
|
@@ -67,7 +83,7 @@ const processFileUploadToS3 = async (file, privateConfig, publicConfig, encryptC
|
|
|
67
83
|
const parallelUploads3 = new lib_storage_1.Upload({ client: s3Client, params });
|
|
68
84
|
const data = await parallelUploads3.done();
|
|
69
85
|
const { smallIcon, mediumIcon, largeIcon } = await handleIconUpload(file, contentType, publicS3Client, publicS3Config, isGenerateIcons, key, options);
|
|
70
|
-
if (data) {
|
|
86
|
+
if (data && fs_1.default.existsSync(filePath)) {
|
|
71
87
|
fs_1.default.unlinkSync(filePath);
|
|
72
88
|
}
|
|
73
89
|
const { originalname, mimetype, size } = file;
|
|
@@ -84,7 +100,7 @@ const processFileUploadToS3 = async (file, privateConfig, publicConfig, encryptC
|
|
|
84
100
|
}
|
|
85
101
|
catch (error) {
|
|
86
102
|
drapcode_logger_1.logger.error(`Error uploading file to S3: ${error}`);
|
|
87
|
-
|
|
103
|
+
throw error;
|
|
88
104
|
}
|
|
89
105
|
};
|
|
90
106
|
const handleIconUpload = async (file, contentType, publicS3Client, publicS3Config, isGenerateIcons, key, options = {}) => {
|
package/build/aws/s3-util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-util.js","sourceRoot":"","sources":["../../src/aws/s3-util.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAmD;AACnD,qDAAyC;AAEzC,kDAM4B;AAC5B,sDAA8C;AAC9C,wEAA6D;AAE7D,4CAAoB;AACpB
|
|
1
|
+
{"version":3,"file":"s3-util.js","sourceRoot":"","sources":["../../src/aws/s3-util.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,8 @@ export declare const ErrorCodes: {
|
|
|
40
40
|
readonly TOO_LARGE: "FILE_TOO_LARGE";
|
|
41
41
|
readonly INVALID_FORMAT: "FILE_INVALID_FORMAT";
|
|
42
42
|
readonly FILE_NOT_FOUND: "FILE_NOT_FOUND";
|
|
43
|
+
readonly MALWARE_DETECTED: "FILE_MALWARE_DETECTED";
|
|
44
|
+
readonly INVALID_MIME_TYPE: "FILE_INVALID_MIME_TYPE";
|
|
43
45
|
};
|
|
44
46
|
};
|
|
45
47
|
export declare const ErrorMessages: Partial<Record<ErrorCode, string>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/errors/error-codes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/errors/error-codes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDb,CAAC;AAEX,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAwD5D,CAAC;AAEF,MAAM,MAAM,SAAS,GACnB,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC,CAAC"}
|
|
@@ -43,6 +43,8 @@ exports.ErrorCodes = {
|
|
|
43
43
|
TOO_LARGE: 'FILE_TOO_LARGE',
|
|
44
44
|
INVALID_FORMAT: 'FILE_INVALID_FORMAT',
|
|
45
45
|
FILE_NOT_FOUND: 'FILE_NOT_FOUND',
|
|
46
|
+
MALWARE_DETECTED: 'FILE_MALWARE_DETECTED',
|
|
47
|
+
INVALID_MIME_TYPE: 'FILE_INVALID_MIME_TYPE',
|
|
46
48
|
},
|
|
47
49
|
};
|
|
48
50
|
exports.ErrorMessages = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../src/errors/error-codes.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;IACxB,MAAM,EAAE;QACN,qBAAqB,EAAE,8BAA8B;QACrD,aAAa,EAAE,sBAAsB;KACtC;IAED,UAAU,EAAE;QACV,gBAAgB,EAAE,6BAA6B;QAC/C,cAAc,EAAE,2BAA2B;QAC3C,aAAa,EAAE,0BAA0B;QACzC,uBAAuB,EAAE,oCAAoC;KAC9D;IAED,QAAQ,EAAE;QACR,gBAAgB,EAAE,2BAA2B;QAC7C,aAAa,EAAE,wBAAwB;QACvC,YAAY,EAAE,uBAAuB;QACrC,iBAAiB,EAAE,4BAA4B;QAC/C,kBAAkB,EAAE,6BAA6B;KAClD;IAED,IAAI,EAAE;QACJ,mBAAmB,EAAE,0BAA0B;QAC/C,aAAa,EAAE,oBAAoB;QACnC,aAAa,EAAE,oBAAoB;QACnC,wBAAwB,EAAE,+BAA+B;QACzD,YAAY,EAAE,mBAAmB;KAClC;IAED,GAAG,EAAE;QACH,eAAe,EAAE,qBAAqB;QACtC,mBAAmB,EAAE,yBAAyB;QAC9C,mBAAmB,EAAE,yBAAyB;QAC9C,uBAAuB,EAAE,6BAA6B;QACtD,eAAe,EAAE,qBAAqB;KACvC;IAED,QAAQ,EAAE;QACR,oBAAoB,EAAE,+BAA+B;QACrD,cAAc,EAAE,yBAAyB;QACzC,kBAAkB,EAAE,oBAAoB;KACzC;IAED,IAAI,EAAE;QACJ,aAAa,EAAE,oBAAoB;QACnC,SAAS,EAAE,gBAAgB;QAC3B,cAAc,EAAE,qBAAqB;QACrC,cAAc,EAAE,gBAAgB;
|
|
1
|
+
{"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../src/errors/error-codes.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,4 +61,9 @@ export declare const generateStaticIcons: (type: any) => {
|
|
|
61
61
|
mediumIcon: string;
|
|
62
62
|
largeIcon: string;
|
|
63
63
|
};
|
|
64
|
+
export declare const scanFileForMalware: (filePath: string) => Promise<{
|
|
65
|
+
isInfected: boolean;
|
|
66
|
+
viruses: string[];
|
|
67
|
+
}>;
|
|
68
|
+
export declare const validateFileMimeType: (file: any) => Promise<string>;
|
|
64
69
|
//# sourceMappingURL=file-util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-util.d.ts","sourceRoot":"","sources":["../../src/utils/file-util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-util.d.ts","sourceRoot":"","sources":["../../src/utils/file-util.ts"],"names":[],"mappings":"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"}
|
package/build/utils/file-util.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.generateStaticIcons = exports.generateDynamicIcons = exports.processAndRemoveScriptFromSVG = exports.processAndRemoveExifDataFromImg = exports.saveEntities = exports.loadSingleJsonFromSubfolder = exports.loadJsonFilesFromSubfolder = exports.createFile = exports.readFile = exports.verifyProjectSettingFolder = exports.checkFolder = void 0;
|
|
6
|
+
exports.validateFileMimeType = exports.scanFileForMalware = exports.generateStaticIcons = exports.generateDynamicIcons = exports.processAndRemoveScriptFromSVG = exports.processAndRemoveExifDataFromImg = exports.saveEntities = exports.loadSingleJsonFromSubfolder = exports.loadJsonFilesFromSubfolder = exports.createFile = exports.readFile = exports.verifyProjectSettingFolder = exports.checkFolder = void 0;
|
|
7
7
|
const drapcode_logger_1 = require("drapcode-logger");
|
|
8
8
|
const drapcode_constant_1 = require("drapcode-constant");
|
|
9
9
|
const fs_1 = require("fs");
|
|
@@ -12,6 +12,11 @@ const exiftool_vendored_1 = require("exiftool-vendored");
|
|
|
12
12
|
const svgo_1 = require("svgo");
|
|
13
13
|
const promises_1 = __importDefault(require("fs/promises"));
|
|
14
14
|
const gm_1 = __importDefault(require("gm"));
|
|
15
|
+
const clamscan_1 = __importDefault(require("clamscan"));
|
|
16
|
+
const mime_types_1 = __importDefault(require("mime-types"));
|
|
17
|
+
const file_type_1 = require("file-type");
|
|
18
|
+
const app_error_1 = require("../errors/app-error");
|
|
19
|
+
const error_codes_1 = require("../errors/error-codes");
|
|
15
20
|
const exiftool = new exiftool_vendored_1.ExifTool({});
|
|
16
21
|
const imageTypeFiles = [...drapcode_constant_1.imageMimeTypes, 'image/jpg'];
|
|
17
22
|
const filePath = process.env.BUILD_FOLDER || '';
|
|
@@ -222,4 +227,84 @@ const generateStaticIcons = (type) => {
|
|
|
222
227
|
};
|
|
223
228
|
};
|
|
224
229
|
exports.generateStaticIcons = generateStaticIcons;
|
|
230
|
+
let clamScanner = null;
|
|
231
|
+
const initMalwareScanner = async () => {
|
|
232
|
+
const scanner = new clamscan_1.default();
|
|
233
|
+
await scanner.init({
|
|
234
|
+
removeInfected: false,
|
|
235
|
+
clamdscan: {
|
|
236
|
+
socket: '/run/clamav/clamd.ctl',
|
|
237
|
+
timeout: 60000,
|
|
238
|
+
localFallback: false,
|
|
239
|
+
multiscan: true,
|
|
240
|
+
active: true,
|
|
241
|
+
},
|
|
242
|
+
clamscan: {
|
|
243
|
+
active: true,
|
|
244
|
+
scanArchives: true,
|
|
245
|
+
},
|
|
246
|
+
preference: 'clamdscan',
|
|
247
|
+
});
|
|
248
|
+
clamScanner = scanner;
|
|
249
|
+
return scanner;
|
|
250
|
+
};
|
|
251
|
+
const scanFileForMalware = async (filePath) => {
|
|
252
|
+
if (!clamScanner) {
|
|
253
|
+
await initMalwareScanner();
|
|
254
|
+
}
|
|
255
|
+
if (!clamScanner) {
|
|
256
|
+
throw new Error('Malware scanner could not be initialized.');
|
|
257
|
+
}
|
|
258
|
+
const result = await clamScanner.isInfected(filePath);
|
|
259
|
+
return {
|
|
260
|
+
isInfected: result.isInfected === true,
|
|
261
|
+
viruses: result.viruses || [],
|
|
262
|
+
};
|
|
263
|
+
};
|
|
264
|
+
exports.scanFileForMalware = scanFileForMalware;
|
|
265
|
+
const validateFileMimeType = async (file) => {
|
|
266
|
+
const detectedType = await (0, file_type_1.fileTypeFromFile)(file.path);
|
|
267
|
+
// Binary file detected using magic bytes
|
|
268
|
+
if (detectedType) {
|
|
269
|
+
if (!drapcode_constant_1.ALLOWED_FILE_MIME_TYPES.includes(detectedType.mime)) {
|
|
270
|
+
throw new app_error_1.AppError({
|
|
271
|
+
code: error_codes_1.ErrorCodes.FILE.INVALID_MIME_TYPE,
|
|
272
|
+
statusCode: 400,
|
|
273
|
+
message: `The file "${file.originalname}" has an unsupported file type.`,
|
|
274
|
+
details: {
|
|
275
|
+
fileName: file.originalname,
|
|
276
|
+
detectedMimeType: detectedType.mime,
|
|
277
|
+
},
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
return detectedType.mime;
|
|
281
|
+
}
|
|
282
|
+
// file-type cannot identify text-based files using magic bytes.
|
|
283
|
+
// Validate these separately.
|
|
284
|
+
const extensionMimeType = mime_types_1.default.lookup(file.originalname) || '';
|
|
285
|
+
if (drapcode_constant_1.TEXT_MIME_TYPES.includes(extensionMimeType)) {
|
|
286
|
+
// Make sure the file is actually text and not arbitrary binary data
|
|
287
|
+
const buffer = (0, fs_1.readFileSync)(file.path);
|
|
288
|
+
if (buffer.includes(0)) {
|
|
289
|
+
throw new app_error_1.AppError({
|
|
290
|
+
code: error_codes_1.ErrorCodes.FILE.INVALID_MIME_TYPE,
|
|
291
|
+
statusCode: 400,
|
|
292
|
+
message: `The file "${file.originalname}" is not a valid text file.`,
|
|
293
|
+
details: {
|
|
294
|
+
fileName: file.originalname,
|
|
295
|
+
},
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
return extensionMimeType;
|
|
299
|
+
}
|
|
300
|
+
throw new app_error_1.AppError({
|
|
301
|
+
code: error_codes_1.ErrorCodes.FILE.INVALID_MIME_TYPE,
|
|
302
|
+
statusCode: 400,
|
|
303
|
+
message: `Unable to determine the file type for: ${file.originalname}`,
|
|
304
|
+
details: {
|
|
305
|
+
fileName: file.originalname,
|
|
306
|
+
},
|
|
307
|
+
});
|
|
308
|
+
};
|
|
309
|
+
exports.validateFileMimeType = validateFileMimeType;
|
|
225
310
|
//# sourceMappingURL=file-util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-util.js","sourceRoot":"","sources":["../../src/utils/file-util.ts"],"names":[],"mappings":";;;;;;AAAA,qDAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"file-util.js","sourceRoot":"","sources":["../../src/utils/file-util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "drapcode-utility",
|
|
3
|
-
"version": "2.7.5-sandbox.
|
|
3
|
+
"version": "2.7.5-sandbox.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"license": "ISC",
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@types/aws4": "^1.11.6",
|
|
23
|
+
"@types/clamscan": "^2.4.1",
|
|
23
24
|
"@types/dompurify": "^3.0.5",
|
|
24
25
|
"@types/jsdom": "^21.1.7",
|
|
25
26
|
"@types/lodash": "^4.14.179",
|
|
@@ -41,13 +42,15 @@
|
|
|
41
42
|
"@types/voca": "^1.4.2",
|
|
42
43
|
"aws4": "^1.13.2",
|
|
43
44
|
"axios": "^1.1.2",
|
|
45
|
+
"clamscan": "^2.4.0",
|
|
44
46
|
"date-fns": "^4.1.0",
|
|
45
47
|
"dompurify": "^3.1.7",
|
|
46
|
-
"drapcode-constant": "2.1.0-sandbox.
|
|
48
|
+
"drapcode-constant": "2.1.0-sandbox.3",
|
|
47
49
|
"drapcode-logger": "1.3.7-sandbox.1",
|
|
48
|
-
"drapcode-redis": "1.5.7-sandbox.
|
|
50
|
+
"drapcode-redis": "1.5.7-sandbox.3",
|
|
49
51
|
"exiftool-vendored": "^28.2.1",
|
|
50
52
|
"express": "^4.17.1",
|
|
53
|
+
"file-type": "^21.3.4",
|
|
51
54
|
"gm": "^1.25.0",
|
|
52
55
|
"jsdom": "^25.0.1",
|
|
53
56
|
"lodash": "^4.17.21",
|