payload 1.0.34 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/.eslintrc.js +1 -0
  2. package/components/elements.ts +1 -1
  3. package/components/index.js +2 -2
  4. package/dist/admin/components/elements/DeleteDocument/index.js +6 -6
  5. package/dist/admin/components/elements/DuplicateDocument/index.js +4 -4
  6. package/dist/admin/components/elements/GenerateConfirmation/index.js +7 -5
  7. package/dist/admin/components/elements/ListControls/index.js +3 -2
  8. package/dist/admin/components/elements/Nav/index.js +43 -24
  9. package/dist/admin/components/elements/Nav/index.scss +22 -26
  10. package/dist/admin/components/elements/NavGroup/index.d.ts +8 -0
  11. package/dist/admin/components/elements/NavGroup/index.js +52 -0
  12. package/dist/admin/components/elements/NavGroup/index.scss +53 -0
  13. package/dist/admin/components/elements/Popup/index.js +14 -13
  14. package/dist/admin/components/elements/SearchFilter/index.js +45 -16
  15. package/dist/admin/components/elements/SearchFilter/types.d.ts +2 -0
  16. package/dist/admin/components/elements/Status/index.js +14 -9
  17. package/dist/admin/components/elements/WhereBuilder/index.js +14 -1
  18. package/dist/admin/components/forms/Error/index.scss +2 -1
  19. package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.js +3 -3
  20. package/dist/admin/components/forms/Label/index.scss +3 -1
  21. package/dist/admin/components/forms/field-types/Array/index.js +14 -9
  22. package/dist/admin/components/forms/field-types/Blocks/index.js +12 -7
  23. package/dist/admin/components/forms/field-types/Collapsible/index.js +7 -7
  24. package/dist/admin/components/forms/field-types/RichText/RichText.d.ts +2 -2
  25. package/dist/admin/components/forms/field-types/RichText/RichText.js +3 -6
  26. package/dist/admin/components/forms/field-types/RichText/elements/indent/index.js +0 -3
  27. package/dist/admin/components/forms/field-types/RichText/elements/index.d.ts +6 -3
  28. package/dist/admin/components/forms/field-types/RichText/elements/link/Button.d.ts +4 -0
  29. package/dist/admin/components/forms/field-types/RichText/elements/link/Button.js +105 -0
  30. package/dist/admin/components/forms/field-types/RichText/elements/link/Element.d.ts +9 -0
  31. package/dist/admin/components/forms/field-types/RichText/elements/link/Element.js +120 -0
  32. package/dist/admin/components/forms/field-types/RichText/elements/link/Modal/baseFields.d.ts +3 -0
  33. package/dist/admin/components/forms/field-types/RichText/elements/link/Modal/baseFields.js +56 -0
  34. package/dist/admin/components/forms/field-types/RichText/elements/link/Modal/index.d.ts +4 -0
  35. package/dist/admin/components/forms/field-types/RichText/elements/link/Modal/index.js +22 -0
  36. package/dist/admin/components/forms/field-types/RichText/elements/link/Modal/index.scss +29 -0
  37. package/dist/admin/components/forms/field-types/RichText/elements/link/Modal/types.d.ts +9 -0
  38. package/dist/admin/components/forms/field-types/RichText/elements/link/Modal/types.js +1 -0
  39. package/dist/admin/components/forms/field-types/RichText/elements/link/index.d.ts +6 -5
  40. package/dist/admin/components/forms/field-types/RichText/elements/link/index.js +4 -67
  41. package/dist/admin/components/forms/field-types/RichText/elements/link/index.scss +36 -63
  42. package/dist/admin/components/forms/field-types/RichText/elements/link/shared.d.ts +1 -0
  43. package/dist/admin/components/forms/field-types/RichText/elements/link/shared.js +1 -0
  44. package/dist/admin/components/forms/field-types/RichText/elements/link/utilities.d.ts +1 -1
  45. package/dist/admin/components/forms/field-types/RichText/elements/link/utilities.js +13 -23
  46. package/dist/admin/components/forms/field-types/RichText/elements/relationship/Button/index.js +6 -10
  47. package/dist/admin/components/forms/field-types/RichText/elements/toggle.js +0 -3
  48. package/dist/admin/components/forms/field-types/RichText/elements/upload/Button/index.js +8 -12
  49. package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/EditModal/index.js +2 -3
  50. package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/index.js +6 -6
  51. package/dist/admin/components/forms/field-types/RichText/types.d.ts +0 -4
  52. package/dist/admin/components/forms/field-types/Tabs/index.js +4 -4
  53. package/dist/admin/components/forms/field-types/Text/Input.d.ts +2 -0
  54. package/dist/admin/components/forms/field-types/Text/Input.js +2 -3
  55. package/dist/admin/components/forms/field-types/Text/index.js +2 -2
  56. package/dist/admin/components/forms/field-types/Text/types.d.ts +3 -0
  57. package/dist/admin/components/forms/field-types/Upload/Add/index.js +4 -4
  58. package/dist/admin/components/forms/field-types/Upload/Input.js +3 -3
  59. package/dist/admin/components/forms/field-types/Upload/SelectExisting/index.js +6 -6
  60. package/dist/admin/components/forms/field-types/rowReducer.d.ts +1 -0
  61. package/dist/admin/components/forms/field-types/rowReducer.js +2 -2
  62. package/dist/admin/components/graphics/Account/Gravatar.d.ts +3 -0
  63. package/dist/admin/components/graphics/Account/Gravatar.js +15 -0
  64. package/dist/admin/components/graphics/Account/index.d.ts +2 -2
  65. package/dist/admin/components/graphics/Account/index.js +24 -1
  66. package/dist/admin/components/modals/StayLoggedIn/index.js +4 -3
  67. package/dist/admin/components/utilities/Auth/index.js +1 -1
  68. package/dist/admin/components/views/Account/index.js +1 -1
  69. package/dist/admin/components/views/Dashboard/Default.js +44 -12
  70. package/dist/admin/components/views/Dashboard/index.scss +1 -1
  71. package/dist/admin/components/views/Version/Restore/index.js +3 -3
  72. package/dist/admin/components/views/collections/List/RelationshipProvider/index.js +1 -1
  73. package/dist/admin/components/views/collections/List/getInitialColumns.js +2 -2
  74. package/dist/admin/hooks/useThrottledEffect.js +15 -10
  75. package/dist/admin/index.js +1 -1
  76. package/dist/admin/scss/vars.scss +2 -2
  77. package/dist/admin/utilities/groupNavItems.d.ts +19 -0
  78. package/dist/admin/utilities/groupNavItems.js +36 -0
  79. package/dist/auth/types.d.ts +1 -1
  80. package/dist/bin/generateTypes.js +20 -4
  81. package/dist/collections/config/schema.js +18 -2
  82. package/dist/collections/config/types.d.ts +9 -0
  83. package/dist/collections/operations/create.js +3 -1
  84. package/dist/collections/operations/local/create.d.ts +2 -2
  85. package/dist/collections/operations/local/create.js +3 -3
  86. package/dist/collections/operations/local/update.js +2 -2
  87. package/dist/collections/operations/restoreVersion.js +11 -1
  88. package/dist/collections/operations/update.js +3 -1
  89. package/dist/config/defaults.js +2 -1
  90. package/dist/config/schema.js +3 -1
  91. package/dist/config/types.d.ts +1 -0
  92. package/dist/fields/config/schema.js +14 -6
  93. package/dist/fields/config/types.d.ts +45 -9
  94. package/dist/fields/config/types.js +10 -2
  95. package/dist/fields/hooks/afterChange/index.d.ts +2 -1
  96. package/dist/fields/hooks/afterChange/index.js +4 -2
  97. package/dist/fields/hooks/afterChange/promise.d.ts +5 -3
  98. package/dist/fields/hooks/afterChange/promise.js +49 -18
  99. package/dist/fields/hooks/afterChange/traverseFields.d.ts +5 -3
  100. package/dist/fields/hooks/afterChange/traverseFields.js +4 -2
  101. package/dist/fields/hooks/afterRead/promise.d.ts +2 -2
  102. package/dist/fields/hooks/afterRead/promise.js +50 -22
  103. package/dist/fields/hooks/afterRead/traverseFields.d.ts +2 -2
  104. package/dist/fields/hooks/beforeChange/promise.d.ts +2 -2
  105. package/dist/fields/hooks/beforeChange/promise.js +51 -20
  106. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +2 -2
  107. package/dist/fields/hooks/beforeValidate/promise.d.ts +2 -2
  108. package/dist/fields/hooks/beforeValidate/promise.js +35 -15
  109. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +2 -2
  110. package/dist/fields/richText/recurseNestedFields.js +3 -3
  111. package/dist/fields/richText/{relationshipPromise.d.ts → richTextRelationshipPromise.d.ts} +0 -0
  112. package/dist/fields/richText/richTextRelationshipPromise.js +104 -0
  113. package/dist/globals/config/schema.js +2 -1
  114. package/dist/globals/config/types.d.ts +2 -0
  115. package/dist/globals/operations/restoreVersion.js +10 -1
  116. package/dist/globals/operations/update.js +4 -1
  117. package/dist/graphql/schema/buildMutationInputType.js +27 -13
  118. package/dist/graphql/schema/buildObjectType.js +18 -3
  119. package/dist/graphql/schema/withNullableType.d.ts +2 -2
  120. package/dist/graphql/schema/withNullableType.js +1 -1
  121. package/dist/mongoose/buildQuery.js +4 -2
  122. package/dist/mongoose/buildSchema.js +25 -14
  123. package/dist/types/index.d.ts +1 -1
  124. package/dist/uploads/getBaseFields.js +3 -3
  125. package/dist/uploads/getFileByPath.d.ts +1 -1
  126. package/dist/uploads/getFileByPath.js +5 -5
  127. package/dist/uploads/getSafeFilename.js +3 -4
  128. package/dist/uploads/imageResizer.d.ts +1 -9
  129. package/dist/uploads/imageResizer.js +18 -18
  130. package/dist/uploads/types.d.ts +18 -3
  131. package/dist/uploads/uploadFile.js +29 -8
  132. package/dist/utilities/flattenTopLevelFields.js +2 -2
  133. package/dist/utilities/groupOrTabHasRequiredSubfield.d.ts +2 -0
  134. package/dist/utilities/groupOrTabHasRequiredSubfield.js +17 -0
  135. package/dist/utilities/logger.js +2 -3
  136. package/dist/utilities/wordBoundariesRegex.js +2 -2
  137. package/docs/admin/overview.mdx +2 -1
  138. package/docs/configuration/collections.mdx +14 -1
  139. package/docs/fields/array.mdx +10 -1
  140. package/docs/fields/blocks.mdx +9 -1
  141. package/docs/fields/collapsible.mdx +13 -5
  142. package/docs/fields/rich-text.mdx +7 -0
  143. package/docs/fields/tabs.mdx +4 -2
  144. package/docs/hooks/collections.mdx +3 -2
  145. package/docs/hooks/fields.mdx +11 -9
  146. package/docs/hooks/globals.mdx +1 -0
  147. package/docs/upload/overview.mdx +5 -3
  148. package/package.json +4 -4
  149. package/CHANGELOG.md +0 -1870
  150. package/dist/fields/richText/relationshipPromise.js +0 -71
@@ -17,8 +17,8 @@ const formatBaseSchema = (field, buildSchemaOptions) => {
17
17
  }
18
18
  return schema;
19
19
  };
20
- const localizeSchema = (field, schema, localization) => {
21
- if (field.localized && localization && Array.isArray(localization.locales)) {
20
+ const localizeSchema = (entity, schema, localization) => {
21
+ if ((0, types_1.fieldIsLocalized)(entity) && localization && Array.isArray(localization.locales)) {
22
22
  return {
23
23
  type: localization.locales.reduce((localeSchema, locale) => ({
24
24
  ...localeSchema,
@@ -233,12 +233,28 @@ const fieldToSchemaMap = {
233
233
  },
234
234
  tabs: (field, schema, config, buildSchemaOptions) => {
235
235
  field.tabs.forEach((tab) => {
236
- tab.fields.forEach((subField) => {
237
- const addFieldSchema = fieldToSchemaMap[subField.type];
238
- if (addFieldSchema) {
239
- addFieldSchema(subField, schema, config, buildSchemaOptions);
240
- }
241
- });
236
+ if ((0, types_1.tabHasName)(tab)) {
237
+ const baseSchema = {
238
+ type: buildSchema(config, tab.fields, {
239
+ options: {
240
+ _id: false,
241
+ id: false,
242
+ },
243
+ disableUnique: buildSchemaOptions.disableUnique,
244
+ }),
245
+ };
246
+ schema.add({
247
+ [tab.name]: localizeSchema(tab, baseSchema, config.localization),
248
+ });
249
+ }
250
+ else {
251
+ tab.fields.forEach((subField) => {
252
+ const addFieldSchema = fieldToSchemaMap[subField.type];
253
+ if (addFieldSchema) {
254
+ addFieldSchema(subField, schema, config, buildSchemaOptions);
255
+ }
256
+ });
257
+ }
242
258
  });
243
259
  },
244
260
  array: (field, schema, config, buildSchemaOptions) => {
@@ -255,14 +271,9 @@ const fieldToSchemaMap = {
255
271
  });
256
272
  },
257
273
  group: (field, schema, config, buildSchemaOptions) => {
258
- var _a, _b;
259
- let { required } = field;
260
- if (((_a = field === null || field === void 0 ? void 0 : field.admin) === null || _a === void 0 ? void 0 : _a.condition) || (field === null || field === void 0 ? void 0 : field.localized) || ((_b = field === null || field === void 0 ? void 0 : field.access) === null || _b === void 0 ? void 0 : _b.create))
261
- required = false;
262
274
  const formattedBaseSchema = formatBaseSchema(field, buildSchemaOptions);
263
275
  const baseSchema = {
264
276
  ...formattedBaseSchema,
265
- required: required && field.fields.some((subField) => { var _a, _b; return (!(0, types_1.fieldIsPresentationalOnly)(subField) && subField.required && !subField.localized && !((_a = subField === null || subField === void 0 ? void 0 : subField.admin) === null || _a === void 0 ? void 0 : _a.condition) && !((_b = subField === null || subField === void 0 ? void 0 : subField.access) === null || _b === void 0 ? void 0 : _b.create)); }),
266
277
  type: buildSchema(config, field.fields, {
267
278
  options: {
268
279
  _id: false,
@@ -319,4 +330,4 @@ const fieldToSchemaMap = {
319
330
  },
320
331
  };
321
332
  exports.default = buildSchema;
322
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRTY2hlbWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9uZ29vc2UvYnVpbGRTY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxzREFBc0Q7QUFDdEQsMkNBQTJDO0FBQzNDLDREQUE0RDtBQUM1RCx5Q0FBeUM7QUFDekMsdUNBQWtGO0FBRWxGLGtEQUFrWDtBQVlsWCxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBNkIsRUFBRSxrQkFBc0MsRUFBRSxFQUFFO0lBQ2pHLE1BQU0sTUFBTSxHQUErQjtRQUN6QyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSztRQUNwRSxRQUFRLEVBQUUsS0FBSztRQUNmLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUs7S0FDbkYsQ0FBQztJQUVGLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFO1FBQzVFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0tBQ3RCO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUE2QixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsRUFBRTtJQUM3RSxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksWUFBWSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzFFLE9BQU87WUFDTCxJQUFJLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFD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
333
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRTY2hlbWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9uZ29vc2UvYnVpbGRTY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxzREFBc0Q7QUFDdEQsMkNBQTJDO0FBQzNDLDREQUE0RDtBQUM1RCx5Q0FBeUM7QUFDekMsdUNBQWtGO0FBRWxGLGtEQTRCZ0M7QUFZaEMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQXlCLEVBQUUsa0JBQXNDLEVBQUUsRUFBRTtJQUM3RixNQUFNLE1BQU0sR0FBK0I7UUFDekMsTUFBTSxFQUFFLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUs7UUFDcEUsUUFBUSxFQUFFLEtBQUs7UUFDZixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsa0JBQWtCLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLO0tBQ25GLENBQUM7SUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRTtRQUM1RSxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztLQUN0QjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBb0MsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEVBQUU7SUFDcEYsSUFBSSxJQUFBLHdCQUFnQixFQUFDLE1BQU0sQ0FBQyxJQUFJLFlBQVksSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUNuRixPQUFPO1lBQ0wsSUFBSSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxF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
@@ -7,9 +7,9 @@ export declare type WhereField = {
7
7
  [key in Operator]?: unknown;
8
8
  };
9
9
  export declare type Where = {
10
+ [key: string]: WhereField | Where[];
10
11
  or?: Where[];
11
12
  and?: Where[];
12
- [key: string]: Where[] | WhereField;
13
13
  };
14
14
  export declare type Document = any;
15
15
  export interface PayloadMongooseDocument extends MongooseDocument {
@@ -76,14 +76,14 @@ const getBaseUploadFields = ({ config, collection }) => {
76
76
  filename,
77
77
  mimeType,
78
78
  filesize,
79
+ width,
80
+ height,
79
81
  ];
80
82
  if (uploadOptions.mimeTypes) {
81
83
  mimeType.validate = (0, mimeTypeValidator_1.mimeTypeValidator)(uploadOptions.mimeTypes);
82
84
  }
83
85
  if (uploadOptions.imageSizes) {
84
86
  uploadFields = uploadFields.concat([
85
- width,
86
- height,
87
87
  {
88
88
  name: 'sizes',
89
89
  label: 'Sizes',
@@ -130,4 +130,4 @@ const getBaseUploadFields = ({ config, collection }) => {
130
130
  return uploadFields;
131
131
  };
132
132
  exports.default = getBaseUploadFields;
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0QmFzZUZpZWxkcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2dldEJhc2VGaWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSwyREFBd0Q7QUFReEQsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBVyxFQUFXLEVBQUU7SUFDdkUsTUFBTSxhQUFhLEdBQXVCLE9BQU8sVUFBVSxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUV6RyxNQUFNLFFBQVEsR0FBVTtRQUN0QixJQUFJLEVBQUUsVUFBVTtRQUNoQixLQUFLLEVBQUUsV0FBVztRQUNsQixJQUFJLEVBQUUsTUFBTTtRQUNaLEtBQUssRUFBRTtZQUNMLFFBQVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDZjtLQUNGLENBQUM7SUFFRixNQUFNLEdBQUcsR0FBVTtRQUNqQixJQUFJLEVBQUUsS0FBSztRQUNYLEtBQUssRUFBRSxLQUFLO1FBQ1osSUFBSSxFQUFFLE1BQU07UUFDWixLQUFLLEVBQUU7WUFDTCxRQUFRLEVBQUUsSUFBSTtZQUNkLFFBQVEsRUFBRSxJQUFJO1NBQ2Y7S0FDRixDQUFDO0lBRUYsTUFBTSxLQUFLLEdBQVU7UUFDbkIsSUFBSSxFQUFFLE9BQU87UUFDYixLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSxRQUFRO1FBQ2QsS0FBSyxFQUFFO1lBQ0wsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtTQUNmO0tBQ0YsQ0FBQztJQUVGLE1BQU0sTUFBTSxHQUFVO1FBQ3BCLElBQUksRUFBRSxRQUFRO1FBQ2QsS0FBSyxFQUFFLFFBQVE7UUFDZixJQUFJLEVBQUUsUUFBUTtRQUNkLEtBQUssRUFBRTtZQUNMLFFBQVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLElB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
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0QmFzZUZpZWxkcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2dldEJhc2VGaWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSwyREFBd0Q7QUFReEQsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBVyxFQUFXLEVBQUU7SUFDdkUsTUFBTSxhQUFhLEdBQXVCLE9BQU8sVUFBVSxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUV6RyxNQUFNLFFBQVEsR0FBVTtRQUN0QixJQUFJLEVBQUUsVUFBVTtRQUNoQixLQUFLLEVBQUUsV0FBVztRQUNsQixJQUFJLEVBQUUsTUFBTTtRQUNaLEtBQUssRUFBRTtZQUNMLFFBQVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDZjtLQUNGLENBQUM7SUFFRixNQUFNLEdBQUcsR0FBVTtRQUNqQixJQUFJLEVBQUUsS0FBSztRQUNYLEtBQUssRUFBRSxLQUFLO1FBQ1osSUFBSSxFQUFFLE1BQU07UUFDWixLQUFLLEVBQUU7WUFDTCxRQUFRLEVBQUUsSUFBSTtZQUNkLFFBQVEsRUFBRSxJQUFJO1NBQ2Y7S0FDRixDQUFDO0lBRUYsTUFBTSxLQUFLLEdBQVU7UUFDbkIsSUFBSSxFQUFFLE9BQU87UUFDYixLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSxRQUFRO1FBQ2QsS0FBSyxFQUFFO1lBQ0wsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtTQUNmO0tBQ0YsQ0FBQztJQUVGLE1BQU0sTUFBTSxHQUFVO1FBQ3BCLElBQUksRUFBRSxRQUFRO1FBQ2QsS0FBSyxFQUFFLFFBQVE7UUFDZixJQUFJLEVBQUUsUUFBUTtRQUNkLEtBQUssRUFBRTtZQUNMLFFBQVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLElB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
@@ -1,3 +1,3 @@
1
1
  import { File } from './types';
2
- declare const getFileByPath: (filePath: string) => File;
2
+ declare const getFileByPath: (filePath: string) => Promise<File>;
3
3
  export default getFileByPath;
@@ -4,17 +4,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const fs_1 = __importDefault(require("fs"));
7
- const mime_1 = __importDefault(require("mime"));
7
+ const file_type_1 = require("file-type");
8
8
  const path_1 = __importDefault(require("path"));
9
- const getFileByPath = (filePath) => {
9
+ const getFileByPath = async (filePath) => {
10
10
  if (typeof filePath === 'string') {
11
11
  const data = fs_1.default.readFileSync(filePath);
12
- const mimetype = mime_1.default.getType(filePath);
12
+ const mimetype = (0, file_type_1.fromFile)(filePath);
13
13
  const { size } = fs_1.default.statSync(filePath);
14
14
  const name = path_1.default.basename(filePath);
15
15
  return {
16
16
  data,
17
- mimetype,
17
+ mimetype: (await mimetype).mime,
18
18
  name,
19
19
  size,
20
20
  };
@@ -22,4 +22,4 @@ const getFileByPath = (filePath) => {
22
22
  return undefined;
23
23
  };
24
24
  exports.default = getFileByPath;
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0RmlsZUJ5UGF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2dldEZpbGVCeVBhdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0Q0FBb0I7QUFDcEIsZ0RBQXdCO0FBQ3hCLGdEQUF3QjtBQUd4QixNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQWdCLEVBQVEsRUFBRTtJQUMvQyxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRTtRQUNoQyxNQUFNLElBQUksR0FBRyxZQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLGNBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLFlBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFdkMsTUFBTSxJQUFJLEdBQUcsY0FBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVyQyxPQUFPO1lBQ0wsSUFBSTtZQUNKLFFBQVE7WUFDUixJQUFJO1lBQ0osSUFBSTtTQUNMLENBQUM7S0FDSDtJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUVGLGtCQUFlLGFBQWEsQ0FBQyJ9
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0RmlsZUJ5UGF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2dldEZpbGVCeVBhdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0Q0FBb0I7QUFDcEIseUNBQXFDO0FBQ3JDLGdEQUF3QjtBQUd4QixNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQUUsUUFBZ0IsRUFBaUIsRUFBRTtJQUM5RCxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRTtRQUNoQyxNQUFNLElBQUksR0FBRyxZQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLElBQUEsb0JBQVEsRUFBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsWUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV2QyxNQUFNLElBQUksR0FBRyxjQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXJDLE9BQU87WUFDTCxJQUFJO1lBQ0osUUFBUSxFQUFFLENBQUMsTUFBTSxRQUFRLENBQUMsQ0FBQyxJQUFJO1lBQy9CLElBQUk7WUFDSixJQUFJO1NBQ0wsQ0FBQztLQUNIO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBRUYsa0JBQWUsYUFBYSxDQUFDIn0=
@@ -8,7 +8,7 @@ const docWithFilenameExists_1 = __importDefault(require("./docWithFilenameExists
8
8
  const fileExists_1 = __importDefault(require("./fileExists"));
9
9
  const incrementName = (name) => {
10
10
  const extension = name.split('.').pop();
11
- const baseFilename = (0, sanitize_filename_1.default)(name.substr(0, name.lastIndexOf('.')) || name);
11
+ const baseFilename = (0, sanitize_filename_1.default)(name.substring(0, name.lastIndexOf('.')) || name);
12
12
  let incrementedName = baseFilename;
13
13
  const regex = /(.*)-(\d)$/;
14
14
  const found = baseFilename.match(regex);
@@ -19,8 +19,7 @@ const incrementName = (name) => {
19
19
  const matchedName = found[1];
20
20
  const matchedNumber = found[2];
21
21
  const incremented = Number(matchedNumber) + 1;
22
- const newName = `${matchedName}-${incremented}`;
23
- incrementedName = newName;
22
+ incrementedName = `${matchedName}-${incremented}`;
24
23
  }
25
24
  return `${incrementedName}.${extension}`;
26
25
  };
@@ -33,4 +32,4 @@ async function getSafeFileName(Model, staticPath, desiredFilename) {
33
32
  return modifiedFilename;
34
33
  }
35
34
  exports.default = getSafeFileName;
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U2FmZUZpbGVuYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3VwbG9hZHMvZ2V0U2FmZUZpbGVuYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMEVBQXlDO0FBRXpDLG9GQUE0RDtBQUM1RCw4REFBc0M7QUFFdEMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtJQUNyQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sWUFBWSxHQUFHLElBQUEsMkJBQVEsRUFBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7SUFDN0UsSUFBSSxlQUFlLEdBQUcsWUFBWSxDQUFDO0lBQ25DLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQztJQUMzQixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtRQUNsQixlQUFlLElBQUksSUFBSSxDQUFDO0tBQ3pCO1NBQU07UUFDTCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUMsTUFBTSxPQUFPLEdBQUcsR0FBRyxXQUFXLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEQsZUFBZSxHQUFHLE9BQU8sQ0FBQztLQUMzQjtJQUNELE9BQU8sR0FBRyxlQUFlLElBQUksU0FBUyxFQUFFLENBQUM7QUFDM0MsQ0FBQyxDQUFDO0FBRUYsS0FBSyxVQUFVLGVBQWUsQ0FBQyxLQUFzQixFQUFFLFVBQWtCLEVBQUUsZUFBdUI7SUFDaEcsSUFBSSxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7SUFFdkMsNENBQTRDO0lBQzVDLE9BQU8sTUFBTSxJQUFBLCtCQUFxQixFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxNQUFNLElBQUEsb0JBQVUsRUFBQyxHQUFHLFVBQVUsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUU7UUFDaEksZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0FDcEQ7SUFDRCxPQUFPLGdCQUFnQixDQUFDO0FBQzFCLENBQUM7QUFFRCxrQkFBZSxlQUFlLENBQUMifQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U2FmZUZpbGVuYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3VwbG9hZHMvZ2V0U2FmZUZpbGVuYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMEVBQXlDO0FBRXpDLG9GQUE0RDtBQUM1RCw4REFBc0M7QUFFdEMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtJQUNyQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sWUFBWSxHQUFHLElBQUEsMkJBQVEsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7SUFDaEYsSUFBSSxlQUFlLEdBQUcsWUFBWSxDQUFDO0lBQ25DLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQztJQUMzQixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtRQUNsQixlQUFlLElBQUksSUFBSSxDQUFDO0tBQ3pCO1NBQU07UUFDTCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUMsZUFBZSxHQUFHLEdBQUcsV0FBVyxJQUFJLFdBQVcsRUFBRSxDQUFDO0tBQ25EO0lBQ0QsT0FBTyxHQUFHLGVBQWUsSUFBSSxTQUFTLEVBQUUsQ0FBQztBQUMzQyxDQUFDLENBQUM7QUFFRixLQUFLLFVBQVUsZUFBZSxDQUFDLEtBQXNCLEVBQUUsVUFBa0IsRUFBRSxlQUF1QjtJQUNoRyxJQUFJLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztJQUV2Qyw0Q0FBNEM7SUFDNUMsT0FBTyxNQUFNLElBQUEsK0JBQXFCLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLE1BQU0sSUFBQSxvQkFBVSxFQUFDLEdBQUcsVUFBVSxJQUFJLGdCQUFnQixFQUFFLENBQUMsRUFBRTtRQUNoSSxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQUNwRDtJQUNELE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQztBQUVELGtCQUFlLGVBQWUsQ0FBQyJ9
@@ -12,13 +12,5 @@ declare type Args = {
12
12
  savedFilename: string;
13
13
  mimeType: string;
14
14
  };
15
- /**
16
- * @description
17
- * @param staticPath Path to save images
18
- * @param config Payload config
19
- * @param savedFilename
20
- * @param mimeType
21
- * @returns image sizes keyed to strings
22
- */
23
- export default function resizeAndSave({ req, file, dimensions, staticPath, config, savedFilename, mimeType, }: Args): Promise<FileSizes>;
15
+ export default function resizeAndSave({ req, file, dimensions, staticPath, config, savedFilename, }: Args): Promise<FileSizes>;
24
16
  export {};
@@ -6,10 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const fs_1 = __importDefault(require("fs"));
7
7
  const sharp_1 = __importDefault(require("sharp"));
8
8
  const sanitize_filename_1 = __importDefault(require("sanitize-filename"));
9
+ const file_type_1 = require("file-type");
9
10
  const fileExists_1 = __importDefault(require("./fileExists"));
10
11
  function getOutputImage(sourceImage, size) {
11
12
  const extension = sourceImage.split('.').pop();
12
- const name = (0, sanitize_filename_1.default)(sourceImage.substr(0, sourceImage.lastIndexOf('.')) || sourceImage);
13
+ const name = (0, sanitize_filename_1.default)(sourceImage.substring(0, sourceImage.lastIndexOf('.')) || sourceImage);
13
14
  return {
14
15
  name,
15
16
  extension,
@@ -17,29 +18,21 @@ function getOutputImage(sourceImage, size) {
17
18
  height: size.height,
18
19
  };
19
20
  }
20
- /**
21
- * @description
22
- * @param staticPath Path to save images
23
- * @param config Payload config
24
- * @param savedFilename
25
- * @param mimeType
26
- * @returns image sizes keyed to strings
27
- */
28
- async function resizeAndSave({ req, file, dimensions, staticPath, config, savedFilename, mimeType, }) {
21
+ async function resizeAndSave({ req, file, dimensions, staticPath, config, savedFilename, }) {
29
22
  const { imageSizes, disableLocalStorage } = config.upload;
30
23
  const sizes = imageSizes
31
- .filter((desiredSize) => desiredSize.width <= dimensions.width || desiredSize.height <= dimensions.height)
24
+ .filter((desiredSize) => needsResize(desiredSize, dimensions))
32
25
  .map(async (desiredSize) => {
33
- const resized = await (0, sharp_1.default)(file)
34
- .resize(desiredSize.width, desiredSize.height, {
35
- position: desiredSize.crop || 'centre',
36
- });
26
+ let resized = await (0, sharp_1.default)(file).resize(desiredSize);
27
+ if (desiredSize.formatOptions) {
28
+ resized = resized.toFormat(desiredSize.formatOptions.format, desiredSize.formatOptions.options);
29
+ }
37
30
  const bufferObject = await resized.toBuffer({
38
31
  resolveWithObject: true,
39
32
  });
40
33
  req.payloadUploadSizes[desiredSize.name] = bufferObject.data;
41
34
  const outputImage = getOutputImage(savedFilename, desiredSize);
42
- const imageNameWithDimensions = `${outputImage.name}-${bufferObject.info.width}x${bufferObject.info.height}.${outputImage.extension}`;
35
+ const imageNameWithDimensions = createImageName(outputImage, bufferObject);
43
36
  const imagePath = `${staticPath}/${imageNameWithDimensions}`;
44
37
  const fileAlreadyExists = await (0, fileExists_1.default)(imagePath);
45
38
  if (fileAlreadyExists) {
@@ -54,7 +47,7 @@ async function resizeAndSave({ req, file, dimensions, staticPath, config, savedF
54
47
  height: bufferObject.info.height,
55
48
  filename: imageNameWithDimensions,
56
49
  filesize: bufferObject.info.size,
57
- mimeType,
50
+ mimeType: (await (0, file_type_1.fromBuffer)(bufferObject.data)).mime,
58
51
  };
59
52
  });
60
53
  const savedSizes = await Promise.all(sizes);
@@ -70,4 +63,11 @@ async function resizeAndSave({ req, file, dimensions, staticPath, config, savedF
70
63
  }), {});
71
64
  }
72
65
  exports.default = resizeAndSave;
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VSZXNpemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3VwbG9hZHMvaW1hZ2VSZXNpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNENBQW9CO0FBQ3BCLGtEQUEwQjtBQUMxQiwwRUFBeUM7QUFFekMsOERBQXNDO0FBZXRDLFNBQVMsY0FBYyxDQUFDLFdBQW1CLEVBQUUsSUFBZTtJQUMxRCxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQy9DLE1BQU0sSUFBSSxHQUFHLElBQUEsMkJBQVEsRUFBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksV0FBVyxDQUFDLENBQUM7SUFFMUYsT0FBTztRQUNMLElBQUk7UUFDSixTQUFTO1FBQ1QsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1FBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtLQUNwQixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDWSxLQUFLLFVBQVUsYUFBYSxDQUFDLEVBQzFDLEdBQUcsRUFDSCxJQUFJLEVBQ0osVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBQ04sYUFBYSxFQUNiLFFBQVEsR0FDSDtJQUNMLE1BQU0sRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBRTFELE1BQU0sS0FBSyxHQUFHLFVBQVU7U0FDckIsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLFVBQVUsQ0FBQyxLQUFLLElBQUksV0FBVyxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDO1NBQ3pHLEdBQUcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUU7UUFDekIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFBLGVBQUssRUFBQyxJQUFJLENBQUM7YUFDOUIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUM3QyxRQUFRLEVBQUUsV0FBVyxDQUFDLElBQUksSUFBSSxRQUFRO1NBQ3ZDLENBQUMsQ0FBQztRQUVMLE1BQU0sWUFBWSxHQUFHLE1BQU0sT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUMxQyxpQkFBaUIsRUFBRSxJQUFJO1NBQ3hCLENBQUMsQ0FBQztRQUVILEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQztRQUU3RCxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxXQUFXLENBQUMsSUFBSSxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN0SSxNQUFNLFNBQVMsR0FBRyxHQUFHLFVBQVUsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQzdELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxJQUFBLG9CQUFVLEVBQUMsU0FBUyxDQUFDLENBQUM7UUFFdEQsSUFBSSxpQkFBaUIsRUFBRTtZQUNyQixZQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzFCO1FBRUQsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQ3hCLE1BQU0sT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNqQztRQUVELE9BQU87WUFDTCxJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUk7WUFDdEIsS0FBSyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUM5QixNQUFNLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQ2hDLFFBQVEsRUFBRSx1QkFBdUI7WUFDakMsUUFBUSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUNoQyxRQUFRO1NBQ1QsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUwsTUFBTSxVQUFVLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTVDLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0MsR0FBRyxPQUFPO1FBQ1YsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDWCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCO0tBQ0YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1YsQ0FBQztBQTVERCxnQ0E0REMifQ==
66
+ function createImageName(outputImage, bufferObject) {
67
+ return `${outputImage.name}-${bufferObject.info.width}x${bufferObject.info.height}.${outputImage.extension}`;
68
+ }
69
+ function needsResize(desiredSize, dimensions) {
70
+ return (typeof desiredSize.width === 'number' && desiredSize.width <= dimensions.width)
71
+ || (typeof desiredSize.height === 'number' && desiredSize.height <= dimensions.height);
72
+ }
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VSZXNpemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3VwbG9hZHMvaW1hZ2VSZXNpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNENBQW9CO0FBQ3BCLGtEQUEwQjtBQUMxQiwwRUFBeUM7QUFDekMseUNBQXVDO0FBRXZDLDhEQUFzQztBQXNCdEMsU0FBUyxjQUFjLENBQUMsV0FBbUIsRUFBRSxJQUFlO0lBQzFELE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDL0MsTUFBTSxJQUFJLEdBQUcsSUFBQSwyQkFBUSxFQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQztJQUU3RixPQUFPO1FBQ0wsSUFBSTtRQUNKLFNBQVM7UUFDVCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7UUFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO0tBQ3BCLENBQUM7QUFDSixDQUFDO0FBRWMsS0FBSyxVQUFVLGFBQWEsQ0FBQyxFQUMxQyxHQUFHLEVBQ0gsSUFBSSxFQUNKLFVBQVUsRUFDVixVQUFVLEVBQ1YsTUFBTSxFQUNOLGFBQWEsR0FDUjtJQUNMLE1BQU0sRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBRTFELE1BQU0sS0FBSyxHQUFHLFVBQVU7U0FDckIsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQzdELEdBQUcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUU7UUFDekIsSUFBSSxPQUFPLEdBQUcsTUFBTSxJQUFBLGVBQUssRUFBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMs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
@@ -1,6 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import express from 'express';
3
3
  import serveStatic from 'serve-static';
4
+ import { Sharp, ResizeOptions } from 'sharp';
4
5
  export declare type FileSize = {
5
6
  filename: string;
6
7
  filesize: number;
@@ -21,10 +22,20 @@ export declare type FileData = {
21
22
  height: number;
22
23
  sizes: FileSizes;
23
24
  };
24
- export declare type ImageSize = {
25
+ /**
26
+ * Params sent to the sharp toFormat() function
27
+ * @link https://sharp.pixelplumbing.com/api-output#toformat
28
+ */
29
+ export declare type ImageUploadFormatOptions = {
30
+ format: Parameters<Sharp['toFormat']>[0];
31
+ options?: Parameters<Sharp['toFormat']>[1];
32
+ };
33
+ export declare type ImageSize = ResizeOptions & {
25
34
  name: string;
26
- width: number | null;
27
- height: number | null;
35
+ formatOptions?: ImageUploadFormatOptions;
36
+ /**
37
+ * @deprecated prefer position
38
+ */
28
39
  crop?: string;
29
40
  };
30
41
  export declare type GetAdminThumbnail = (args: {
@@ -39,6 +50,8 @@ export declare type IncomingUploadType = {
39
50
  mimeTypes?: string[];
40
51
  staticOptions?: serveStatic.ServeStaticOptions<express.Response<any, Record<string, any>>>;
41
52
  handlers?: any[];
53
+ resizeOptions?: ResizeOptions;
54
+ formatOptions?: ImageUploadFormatOptions;
42
55
  };
43
56
  export declare type Upload = {
44
57
  imageSizes?: ImageSize[];
@@ -49,6 +62,8 @@ export declare type Upload = {
49
62
  mimeTypes?: string[];
50
63
  staticOptions?: serveStatic.ServeStaticOptions<express.Response<any, Record<string, any>>>;
51
64
  handlers?: any[];
65
+ resizeOptions?: ResizeOptions;
66
+ formatOptions?: ImageUploadFormatOptions;
52
67
  };
53
68
  export declare type File = {
54
69
  data: Buffer;
@@ -5,7 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const mkdirp_1 = __importDefault(require("mkdirp"));
7
7
  const path_1 = __importDefault(require("path"));
8
- const mime_1 = __importDefault(require("mime"));
8
+ const sharp_1 = __importDefault(require("sharp"));
9
+ const file_type_1 = require("file-type");
10
+ const sanitize_filename_1 = __importDefault(require("sanitize-filename"));
9
11
  const errors_1 = require("../errors");
10
12
  const saveBufferToFile_1 = __importDefault(require("./saveBufferToFile"));
11
13
  const getSafeFilename_1 = __importDefault(require("./getSafeFilename"));
@@ -16,7 +18,7 @@ const uploadFile = async ({ config, collection: { config: collectionConfig, Mode
16
18
  let newData = data;
17
19
  if (collectionConfig.upload) {
18
20
  const fileData = {};
19
- const { staticDir, imageSizes, disableLocalStorage } = collectionConfig.upload;
21
+ const { staticDir, imageSizes, disableLocalStorage, resizeOptions, formatOptions } = collectionConfig.upload;
20
22
  const { file } = req.files || {};
21
23
  if (throwOnMissingFile && !file) {
22
24
  throw new errors_1.MissingFile();
@@ -29,14 +31,33 @@ const uploadFile = async ({ config, collection: { config: collectionConfig, Mode
29
31
  mkdirp_1.default.sync(staticPath);
30
32
  }
31
33
  if (file) {
32
- const fsSafeName = !overwriteExistingFiles ? await (0, getSafeFilename_1.default)(Model, staticPath, file.name) : file.name;
33
34
  try {
35
+ let fsSafeName;
36
+ let fileBuffer;
37
+ let mimeType;
38
+ let fileSize;
34
39
  if (!disableLocalStorage) {
35
- await (0, saveBufferToFile_1.default)(file.data, `${staticPath}/${fsSafeName}`);
40
+ let resized;
41
+ if (resizeOptions) {
42
+ resized = (0, sharp_1.default)(file.data).resize(resizeOptions);
43
+ }
44
+ if (formatOptions) {
45
+ resized = (resized !== null && resized !== void 0 ? resized : (0, sharp_1.default)(file.data)).toFormat(formatOptions.format, formatOptions.options);
46
+ }
47
+ fileBuffer = resized ? (await resized.toBuffer()) : file.data;
48
+ const { mime, ext } = await (0, file_type_1.fromBuffer)(fileBuffer);
49
+ mimeType = mime;
50
+ fileSize = fileBuffer.length;
51
+ const baseFilename = (0, sanitize_filename_1.default)(file.name.substring(0, file.name.lastIndexOf('.')) || file.name);
52
+ fsSafeName = `${baseFilename}.${ext}`;
53
+ if (!overwriteExistingFiles) {
54
+ fsSafeName = await (0, getSafeFilename_1.default)(Model, staticPath, fsSafeName);
55
+ }
56
+ await (0, saveBufferToFile_1.default)(fileBuffer, `${staticPath}/${fsSafeName}`);
36
57
  }
37
- fileData.filename = fsSafeName;
38
- fileData.filesize = file.size;
39
- fileData.mimeType = file.mimetype || mime_1.default.getType(fsSafeName);
58
+ fileData.filename = fsSafeName || (!overwriteExistingFiles ? await (0, getSafeFilename_1.default)(Model, staticPath, file.name) : file.name);
59
+ fileData.filesize = fileSize || file.size;
60
+ fileData.mimeType = mimeType || (await (0, file_type_1.fromBuffer)(file.data)).mime;
40
61
  if ((0, isImage_1.default)(file.mimetype)) {
41
62
  const dimensions = await (0, getImageSize_1.default)(file);
42
63
  fileData.width = dimensions.width;
@@ -68,4 +89,4 @@ const uploadFile = async ({ config, collection: { config: collectionConfig, Mode
68
89
  return newData;
69
90
  };
70
91
  exports.default = uploadFile;
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkRmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL3VwbG9hZEZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsZ0RBQXdCO0FBQ3hCLGdEQUF3QjtBQUd4QixzQ0FBeUQ7QUFHekQsMEVBQWtEO0FBQ2xELHdFQUFnRDtBQUNoRCxrRUFBMEM7QUFDMUMsa0VBQTJDO0FBQzNDLHdEQUFnQztBQVdoQyxNQUFNLFVBQVUsR0FBRyxLQUFLLEVBQUUsRUFDeEIsTUFBTSxFQUNOLFVBQVUsRUFBRSxFQUNWLE1BQU0sRUFBRSxnQkFBZ0IsRUFDeEIsS0FBSyxHQUNOLEVBQ0QsR0FBRyxFQUNILElBQUksRUFDSixrQkFBa0IsRUFDbEIsc0JBQXNCLEdBQ2pCLEVBQW9DLEVBQUU7SUFDM0MsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBRW5CLElBQUksZ0JBQWdCLENBQUMsTUFBTSxFQUFFO1FBQzNCLE1BQU0sUUFBUSxHQUFzQixFQUFFLENBQUM7UUFFdkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7UUFFL0UsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBRWpDLElBQUksa0JBQWtCLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDL0IsTUFBTSxJQUFJLG9CQUFXLEVBQUUsQ0FBQztTQUN6QjtRQUVELElBQUksVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUUzQixJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hDLFVBQVUsR0FBRyxjQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQzlEO1FBRUQsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQ3hCLGdCQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3pCO1FBRUQsSUFBSSxJQUFJLEVBQUU7WUFDUixNQUFNLFVBQVUsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUEseUJBQWUsRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUU3RyxJQUFJO2dCQUNGLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtvQkFDeEIsTUFBTSxJQUFBLDBCQUFnQixFQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxVQUFVLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQztpQkFDbEU7Z0JBRUQsUUFBUSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7Z0JBQy9CLFFBQVEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDOUIsUUFBUSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLGNBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBRTlELElBQUksSUFBQSxpQkFBTyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDMUIsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFBLHNCQUFZLEVBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzVDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztvQkFDbEMsUUFBUSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO29CQUVwQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxlQUFlLEVBQUU7d0JBQ2xFLEdBQUcsQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7d0JBQzVCLFFBQVEsQ0FBQyxLQUFLLEdBQUcsTUFBTSxJQUFBLHNCQUFhLEVBQUM7NEJBQ25DLEdBQUc7NEJBQ0gsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJOzRCQUNmLFVBQVU7NEJBQ1YsVUFBVTs0QkFDVixNQUFNLEVBQUUsZ0JBQWdCOzRCQUN4QixhQUFhLEVBQUUsVUFBVTs0QkFDekIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO3lCQUM1QixDQUFDLENBQUM7cUJBQ0o7aUJBQ0Y7YUFDRjtZQUFDLE9BQU8sR0FBRyxFQUFFO2dCQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25CLE1BQU0sSUFBSSx3QkFBZSxFQUFFLENBQUM7YUFDN0I7WUFFRCxPQUFPLEdBQUc7Z0JBQ1IsR0FBRyxPQUFPO2dCQUNWLEdBQUcsUUFBUTthQUNaLENBQUM7U0FDSDtLQUNGO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUYsa0JBQWUsVUFBVSxDQUFDIn0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkRmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL3VwbG9hZEZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsZ0RBQXdCO0FBQ3hCLGtEQUFxQztBQUNyQyx5Q0FBdUM7QUFDdkMsMEVBQXlDO0FBR3pDLHNDQUF5RDtBQUd6RCwwRUFBa0Q7QUFDbEQsd0VBQWdEO0FBQ2hELGtFQUEwQztBQUMxQyxrRUFBMkM7QUFDM0Msd0RBQWdDO0FBV2hDLE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxFQUN4QixNQUFNLEVBQ04sVUFBVSxFQUFFLEVBQ1YsTUFBTSxFQUFFLGdCQUFnQixFQUN4QixLQUFLLEdBQ04sRUFDRCxHQUFHLEVBQ0gsSUFBSSxFQUNKLGtCQUFrQixFQUNsQixzQkFBc0IsR0FDakIsRUFBb0MsRUFBRTtJQUMzQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFFbkIsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7UUFDM0IsTUFBTSxRQUFRLEdBQXNCLEVBQUUsQ0FBQztRQUV2QyxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO1FBRTdHLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUVqQyxJQUFJLGtCQUFrQixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQy9CLE1BQU0sSUFBSSxvQkFBVyxFQUFFLENBQUM7U0FDekI7UUFFRCxJQUFJLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFFM0IsSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNoQyxVQUFVLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMs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
@@ -21,7 +21,7 @@ const flattenFields = (fields, keepPresentationalFields) => {
21
21
  ...field.tabs.reduce((tabFields, tab) => {
22
22
  return [
23
23
  ...tabFields,
24
- ...flattenFields(tab.fields, keepPresentationalFields),
24
+ ...((0, types_1.tabHasName)(tab) ? [tab] : flattenFields(tab.fields, keepPresentationalFields)),
25
25
  ];
26
26
  }, []),
27
27
  ];
@@ -30,4 +30,4 @@ const flattenFields = (fields, keepPresentationalFields) => {
30
30
  }, []);
31
31
  };
32
32
  exports.default = flattenFields;
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdHRlblRvcExldmVsRmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9mbGF0dGVuVG9wTGV2ZWxGaWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxrREFBNEo7QUFFNUosTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFlLEVBQUUsd0JBQWtDLEVBQW9ELEVBQUU7SUFDOUgsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQzFDLElBQUksSUFBQSx3QkFBZ0IsRUFBQyxLQUFLLENBQUMsSUFBSSxDQUFDLHdCQUF3QixJQUFJLElBQUEsaUNBQXlCLEVBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUM3RixPQUFPO2dCQUNMLEdBQUcsV0FBVztnQkFDZCxLQUFLO2FBQ04sQ0FBQztTQUNIO1FBRUQsSUFBSSxJQUFBLHlCQUFpQixFQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVCLE9BQU87Z0JBQ0wsR0FBRyxXQUFXO2dCQUNkLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLENBQUM7YUFDekQsQ0FBQztTQUNIO1FBRUQsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUN6QixPQUFPO2dCQUNMLEdBQUcsV0FBVztnQkFDZCxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxFQUFFO29CQUN0QyxPQUFPO3dCQUNMLEdBQUcsU0FBUzt3QkFDWixHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLHdCQUF3QixDQUFDO3FCQUN2RCxDQUFDO2dCQUNKLENBQUMsRUFBRSxFQUFFLENBQUM7YUFDUCxDQUFDO1NBQ0g7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUM7QUFFRixrQkFBZSxhQUFhLENBQUMifQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdHRlblRvcExldmVsRmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9mbGF0dGVuVG9wTGV2ZWxGaWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxrREFRZ0M7QUFFaEMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFlLEVBQUUsd0JBQWtDLEVBQW9ELEVBQUU7SUFDOUgsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQzFDLElBQUksSUFBQSx3QkFBZ0IsRUFBQyxLQUFLLENBQUMsSUFBSSxDQUFDLHdCQUF3QixJQUFJLElBQUEsaUNBQXlCLEVBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUM3RixPQUFPO2dCQUNMLEdBQUcsV0FBVztnQkFDZCxLQUFLO2FBQ04sQ0FBQztTQUNIO1FBRUQsSUFBSSxJQUFBLHlCQUFpQixFQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVCLE9BQU87Z0JBQ0wsR0FBRyxXQUFXO2dCQUNkLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLENBQUM7YUFDekQsQ0FBQztTQUNIO1FBRUQsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUN6QixPQUFPO2dCQUNMLEdBQUcsV0FBVztnQkFDZCxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxFQUFFO29CQUN0QyxPQUFPO3dCQUNMLEdBQUcsU0FBUzt3QkFDWixHQUFHLENBQUMsSUFBQSxrQkFBVSxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO3FCQUNuRixDQUFDO2dCQUNKLENBQUMsRUFBRSxFQUFFLENBQUM7YUFDUCxDQUFDO1NBQ0g7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUM7QUFFRixrQkFBZSxhQUFhLENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ import { Field, Tab } from '../fields/config/types';
2
+ export declare const groupOrTabHasRequiredSubfield: (entity: Field | Tab) => boolean;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.groupOrTabHasRequiredSubfield = void 0;
4
+ const types_1 = require("../fields/config/types");
5
+ const groupOrTabHasRequiredSubfield = (entity) => {
6
+ if ('type' in entity && entity.type === 'group') {
7
+ return entity.fields.some((subField) => {
8
+ return ((0, types_1.fieldAffectsData)(subField) && subField.required) || (0, exports.groupOrTabHasRequiredSubfield)(subField);
9
+ });
10
+ }
11
+ if ('fields' in entity && 'name' in entity) {
12
+ return entity.fields.some((subField) => (0, exports.groupOrTabHasRequiredSubfield)(subField));
13
+ }
14
+ return false;
15
+ };
16
+ exports.groupOrTabHasRequiredSubfield = groupOrTabHasRequiredSubfield;
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBPclRhYkhhc1JlcXVpcmVkU3ViZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbGl0aWVzL2dyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGtEQUFzRTtBQUUvRCxNQUFNLDZCQUE2QixHQUFHLENBQUMsTUFBbUIsRUFBVyxFQUFFO0lBQzVFLElBQUksTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtRQUMvQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDckMsT0FBTyxDQUFDLElBQUEsd0JBQWdCLEVBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUEscUNBQTZCLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEcsQ0FBQyxDQUFDLENBQUM7S0FDSjtJQUVELElBQUksUUFBUSxJQUFJLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxFQUFFO1FBQzFDLE9BQVEsTUFBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUEscUNBQTZCLEVBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztLQUMzRjtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBWlcsUUFBQSw2QkFBNkIsaUNBWXhDIn0=
@@ -3,12 +3,11 @@ 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
- const falsey_1 = __importDefault(require("falsey"));
7
6
  const pino_1 = __importDefault(require("pino"));
8
7
  const micro_memoize_1 = __importDefault(require("micro-memoize"));
9
8
  exports.default = (0, micro_memoize_1.default)((name = 'payload', options) => (0, pino_1.default)({
10
9
  name,
11
- enabled: (0, falsey_1.default)(process.env.DISABLE_LOGGING),
10
+ enabled: process.env.DISABLE_LOGGING !== 'true',
12
11
  ...(options
13
12
  ? { options }
14
13
  : {
@@ -18,4 +17,4 @@ exports.default = (0, micro_memoize_1.default)((name = 'payload', options) => (0
18
17
  },
19
18
  }),
20
19
  }));
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsZ0RBQXdCO0FBQ3hCLGtFQUFvQztBQUlwQyxrQkFBZSxJQUFBLHVCQUFPLEVBQ3BCLENBQUMsSUFBSSxHQUFHLFNBQVMsRUFBRSxPQUE0QixFQUFFLEVBQUUsQ0FBQyxJQUFBLGNBQUksRUFBQztJQUN2RCxJQUFJO0lBQ0osT0FBTyxFQUFFLElBQUEsZ0JBQU0sRUFBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQztJQUM1QyxHQUFHLENBQUMsT0FBTztRQUNULENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRTtRQUNiLENBQUMsQ0FBQztZQUNBLFdBQVcsRUFBRTtnQkFDWCxNQUFNLEVBQUUsY0FBYztnQkFDdEIsYUFBYSxFQUFFLFVBQVU7YUFDMUI7U0FDRixDQUFDO0NBQ0wsQ0FBa0IsQ0FDcEIsQ0FBQyJ9
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnREFBd0I7QUFDeEIsa0VBQW9DO0FBSXBDLGtCQUFlLElBQUEsdUJBQU8sRUFDcEIsQ0FBQyxJQUFJLEdBQUcsU0FBUyxFQUFFLE9BQTRCLEVBQUUsRUFBRSxDQUFDLElBQUEsY0FBSSxFQUFDO0lBQ3ZELElBQUk7SUFDSixPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEtBQUssTUFBTTtJQUMvQyxHQUFHLENBQUMsT0FBTztRQUNULENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRTtRQUNiLENBQUMsQ0FBQztZQUNBLFdBQVcsRUFBRTtnQkFDWCxNQUFNLEVBQUUsY0FBYztnQkFDdEIsYUFBYSxFQUFFLFVBQVU7YUFDMUI7U0FDRixDQUFDO0NBQ0wsQ0FBa0IsQ0FDcEIsQ0FBQyJ9
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = (input) => {
4
4
  const words = input.split(' ');
5
5
  // Regex word boundaries that work for cyrillic characters - https://stackoverflow.com/a/47062016/1717697
6
- const wordBoundaryBefore = '(?:(?<=[^\\p{L}\\p{N}])|^)';
6
+ const wordBoundaryBefore = '(?:(?:[^\\p{L}\\p{N}])|^)'; // Converted to a non-matching group instead of positive lookbehind for Safari
7
7
  const wordBoundaryAfter = '(?=[^\\p{L}\\p{N}]|$)';
8
8
  const regex = words.reduce((pattern, word, i) => {
9
9
  return `${pattern}(?=.*${wordBoundaryBefore}${word}.*${wordBoundaryAfter})${i + 1 === words.length ? '.+' : ''}`;
10
10
  }, '');
11
11
  return new RegExp(regex, 'i');
12
12
  };
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yZEJvdW5kYXJpZXNSZWdleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvd29yZEJvdW5kYXJpZXNSZWdleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGtCQUFlLENBQUMsS0FBYSxFQUFVLEVBQUU7SUFDdkMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUUvQix5R0FBeUc7SUFDekcsTUFBTSxrQkFBa0IsR0FBRyw0QkFBNEIsQ0FBQztJQUN4RCxNQUFNLGlCQUFpQixHQUFHLHVCQUF1QixDQUFDO0lBRWxELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzlDLE9BQU8sR0FBRyxPQUFPLFFBQVEsa0JBQWtCLEdBQUcsSUFBSSxLQUFLLGlCQUFpQixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNuSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDUCxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMifQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yZEJvdW5kYXJpZXNSZWdleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvd29yZEJvdW5kYXJpZXNSZWdleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGtCQUFlLENBQUMsS0FBYSxFQUFVLEVBQUU7SUFDdkMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUUvQix5R0FBeUc7SUFDekcsTUFBTSxrQkFBa0IsR0FBRywyQkFBMkIsQ0FBQyxDQUFDLDhFQUE4RTtJQUN0SSxNQUFNLGlCQUFpQixHQUFHLHVCQUF1QixDQUFDO0lBRWxELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzlDLE9BQU8sR0FBRyxPQUFPLFFBQVEsa0JBQWtCLEdBQUcsSUFBSSxLQUFLLGlCQUFpQixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNuSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDUCxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMifQ==
@@ -30,7 +30,8 @@ All options for the Admin panel are defined in your base Payload config file.
30
30
  | `indexHTML` | Optionally replace the entirety of the `index.html` file used by the Admin panel. Reference the [base index.html file](https://github.com/payloadcms/payload/blob/master/src/admin/index.html) to ensure your replacement has the appropriate HTML elements. |
31
31
  | `css` | Absolute path to a stylesheet that you can use to override / customize the Admin panel styling. [More](/docs/admin/customizing-css). |
32
32
  | `scss` | Absolute path to a Sass variables / mixins stylesheet meant to override Payload styles to make for an easy re-skinning of the Admin panel. [More](/docs/admin/customizing-css#overriding-scss-variables). |
33
- | `dateFormat` | Global date format that will be used for all dates in the Admin panel. Any valid [date-fns](https://date-fns.org/) format pattern can be used.
33
+ | `dateFormat` | Global date format that will be used for all dates in the Admin panel. Any valid [date-fns](https://date-fns.org/) format pattern can be used. |
34
+ | `avatar` | Set account profile picture. Options: `gravatar`, `default` or a custom React component. |
34
35
  | `components` | Component overrides that affect the entirety of the Admin panel. [More](/docs/admin/components) |
35
36
  | `webpack` | Customize the Webpack config that's used to generate the Admin panel. [More](/docs/admin/webpack) |
36
37