payload 3.0.0-beta.134 → 3.0.0-beta.135
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/forms/Description.d.ts +5 -2
- package/dist/admin/forms/Description.d.ts.map +1 -1
- package/dist/admin/forms/Description.js.map +1 -1
- package/dist/admin/views/types.d.ts +4 -10
- package/dist/admin/views/types.d.ts.map +1 -1
- package/dist/admin/views/types.js.map +1 -1
- package/dist/auth/types.d.ts +9 -0
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/auth/types.js.map +1 -1
- package/dist/bin/generateImportMap/getFromImportMap.d.ts +9 -0
- package/dist/bin/generateImportMap/getFromImportMap.d.ts.map +1 -0
- package/dist/bin/generateImportMap/getFromImportMap.js +18 -0
- package/dist/bin/generateImportMap/getFromImportMap.js.map +1 -0
- package/dist/bin/generateImportMap/iterateConfig.d.ts.map +1 -1
- package/dist/bin/generateImportMap/iterateConfig.js +1 -1
- package/dist/bin/generateImportMap/iterateConfig.js.map +1 -1
- package/dist/bin/generateImportMap/iterateFields.d.ts.map +1 -1
- package/dist/bin/generateImportMap/iterateFields.js +2 -0
- package/dist/bin/generateImportMap/iterateFields.js.map +1 -1
- package/dist/collections/config/client.d.ts +5 -2
- package/dist/collections/config/client.d.ts.map +1 -1
- package/dist/collections/config/client.js +6 -4
- package/dist/collections/config/client.js.map +1 -1
- package/dist/config/client.d.ts +3 -1
- package/dist/config/client.d.ts.map +1 -1
- package/dist/config/client.js +5 -3
- package/dist/config/client.js.map +1 -1
- package/dist/exports/shared.d.ts +1 -0
- package/dist/exports/shared.d.ts.map +1 -1
- package/dist/exports/shared.js +1 -0
- package/dist/exports/shared.js.map +1 -1
- package/dist/fields/config/client.d.ts +5 -2
- package/dist/fields/config/client.d.ts.map +1 -1
- package/dist/fields/config/client.js +23 -28
- package/dist/fields/config/client.js.map +1 -1
- package/dist/fields/config/types.d.ts +67 -2
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js.map +1 -1
- package/dist/globals/config/client.d.ts +5 -2
- package/dist/globals/config/client.d.ts.map +1 -1
- package/dist/globals/config/client.js +6 -4
- package/dist/globals/config/client.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/queues/config/generateJobsJSONSchemas.js +5 -2
- package/dist/queues/config/generateJobsJSONSchemas.js.map +1 -1
- package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.js +4 -2
- package/dist/utilities/configToJSONSchema.js.map +1 -1
- package/dist/utilities/deepCopyObject.d.ts.map +1 -1
- package/dist/utilities/deepCopyObject.js +8 -0
- package/dist/utilities/deepCopyObject.js.map +1 -1
- package/dist/utilities/sanitizePermissions.js +1 -1
- package/dist/utilities/sanitizePermissions.js.map +1 -1
- package/dist/utilities/sanitizePermissions.spec.js +134 -1
- package/dist/utilities/sanitizePermissions.spec.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/sanitizePermissions.spec.ts"],"sourcesContent":["import type { CollectionPermission, Permissions } from '../auth/types.js'\n\nimport { recursivelySanitizePermissions, sanitizePermissions } from './sanitizePermissions.js'\n\n/* eslint-disable perfectionist/sort-objects */\ndescribe('recursivelySanitizePermissions', () => {\n it('should sanitize a basic collection', () => {\n const permissions: CollectionPermission = {\n fields: {\n text: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n delete: {\n permission: false,\n },\n readVersions: {\n permission: true,\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n fields: true,\n create: true,\n read: true,\n update: true,\n readVersions: true,\n })\n })\n\n it('should sanitize a collection with where queries', () => {\n const permissions: CollectionPermission = {\n fields: {},\n create: {\n permission: true,\n where: {\n user: {\n equals: 2,\n },\n },\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n delete: {\n permission: false,\n },\n readVersions: {\n permission: true,\n where: {\n user: {\n equals: 1,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n create: {\n permission: true,\n where: {\n user: {\n equals: 2,\n },\n },\n },\n read: true,\n update: true,\n readVersions: {\n permission: true,\n where: {\n user: {\n equals: 1,\n },\n },\n },\n })\n })\n\n it('should sanitize a collection with nested fields in blocks', () => {\n const permissions: CollectionPermission = {\n create: {\n permission: true,\n },\n delete: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n fields: {\n layout: {\n create: {\n permission: true,\n },\n blocks: {\n blockWithTitle: {\n fields: {\n blockTitle: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n id: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n blockName: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n },\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n create: true,\n delete: true,\n fields: true,\n read: true,\n update: true,\n })\n })\n\n it('should sanitize a collection with nested fields in blocks without truncating', () => {\n const permissions: CollectionPermission = {\n create: {\n permission: true,\n },\n delete: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n fields: {\n layout: {\n create: {\n permission: true,\n },\n blocks: {\n blockWithTitle: {\n fields: {\n blockTitle: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n id: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n blockName: {\n create: {\n permission: false,\n },\n read: {\n permission: true,\n },\n update: {\n permission: false,\n },\n },\n },\n },\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n create: true,\n delete: true,\n read: true,\n update: true,\n fields: {\n layout: {\n create: true,\n blocks: {\n blockWithTitle: {\n fields: {\n blockTitle: true,\n id: true,\n blockName: {\n read: true,\n },\n },\n },\n },\n read: true,\n update: true,\n },\n },\n })\n })\n\n it('should sanitize a collection with nested fields in arrays', () => {\n const permissions: Partial<CollectionPermission> = {\n fields: {\n arrayOfText: {\n create: {\n permission: true,\n },\n fields: {\n text: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n hiddenText: {\n create: {\n permission: true,\n },\n read: {\n permission: false,\n },\n update: {\n permission: true,\n },\n },\n id: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n fields: {\n arrayOfText: {\n create: true,\n fields: {\n text: true,\n hiddenText: {\n create: true,\n update: true,\n },\n id: true,\n },\n read: true,\n update: true,\n },\n },\n })\n })\n\n it('should sanitize a collection with nested fields in richText', () => {\n const permissions: Partial<CollectionPermission> = {\n fields: {\n text: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n richText: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n fields: true,\n })\n })\n})\n\ndescribe('sanitizePermissions', () => {\n it('should return nothing for unauthenticated user', () => {\n const permissions: Permissions = {\n canAccessAdmin: false,\n collections: {\n 'payload-preferences': {\n fields: {\n user: {\n create: {\n permission: false,\n },\n read: {\n permission: false,\n },\n update: {\n permission: false,\n },\n },\n },\n create: {\n permission: false,\n },\n read: {\n permission: false,\n },\n update: {\n permission: false,\n },\n delete: {\n permission: false,\n },\n },\n },\n globals: {\n menu: {\n fields: {\n globalText: {\n create: {\n permission: false,\n },\n read: {\n permission: false,\n },\n update: {\n permission: false,\n },\n },\n },\n read: {\n permission: false,\n },\n update: {\n permission: false,\n },\n },\n },\n }\n\n const sanitizedPermissions = sanitizePermissions(permissions)\n\n expect(sanitizedPermissions).toStrictEqual({})\n })\n})\n"],"names":["recursivelySanitizePermissions","sanitizePermissions","describe","it","permissions","fields","text","create","permission","read","update","delete","readVersions","expect","toStrictEqual","where","user","equals","layout","blocks","blockWithTitle","blockTitle","id","blockName","arrayOfText","hiddenText","richText","canAccessAdmin","collections","globals","menu","globalText","sanitizedPermissions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/sanitizePermissions.spec.ts"],"sourcesContent":["import type { CollectionPermission, Permissions } from '../auth/types.js'\n\nimport { recursivelySanitizePermissions, sanitizePermissions } from './sanitizePermissions.js'\n\n/* eslint-disable perfectionist/sort-objects */\ndescribe('recursivelySanitizePermissions', () => {\n it('should sanitize a basic collection', () => {\n const permissions: CollectionPermission = {\n fields: {\n text: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n delete: {\n permission: false,\n },\n readVersions: {\n permission: true,\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n fields: true,\n create: true,\n read: true,\n update: true,\n readVersions: true,\n })\n })\n\n it('should sanitize a collection with where queries', () => {\n const permissions: CollectionPermission = {\n fields: {},\n create: {\n permission: true,\n where: {\n user: {\n equals: 2,\n },\n },\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n delete: {\n permission: false,\n },\n readVersions: {\n permission: true,\n where: {\n user: {\n equals: 1,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n create: {\n permission: true,\n where: {\n user: {\n equals: 2,\n },\n },\n },\n read: true,\n update: true,\n readVersions: {\n permission: true,\n where: {\n user: {\n equals: 1,\n },\n },\n },\n })\n })\n\n it('should sanitize a collection with nested fields in blocks', () => {\n const permissions: CollectionPermission = {\n create: {\n permission: true,\n },\n delete: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n fields: {\n layout: {\n create: {\n permission: true,\n },\n blocks: {\n blockWithTitle: {\n fields: {\n blockTitle: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n id: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n blockName: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n create: true,\n delete: true,\n fields: true,\n read: true,\n update: true,\n })\n })\n\n it('should sanitize a collection with nested fields in blocks without truncating', () => {\n const permissions: CollectionPermission = {\n create: {\n permission: true,\n },\n delete: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n fields: {\n layout: {\n create: {\n permission: true,\n },\n blocks: {\n blockWithTitle: {\n fields: {\n blockTitle: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n id: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n blockName: {\n create: {\n permission: false,\n },\n read: {\n permission: true,\n },\n update: {\n permission: false,\n },\n },\n },\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n create: true,\n delete: true,\n read: true,\n update: true,\n fields: {\n layout: {\n create: true,\n blocks: {\n blockWithTitle: {\n fields: {\n blockTitle: true,\n id: true,\n blockName: {\n read: true,\n },\n },\n create: true,\n update: true,\n read: true,\n },\n },\n read: true,\n update: true,\n },\n },\n })\n })\n\n it('should sanitize a collection with nested fields in arrays', () => {\n const permissions: Partial<CollectionPermission> = {\n fields: {\n arrayOfText: {\n create: {\n permission: true,\n },\n fields: {\n text: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n hiddenText: {\n create: {\n permission: true,\n },\n read: {\n permission: false,\n },\n update: {\n permission: true,\n },\n },\n id: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n fields: {\n arrayOfText: {\n create: true,\n fields: {\n text: true,\n hiddenText: {\n create: true,\n update: true,\n },\n id: true,\n },\n read: true,\n update: true,\n },\n },\n })\n })\n\n it('should sanitize blocks with subfield named blocks', () => {\n const permissions: CollectionPermission = {\n fields: {\n content: {\n create: { permission: true },\n blocks: {\n test: {\n fields: {\n blocks: {\n create: { permission: true },\n fields: {\n arrayText: {\n create: { permission: true },\n read: { permission: true },\n update: { permission: true },\n },\n id: {\n create: { permission: true },\n read: { permission: true },\n update: { permission: true },\n },\n },\n read: { permission: true },\n update: { permission: true },\n },\n id: {\n create: { permission: true },\n read: { permission: true },\n update: { permission: true },\n },\n blockName: {\n create: { permission: true },\n read: { permission: true },\n update: { permission: true },\n },\n },\n create: { permission: true },\n read: { permission: true },\n update: { permission: true },\n },\n },\n read: { permission: true },\n update: { permission: true },\n },\n },\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n delete: {\n permission: false,\n },\n readVersions: {\n permission: true,\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n fields: true,\n create: true,\n read: true,\n update: true,\n readVersions: true,\n })\n })\n\n it('should sanitize a collection with nested fields in richText', () => {\n const permissions: Partial<CollectionPermission> = {\n fields: {\n text: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n richText: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n fields: true,\n })\n })\n})\n\ndescribe('sanitizePermissions', () => {\n it('should return nothing for unauthenticated user', () => {\n const permissions: Permissions = {\n canAccessAdmin: false,\n collections: {\n 'payload-preferences': {\n fields: {\n user: {\n create: {\n permission: false,\n },\n read: {\n permission: false,\n },\n update: {\n permission: false,\n },\n },\n },\n create: {\n permission: false,\n },\n read: {\n permission: false,\n },\n update: {\n permission: false,\n },\n delete: {\n permission: false,\n },\n },\n },\n globals: {\n menu: {\n fields: {\n globalText: {\n create: {\n permission: false,\n },\n read: {\n permission: false,\n },\n update: {\n permission: false,\n },\n },\n },\n read: {\n permission: false,\n },\n update: {\n permission: false,\n },\n },\n },\n }\n\n const sanitizedPermissions = sanitizePermissions(permissions)\n\n expect(sanitizedPermissions).toStrictEqual({})\n })\n})\n"],"names":["recursivelySanitizePermissions","sanitizePermissions","describe","it","permissions","fields","text","create","permission","read","update","delete","readVersions","expect","toStrictEqual","where","user","equals","layout","blocks","blockWithTitle","blockTitle","id","blockName","arrayOfText","hiddenText","content","test","arrayText","richText","canAccessAdmin","collections","globals","menu","globalText","sanitizedPermissions"],"mappings":"AAEA,SAASA,8BAA8B,EAAEC,mBAAmB,QAAQ,2BAA0B;AAE9F,6CAA6C,GAC7CC,SAAS,kCAAkC;IACzCC,GAAG,sCAAsC;QACvC,MAAMC,cAAoC;YACxCC,QAAQ;gBACNC,MAAM;oBACJC,QAAQ;wBACNC,YAAY;oBACd;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;YACF;YACAD,QAAQ;gBACNC,YAAY;YACd;YACAC,MAAM;gBACJD,YAAY;YACd;YACAE,QAAQ;gBACNF,YAAY;YACd;YACAG,QAAQ;gBACNH,YAAY;YACd;YACAI,cAAc;gBACZJ,YAAY;YACd;QACF;QAEAR,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCT,QAAQ;YACRE,QAAQ;YACRE,MAAM;YACNC,QAAQ;YACRE,cAAc;QAChB;IACF;IAEAT,GAAG,mDAAmD;QACpD,MAAMC,cAAoC;YACxCC,QAAQ,CAAC;YACTE,QAAQ;gBACNC,YAAY;gBACZO,OAAO;oBACLC,MAAM;wBACJC,QAAQ;oBACV;gBACF;YACF;YACAR,MAAM;gBACJD,YAAY;YACd;YACAE,QAAQ;gBACNF,YAAY;YACd;YACAG,QAAQ;gBACNH,YAAY;YACd;YACAI,cAAc;gBACZJ,YAAY;gBACZO,OAAO;oBACLC,MAAM;wBACJC,QAAQ;oBACV;gBACF;YACF;QACF;QAEAjB,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCP,QAAQ;gBACNC,YAAY;gBACZO,OAAO;oBACLC,MAAM;wBACJC,QAAQ;oBACV;gBACF;YACF;YACAR,MAAM;YACNC,QAAQ;YACRE,cAAc;gBACZJ,YAAY;gBACZO,OAAO;oBACLC,MAAM;wBACJC,QAAQ;oBACV;gBACF;YACF;QACF;IACF;IAEAd,GAAG,6DAA6D;QAC9D,MAAMC,cAAoC;YACxCG,QAAQ;gBACNC,YAAY;YACd;YACAG,QAAQ;gBACNH,YAAY;YACd;YACAC,MAAM;gBACJD,YAAY;YACd;YACAE,QAAQ;gBACNF,YAAY;YACd;YACAH,QAAQ;gBACNa,QAAQ;oBACNX,QAAQ;wBACNC,YAAY;oBACd;oBACAW,QAAQ;wBACNC,gBAAgB;4BACdf,QAAQ;gCACNgB,YAAY;oCACVd,QAAQ;wCACNC,YAAY;oCACd;oCACAC,MAAM;wCACJD,YAAY;oCACd;oCACAE,QAAQ;wCACNF,YAAY;oCACd;gCACF;gCACAc,IAAI;oCACFf,QAAQ;wCACNC,YAAY;oCACd;oCACAC,MAAM;wCACJD,YAAY;oCACd;oCACAE,QAAQ;wCACNF,YAAY;oCACd;gCACF;gCACAe,WAAW;oCACThB,QAAQ;wCACNC,YAAY;oCACd;oCACAC,MAAM;wCACJD,YAAY;oCACd;oCACAE,QAAQ;wCACNF,YAAY;oCACd;gCACF;4BACF;4BACAD,QAAQ;gCACNC,YAAY;4BACd;4BACAC,MAAM;gCACJD,YAAY;4BACd;4BACAE,QAAQ;gCACNF,YAAY;4BACd;wBACF;oBACF;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;YACF;QACF;QAEAR,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCP,QAAQ;YACRI,QAAQ;YACRN,QAAQ;YACRI,MAAM;YACNC,QAAQ;QACV;IACF;IAEAP,GAAG,gFAAgF;QACjF,MAAMC,cAAoC;YACxCG,QAAQ;gBACNC,YAAY;YACd;YACAG,QAAQ;gBACNH,YAAY;YACd;YACAC,MAAM;gBACJD,YAAY;YACd;YACAE,QAAQ;gBACNF,YAAY;YACd;YACAH,QAAQ;gBACNa,QAAQ;oBACNX,QAAQ;wBACNC,YAAY;oBACd;oBACAW,QAAQ;wBACNC,gBAAgB;4BACdf,QAAQ;gCACNgB,YAAY;oCACVd,QAAQ;wCACNC,YAAY;oCACd;oCACAC,MAAM;wCACJD,YAAY;oCACd;oCACAE,QAAQ;wCACNF,YAAY;oCACd;gCACF;gCACAc,IAAI;oCACFf,QAAQ;wCACNC,YAAY;oCACd;oCACAC,MAAM;wCACJD,YAAY;oCACd;oCACAE,QAAQ;wCACNF,YAAY;oCACd;gCACF;gCACAe,WAAW;oCACThB,QAAQ;wCACNC,YAAY;oCACd;oCACAC,MAAM;wCACJD,YAAY;oCACd;oCACAE,QAAQ;wCACNF,YAAY;oCACd;gCACF;4BACF;4BACAD,QAAQ;gCACNC,YAAY;4BACd;4BACAC,MAAM;gCACJD,YAAY;4BACd;4BACAE,QAAQ;gCACNF,YAAY;4BACd;wBACF;oBACF;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;YACF;QACF;QAEAR,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCP,QAAQ;YACRI,QAAQ;YACRF,MAAM;YACNC,QAAQ;YACRL,QAAQ;gBACNa,QAAQ;oBACNX,QAAQ;oBACRY,QAAQ;wBACNC,gBAAgB;4BACdf,QAAQ;gCACNgB,YAAY;gCACZC,IAAI;gCACJC,WAAW;oCACTd,MAAM;gCACR;4BACF;4BACAF,QAAQ;4BACRG,QAAQ;4BACRD,MAAM;wBACR;oBACF;oBACAA,MAAM;oBACNC,QAAQ;gBACV;YACF;QACF;IACF;IAEAP,GAAG,6DAA6D;QAC9D,MAAMC,cAA6C;YACjDC,QAAQ;gBACNmB,aAAa;oBACXjB,QAAQ;wBACNC,YAAY;oBACd;oBACAH,QAAQ;wBACNC,MAAM;4BACJC,QAAQ;gCACNC,YAAY;4BACd;4BACAC,MAAM;gCACJD,YAAY;4BACd;4BACAE,QAAQ;gCACNF,YAAY;4BACd;wBACF;wBACAiB,YAAY;4BACVlB,QAAQ;gCACNC,YAAY;4BACd;4BACAC,MAAM;gCACJD,YAAY;4BACd;4BACAE,QAAQ;gCACNF,YAAY;4BACd;wBACF;wBACAc,IAAI;4BACFf,QAAQ;gCACNC,YAAY;4BACd;4BACAC,MAAM;gCACJD,YAAY;4BACd;4BACAE,QAAQ;gCACNF,YAAY;4BACd;wBACF;oBACF;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;YACF;QACF;QAEAR,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCT,QAAQ;gBACNmB,aAAa;oBACXjB,QAAQ;oBACRF,QAAQ;wBACNC,MAAM;wBACNmB,YAAY;4BACVlB,QAAQ;4BACRG,QAAQ;wBACV;wBACAY,IAAI;oBACN;oBACAb,MAAM;oBACNC,QAAQ;gBACV;YACF;QACF;IACF;IAEAP,GAAG,qDAAqD;QACtD,MAAMC,cAAoC;YACxCC,QAAQ;gBACNqB,SAAS;oBACPnB,QAAQ;wBAAEC,YAAY;oBAAK;oBAC3BW,QAAQ;wBACNQ,MAAM;4BACJtB,QAAQ;gCACNc,QAAQ;oCACNZ,QAAQ;wCAAEC,YAAY;oCAAK;oCAC3BH,QAAQ;wCACNuB,WAAW;4CACTrB,QAAQ;gDAAEC,YAAY;4CAAK;4CAC3BC,MAAM;gDAAED,YAAY;4CAAK;4CACzBE,QAAQ;gDAAEF,YAAY;4CAAK;wCAC7B;wCACAc,IAAI;4CACFf,QAAQ;gDAAEC,YAAY;4CAAK;4CAC3BC,MAAM;gDAAED,YAAY;4CAAK;4CACzBE,QAAQ;gDAAEF,YAAY;4CAAK;wCAC7B;oCACF;oCACAC,MAAM;wCAAED,YAAY;oCAAK;oCACzBE,QAAQ;wCAAEF,YAAY;oCAAK;gCAC7B;gCACAc,IAAI;oCACFf,QAAQ;wCAAEC,YAAY;oCAAK;oCAC3BC,MAAM;wCAAED,YAAY;oCAAK;oCACzBE,QAAQ;wCAAEF,YAAY;oCAAK;gCAC7B;gCACAe,WAAW;oCACThB,QAAQ;wCAAEC,YAAY;oCAAK;oCAC3BC,MAAM;wCAAED,YAAY;oCAAK;oCACzBE,QAAQ;wCAAEF,YAAY;oCAAK;gCAC7B;4BACF;4BACAD,QAAQ;gCAAEC,YAAY;4BAAK;4BAC3BC,MAAM;gCAAED,YAAY;4BAAK;4BACzBE,QAAQ;gCAAEF,YAAY;4BAAK;wBAC7B;oBACF;oBACAC,MAAM;wBAAED,YAAY;oBAAK;oBACzBE,QAAQ;wBAAEF,YAAY;oBAAK;gBAC7B;YACF;YACAD,QAAQ;gBACNC,YAAY;YACd;YACAC,MAAM;gBACJD,YAAY;YACd;YACAE,QAAQ;gBACNF,YAAY;YACd;YACAG,QAAQ;gBACNH,YAAY;YACd;YACAI,cAAc;gBACZJ,YAAY;YACd;QACF;QAEAR,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCT,QAAQ;YACRE,QAAQ;YACRE,MAAM;YACNC,QAAQ;YACRE,cAAc;QAChB;IACF;IAEAT,GAAG,+DAA+D;QAChE,MAAMC,cAA6C;YACjDC,QAAQ;gBACNC,MAAM;oBACJC,QAAQ;wBACNC,YAAY;oBACd;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;gBACAqB,UAAU;oBACRtB,QAAQ;wBACNC,YAAY;oBACd;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;YACF;QACF;QAEAR,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCT,QAAQ;QACV;IACF;AACF;AAEAH,SAAS,uBAAuB;IAC9BC,GAAG,kDAAkD;QACnD,MAAMC,cAA2B;YAC/B0B,gBAAgB;YAChBC,aAAa;gBACX,uBAAuB;oBACrB1B,QAAQ;wBACNW,MAAM;4BACJT,QAAQ;gCACNC,YAAY;4BACd;4BACAC,MAAM;gCACJD,YAAY;4BACd;4BACAE,QAAQ;gCACNF,YAAY;4BACd;wBACF;oBACF;oBACAD,QAAQ;wBACNC,YAAY;oBACd;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;oBACAG,QAAQ;wBACNH,YAAY;oBACd;gBACF;YACF;YACAwB,SAAS;gBACPC,MAAM;oBACJ5B,QAAQ;wBACN6B,YAAY;4BACV3B,QAAQ;gCACNC,YAAY;4BACd;4BACAC,MAAM;gCACJD,YAAY;4BACd;4BACAE,QAAQ;gCACNF,YAAY;4BACd;wBACF;oBACF;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;YACF;QACF;QAEA,MAAM2B,uBAAuBlC,oBAAoBG;QAEjDS,OAAOsB,sBAAsBrB,aAAa,CAAC,CAAC;IAC9C;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "payload",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.135",
|
|
4
4
|
"description": "Node, React, Headless CMS and Application Framework built on Next.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"admin panel",
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
"tsx": "4.19.2",
|
|
98
98
|
"uuid": "10.0.0",
|
|
99
99
|
"ws": "^8.16.0",
|
|
100
|
-
"@payloadcms/translations": "3.0.0-beta.
|
|
100
|
+
"@payloadcms/translations": "3.0.0-beta.135"
|
|
101
101
|
},
|
|
102
102
|
"devDependencies": {
|
|
103
103
|
"@hyrious/esbuild-plugin-commonjs": "^0.2.4",
|