@payloadcms/next 3.1.1-canary.81763b6 → 3.1.1-canary.8409de7

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.
@@ -1,5 +1,5 @@
1
1
  import fs from 'fs';
2
2
  export declare function iteratorToStream(iterator: any): ReadableStream<any>;
3
- export declare function nodeStreamToIterator(stream: fs.ReadStream): AsyncGenerator<Uint8Array, void, unknown>;
3
+ export declare function nodeStreamToIterator(stream: fs.ReadStream): AsyncGenerator<Uint8Array<any>, void, unknown>;
4
4
  export declare function streamFile(path: string): ReadableStream;
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fetchAPI-stream-file/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,wBAAgB,gBAAgB,CAAC,QAAQ,KAAA,uBAWxC;AAED,wBAAuB,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,6CAIhE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAIvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fetchAPI-stream-file/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,wBAAgB,gBAAgB,CAAC,QAAQ,KAAA,uBAWxC;AAED,wBAAuB,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,kDAIhE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAIvD"}
@@ -1 +1 @@
1
- {"version":3,"file":"getVersions.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACrB,SAAS,EACV,MAAM,SAAS,CAAA;AAIhB,KAAK,IAAI,GAAG;IACV,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,cAAc,EAAE,4BAA4B,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAED,KAAK,MAAM,GAAG,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAA;IACxB,4BAA4B,EAAE,OAAO,CAAA;IACrC,uBAAuB,EAAE,MAAM,CAAA;IAC/B,YAAY,EAAE,MAAM,CAAA;CACrB,CAAC,CAAA;AAIF,eAAO,MAAM,WAAW,+FASrB,IAAI,KAAG,MAmOT,CAAA"}
1
+ {"version":3,"file":"getVersions.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACrB,SAAS,EACV,MAAM,SAAS,CAAA;AAIhB,KAAK,IAAI,GAAG;IACV,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,cAAc,EAAE,4BAA4B,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAED,KAAK,MAAM,GAAG,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAA;IACxB,4BAA4B,EAAE,OAAO,CAAA;IACrC,uBAAuB,EAAE,MAAM,CAAA;IAC/B,YAAY,EAAE,MAAM,CAAA;CACrB,CAAC,CAAA;AAKF,eAAO,MAAM,WAAW,+FASrB,IAAI,KAAG,MAqOT,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { sanitizeID } from '@payloadcms/ui/shared';
2
2
  // TODO: in the future, we can parallelize some of these queries
3
3
  // this will speed up the API by ~30-100ms or so
4
+ // Note from the future: I have attempted parallelizing these queries, but it made this function almost 2x slower.
4
5
  export const getVersions = async ({
5
6
  id: idArg,
6
7
  collectionConfig,
@@ -12,7 +13,7 @@ export const getVersions = async ({
12
13
  user
13
14
  }) => {
14
15
  const id = sanitizeID(idArg);
15
- let publishedQuery;
16
+ let publishedDoc;
16
17
  let hasPublishedDoc = false;
17
18
  let mostRecentVersionIsAutosaved = false;
18
19
  let unpublishedVersionCount = 0;
@@ -41,9 +42,9 @@ export const getVersions = async ({
41
42
  if (versionsConfig?.drafts) {
42
43
  // Find out if a published document exists
43
44
  if (doc?._status === 'published') {
44
- publishedQuery = doc;
45
+ publishedDoc = doc;
45
46
  } else {
46
- publishedQuery = await payload.find({
47
+ publishedDoc = (await payload.find({
47
48
  collection: collectionConfig.slug,
48
49
  depth: 0,
49
50
  limit: 1,
@@ -70,9 +71,9 @@ export const getVersions = async ({
70
71
  }
71
72
  }]
72
73
  }
73
- });
74
+ }))?.docs?.[0];
74
75
  }
75
- if (publishedQuery.docs?.[0]) {
76
+ if (publishedDoc) {
76
77
  hasPublishedDoc = true;
77
78
  }
78
79
  if (versionsConfig.drafts?.autosave) {
@@ -96,7 +97,7 @@ export const getVersions = async ({
96
97
  mostRecentVersionIsAutosaved = true;
97
98
  }
98
99
  }
99
- if (publishedQuery.docs?.[0]?.updatedAt) {
100
+ if (publishedDoc?.updatedAt) {
100
101
  ({
101
102
  totalDocs: unpublishedVersionCount
102
103
  } = await payload.countVersions({
@@ -113,7 +114,7 @@ export const getVersions = async ({
113
114
  }
114
115
  }, {
115
116
  updatedAt: {
116
- greater_than: publishedQuery.docs[0].updatedAt
117
+ greater_than: publishedDoc.updatedAt
117
118
  }
118
119
  }]
119
120
  }
@@ -139,9 +140,9 @@ export const getVersions = async ({
139
140
  // Find out if a published document exists
140
141
  if (versionsConfig?.drafts) {
141
142
  if (doc?._status === 'published') {
142
- publishedQuery = doc;
143
+ publishedDoc = doc;
143
144
  } else {
144
- publishedQuery = await payload.findGlobal({
145
+ publishedDoc = await payload.findGlobal({
145
146
  slug: globalConfig.slug,
146
147
  depth: 0,
147
148
  locale,
@@ -151,7 +152,7 @@ export const getVersions = async ({
151
152
  user
152
153
  });
153
154
  }
154
- if (publishedQuery?._status === 'published') {
155
+ if (publishedDoc?._status === 'published') {
155
156
  hasPublishedDoc = true;
156
157
  }
157
158
  if (versionsConfig.drafts?.autosave) {
@@ -167,7 +168,7 @@ export const getVersions = async ({
167
168
  mostRecentVersionIsAutosaved = true;
168
169
  }
169
170
  }
170
- if (publishedQuery?.updatedAt) {
171
+ if (publishedDoc?.updatedAt) {
171
172
  ({
172
173
  totalDocs: unpublishedVersionCount
173
174
  } = await payload.countGlobalVersions({
@@ -181,7 +182,7 @@ export const getVersions = async ({
181
182
  }
182
183
  }, {
183
184
  updatedAt: {
184
- greater_than: publishedQuery.updatedAt
185
+ greater_than: publishedDoc.updatedAt
185
186
  }
186
187
  }]
187
188
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getVersions.js","names":["sanitizeID","getVersions","id","idArg","collectionConfig","doc","docPermissions","globalConfig","locale","payload","user","publishedQuery","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","entityConfig","versionsConfig","versions","shouldFetchVersions","Boolean","readVersions","drafts","_status","find","collection","slug","depth","limit","undefined","pagination","select","updatedAt","where","and","or","equals","exists","docs","autosave","mostRecentVersion","findVersions","parent","totalDocs","countVersions","greater_than","findGlobal","findGlobalVersions","countGlobalVersions","global"],"sources":["../../../src/views/Document/getVersions.ts"],"sourcesContent":["import type {\n Payload,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n TypedUser,\n} from 'payload'\n\nimport { sanitizeID } from '@payloadcms/ui/shared'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n /**\n * Optional - performance optimization.\n * If a document has been fetched before fetching versions, pass it here.\n * If this document is set to published, we can skip the query to find out if a published document exists,\n * as the passed in document is proof of its existence.\n */\n doc?: Record<string, any>\n docPermissions: SanitizedDocumentPermissions\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n locale?: string\n payload: Payload\n user: TypedUser\n}\n\ntype Result = Promise<{\n hasPublishedDoc: boolean\n mostRecentVersionIsAutosaved: boolean\n unpublishedVersionCount: number\n versionCount: number\n}>\n\n// TODO: in the future, we can parallelize some of these queries\n// this will speed up the API by ~30-100ms or so\nexport const getVersions = async ({\n id: idArg,\n collectionConfig,\n doc,\n docPermissions,\n globalConfig,\n locale,\n payload,\n user,\n}: Args): Result => {\n const id = sanitizeID(idArg)\n let publishedQuery\n let hasPublishedDoc = false\n let mostRecentVersionIsAutosaved = false\n let unpublishedVersionCount = 0\n let versionCount = 0\n\n const entityConfig = collectionConfig || globalConfig\n const versionsConfig = entityConfig?.versions\n\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions)\n\n if (!shouldFetchVersions) {\n const hasPublishedDoc = Boolean((collectionConfig && id) || globalConfig)\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (collectionConfig) {\n if (!id) {\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (versionsConfig?.drafts) {\n // Find out if a published document exists\n if (doc?._status === 'published') {\n publishedQuery = doc\n } else {\n publishedQuery = await payload.find({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 1,\n locale: locale || undefined,\n pagination: false,\n select: {\n updatedAt: true,\n },\n user,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n {\n id: {\n equals: id,\n },\n },\n ],\n },\n })\n }\n\n if (publishedQuery.docs?.[0]) {\n hasPublishedDoc = true\n }\n\n if (versionsConfig.drafts?.autosave) {\n const mostRecentVersion = await payload.findVersions({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 1,\n select: {\n autosave: true,\n },\n user,\n where: {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n },\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedQuery.docs?.[0]?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n user,\n where: {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedQuery.docs[0].updatedAt,\n },\n },\n ],\n },\n }))\n }\n }\n\n ;({ totalDocs: versionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n depth: 0,\n user,\n where: {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n },\n }))\n }\n\n if (globalConfig) {\n // Find out if a published document exists\n if (versionsConfig?.drafts) {\n if (doc?._status === 'published') {\n publishedQuery = doc\n } else {\n publishedQuery = await payload.findGlobal({\n slug: globalConfig.slug,\n depth: 0,\n locale,\n select: {\n updatedAt: true,\n },\n user,\n })\n }\n\n if (publishedQuery?._status === 'published') {\n hasPublishedDoc = true\n }\n\n if (versionsConfig.drafts?.autosave) {\n const mostRecentVersion = await payload.findGlobalVersions({\n slug: globalConfig.slug,\n limit: 1,\n select: {\n autosave: true,\n },\n user,\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedQuery?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countGlobalVersions({\n depth: 0,\n global: globalConfig.slug,\n user,\n where: {\n and: [\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedQuery.updatedAt,\n },\n },\n ],\n },\n }))\n }\n }\n\n ;({ totalDocs: versionCount } = await payload.countGlobalVersions({\n depth: 0,\n global: globalConfig.slug,\n user,\n }))\n }\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getVersions.js","names":["sanitizeID","getVersions","id","idArg","collectionConfig","doc","docPermissions","globalConfig","locale","payload","user","publishedDoc","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","entityConfig","versionsConfig","versions","shouldFetchVersions","Boolean","readVersions","drafts","_status","find","collection","slug","depth","limit","undefined","pagination","select","updatedAt","where","and","or","equals","exists","docs","autosave","mostRecentVersion","findVersions","parent","totalDocs","countVersions","greater_than","findGlobal","findGlobalVersions","countGlobalVersions","global"],"sources":["../../../src/views/Document/getVersions.ts"],"sourcesContent":["import type {\n Payload,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n TypedUser,\n} from 'payload'\n\nimport { sanitizeID } from '@payloadcms/ui/shared'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n /**\n * Optional - performance optimization.\n * If a document has been fetched before fetching versions, pass it here.\n * If this document is set to published, we can skip the query to find out if a published document exists,\n * as the passed in document is proof of its existence.\n */\n doc?: Record<string, any>\n docPermissions: SanitizedDocumentPermissions\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n locale?: string\n payload: Payload\n user: TypedUser\n}\n\ntype Result = Promise<{\n hasPublishedDoc: boolean\n mostRecentVersionIsAutosaved: boolean\n unpublishedVersionCount: number\n versionCount: number\n}>\n\n// TODO: in the future, we can parallelize some of these queries\n// this will speed up the API by ~30-100ms or so\n// Note from the future: I have attempted parallelizing these queries, but it made this function almost 2x slower.\nexport const getVersions = async ({\n id: idArg,\n collectionConfig,\n doc,\n docPermissions,\n globalConfig,\n locale,\n payload,\n user,\n}: Args): Result => {\n const id = sanitizeID(idArg)\n let publishedDoc\n let hasPublishedDoc = false\n let mostRecentVersionIsAutosaved = false\n let unpublishedVersionCount = 0\n let versionCount = 0\n\n const entityConfig = collectionConfig || globalConfig\n const versionsConfig = entityConfig?.versions\n\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions)\n\n if (!shouldFetchVersions) {\n const hasPublishedDoc = Boolean((collectionConfig && id) || globalConfig)\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (collectionConfig) {\n if (!id) {\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (versionsConfig?.drafts) {\n // Find out if a published document exists\n if (doc?._status === 'published') {\n publishedDoc = doc\n } else {\n publishedDoc = (\n await payload.find({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 1,\n locale: locale || undefined,\n pagination: false,\n select: {\n updatedAt: true,\n },\n user,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n {\n id: {\n equals: id,\n },\n },\n ],\n },\n })\n )?.docs?.[0]\n }\n\n if (publishedDoc) {\n hasPublishedDoc = true\n }\n\n if (versionsConfig.drafts?.autosave) {\n const mostRecentVersion = await payload.findVersions({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 1,\n select: {\n autosave: true,\n },\n user,\n where: {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n },\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedDoc?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n user,\n where: {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedDoc.updatedAt,\n },\n },\n ],\n },\n }))\n }\n }\n\n ;({ totalDocs: versionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n depth: 0,\n user,\n where: {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n },\n }))\n }\n\n if (globalConfig) {\n // Find out if a published document exists\n if (versionsConfig?.drafts) {\n if (doc?._status === 'published') {\n publishedDoc = doc\n } else {\n publishedDoc = await payload.findGlobal({\n slug: globalConfig.slug,\n depth: 0,\n locale,\n select: {\n updatedAt: true,\n },\n user,\n })\n }\n\n if (publishedDoc?._status === 'published') {\n hasPublishedDoc = true\n }\n\n if (versionsConfig.drafts?.autosave) {\n const mostRecentVersion = await payload.findGlobalVersions({\n slug: globalConfig.slug,\n limit: 1,\n select: {\n autosave: true,\n },\n user,\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedDoc?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countGlobalVersions({\n depth: 0,\n global: globalConfig.slug,\n user,\n where: {\n and: [\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedDoc.updatedAt,\n },\n },\n ],\n },\n }))\n }\n }\n\n ;({ totalDocs: versionCount } = await payload.countGlobalVersions({\n depth: 0,\n global: globalConfig.slug,\n user,\n }))\n }\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "3.1.1-canary.81763b6",
3
+ "version": "3.1.1-canary.8409de7",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -79,9 +79,9 @@
79
79
  "sass": "1.77.4",
80
80
  "sonner": "^1.5.0",
81
81
  "uuid": "10.0.0",
82
- "@payloadcms/translations": "3.1.1-canary.81763b6",
83
- "@payloadcms/graphql": "3.1.1-canary.81763b6",
84
- "@payloadcms/ui": "3.1.1-canary.81763b6"
82
+ "@payloadcms/graphql": "3.1.1-canary.8409de7",
83
+ "@payloadcms/ui": "3.1.1-canary.8409de7",
84
+ "@payloadcms/translations": "3.1.1-canary.8409de7"
85
85
  },
86
86
  "devDependencies": {
87
87
  "@babel/cli": "^7.24.5",
@@ -99,13 +99,13 @@
99
99
  "esbuild-sass-plugin": "3.3.1",
100
100
  "eslint-plugin-react-compiler": "19.0.0-beta-a7bf2bd-20241110",
101
101
  "swc-plugin-transform-remove-imports": "1.15.0",
102
- "payload": "3.1.1-canary.81763b6",
102
+ "payload": "3.1.1-canary.8409de7",
103
103
  "@payloadcms/eslint-config": "3.0.0"
104
104
  },
105
105
  "peerDependencies": {
106
106
  "graphql": "^16.8.1",
107
107
  "next": "^15.0.0",
108
- "payload": "3.1.1-canary.81763b6"
108
+ "payload": "3.1.1-canary.8409de7"
109
109
  },
110
110
  "engines": {
111
111
  "node": "^18.20.2 || >=20.9.0"