payload-rbac-plugin 1.0.3-rc → 1.0.4
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/collections/Permissions.js +5 -2
- package/dist/collections/Permissions.js.map +1 -1
- package/dist/collections/Roles.js +14 -11
- package/dist/collections/Roles.js.map +1 -1
- package/dist/types.d.ts +31 -23
- package/dist/types.js.map +1 -1
- package/dist/utilities/checkPermission.d.ts +1 -2
- package/dist/utilities/checkPermission.js.map +1 -1
- package/package.json +9 -9
|
@@ -4,8 +4,11 @@ export const createPermissionsCollection = (options)=>{
|
|
|
4
4
|
const customFields = options.permissionsFields || [];
|
|
5
5
|
return {
|
|
6
6
|
slug,
|
|
7
|
-
access: {
|
|
8
|
-
|
|
7
|
+
access: options.permissionsAccess || {
|
|
8
|
+
create: ()=>true,
|
|
9
|
+
delete: ()=>true,
|
|
10
|
+
read: ()=>true,
|
|
11
|
+
update: ()=>true
|
|
9
12
|
},
|
|
10
13
|
admin: {
|
|
11
14
|
group: 'Access Control',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/collections/Permissions.ts"],"sourcesContent":["import type { CollectionConfig } from 'payload'\n\nimport type { PluginOptions } from '../types'\n\nimport { createBeforePermissionChangeHook } from '../hooks/beforePermissionChange'\n\nexport const createPermissionsCollection = (options: PluginOptions): CollectionConfig => {\n const slug = options.permissionsCollectionSlug || 'permissions'\n const customFields = options.permissionsFields || []\n\n return {\n slug,\n access: {\n read: () => true,\n },\n admin: {\n group: 'Access Control',\n hidden: options.hidePermissions ?? false,\n useAsTitle: 'name',\n },\n fields: [\n {\n name: 'type',\n type: 'select',\n admin: {\n condition: (data) => !data?.id && !data?._id && !data?.createdAt,\n description:\n 'Choose whether to create a single custom permission or generate multiple CRUD permissions at once.',\n disableListColumn: true,\n disableListFilter: true,\n },\n defaultValue: 'single',\n options: [\n { label: 'Single Permission', value: 'single' },\n { label: 'Bulk CRUD Generator', value: 'bulk' },\n ],\n },\n {\n name: 'name',\n type: 'text',\n admin: {\n condition: (data) => data?.type === 'single',\n description: 'The unique name of the permission (e.g., \"access:admin\", \"posts:create\").',\n },\n unique: true,\n validate: (value: null | string | undefined, { data }: { data?: any }) => {\n if (data?.type === 'single' && !value) {\n return 'Name is required for single permissions.'\n }\n return true\n },\n },\n {\n name: 'collectionName',\n type: 'text',\n admin: {\n condition: (data) => data?.type === 'bulk',\n description: 'Enter a collection slug (e.g., \"posts\") to auto-generate permissions.',\n disableListColumn: true,\n disableListFilter: true,\n },\n },\n {\n type: 'row',\n fields: [\n {\n name: 'create',\n type: 'checkbox',\n admin: {\n condition: (data) => data?.type === 'bulk',\n disableListColumn: true,\n disableListFilter: true,\n width: '25%',\n },\n defaultValue: false,\n },\n {\n name: 'read',\n type: 'checkbox',\n admin: {\n condition: (data) => data?.type === 'bulk',\n disableListColumn: true,\n disableListFilter: true,\n width: '25%',\n },\n defaultValue: false,\n },\n {\n name: 'update',\n type: 'checkbox',\n admin: {\n condition: (data) => data?.type === 'bulk',\n disableListColumn: true,\n disableListFilter: true,\n width: '25%',\n },\n defaultValue: false,\n },\n {\n name: 'delete',\n type: 'checkbox',\n admin: {\n condition: (data) => data?.type === 'bulk',\n disableListColumn: true,\n disableListFilter: true,\n width: '25%',\n },\n defaultValue: false,\n },\n ],\n },\n ...customFields,\n ],\n hooks: {\n beforeChange: [createBeforePermissionChangeHook(slug)],\n },\n }\n}\n"],"names":["createBeforePermissionChangeHook","createPermissionsCollection","options","slug","permissionsCollectionSlug","customFields","permissionsFields","access","read","admin","group","hidden","hidePermissions","useAsTitle","fields","name","type","condition","data","id","_id","createdAt","description","disableListColumn","disableListFilter","defaultValue","label","value","unique","validate","width","hooks","beforeChange"],"mappings":"AAIA,SAASA,gCAAgC,QAAQ,kCAAiC;AAElF,OAAO,MAAMC,8BAA8B,CAACC;IAC1C,MAAMC,OAAOD,QAAQE,yBAAyB,IAAI;IAClD,MAAMC,eAAeH,QAAQI,iBAAiB,IAAI,EAAE;IAEpD,OAAO;QACLH;QACAI,QAAQ;
|
|
1
|
+
{"version":3,"sources":["../../src/collections/Permissions.ts"],"sourcesContent":["import type { CollectionConfig } from 'payload'\n\nimport type { PluginOptions } from '../types'\n\nimport { createBeforePermissionChangeHook } from '../hooks/beforePermissionChange'\n\nexport const createPermissionsCollection = (options: PluginOptions): CollectionConfig => {\n const slug = options.permissionsCollectionSlug || 'permissions'\n const customFields = options.permissionsFields || []\n\n return {\n slug,\n access: options.permissionsAccess || {\n create: () => true,\n delete: () => true,\n read: () => true,\n update: () => true,\n },\n admin: {\n group: 'Access Control',\n hidden: options.hidePermissions ?? false,\n useAsTitle: 'name',\n },\n fields: [\n {\n name: 'type',\n type: 'select',\n admin: {\n condition: (data) => !data?.id && !data?._id && !data?.createdAt,\n description:\n 'Choose whether to create a single custom permission or generate multiple CRUD permissions at once.',\n disableListColumn: true,\n disableListFilter: true,\n },\n defaultValue: 'single',\n options: [\n { label: 'Single Permission', value: 'single' },\n { label: 'Bulk CRUD Generator', value: 'bulk' },\n ],\n },\n {\n name: 'name',\n type: 'text',\n admin: {\n condition: (data) => data?.type === 'single',\n description: 'The unique name of the permission (e.g., \"access:admin\", \"posts:create\").',\n },\n unique: true,\n validate: (value: null | string | undefined, { data }: { data?: any }) => {\n if (data?.type === 'single' && !value) {\n return 'Name is required for single permissions.'\n }\n return true\n },\n },\n {\n name: 'collectionName',\n type: 'text',\n admin: {\n condition: (data) => data?.type === 'bulk',\n description: 'Enter a collection slug (e.g., \"posts\") to auto-generate permissions.',\n disableListColumn: true,\n disableListFilter: true,\n },\n },\n {\n type: 'row',\n fields: [\n {\n name: 'create',\n type: 'checkbox',\n admin: {\n condition: (data) => data?.type === 'bulk',\n disableListColumn: true,\n disableListFilter: true,\n width: '25%',\n },\n defaultValue: false,\n },\n {\n name: 'read',\n type: 'checkbox',\n admin: {\n condition: (data) => data?.type === 'bulk',\n disableListColumn: true,\n disableListFilter: true,\n width: '25%',\n },\n defaultValue: false,\n },\n {\n name: 'update',\n type: 'checkbox',\n admin: {\n condition: (data) => data?.type === 'bulk',\n disableListColumn: true,\n disableListFilter: true,\n width: '25%',\n },\n defaultValue: false,\n },\n {\n name: 'delete',\n type: 'checkbox',\n admin: {\n condition: (data) => data?.type === 'bulk',\n disableListColumn: true,\n disableListFilter: true,\n width: '25%',\n },\n defaultValue: false,\n },\n ],\n },\n ...customFields,\n ],\n hooks: {\n beforeChange: [createBeforePermissionChangeHook(slug)],\n },\n }\n}\n"],"names":["createBeforePermissionChangeHook","createPermissionsCollection","options","slug","permissionsCollectionSlug","customFields","permissionsFields","access","permissionsAccess","create","delete","read","update","admin","group","hidden","hidePermissions","useAsTitle","fields","name","type","condition","data","id","_id","createdAt","description","disableListColumn","disableListFilter","defaultValue","label","value","unique","validate","width","hooks","beforeChange"],"mappings":"AAIA,SAASA,gCAAgC,QAAQ,kCAAiC;AAElF,OAAO,MAAMC,8BAA8B,CAACC;IAC1C,MAAMC,OAAOD,QAAQE,yBAAyB,IAAI;IAClD,MAAMC,eAAeH,QAAQI,iBAAiB,IAAI,EAAE;IAEpD,OAAO;QACLH;QACAI,QAAQL,QAAQM,iBAAiB,IAAI;YACnCC,QAAQ,IAAM;YACdC,QAAQ,IAAM;YACdC,MAAM,IAAM;YACZC,QAAQ,IAAM;QAChB;QACAC,OAAO;YACLC,OAAO;YACPC,QAAQb,QAAQc,eAAe,IAAI;YACnCC,YAAY;QACd;QACAC,QAAQ;YACN;gBACEC,MAAM;gBACNC,MAAM;gBACNP,OAAO;oBACLQ,WAAW,CAACC,OAAS,CAACA,MAAMC,MAAM,CAACD,MAAME,OAAO,CAACF,MAAMG;oBACvDC,aACE;oBACFC,mBAAmB;oBACnBC,mBAAmB;gBACrB;gBACAC,cAAc;gBACd3B,SAAS;oBACP;wBAAE4B,OAAO;wBAAqBC,OAAO;oBAAS;oBAC9C;wBAAED,OAAO;wBAAuBC,OAAO;oBAAO;iBAC/C;YACH;YACA;gBACEZ,MAAM;gBACNC,MAAM;gBACNP,OAAO;oBACLQ,WAAW,CAACC,OAASA,MAAMF,SAAS;oBACpCM,aAAa;gBACf;gBACAM,QAAQ;gBACRC,UAAU,CAACF,OAAkC,EAAET,IAAI,EAAkB;oBACnE,IAAIA,MAAMF,SAAS,YAAY,CAACW,OAAO;wBACrC,OAAO;oBACT;oBACA,OAAO;gBACT;YACF;YACA;gBACEZ,MAAM;gBACNC,MAAM;gBACNP,OAAO;oBACLQ,WAAW,CAACC,OAASA,MAAMF,SAAS;oBACpCM,aAAa;oBACbC,mBAAmB;oBACnBC,mBAAmB;gBACrB;YACF;YACA;gBACER,MAAM;gBACNF,QAAQ;oBACN;wBACEC,MAAM;wBACNC,MAAM;wBACNP,OAAO;4BACLQ,WAAW,CAACC,OAASA,MAAMF,SAAS;4BACpCO,mBAAmB;4BACnBC,mBAAmB;4BACnBM,OAAO;wBACT;wBACAL,cAAc;oBAChB;oBACA;wBACEV,MAAM;wBACNC,MAAM;wBACNP,OAAO;4BACLQ,WAAW,CAACC,OAASA,MAAMF,SAAS;4BACpCO,mBAAmB;4BACnBC,mBAAmB;4BACnBM,OAAO;wBACT;wBACAL,cAAc;oBAChB;oBACA;wBACEV,MAAM;wBACNC,MAAM;wBACNP,OAAO;4BACLQ,WAAW,CAACC,OAASA,MAAMF,SAAS;4BACpCO,mBAAmB;4BACnBC,mBAAmB;4BACnBM,OAAO;wBACT;wBACAL,cAAc;oBAChB;oBACA;wBACEV,MAAM;wBACNC,MAAM;wBACNP,OAAO;4BACLQ,WAAW,CAACC,OAASA,MAAMF,SAAS;4BACpCO,mBAAmB;4BACnBC,mBAAmB;4BACnBM,OAAO;wBACT;wBACAL,cAAc;oBAChB;iBACD;YACH;eACGxB;SACJ;QACD8B,OAAO;YACLC,cAAc;gBAACpC,iCAAiCG;aAAM;QACxD;IACF;AACF,EAAC"}
|
|
@@ -4,32 +4,35 @@ export const createRolesCollection = (options)=>{
|
|
|
4
4
|
const customFields = options.rolesFields || [];
|
|
5
5
|
return {
|
|
6
6
|
slug,
|
|
7
|
+
access: options.rolesAccess || {
|
|
8
|
+
create: ()=>true,
|
|
9
|
+
delete: ()=>true,
|
|
10
|
+
read: ()=>true,
|
|
11
|
+
update: ()=>true
|
|
12
|
+
},
|
|
7
13
|
admin: {
|
|
8
|
-
useAsTitle: 'name',
|
|
9
14
|
group: 'Access Control',
|
|
10
|
-
hidden: options.hideRoles ?? false
|
|
11
|
-
|
|
12
|
-
access: {
|
|
13
|
-
read: ()=>true
|
|
15
|
+
hidden: options.hideRoles ?? false,
|
|
16
|
+
useAsTitle: 'name'
|
|
14
17
|
},
|
|
15
18
|
fields: [
|
|
16
19
|
{
|
|
17
20
|
name: 'name',
|
|
18
21
|
type: 'text',
|
|
19
|
-
required: true,
|
|
20
|
-
unique: true,
|
|
21
22
|
admin: {
|
|
22
23
|
description: 'The unique name of the role (e.g., "admin", "editor").'
|
|
23
|
-
}
|
|
24
|
+
},
|
|
25
|
+
required: true,
|
|
26
|
+
unique: true
|
|
24
27
|
},
|
|
25
28
|
{
|
|
26
29
|
name: 'permissions',
|
|
27
30
|
type: 'relationship',
|
|
28
|
-
relationTo: permissionsSlug,
|
|
29
|
-
hasMany: true,
|
|
30
31
|
admin: {
|
|
31
32
|
description: 'The permissions assigned to this role.'
|
|
32
|
-
}
|
|
33
|
+
},
|
|
34
|
+
hasMany: true,
|
|
35
|
+
relationTo: permissionsSlug
|
|
33
36
|
},
|
|
34
37
|
...customFields
|
|
35
38
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/collections/Roles.ts"],"sourcesContent":["import type { CollectionConfig } from 'payload'
|
|
1
|
+
{"version":3,"sources":["../../src/collections/Roles.ts"],"sourcesContent":["import type { CollectionConfig } from 'payload'\n\nimport type { PluginOptions } from '../types'\n\nexport const createRolesCollection = (options: PluginOptions): CollectionConfig => {\n const slug = options.rolesCollectionSlug || 'roles'\n const permissionsSlug = options.permissionsCollectionSlug || 'permissions'\n const customFields = options.rolesFields || []\n\n return {\n slug,\n access: options.rolesAccess || {\n create: () => true,\n delete: () => true,\n read: () => true,\n update: () => true,\n },\n admin: {\n group: 'Access Control',\n hidden: options.hideRoles ?? false,\n useAsTitle: 'name',\n },\n fields: [\n {\n name: 'name',\n type: 'text',\n admin: {\n description: 'The unique name of the role (e.g., \"admin\", \"editor\").',\n },\n required: true,\n unique: true,\n },\n {\n name: 'permissions',\n type: 'relationship',\n admin: {\n description: 'The permissions assigned to this role.',\n },\n hasMany: true,\n relationTo: permissionsSlug,\n },\n ...customFields,\n ],\n }\n}\n"],"names":["createRolesCollection","options","slug","rolesCollectionSlug","permissionsSlug","permissionsCollectionSlug","customFields","rolesFields","access","rolesAccess","create","delete","read","update","admin","group","hidden","hideRoles","useAsTitle","fields","name","type","description","required","unique","hasMany","relationTo"],"mappings":"AAIA,OAAO,MAAMA,wBAAwB,CAACC;IACpC,MAAMC,OAAOD,QAAQE,mBAAmB,IAAI;IAC5C,MAAMC,kBAAkBH,QAAQI,yBAAyB,IAAI;IAC7D,MAAMC,eAAeL,QAAQM,WAAW,IAAI,EAAE;IAE9C,OAAO;QACLL;QACAM,QAAQP,QAAQQ,WAAW,IAAI;YAC7BC,QAAQ,IAAM;YACdC,QAAQ,IAAM;YACdC,MAAM,IAAM;YACZC,QAAQ,IAAM;QAChB;QACAC,OAAO;YACLC,OAAO;YACPC,QAAQf,QAAQgB,SAAS,IAAI;YAC7BC,YAAY;QACd;QACAC,QAAQ;YACN;gBACEC,MAAM;gBACNC,MAAM;gBACNP,OAAO;oBACLQ,aAAa;gBACf;gBACAC,UAAU;gBACVC,QAAQ;YACV;YACA;gBACEJ,MAAM;gBACNC,MAAM;gBACNP,OAAO;oBACLQ,aAAa;gBACf;gBACAG,SAAS;gBACTC,YAAYtB;YACd;eACGE;SACJ;IACH;AACF,EAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,47 +1,55 @@
|
|
|
1
1
|
import type { Field } from 'payload';
|
|
2
2
|
export interface PluginOptions {
|
|
3
|
+
/**
|
|
4
|
+
* The collection slug for the authentication collection (typically 'users')
|
|
5
|
+
* @default 'users'
|
|
6
|
+
*/
|
|
7
|
+
authCollectionSlug?: string;
|
|
3
8
|
/**
|
|
4
9
|
* Enable or disable plugin
|
|
5
10
|
* @default false
|
|
6
11
|
*/
|
|
7
12
|
enabled?: boolean;
|
|
8
13
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
14
|
+
* Hide the Permissions collection from the Admin panel sidebar/dashboard
|
|
15
|
+
* Can be a boolean or a function based on the logged-in user
|
|
16
|
+
* @default false
|
|
11
17
|
*/
|
|
12
|
-
|
|
18
|
+
hidePermissions?: ((args: {
|
|
19
|
+
user: any;
|
|
20
|
+
}) => boolean) | boolean;
|
|
13
21
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
22
|
+
* Hide the Roles collection from the Admin panel sidebar/dashboard
|
|
23
|
+
* Can be a boolean or a function based on the logged-in user
|
|
24
|
+
* @default false
|
|
16
25
|
*/
|
|
17
|
-
|
|
26
|
+
hideRoles?: ((args: {
|
|
27
|
+
user: any;
|
|
28
|
+
}) => boolean) | boolean;
|
|
18
29
|
/**
|
|
19
|
-
*
|
|
20
|
-
* @default 'users'
|
|
30
|
+
* Access control functions for the Permissions collection
|
|
21
31
|
*/
|
|
22
|
-
|
|
32
|
+
permissionsAccess?: any;
|
|
23
33
|
/**
|
|
24
|
-
*
|
|
34
|
+
* Override the default collection slug for Permissions
|
|
35
|
+
* @default 'permissions'
|
|
25
36
|
*/
|
|
26
|
-
|
|
37
|
+
permissionsCollectionSlug?: string;
|
|
27
38
|
/**
|
|
28
39
|
* Inject additional custom fields into the generated Permissions collection
|
|
29
40
|
*/
|
|
30
41
|
permissionsFields?: Field[];
|
|
31
42
|
/**
|
|
32
|
-
*
|
|
33
|
-
* Can be a boolean or a function based on the logged-in user
|
|
34
|
-
* @default false
|
|
43
|
+
* Access control functions for the Roles collection
|
|
35
44
|
*/
|
|
36
|
-
|
|
37
|
-
user: any;
|
|
38
|
-
}) => boolean);
|
|
45
|
+
rolesAccess?: any;
|
|
39
46
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* @default false
|
|
47
|
+
* Override the default collection slug for Roles
|
|
48
|
+
* @default 'roles'
|
|
43
49
|
*/
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
50
|
+
rolesCollectionSlug?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Inject additional custom fields into the generated Roles collection
|
|
53
|
+
*/
|
|
54
|
+
rolesFields?: Field[];
|
|
47
55
|
}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { Field } from 'payload'\n\nexport interface PluginOptions {\n /**\n *
|
|
1
|
+
{"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { CollectionConfig, Field } from 'payload'\n\nexport interface PluginOptions {\n /**\n * The collection slug for the authentication collection (typically 'users')\n * @default 'users'\n */\n authCollectionSlug?: string\n\n /**\n * Enable or disable plugin\n * @default false\n */\n enabled?: boolean\n\n /**\n * Hide the Permissions collection from the Admin panel sidebar/dashboard\n * Can be a boolean or a function based on the logged-in user\n * @default false\n */\n hidePermissions?: ((args: { user: any }) => boolean) | boolean\n\n /**\n * Hide the Roles collection from the Admin panel sidebar/dashboard\n * Can be a boolean or a function based on the logged-in user\n * @default false\n */\n hideRoles?: ((args: { user: any }) => boolean) | boolean\n\n /**\n * Access control functions for the Permissions collection\n */\n permissionsAccess?: any\n\n /**\n * Override the default collection slug for Permissions\n * @default 'permissions'\n */\n permissionsCollectionSlug?: string\n\n /**\n * Inject additional custom fields into the generated Permissions collection\n */\n permissionsFields?: Field[]\n\n /**\n * Access control functions for the Roles collection\n */\n rolesAccess?: any\n\n /**\n * Override the default collection slug for Roles\n * @default 'roles'\n */\n rolesCollectionSlug?: string\n\n /**\n * Inject additional custom fields into the generated Roles collection\n */\n rolesFields?: Field[]\n}\n"],"names":[],"mappings":"AAEA,WA0DC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type { Access } from 'payload';
|
|
2
1
|
/**
|
|
3
2
|
* A Higher-Order Function to drop into Payload Collection access control fields.
|
|
4
3
|
*
|
|
5
4
|
* @param permissionName - The required permission name
|
|
6
5
|
* @returns Access function
|
|
7
6
|
*/
|
|
8
|
-
export declare const checkPermission: (permissionName: string) =>
|
|
7
|
+
export declare const checkPermission: (permissionName: string) => any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/checkPermission.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/checkPermission.ts"],"sourcesContent":["\nimport { hasPermission } from './hasPermission';\n\n/**\n * A Higher-Order Function to drop into Payload Collection access control fields.\n * \n * @param permissionName - The required permission name\n * @returns Access function\n */\nexport const checkPermission = (permissionName: string): any => {\n return ({ req: { user } }: any) => {\n // We can just rely on the synchronous hasPermission check.\n // If relations are unpopulated, it will return false. Ensure your auth\n // collection is configured with adequate depth for saveToJWT or default depth.\n return hasPermission(user, permissionName)\n }\n}\n"],"names":["hasPermission","checkPermission","permissionName","req","user"],"mappings":"AACA,SAASA,aAAa,QAAQ,kBAAkB;AAEhD;;;;;CAKC,GACD,OAAO,MAAMC,kBAAkB,CAACC;IAC9B,OAAO,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAAE,EAAO;QAC5B,2DAA2D;QAC3D,uEAAuE;QACvE,+EAA+E;QAC/E,OAAOJ,cAAcI,MAAMF;IAC7B;AACF,EAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "payload-rbac-plugin",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "RBAC plugin for payloadcms",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -52,13 +52,13 @@
|
|
|
52
52
|
],
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@eslint/eslintrc": "^3.2.0",
|
|
55
|
-
"@payloadcms/db-mongodb": "3.
|
|
56
|
-
"@payloadcms/db-postgres": "3.
|
|
57
|
-
"@payloadcms/db-sqlite": "3.
|
|
55
|
+
"@payloadcms/db-mongodb": "^3.85.0",
|
|
56
|
+
"@payloadcms/db-postgres": "^3.85.0",
|
|
57
|
+
"@payloadcms/db-sqlite": "^3.85.0",
|
|
58
58
|
"@payloadcms/eslint-config": "3.28.0",
|
|
59
|
-
"@payloadcms/next": "3.
|
|
60
|
-
"@payloadcms/richtext-lexical": "3.
|
|
61
|
-
"@payloadcms/ui": "3.
|
|
59
|
+
"@payloadcms/next": "^3.85.0",
|
|
60
|
+
"@payloadcms/richtext-lexical": "^3.85.0",
|
|
61
|
+
"@payloadcms/ui": "^3.85.0",
|
|
62
62
|
"@playwright/test": "1.58.2",
|
|
63
63
|
"@swc-node/register": "1.10.9",
|
|
64
64
|
"@swc/cli": "0.6.0",
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"mongodb-memory-server": "10.1.4",
|
|
74
74
|
"next": "16.2.6",
|
|
75
75
|
"open": "^10.1.0",
|
|
76
|
-
"payload": "3.
|
|
76
|
+
"payload": "^3.85.0",
|
|
77
77
|
"prettier": "^3.4.2",
|
|
78
78
|
"qs-esm": "8.0.1",
|
|
79
79
|
"react": "19.2.6",
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"vitest": "^4.1.8"
|
|
87
87
|
},
|
|
88
88
|
"peerDependencies": {
|
|
89
|
-
"payload": "^3.
|
|
89
|
+
"payload": "^3.85.0"
|
|
90
90
|
},
|
|
91
91
|
"engines": {
|
|
92
92
|
"node": "^18.20.2 || >=20.9.0",
|