payload 3.0.0-beta.30 → 3.0.0-beta.31

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 (61) hide show
  1. package/dist/admin/RichText.d.ts +4 -3
  2. package/dist/admin/RichText.d.ts.map +1 -1
  3. package/dist/admin/RichText.js.map +1 -1
  4. package/dist/admin/elements/Cell.d.ts +1 -0
  5. package/dist/admin/elements/Cell.d.ts.map +1 -1
  6. package/dist/admin/elements/Tab.d.ts +1 -0
  7. package/dist/admin/elements/Tab.d.ts.map +1 -1
  8. package/dist/admin/elements/WithServerSideProps.d.ts +1 -0
  9. package/dist/admin/elements/WithServerSideProps.d.ts.map +1 -1
  10. package/dist/admin/forms/Error.d.ts +1 -0
  11. package/dist/admin/forms/Error.d.ts.map +1 -1
  12. package/dist/admin/forms/FieldTypes.d.ts +1 -0
  13. package/dist/admin/forms/FieldTypes.d.ts.map +1 -1
  14. package/dist/admin/forms/Label.d.ts +1 -0
  15. package/dist/admin/forms/Label.d.ts.map +1 -1
  16. package/dist/admin/views/types.d.ts +3 -2
  17. package/dist/admin/views/types.d.ts.map +1 -1
  18. package/dist/admin/views/types.js.map +1 -1
  19. package/dist/bin/loader/index.d.ts.map +1 -1
  20. package/dist/bin/loader/index.js +1 -8
  21. package/dist/bin/loader/index.js.map +1 -1
  22. package/dist/bin/loader/read-default-tsconfig.d.ts +25 -0
  23. package/dist/bin/loader/read-default-tsconfig.d.ts.map +1 -1
  24. package/dist/bin/loader/read-default-tsconfig.js +25 -1
  25. package/dist/bin/loader/read-default-tsconfig.js.map +1 -1
  26. package/dist/collections/config/client.d.ts +1 -0
  27. package/dist/collections/config/client.d.ts.map +1 -1
  28. package/dist/collections/config/types.d.ts +1 -0
  29. package/dist/collections/config/types.d.ts.map +1 -1
  30. package/dist/config/defaults.d.ts.map +1 -1
  31. package/dist/config/defaults.js +2 -1
  32. package/dist/config/defaults.js.map +1 -1
  33. package/dist/config/sanitize.d.ts.map +1 -1
  34. package/dist/config/sanitize.js.map +1 -1
  35. package/dist/config/schema.d.ts.map +1 -1
  36. package/dist/config/schema.js +3 -2
  37. package/dist/config/schema.js.map +1 -1
  38. package/dist/config/types.d.ts +12 -6
  39. package/dist/config/types.d.ts.map +1 -1
  40. package/dist/config/types.js.map +1 -1
  41. package/dist/exports/node.d.ts +2 -0
  42. package/dist/exports/node.d.ts.map +1 -1
  43. package/dist/exports/node.js +2 -0
  44. package/dist/exports/node.js.map +1 -1
  45. package/dist/fields/config/client.d.ts +1 -0
  46. package/dist/fields/config/client.d.ts.map +1 -1
  47. package/dist/fields/config/types.d.ts +6 -0
  48. package/dist/fields/config/types.d.ts.map +1 -1
  49. package/dist/fields/config/types.js.map +1 -1
  50. package/dist/fields/validations.d.ts +1 -0
  51. package/dist/fields/validations.d.ts.map +1 -1
  52. package/dist/fields/validations.js +2 -2
  53. package/dist/fields/validations.js.map +1 -1
  54. package/dist/uploads/getBaseFields.js +1 -1
  55. package/dist/uploads/getBaseFields.js.map +1 -1
  56. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  57. package/dist/utilities/configToJSONSchema.js +5 -1
  58. package/dist/utilities/configToJSONSchema.js.map +1 -1
  59. package/dist/utilities/configToJSONSchema.spec.js +96 -0
  60. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  61. package/package.json +3 -2
@@ -2,6 +2,7 @@ import { sanitizeConfig } from '../config/sanitize.js';
2
2
  import { configToJSONSchema } from './configToJSONSchema.js';
3
3
  describe('configToJSONSchema', ()=>{
4
4
  it('should handle optional arrays with required fields', async ()=>{
5
+ // @ts-expect-error
5
6
  const config = {
6
7
  collections: [
7
8
  {
@@ -63,6 +64,101 @@ describe('configToJSONSchema', ()=>{
63
64
  type: 'object'
64
65
  });
65
66
  });
67
+ it('should handle tabs and named tabs with required fields', async ()=>{
68
+ // @ts-expect-error
69
+ const config = {
70
+ collections: [
71
+ {
72
+ fields: [
73
+ {
74
+ type: 'tabs',
75
+ tabs: [
76
+ {
77
+ label: 'unnamedTab',
78
+ fields: [
79
+ {
80
+ type: 'text',
81
+ name: 'fieldInUnnamedTab'
82
+ }
83
+ ]
84
+ },
85
+ {
86
+ label: 'namedTab',
87
+ name: 'namedTab',
88
+ fields: [
89
+ {
90
+ type: 'text',
91
+ name: 'fieldInNamedTab'
92
+ }
93
+ ]
94
+ },
95
+ {
96
+ label: 'namedTabWithRequired',
97
+ name: 'namedTabWithRequired',
98
+ fields: [
99
+ {
100
+ type: 'text',
101
+ name: 'fieldInNamedTab',
102
+ required: true
103
+ }
104
+ ]
105
+ }
106
+ ]
107
+ }
108
+ ],
109
+ slug: 'test',
110
+ timestamps: false
111
+ }
112
+ ]
113
+ };
114
+ const sanitizedConfig = await sanitizeConfig(config);
115
+ const schema = configToJSONSchema(sanitizedConfig, 'text');
116
+ expect(schema?.definitions?.test).toStrictEqual({
117
+ additionalProperties: false,
118
+ properties: {
119
+ id: {
120
+ type: 'string'
121
+ },
122
+ fieldInUnnamedTab: {
123
+ type: [
124
+ 'string',
125
+ 'null'
126
+ ]
127
+ },
128
+ namedTab: {
129
+ additionalProperties: false,
130
+ type: 'object',
131
+ properties: {
132
+ fieldInNamedTab: {
133
+ type: [
134
+ 'string',
135
+ 'null'
136
+ ]
137
+ }
138
+ },
139
+ required: []
140
+ },
141
+ namedTabWithRequired: {
142
+ additionalProperties: false,
143
+ type: 'object',
144
+ properties: {
145
+ fieldInNamedTab: {
146
+ type: 'string'
147
+ }
148
+ },
149
+ required: [
150
+ 'fieldInNamedTab'
151
+ ]
152
+ }
153
+ },
154
+ required: [
155
+ 'id',
156
+ 'namedTabWithRequired'
157
+ ],
158
+ title: 'Test',
159
+ type: 'object'
160
+ });
161
+ });
66
162
  });
67
163
 
68
164
  //# sourceMappingURL=configToJSONSchema.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/configToJSONSchema.spec.ts"],"sourcesContent":["import type { Config } from '../config/types.js'\n\nimport { sanitizeConfig } from '../config/sanitize.js'\nimport { configToJSONSchema } from './configToJSONSchema.js'\n\ndescribe('configToJSONSchema', () => {\n it('should handle optional arrays with required fields', async () => {\n const config: Config = {\n collections: [\n {\n fields: [\n {\n name: 'someRequiredField',\n type: 'array',\n fields: [\n {\n name: 'someRequiredField',\n required: true,\n type: 'text',\n },\n ],\n },\n ],\n slug: 'test',\n timestamps: false,\n },\n ],\n }\n\n const sanitizedConfig = await sanitizeConfig(config)\n const schema = configToJSONSchema(sanitizedConfig, 'text')\n\n expect(schema?.definitions?.test).toStrictEqual({\n additionalProperties: false,\n properties: {\n id: {\n type: 'string',\n },\n someRequiredField: {\n items: {\n additionalProperties: false,\n properties: {\n id: {\n type: ['string', 'null'],\n },\n someRequiredField: {\n type: 'string',\n },\n },\n required: ['someRequiredField'],\n type: 'object',\n },\n type: ['array', 'null'],\n },\n },\n required: ['id'],\n title: 'Test',\n type: 'object',\n })\n })\n})\n"],"names":["sanitizeConfig","configToJSONSchema","describe","it","config","collections","fields","name","type","required","slug","timestamps","sanitizedConfig","schema","expect","definitions","test","toStrictEqual","additionalProperties","properties","id","someRequiredField","items","title"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,cAAc,QAAQ,wBAAuB;AACtD,SAASC,kBAAkB,QAAQ,0BAAyB;AAE5DC,SAAS,sBAAsB;IAC7BC,GAAG,sDAAsD;QACvD,MAAMC,SAAiB;YACrBC,aAAa;gBACX;oBACEC,QAAQ;wBACN;4BACEC,MAAM;4BACNC,MAAM;4BACNF,QAAQ;gCACN;oCACEC,MAAM;oCACNE,UAAU;oCACVD,MAAM;gCACR;6BACD;wBACH;qBACD;oBACDE,MAAM;oBACNC,YAAY;gBACd;aACD;QACH;QAEA,MAAMC,kBAAkB,MAAMZ,eAAeI;QAC7C,MAAMS,SAASZ,mBAAmBW,iBAAiB;QAEnDE,OAAOD,QAAQE,aAAaC,MAAMC,aAAa,CAAC;YAC9CC,sBAAsB;YACtBC,YAAY;gBACVC,IAAI;oBACFZ,MAAM;gBACR;gBACAa,mBAAmB;oBACjBC,OAAO;wBACLJ,sBAAsB;wBACtBC,YAAY;4BACVC,IAAI;gCACFZ,MAAM;oCAAC;oCAAU;iCAAO;4BAC1B;4BACAa,mBAAmB;gCACjBb,MAAM;4BACR;wBACF;wBACAC,UAAU;4BAAC;yBAAoB;wBAC/BD,MAAM;oBACR;oBACAA,MAAM;wBAAC;wBAAS;qBAAO;gBACzB;YACF;YACAC,UAAU;gBAAC;aAAK;YAChBc,OAAO;YACPf,MAAM;QACR;IACF;AACF"}
1
+ {"version":3,"sources":["../../src/utilities/configToJSONSchema.spec.ts"],"sourcesContent":["import type { Config } from '../config/types.js'\n\nimport { sanitizeConfig } from '../config/sanitize.js'\nimport { configToJSONSchema } from './configToJSONSchema.js'\n\ndescribe('configToJSONSchema', () => {\n it('should handle optional arrays with required fields', async () => {\n // @ts-expect-error\n const config: Config = {\n collections: [\n {\n fields: [\n {\n name: 'someRequiredField',\n type: 'array',\n fields: [\n {\n name: 'someRequiredField',\n required: true,\n type: 'text',\n },\n ],\n },\n ],\n slug: 'test',\n timestamps: false,\n },\n ],\n }\n\n const sanitizedConfig = await sanitizeConfig(config)\n const schema = configToJSONSchema(sanitizedConfig, 'text')\n\n expect(schema?.definitions?.test).toStrictEqual({\n additionalProperties: false,\n properties: {\n id: {\n type: 'string',\n },\n someRequiredField: {\n items: {\n additionalProperties: false,\n properties: {\n id: {\n type: ['string', 'null'],\n },\n someRequiredField: {\n type: 'string',\n },\n },\n required: ['someRequiredField'],\n type: 'object',\n },\n type: ['array', 'null'],\n },\n },\n required: ['id'],\n title: 'Test',\n type: 'object',\n })\n })\n\n it('should handle tabs and named tabs with required fields', async () => {\n // @ts-expect-error\n const config: Config = {\n collections: [\n {\n fields: [\n {\n type: 'tabs',\n tabs: [\n {\n label: 'unnamedTab',\n fields: [\n {\n type: 'text',\n name: 'fieldInUnnamedTab',\n },\n ],\n },\n {\n label: 'namedTab',\n name: 'namedTab',\n fields: [\n {\n type: 'text',\n name: 'fieldInNamedTab',\n },\n ],\n },\n {\n label: 'namedTabWithRequired',\n name: 'namedTabWithRequired',\n fields: [\n {\n type: 'text',\n name: 'fieldInNamedTab',\n required: true,\n },\n ],\n },\n ],\n },\n ],\n slug: 'test',\n timestamps: false,\n },\n ],\n }\n\n const sanitizedConfig = await sanitizeConfig(config)\n const schema = configToJSONSchema(sanitizedConfig, 'text')\n\n expect(schema?.definitions?.test).toStrictEqual({\n additionalProperties: false,\n properties: {\n id: {\n type: 'string',\n },\n fieldInUnnamedTab: {\n type: ['string', 'null'],\n },\n namedTab: {\n additionalProperties: false,\n type: 'object',\n properties: {\n fieldInNamedTab: {\n type: ['string', 'null'],\n },\n },\n required: [],\n },\n namedTabWithRequired: {\n additionalProperties: false,\n type: 'object',\n properties: {\n fieldInNamedTab: {\n type: 'string',\n },\n },\n required: ['fieldInNamedTab'],\n },\n },\n required: ['id', 'namedTabWithRequired'],\n title: 'Test',\n type: 'object',\n })\n })\n})\n"],"names":["sanitizeConfig","configToJSONSchema","describe","it","config","collections","fields","name","type","required","slug","timestamps","sanitizedConfig","schema","expect","definitions","test","toStrictEqual","additionalProperties","properties","id","someRequiredField","items","title","tabs","label","fieldInUnnamedTab","namedTab","fieldInNamedTab","namedTabWithRequired"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,cAAc,QAAQ,wBAAuB;AACtD,SAASC,kBAAkB,QAAQ,0BAAyB;AAE5DC,SAAS,sBAAsB;IAC7BC,GAAG,sDAAsD;QACvD,mBAAmB;QACnB,MAAMC,SAAiB;YACrBC,aAAa;gBACX;oBACEC,QAAQ;wBACN;4BACEC,MAAM;4BACNC,MAAM;4BACNF,QAAQ;gCACN;oCACEC,MAAM;oCACNE,UAAU;oCACVD,MAAM;gCACR;6BACD;wBACH;qBACD;oBACDE,MAAM;oBACNC,YAAY;gBACd;aACD;QACH;QAEA,MAAMC,kBAAkB,MAAMZ,eAAeI;QAC7C,MAAMS,SAASZ,mBAAmBW,iBAAiB;QAEnDE,OAAOD,QAAQE,aAAaC,MAAMC,aAAa,CAAC;YAC9CC,sBAAsB;YACtBC,YAAY;gBACVC,IAAI;oBACFZ,MAAM;gBACR;gBACAa,mBAAmB;oBACjBC,OAAO;wBACLJ,sBAAsB;wBACtBC,YAAY;4BACVC,IAAI;gCACFZ,MAAM;oCAAC;oCAAU;iCAAO;4BAC1B;4BACAa,mBAAmB;gCACjBb,MAAM;4BACR;wBACF;wBACAC,UAAU;4BAAC;yBAAoB;wBAC/BD,MAAM;oBACR;oBACAA,MAAM;wBAAC;wBAAS;qBAAO;gBACzB;YACF;YACAC,UAAU;gBAAC;aAAK;YAChBc,OAAO;YACPf,MAAM;QACR;IACF;IAEAL,GAAG,0DAA0D;QAC3D,mBAAmB;QACnB,MAAMC,SAAiB;YACrBC,aAAa;gBACX;oBACEC,QAAQ;wBACN;4BACEE,MAAM;4BACNgB,MAAM;gCACJ;oCACEC,OAAO;oCACPnB,QAAQ;wCACN;4CACEE,MAAM;4CACND,MAAM;wCACR;qCACD;gCACH;gCACA;oCACEkB,OAAO;oCACPlB,MAAM;oCACND,QAAQ;wCACN;4CACEE,MAAM;4CACND,MAAM;wCACR;qCACD;gCACH;gCACA;oCACEkB,OAAO;oCACPlB,MAAM;oCACND,QAAQ;wCACN;4CACEE,MAAM;4CACND,MAAM;4CACNE,UAAU;wCACZ;qCACD;gCACH;6BACD;wBACH;qBACD;oBACDC,MAAM;oBACNC,YAAY;gBACd;aACD;QACH;QAEA,MAAMC,kBAAkB,MAAMZ,eAAeI;QAC7C,MAAMS,SAASZ,mBAAmBW,iBAAiB;QAEnDE,OAAOD,QAAQE,aAAaC,MAAMC,aAAa,CAAC;YAC9CC,sBAAsB;YACtBC,YAAY;gBACVC,IAAI;oBACFZ,MAAM;gBACR;gBACAkB,mBAAmB;oBACjBlB,MAAM;wBAAC;wBAAU;qBAAO;gBAC1B;gBACAmB,UAAU;oBACRT,sBAAsB;oBACtBV,MAAM;oBACNW,YAAY;wBACVS,iBAAiB;4BACfpB,MAAM;gCAAC;gCAAU;6BAAO;wBAC1B;oBACF;oBACAC,UAAU,EAAE;gBACd;gBACAoB,sBAAsB;oBACpBX,sBAAsB;oBACtBV,MAAM;oBACNW,YAAY;wBACVS,iBAAiB;4BACfpB,MAAM;wBACR;oBACF;oBACAC,UAAU;wBAAC;qBAAkB;gBAC/B;YACF;YACAA,UAAU;gBAAC;gBAAM;aAAuB;YACxCc,OAAO;YACPf,MAAM;QACR;IACF;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payload",
3
- "version": "3.0.0-beta.30",
3
+ "version": "3.0.0-beta.31",
4
4
  "description": "Node, React, Headless CMS and Application Framework built on Next.js",
5
5
  "keywords": [
6
6
  "admin panel",
@@ -96,7 +96,7 @@
96
96
  "scmp": "2.1.0",
97
97
  "ts-essentials": "7.0.3",
98
98
  "uuid": "^9.0.1",
99
- "@payloadcms/translations": "3.0.0-beta.30"
99
+ "@payloadcms/translations": "3.0.0-beta.31"
100
100
  },
101
101
  "devDependencies": {
102
102
  "@monaco-editor/react": "4.5.1",
@@ -132,6 +132,7 @@
132
132
  "get-port": "5.1.1",
133
133
  "graphql-http": "^1.22.0",
134
134
  "mini-css-extract-plugin": "1.6.2",
135
+ "next": "^14.3.0-canary.7",
135
136
  "nodemon": "3.0.3",
136
137
  "object.assign": "4.1.4",
137
138
  "object.entries": "1.1.6",