@payloadcms/next 3.63.0-internal.dc01f92 → 3.64.0-canary.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.
@@ -23,22 +23,11 @@ _export(exports, {
23
23
  }
24
24
  });
25
25
  const withPayload = (nextConfig = {}, options = {})=>{
26
- const env = nextConfig?.env || {};
26
+ const env = nextConfig.env || {};
27
27
  if (nextConfig.experimental?.staleTimes?.dynamic) {
28
28
  console.warn('Payload detected a non-zero value for the `staleTimes.dynamic` option in your Next.js config. This will slow down page transitions and may cause stale data to load within the Admin panel. To clear this warning, remove the `staleTimes.dynamic` option from your Next.js config or set it to 0. In the future, Next.js may support scoping this option to specific routes.');
29
29
  env.NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH = 'true';
30
30
  }
31
- if (process.env.PAYLOAD_PATCH_TURBOPACK_WARNINGS !== 'false') {
32
- const turbopackWarningText = 'Packages that should be external need to be installed in the project directory, so they can be resolved from the output files.\nTry to install it into the project directory by running';
33
- const consoleWarn = console.warn;
34
- console.warn = (...args)=>{
35
- // Force to disable serverExternalPackages warnings: https://github.com/vercel/next.js/issues/68805
36
- if (typeof args[1] === 'string' && args[1].includes(turbopackWarningText) || typeof args[0] === 'string' && args[0].includes(turbopackWarningText)) {
37
- return;
38
- }
39
- consoleWarn(...args);
40
- };
41
- }
42
31
  const poweredByHeader = {
43
32
  key: 'X-Powered-By',
44
33
  value: 'Next.js, Payload'
@@ -48,23 +37,26 @@ const withPayload = (nextConfig = {}, options = {})=>{
48
37
  */ const toReturn = {
49
38
  ...nextConfig,
50
39
  env,
40
+ turbopack: {
41
+ ...nextConfig.turbopack || {}
42
+ },
51
43
  outputFileTracingExcludes: {
52
- ...nextConfig?.outputFileTracingExcludes || {},
44
+ ...nextConfig.outputFileTracingExcludes || {},
53
45
  '**/*': [
54
- ...nextConfig?.outputFileTracingExcludes?.['**/*'] || [],
46
+ ...nextConfig.outputFileTracingExcludes?.['**/*'] || [],
55
47
  'drizzle-kit',
56
48
  'drizzle-kit/api'
57
49
  ]
58
50
  },
59
51
  outputFileTracingIncludes: {
60
- ...nextConfig?.outputFileTracingIncludes || {},
52
+ ...nextConfig.outputFileTracingIncludes || {},
61
53
  '**/*': [
62
- ...nextConfig?.outputFileTracingIncludes?.['**/*'] || [],
54
+ ...nextConfig.outputFileTracingIncludes?.['**/*'] || [],
63
55
  '@libsql/client'
64
56
  ]
65
57
  },
66
58
  // We disable the poweredByHeader here because we add it manually in the headers function below
67
- ...nextConfig?.poweredByHeader !== false ? {
59
+ ...nextConfig.poweredByHeader !== false ? {
68
60
  poweredByHeader: false
69
61
  } : {},
70
62
  headers: async ()=>{
@@ -86,7 +78,7 @@ const withPayload = (nextConfig = {}, options = {})=>{
86
78
  key: 'Critical-CH',
87
79
  value: 'Sec-CH-Prefers-Color-Scheme'
88
80
  },
89
- ...nextConfig?.poweredByHeader !== false ? [
81
+ ...nextConfig.poweredByHeader !== false ? [
90
82
  poweredByHeader
91
83
  ] : []
92
84
  ]
@@ -94,25 +86,34 @@ const withPayload = (nextConfig = {}, options = {})=>{
94
86
  ];
95
87
  },
96
88
  serverExternalPackages: [
97
- ...nextConfig?.serverExternalPackages || [],
98
- 'drizzle-kit',
99
- 'drizzle-kit/api',
100
- 'pino',
101
- 'libsql',
102
- 'pino-pretty',
103
- 'graphql',
104
- // Do not bundle server-only packages during dev to improve compile speed
89
+ ...nextConfig.serverExternalPackages || [],
90
+ // These packages always need to be external, both during dev and production. This is because they install dependencies
91
+ // that will error when trying to bundle them (e.g. drizzle-kit, libsql, esbuild etc.).
92
+ // We cannot externalize those problem-packages directly. We can only externalize packages that are manually installed
93
+ // by the end user. Otherwise, the require('externalPackage') calls generated by the bundler would fail during runtime,
94
+ // as you cannot import dependencies of dependencies in a lot of package managers like pnpm. We'd have to force users
95
+ // to install the dependencies directly.
96
+ // Thus, we externalize the "entry-point" = the package that is installed by the end user, which would be our db adapters.
97
+ //
98
+ //
99
+ // External because it installs mongoose (part of default serverExternalPackages: https://github.com/vercel/next.js/blob/canary/packages/next/src/lib/server-external-packages.json => would throw warning if we don't exclude the entry-point package):
100
+ '@payloadcms/db-mongodb',
101
+ // External because they install dependencies like drizzle, libsql, esbuild etc.:
102
+ '@payloadcms/db-postgres',
103
+ '@payloadcms/db-sqlite',
104
+ '@payloadcms/db-vercel-postgres',
105
+ '@payloadcms/drizzle',
106
+ // External because they install @aws-sdk/client-s3:
107
+ '@payloadcms/payload-cloud',
108
+ // External, because it installs import-in-the-middle and require-in-the-middle - both in the default serverExternalPackages list.
109
+ '@sentry/nextjs',
110
+ // TODO: We need to externalize @payloadcms/storage-s3 as well, once Next.js has the ability to exclude @payloadcms/storage-s3/client from being externalized.
111
+ // Do not bundle additional server-only packages during dev to improve compilation speed
105
112
  ...process.env.NODE_ENV === 'development' && options.devBundleServerPackages === false ? [
106
113
  'payload',
107
- '@payloadcms/db-mongodb',
108
- '@payloadcms/db-postgres',
109
- '@payloadcms/db-sqlite',
110
- '@payloadcms/db-vercel-postgres',
111
- '@payloadcms/drizzle',
112
114
  '@payloadcms/email-nodemailer',
113
115
  '@payloadcms/email-resend',
114
116
  '@payloadcms/graphql',
115
- '@payloadcms/payload-cloud',
116
117
  '@payloadcms/plugin-redirects'
117
118
  ] : []
118
119
  ],
@@ -122,51 +123,15 @@ const withPayload = (nextConfig = {}, options = {})=>{
122
123
  ...incomingWebpackConfig,
123
124
  externals: [
124
125
  ...incomingWebpackConfig?.externals || [],
125
- 'drizzle-kit',
126
- 'drizzle-kit/api',
127
- 'sharp',
128
- 'libsql',
129
126
  'require-in-the-middle'
130
127
  ],
131
- ignoreWarnings: [
132
- ...incomingWebpackConfig?.ignoreWarnings || [],
133
- {
134
- module: /node_modules\/mongodb\/lib\/utils\.js/
135
- },
136
- {
137
- file: /node_modules\/mongodb\/lib\/utils\.js/
138
- },
139
- {
140
- module: /node_modules\/mongodb\/lib\/bson\.js/
141
- },
142
- {
143
- file: /node_modules\/mongodb\/lib\/bson\.js/
144
- }
145
- ],
146
128
  plugins: [
147
129
  ...incomingWebpackConfig?.plugins || [],
148
130
  // Fix cloudflare:sockets error: https://github.com/vercel/next.js/discussions/50177
149
131
  new webpackOptions.webpack.IgnorePlugin({
150
132
  resourceRegExp: /^pg-native$|^cloudflare:sockets$/
151
133
  })
152
- ],
153
- resolve: {
154
- ...incomingWebpackConfig?.resolve || {},
155
- alias: {
156
- ...incomingWebpackConfig?.resolve?.alias || {}
157
- },
158
- fallback: {
159
- ...incomingWebpackConfig?.resolve?.fallback || {},
160
- '@aws-sdk/credential-providers': false,
161
- '@mongodb-js/zstd': false,
162
- aws4: false,
163
- kerberos: false,
164
- 'mongodb-client-encryption': false,
165
- snappy: false,
166
- 'supports-color': false,
167
- 'yocto-queue': false
168
- }
169
- }
134
+ ]
170
135
  };
171
136
  }
172
137
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/withPayload.js"],"names":["withPayload","nextConfig","options","env","experimental","staleTimes","dynamic","console","warn","NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH","process","PAYLOAD_PATCH_TURBOPACK_WARNINGS","turbopackWarningText","consoleWarn","args","includes","poweredByHeader","key","value","toReturn","outputFileTracingExcludes","outputFileTracingIncludes","headers","headersFromConfig","source","serverExternalPackages","NODE_ENV","devBundleServerPackages","webpack","webpackConfig","webpackOptions","incomingWebpackConfig","externals","ignoreWarnings","module","file","plugins","IgnorePlugin","resourceRegExp","resolve","alias","fallback","aws4","kerberos","snappy","basePath","NEXT_BASE_PATH"],"mappings":"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","file":"withPayload.cjs","sourcesContent":["/**\n * @param {import('next').NextConfig} nextConfig\n * @param {Object} [options] - Optional configuration options\n * @param {boolean} [options.devBundleServerPackages] - Whether to bundle server packages in development mode. @default true\n *\n * @returns {import('next').NextConfig}\n * */\nexport const withPayload = (nextConfig = {}, options = {}) => {\n const env = nextConfig?.env || {}\n\n if (nextConfig.experimental?.staleTimes?.dynamic) {\n console.warn(\n 'Payload detected a non-zero value for the `staleTimes.dynamic` option in your Next.js config. This will slow down page transitions and may cause stale data to load within the Admin panel. To clear this warning, remove the `staleTimes.dynamic` option from your Next.js config or set it to 0. In the future, Next.js may support scoping this option to specific routes.',\n )\n env.NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH = 'true'\n }\n\n if (process.env.PAYLOAD_PATCH_TURBOPACK_WARNINGS !== 'false') {\n const turbopackWarningText =\n 'Packages that should be external need to be installed in the project directory, so they can be resolved from the output files.\\nTry to install it into the project directory by running'\n\n const consoleWarn = console.warn\n console.warn = (...args) => {\n // Force to disable serverExternalPackages warnings: https://github.com/vercel/next.js/issues/68805\n if (\n (typeof args[1] === 'string' && args[1].includes(turbopackWarningText)) ||\n (typeof args[0] === 'string' && args[0].includes(turbopackWarningText))\n ) {\n return\n }\n\n consoleWarn(...args)\n }\n }\n\n const poweredByHeader = {\n key: 'X-Powered-By',\n value: 'Next.js, Payload',\n }\n\n /**\n * @type {import('next').NextConfig}\n */\n const toReturn = {\n ...nextConfig,\n env,\n outputFileTracingExcludes: {\n ...(nextConfig?.outputFileTracingExcludes || {}),\n '**/*': [\n ...(nextConfig?.outputFileTracingExcludes?.['**/*'] || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n ],\n },\n outputFileTracingIncludes: {\n ...(nextConfig?.outputFileTracingIncludes || {}),\n '**/*': [...(nextConfig?.outputFileTracingIncludes?.['**/*'] || []), '@libsql/client'],\n },\n // We disable the poweredByHeader here because we add it manually in the headers function below\n ...(nextConfig?.poweredByHeader !== false ? { poweredByHeader: false } : {}),\n headers: async () => {\n const headersFromConfig = 'headers' in nextConfig ? await nextConfig.headers() : []\n\n return [\n ...(headersFromConfig || []),\n {\n source: '/:path*',\n headers: [\n {\n key: 'Accept-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Vary',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Critical-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n ...(nextConfig?.poweredByHeader !== false ? [poweredByHeader] : []),\n ],\n },\n ]\n },\n serverExternalPackages: [\n ...(nextConfig?.serverExternalPackages || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n 'pino',\n 'libsql',\n 'pino-pretty',\n 'graphql',\n // Do not bundle server-only packages during dev to improve compile speed\n ...(process.env.NODE_ENV === 'development' && options.devBundleServerPackages === false\n ? [\n 'payload',\n '@payloadcms/db-mongodb',\n '@payloadcms/db-postgres',\n '@payloadcms/db-sqlite',\n '@payloadcms/db-vercel-postgres',\n '@payloadcms/drizzle',\n '@payloadcms/email-nodemailer',\n '@payloadcms/email-resend',\n '@payloadcms/graphql',\n '@payloadcms/payload-cloud',\n '@payloadcms/plugin-redirects',\n // TODO: Add the following packages, excluding their /client subpath exports, once Next.js supports it\n //'@payloadcms/plugin-cloud-storage',\n //'@payloadcms/plugin-sentry',\n //'@payloadcms/plugin-stripe',\n // @payloadcms/richtext-lexical\n //'@payloadcms/storage-azure',\n //'@payloadcms/storage-gcs',\n //'@payloadcms/storage-s3',\n //'@payloadcms/storage-uploadthing',\n //'@payloadcms/storage-vercel-blob',\n ]\n : []),\n ],\n webpack: (webpackConfig, webpackOptions) => {\n const incomingWebpackConfig =\n typeof nextConfig.webpack === 'function'\n ? nextConfig.webpack(webpackConfig, webpackOptions)\n : webpackConfig\n\n return {\n ...incomingWebpackConfig,\n externals: [\n ...(incomingWebpackConfig?.externals || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n 'sharp',\n 'libsql',\n 'require-in-the-middle',\n ],\n ignoreWarnings: [\n ...(incomingWebpackConfig?.ignoreWarnings || []),\n { module: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { module: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n ],\n plugins: [\n ...(incomingWebpackConfig?.plugins || []),\n // Fix cloudflare:sockets error: https://github.com/vercel/next.js/discussions/50177\n new webpackOptions.webpack.IgnorePlugin({\n resourceRegExp: /^pg-native$|^cloudflare:sockets$/,\n }),\n ],\n resolve: {\n ...(incomingWebpackConfig?.resolve || {}),\n alias: {\n ...(incomingWebpackConfig?.resolve?.alias || {}),\n },\n fallback: {\n ...(incomingWebpackConfig?.resolve?.fallback || {}),\n '@aws-sdk/credential-providers': false,\n '@mongodb-js/zstd': false,\n aws4: false,\n kerberos: false,\n 'mongodb-client-encryption': false,\n snappy: false,\n 'supports-color': false,\n 'yocto-queue': false,\n },\n },\n }\n },\n }\n\n if (nextConfig.basePath) {\n toReturn.env.NEXT_BASE_PATH = nextConfig.basePath\n }\n\n return toReturn\n}\n\nexport default withPayload\n"]}
1
+ {"version":3,"sources":["../../src/withPayload.js"],"names":["withPayload","nextConfig","options","env","experimental","staleTimes","dynamic","console","warn","NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH","poweredByHeader","key","value","toReturn","turbopack","outputFileTracingExcludes","outputFileTracingIncludes","headers","headersFromConfig","source","serverExternalPackages","process","NODE_ENV","devBundleServerPackages","webpack","webpackConfig","webpackOptions","incomingWebpackConfig","externals","plugins","IgnorePlugin","resourceRegExp","basePath","NEXT_BASE_PATH"],"mappings":"AAAA;;;;;;GAMG;;;;;;;;;;;QAuIH;eAAA;;QAtIaA;eAAAA;;;AAAN,MAAMA,cAAc,CAACC,aAAa,CAAC,CAAC,EAAEC,UAAU,CAAC,CAAC;IACvD,MAAMC,MAAMF,WAAWE,GAAG,IAAI,CAAC;IAE/B,IAAIF,WAAWG,YAAY,EAAEC,YAAYC,SAAS;QAChDC,QAAQC,IAAI,CACV;QAEFL,IAAIM,uCAAuC,GAAG;IAChD;IAEA,MAAMC,kBAAkB;QACtBC,KAAK;QACLC,OAAO;IACT;IAEA;;GAEC,GACD,MAAMC,WAAW;QACf,GAAGZ,UAAU;QACbE;QACAW,WAAW;YACT,GAAIb,WAAWa,SAAS,IAAI,CAAC,CAAC;QAChC;QACAC,2BAA2B;YACzB,GAAId,WAAWc,yBAAyB,IAAI,CAAC,CAAC;YAC9C,QAAQ;mBACFd,WAAWc,yBAAyB,EAAE,CAAC,OAAO,IAAI,EAAE;gBACxD;gBACA;aACD;QACH;QACAC,2BAA2B;YACzB,GAAIf,WAAWe,yBAAyB,IAAI,CAAC,CAAC;YAC9C,QAAQ;mBAAKf,WAAWe,yBAAyB,EAAE,CAAC,OAAO,IAAI,EAAE;gBAAG;aAAiB;QACvF;QACA,+FAA+F;QAC/F,GAAIf,WAAWS,eAAe,KAAK,QAAQ;YAAEA,iBAAiB;QAAM,IAAI,CAAC,CAAC;QAC1EO,SAAS;YACP,MAAMC,oBAAoB,aAAajB,aAAa,MAAMA,WAAWgB,OAAO,KAAK,EAAE;YAEnF,OAAO;mBACDC,qBAAqB,EAAE;gBAC3B;oBACEC,QAAQ;oBACRF,SAAS;wBACP;4BACEN,KAAK;4BACLC,OAAO;wBACT;wBACA;4BACED,KAAK;4BACLC,OAAO;wBACT;wBACA;4BACED,KAAK;4BACLC,OAAO;wBACT;2BACIX,WAAWS,eAAe,KAAK,QAAQ;4BAACA;yBAAgB,GAAG,EAAE;qBAClE;gBACH;aACD;QACH;QACAU,wBAAwB;eAClBnB,WAAWmB,sBAAsB,IAAI,EAAE;YAC3C,uHAAuH;YACvH,uFAAuF;YACvF,sHAAsH;YACtH,uHAAuH;YACvH,qHAAqH;YACrH,wCAAwC;YACxC,0HAA0H;YAC1H,EAAE;YACF,EAAE;YACF,wPAAwP;YACxP;YACA,iFAAiF;YACjF;YACA;YACA;YACA;YACA,oDAAoD;YACpD;YACA,kIAAkI;YAClI;YACA,8JAA8J;YAC9J,wFAAwF;eACpFC,QAAQlB,GAAG,CAACmB,QAAQ,KAAK,iBAAiBpB,QAAQqB,uBAAuB,KAAK,QAC9E;gBACE;gBACA;gBACA;gBACA;gBACA;aAWD,GACD,EAAE;SACP;QACDC,SAAS,CAACC,eAAeC;YACvB,MAAMC,wBACJ,OAAO1B,WAAWuB,OAAO,KAAK,aAC1BvB,WAAWuB,OAAO,CAACC,eAAeC,kBAClCD;YAEN,OAAO;gBACL,GAAGE,qBAAqB;gBACxBC,WAAW;uBAAKD,uBAAuBC,aAAa,EAAE;oBAAG;iBAAwB;gBACjFC,SAAS;uBACHF,uBAAuBE,WAAW,EAAE;oBACxC,oFAAoF;oBACpF,IAAIH,eAAeF,OAAO,CAACM,YAAY,CAAC;wBACtCC,gBAAgB;oBAClB;iBACD;YACH;QACF;IACF;IAEA,IAAI9B,WAAW+B,QAAQ,EAAE;QACvBnB,SAASV,GAAG,CAAC8B,cAAc,GAAGhC,WAAW+B,QAAQ;IACnD;IAEA,OAAOnB;AACT;MAEA,WAAeb","file":"withPayload.cjs","sourcesContent":["/**\n * @param {import('next').NextConfig} nextConfig\n * @param {Object} [options] - Optional configuration options\n * @param {boolean} [options.devBundleServerPackages] - Whether to bundle server packages in development mode. @default true\n *\n * @returns {import('next').NextConfig}\n * */\nexport const withPayload = (nextConfig = {}, options = {}) => {\n const env = nextConfig.env || {}\n\n if (nextConfig.experimental?.staleTimes?.dynamic) {\n console.warn(\n 'Payload detected a non-zero value for the `staleTimes.dynamic` option in your Next.js config. This will slow down page transitions and may cause stale data to load within the Admin panel. To clear this warning, remove the `staleTimes.dynamic` option from your Next.js config or set it to 0. In the future, Next.js may support scoping this option to specific routes.',\n )\n env.NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH = 'true'\n }\n\n const poweredByHeader = {\n key: 'X-Powered-By',\n value: 'Next.js, Payload',\n }\n\n /**\n * @type {import('next').NextConfig}\n */\n const toReturn = {\n ...nextConfig,\n env,\n turbopack: {\n ...(nextConfig.turbopack || {}),\n },\n outputFileTracingExcludes: {\n ...(nextConfig.outputFileTracingExcludes || {}),\n '**/*': [\n ...(nextConfig.outputFileTracingExcludes?.['**/*'] || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n ],\n },\n outputFileTracingIncludes: {\n ...(nextConfig.outputFileTracingIncludes || {}),\n '**/*': [...(nextConfig.outputFileTracingIncludes?.['**/*'] || []), '@libsql/client'],\n },\n // We disable the poweredByHeader here because we add it manually in the headers function below\n ...(nextConfig.poweredByHeader !== false ? { poweredByHeader: false } : {}),\n headers: async () => {\n const headersFromConfig = 'headers' in nextConfig ? await nextConfig.headers() : []\n\n return [\n ...(headersFromConfig || []),\n {\n source: '/:path*',\n headers: [\n {\n key: 'Accept-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Vary',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Critical-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n ...(nextConfig.poweredByHeader !== false ? [poweredByHeader] : []),\n ],\n },\n ]\n },\n serverExternalPackages: [\n ...(nextConfig.serverExternalPackages || []),\n // These packages always need to be external, both during dev and production. This is because they install dependencies\n // that will error when trying to bundle them (e.g. drizzle-kit, libsql, esbuild etc.).\n // We cannot externalize those problem-packages directly. We can only externalize packages that are manually installed\n // by the end user. Otherwise, the require('externalPackage') calls generated by the bundler would fail during runtime,\n // as you cannot import dependencies of dependencies in a lot of package managers like pnpm. We'd have to force users\n // to install the dependencies directly.\n // Thus, we externalize the \"entry-point\" = the package that is installed by the end user, which would be our db adapters.\n //\n //\n // External because it installs mongoose (part of default serverExternalPackages: https://github.com/vercel/next.js/blob/canary/packages/next/src/lib/server-external-packages.json => would throw warning if we don't exclude the entry-point package):\n '@payloadcms/db-mongodb',\n // External because they install dependencies like drizzle, libsql, esbuild etc.:\n '@payloadcms/db-postgres',\n '@payloadcms/db-sqlite',\n '@payloadcms/db-vercel-postgres',\n '@payloadcms/drizzle',\n // External because they install @aws-sdk/client-s3:\n '@payloadcms/payload-cloud',\n // External, because it installs import-in-the-middle and require-in-the-middle - both in the default serverExternalPackages list.\n '@sentry/nextjs',\n // TODO: We need to externalize @payloadcms/storage-s3 as well, once Next.js has the ability to exclude @payloadcms/storage-s3/client from being externalized.\n // Do not bundle additional server-only packages during dev to improve compilation speed\n ...(process.env.NODE_ENV === 'development' && options.devBundleServerPackages === false\n ? [\n 'payload',\n '@payloadcms/email-nodemailer',\n '@payloadcms/email-resend',\n '@payloadcms/graphql',\n '@payloadcms/plugin-redirects',\n // TODO: Add the following packages, excluding their /client subpath exports, once Next.js supports it\n //'@payloadcms/plugin-cloud-storage',\n //'@payloadcms/plugin-sentry',\n //'@payloadcms/plugin-stripe',\n // @payloadcms/richtext-lexical\n //'@payloadcms/storage-azure',\n //'@payloadcms/storage-gcs',\n //'@payloadcms/storage-s3',\n //'@payloadcms/storage-uploadthing',\n //'@payloadcms/storage-vercel-blob',\n ]\n : []),\n ],\n webpack: (webpackConfig, webpackOptions) => {\n const incomingWebpackConfig =\n typeof nextConfig.webpack === 'function'\n ? nextConfig.webpack(webpackConfig, webpackOptions)\n : webpackConfig\n\n return {\n ...incomingWebpackConfig,\n externals: [...(incomingWebpackConfig?.externals || []), 'require-in-the-middle'],\n plugins: [\n ...(incomingWebpackConfig?.plugins || []),\n // Fix cloudflare:sockets error: https://github.com/vercel/next.js/discussions/50177\n new webpackOptions.webpack.IgnorePlugin({\n resourceRegExp: /^pg-native$|^cloudflare:sockets$/,\n }),\n ],\n }\n },\n }\n\n if (nextConfig.basePath) {\n toReturn.env.NEXT_BASE_PATH = nextConfig.basePath\n }\n\n return toReturn\n}\n\nexport default withPayload\n"]}
@@ -2,13 +2,19 @@ import type { FileData, PayloadRequest, TypeWithID, UploadField, UploadFieldDiff
2
2
  import { type I18nClient } from '@payloadcms/translations';
3
3
  import './index.scss';
4
4
  import React from 'react';
5
- type UploadDoc = (FileData & TypeWithID) | string;
5
+ type NonPolyUploadDoc = (FileData & TypeWithID) | number | string;
6
+ type PolyUploadDoc = {
7
+ relationTo: string;
8
+ value: (FileData & TypeWithID) | number | string;
9
+ };
10
+ type UploadDoc = NonPolyUploadDoc | PolyUploadDoc;
6
11
  export declare const Upload: UploadFieldDiffServerComponent;
7
12
  export declare const HasManyUploadDiff: React.FC<{
8
13
  field: UploadField;
9
14
  i18n: I18nClient;
10
15
  locale: string;
11
16
  nestingLevel?: number;
17
+ polymorphic: boolean;
12
18
  req: PayloadRequest;
13
19
  valueFrom: Array<UploadDoc>;
14
20
  valueTo: Array<UploadDoc>;
@@ -18,6 +24,7 @@ export declare const SingleUploadDiff: React.FC<{
18
24
  i18n: I18nClient;
19
25
  locale: string;
20
26
  nestingLevel?: number;
27
+ polymorphic: boolean;
21
28
  req: PayloadRequest;
22
29
  valueFrom: UploadDoc;
23
30
  valueTo: UploadDoc;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,UAAU,EACV,WAAW,EACX,8BAA8B,EAC/B,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAG1E,OAAO,cAAc,CAAA;AAErB,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,KAAK,SAAS,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,MAAM,CAAA;AAEjD,eAAO,MAAM,MAAM,EAAE,8BAoCpB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,GAAG,EAAE,cAAc,CAAA;IACnB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC3B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;CAC1B,CAqEA,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,GAAG,EAAE,cAAc,CAAA;IACnB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,SAAS,CAAA;CACnB,CAyDA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,UAAU,EACV,WAAW,EACX,8BAA8B,EAC/B,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAG1E,OAAO,cAAc,CAAA;AAErB,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,KAAK,gBAAgB,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,MAAM,GAAG,MAAM,CAAA;AACjE,KAAK,aAAa,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,CAAA;AAE7F,KAAK,SAAS,GAAG,gBAAgB,GAAG,aAAa,CAAA;AAEjD,eAAO,MAAM,MAAM,EAAE,8BAwCpB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;IACnB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC3B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;CAC1B,CAiFA,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;IACnB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,SAAS,CAAA;CACnB,CA2DA,CAAA"}
@@ -13,12 +13,15 @@ export const Upload = args => {
13
13
  req,
14
14
  versionValue: valueTo
15
15
  } = args;
16
- if ('hasMany' in field && field.hasMany && Array.isArray(valueTo)) {
16
+ const hasMany = 'hasMany' in field && field.hasMany && Array.isArray(valueTo);
17
+ const polymorphic = Array.isArray(field.relationTo);
18
+ if (hasMany) {
17
19
  return /*#__PURE__*/_jsx(HasManyUploadDiff, {
18
20
  field: field,
19
21
  i18n: i18n,
20
22
  locale: locale,
21
23
  nestingLevel: nestingLevel,
24
+ polymorphic: polymorphic,
22
25
  req: req,
23
26
  valueFrom: valueFrom,
24
27
  valueTo: valueTo
@@ -29,6 +32,7 @@ export const Upload = args => {
29
32
  i18n: i18n,
30
33
  locale: locale,
31
34
  nestingLevel: nestingLevel,
35
+ polymorphic: polymorphic,
32
36
  req: req,
33
37
  valueFrom: valueFrom,
34
38
  valueTo: valueTo
@@ -40,6 +44,7 @@ export const HasManyUploadDiff = async args => {
40
44
  i18n,
41
45
  locale,
42
46
  nestingLevel,
47
+ polymorphic,
43
48
  req,
44
49
  valueFrom,
45
50
  valueTo
@@ -48,20 +53,31 @@ export const HasManyUploadDiff = async args => {
48
53
  let From = '';
49
54
  let To = '';
50
55
  const showCollectionSlug = Array.isArray(field.relationTo);
56
+ const getUploadDocKey = uploadDoc => {
57
+ if (typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {
58
+ // Polymorphic case
59
+ const value = uploadDoc.value;
60
+ return typeof value === 'object' ? value.id : value;
61
+ }
62
+ // Non-polymorphic case
63
+ return typeof uploadDoc === 'object' ? uploadDoc.id : uploadDoc;
64
+ };
51
65
  const FromComponents = valueFrom ? valueFrom.map(uploadDoc => /*#__PURE__*/_jsx(UploadDocumentDiff, {
52
66
  i18n: i18n,
67
+ polymorphic: polymorphic,
53
68
  relationTo: field.relationTo,
54
69
  req: req,
55
70
  showCollectionSlug: showCollectionSlug,
56
71
  uploadDoc: uploadDoc
57
- }, typeof uploadDoc === 'object' ? uploadDoc.id : uploadDoc)) : null;
72
+ }, getUploadDocKey(uploadDoc))) : null;
58
73
  const ToComponents = valueTo ? valueTo.map(uploadDoc => /*#__PURE__*/_jsx(UploadDocumentDiff, {
59
74
  i18n: i18n,
75
+ polymorphic: polymorphic,
60
76
  relationTo: field.relationTo,
61
77
  req: req,
62
78
  showCollectionSlug: showCollectionSlug,
63
79
  uploadDoc: uploadDoc
64
- }, typeof uploadDoc === 'object' ? uploadDoc.id : uploadDoc)) : null;
80
+ }, getUploadDocKey(uploadDoc))) : null;
65
81
  const diffResult = getHTMLDiffComponents({
66
82
  fromHTML: `<div class="${baseClass}-hasMany">` + (FromComponents ? FromComponents.map(component => `<div>${ReactDOMServer.renderToStaticMarkup(component)}</div>`).join('') : '') + '</div>',
67
83
  toHTML: `<div class="${baseClass}-hasMany">` + (ToComponents ? ToComponents.map(component => `<div>${ReactDOMServer.renderToStaticMarkup(component)}</div>`).join('') : '') + '</div>',
@@ -87,6 +103,7 @@ export const SingleUploadDiff = async args => {
87
103
  i18n,
88
104
  locale,
89
105
  nestingLevel,
106
+ polymorphic,
90
107
  req,
91
108
  valueFrom,
92
109
  valueTo
@@ -97,6 +114,7 @@ export const SingleUploadDiff = async args => {
97
114
  const showCollectionSlug = Array.isArray(field.relationTo);
98
115
  const FromComponent = valueFrom ? /*#__PURE__*/_jsx(UploadDocumentDiff, {
99
116
  i18n: i18n,
117
+ polymorphic: polymorphic,
100
118
  relationTo: field.relationTo,
101
119
  req: req,
102
120
  showCollectionSlug: showCollectionSlug,
@@ -104,6 +122,7 @@ export const SingleUploadDiff = async args => {
104
122
  }) : null;
105
123
  const ToComponent = valueTo ? /*#__PURE__*/_jsx(UploadDocumentDiff, {
106
124
  i18n: i18n,
125
+ polymorphic: polymorphic,
107
126
  relationTo: field.relationTo,
108
127
  req: req,
109
128
  showCollectionSlug: showCollectionSlug,
@@ -133,30 +152,47 @@ export const SingleUploadDiff = async args => {
133
152
  const UploadDocumentDiff = args => {
134
153
  const {
135
154
  i18n,
155
+ polymorphic,
136
156
  relationTo,
137
157
  req,
138
158
  showCollectionSlug,
139
159
  uploadDoc
140
160
  } = args;
141
161
  let thumbnailSRC = '';
142
- if (uploadDoc && typeof uploadDoc === 'object' && 'thumbnailURL' in uploadDoc) {
143
- thumbnailSRC = typeof uploadDoc.thumbnailURL === 'string' && uploadDoc.thumbnailURL || typeof uploadDoc.url === 'string' && uploadDoc.url || '';
162
+ const value = polymorphic ? uploadDoc.value : uploadDoc;
163
+ if (value && typeof value === 'object' && 'thumbnailURL' in value) {
164
+ thumbnailSRC = typeof value.thumbnailURL === 'string' && value.thumbnailURL || typeof value.url === 'string' && value.url || '';
144
165
  }
145
166
  let filename;
146
- if (uploadDoc && typeof uploadDoc === 'object') {
147
- filename = uploadDoc.filename;
167
+ if (value && typeof value === 'object') {
168
+ filename = value.filename;
148
169
  } else {
149
170
  filename = `${i18n.t('general:untitled')} - ID: ${uploadDoc}`;
150
171
  }
151
172
  let pillLabel = null;
152
173
  if (showCollectionSlug) {
153
- const uploadConfig = req.payload.collections[relationTo].config;
174
+ let collectionSlug;
175
+ if (polymorphic && typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {
176
+ collectionSlug = uploadDoc.relationTo;
177
+ } else {
178
+ collectionSlug = typeof relationTo === 'string' ? relationTo : relationTo[0];
179
+ }
180
+ const uploadConfig = req.payload.collections[collectionSlug].config;
154
181
  pillLabel = uploadConfig.labels?.singular ? getTranslation(uploadConfig.labels.singular, i18n) : uploadConfig.slug;
155
182
  }
183
+ let id;
184
+ if (polymorphic && typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {
185
+ const polyValue = uploadDoc.value;
186
+ id = typeof polyValue === 'object' ? polyValue.id : polyValue;
187
+ } else if (typeof uploadDoc === 'object' && 'id' in uploadDoc) {
188
+ id = uploadDoc.id;
189
+ } else if (typeof uploadDoc === 'string' || typeof uploadDoc === 'number') {
190
+ id = uploadDoc;
191
+ }
156
192
  return /*#__PURE__*/_jsx("div", {
157
193
  className: `${baseClass}`,
158
194
  "data-enable-match": "true",
159
- "data-id": typeof uploadDoc === 'object' ? uploadDoc?.id : uploadDoc,
195
+ "data-id": id,
160
196
  "data-relation-to": relationTo,
161
197
  children: /*#__PURE__*/_jsxs("div", {
162
198
  className: `${baseClass}__card`,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","FieldDiffContainer","File","getHTMLDiffComponents","React","baseClass","Upload","args","comparisonValue","valueFrom","field","i18n","locale","nestingLevel","req","versionValue","valueTo","hasMany","Array","isArray","_jsx","HasManyUploadDiff","SingleUploadDiff","ReactDOMServer","default","From","To","showCollectionSlug","relationTo","FromComponents","map","uploadDoc","UploadDocumentDiff","id","ToComponents","diffResult","fromHTML","component","renderToStaticMarkup","join","toHTML","tokenizeByCharacter","className","label","FromComponent","ToComponent","fromHtml","toHtml","thumbnailSRC","thumbnailURL","url","filename","t","pillLabel","uploadConfig","payload","collections","config","labels","singular","slug","_jsxs","length","alt","src"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx"],"sourcesContent":["import type {\n FileData,\n PayloadRequest,\n TypeWithID,\n UploadField,\n UploadFieldDiffServerComponent,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport { FieldDiffContainer, File, getHTMLDiffComponents } from '@payloadcms/ui/rsc'\n\nimport './index.scss'\n\nimport React from 'react'\n\nconst baseClass = 'upload-diff'\n\ntype UploadDoc = (FileData & TypeWithID) | string\n\nexport const Upload: UploadFieldDiffServerComponent = (args) => {\n const {\n comparisonValue: valueFrom,\n field,\n i18n,\n locale,\n nestingLevel,\n req,\n versionValue: valueTo,\n } = args\n\n if ('hasMany' in field && field.hasMany && Array.isArray(valueTo)) {\n return (\n <HasManyUploadDiff\n field={field}\n i18n={i18n}\n locale={locale}\n nestingLevel={nestingLevel}\n req={req}\n valueFrom={valueFrom as UploadDoc[]}\n valueTo={valueTo as UploadDoc[]}\n />\n )\n }\n\n return (\n <SingleUploadDiff\n field={field}\n i18n={i18n}\n locale={locale}\n nestingLevel={nestingLevel}\n req={req}\n valueFrom={valueFrom as UploadDoc}\n valueTo={valueTo as UploadDoc}\n />\n )\n}\n\nexport const HasManyUploadDiff: React.FC<{\n field: UploadField\n i18n: I18nClient\n locale: string\n nestingLevel?: number\n req: PayloadRequest\n valueFrom: Array<UploadDoc>\n valueTo: Array<UploadDoc>\n}> = async (args) => {\n const { field, i18n, locale, nestingLevel, req, valueFrom, valueTo } = args\n const ReactDOMServer = (await import('react-dom/server')).default\n\n let From: React.ReactNode = ''\n let To: React.ReactNode = ''\n\n const showCollectionSlug = Array.isArray(field.relationTo)\n\n const FromComponents = valueFrom\n ? valueFrom.map((uploadDoc) => (\n <UploadDocumentDiff\n i18n={i18n}\n key={typeof uploadDoc === 'object' ? uploadDoc.id : uploadDoc}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={uploadDoc}\n />\n ))\n : null\n const ToComponents = valueTo\n ? valueTo.map((uploadDoc) => (\n <UploadDocumentDiff\n i18n={i18n}\n key={typeof uploadDoc === 'object' ? uploadDoc.id : uploadDoc}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={uploadDoc}\n />\n ))\n : null\n\n const diffResult = getHTMLDiffComponents({\n fromHTML:\n `<div class=\"${baseClass}-hasMany\">` +\n (FromComponents\n ? FromComponents.map(\n (component) => `<div>${ReactDOMServer.renderToStaticMarkup(component)}</div>`,\n ).join('')\n : '') +\n '</div>',\n toHTML:\n `<div class=\"${baseClass}-hasMany\">` +\n (ToComponents\n ? ToComponents.map(\n (component) => `<div>${ReactDOMServer.renderToStaticMarkup(component)}</div>`,\n ).join('')\n : '') +\n '</div>',\n tokenizeByCharacter: false,\n })\n From = diffResult.From\n To = diffResult.To\n\n return (\n <FieldDiffContainer\n className={`${baseClass}-container ${baseClass}-container--hasMany`}\n From={From}\n i18n={i18n}\n label={{\n label: field.label,\n locale,\n }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n\nexport const SingleUploadDiff: React.FC<{\n field: UploadField\n i18n: I18nClient\n locale: string\n nestingLevel?: number\n req: PayloadRequest\n valueFrom: UploadDoc\n valueTo: UploadDoc\n}> = async (args) => {\n const { field, i18n, locale, nestingLevel, req, valueFrom, valueTo } = args\n\n const ReactDOMServer = (await import('react-dom/server')).default\n\n let From: React.ReactNode = ''\n let To: React.ReactNode = ''\n\n const showCollectionSlug = Array.isArray(field.relationTo)\n\n const FromComponent = valueFrom ? (\n <UploadDocumentDiff\n i18n={i18n}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={valueFrom}\n />\n ) : null\n const ToComponent = valueTo ? (\n <UploadDocumentDiff\n i18n={i18n}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={valueTo}\n />\n ) : null\n\n const fromHtml = FromComponent\n ? ReactDOMServer.renderToStaticMarkup(FromComponent)\n : '<p>' + '' + '</p>'\n const toHtml = ToComponent\n ? ReactDOMServer.renderToStaticMarkup(ToComponent)\n : '<p>' + '' + '</p>'\n\n const diffResult = getHTMLDiffComponents({\n fromHTML: fromHtml,\n toHTML: toHtml,\n tokenizeByCharacter: false,\n })\n From = diffResult.From\n To = diffResult.To\n\n return (\n <FieldDiffContainer\n className={`${baseClass}-container ${baseClass}-container--hasOne`}\n From={From}\n i18n={i18n}\n label={{\n label: field.label,\n locale,\n }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n\nconst UploadDocumentDiff = (args: {\n i18n: I18nClient\n relationTo: string\n req: PayloadRequest\n showCollectionSlug?: boolean\n uploadDoc: UploadDoc\n}) => {\n const { i18n, relationTo, req, showCollectionSlug, uploadDoc } = args\n\n let thumbnailSRC: string = ''\n if (uploadDoc && typeof uploadDoc === 'object' && 'thumbnailURL' in uploadDoc) {\n thumbnailSRC =\n (typeof uploadDoc.thumbnailURL === 'string' && uploadDoc.thumbnailURL) ||\n (typeof uploadDoc.url === 'string' && uploadDoc.url) ||\n ''\n }\n\n let filename: string\n if (uploadDoc && typeof uploadDoc === 'object') {\n filename = uploadDoc.filename\n } else {\n filename = `${i18n.t('general:untitled')} - ID: ${uploadDoc as number | string}`\n }\n\n let pillLabel: null | string = null\n\n if (showCollectionSlug) {\n const uploadConfig = req.payload.collections[relationTo].config\n pillLabel = uploadConfig.labels?.singular\n ? getTranslation(uploadConfig.labels.singular, i18n)\n : uploadConfig.slug\n }\n\n return (\n <div\n className={`${baseClass}`}\n data-enable-match=\"true\"\n data-id={typeof uploadDoc === 'object' ? uploadDoc?.id : uploadDoc}\n data-relation-to={relationTo}\n >\n <div className={`${baseClass}__card`}>\n <div className={`${baseClass}__thumbnail`}>\n {thumbnailSRC?.length ? <img alt={filename} src={thumbnailSRC} /> : <File />}\n </div>\n {pillLabel && (\n <div className={`${baseClass}__pill`} data-enable-match=\"false\">\n <span>{pillLabel}</span>\n </div>\n )}\n <div className={`${baseClass}__info`} data-enable-match=\"false\">\n <strong>{filename}</strong>\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":";AAQA,SAASA,cAAc,QAAyB;AAChD,SAASC,kBAAkB,EAAEC,IAAI,EAAEC,qBAAqB,QAAQ;AAIhE,OAAOC,KAAA,MAAW;AAElB,MAAMC,SAAA,GAAY;AAIlB,OAAO,MAAMC,MAAA,GAA0CC,IAAA;EACrD,MAAM;IACJC,eAAA,EAAiBC,SAAS;IAC1BC,KAAK;IACLC,IAAI;IACJC,MAAM;IACNC,YAAY;IACZC,GAAG;IACHC,YAAA,EAAcC;EAAO,CACtB,GAAGT,IAAA;EAEJ,IAAI,aAAaG,KAAA,IAASA,KAAA,CAAMO,OAAO,IAAIC,KAAA,CAAMC,OAAO,CAACH,OAAA,GAAU;IACjE,oBACEI,IAAA,CAACC,iBAAA;MACCX,KAAA,EAAOA,KAAA;MACPC,IAAA,EAAMA,IAAA;MACNC,MAAA,EAAQA,MAAA;MACRC,YAAA,EAAcA,YAAA;MACdC,GAAA,EAAKA,GAAA;MACLL,SAAA,EAAWA,SAAA;MACXO,OAAA,EAASA;;EAGf;EAEA,oBACEI,IAAA,CAACE,gBAAA;IACCZ,KAAA,EAAOA,KAAA;IACPC,IAAA,EAAMA,IAAA;IACNC,MAAA,EAAQA,MAAA;IACRC,YAAA,EAAcA,YAAA;IACdC,GAAA,EAAKA,GAAA;IACLL,SAAA,EAAWA,SAAA;IACXO,OAAA,EAASA;;AAGf;AAEA,OAAO,MAAMK,iBAAA,GAQR,MAAOd,IAAA;EACV,MAAM;IAAEG,KAAK;IAAEC,IAAI;IAAEC,MAAM;IAAEC,YAAY;IAAEC,GAAG;IAAEL,SAAS;IAAEO;EAAO,CAAE,GAAGT,IAAA;EACvE,MAAMgB,cAAA,GAAiB,CAAC,MAAM,MAAM,CAAC,mBAAkB,EAAGC,OAAO;EAEjE,IAAIC,IAAA,GAAwB;EAC5B,IAAIC,EAAA,GAAsB;EAE1B,MAAMC,kBAAA,GAAqBT,KAAA,CAAMC,OAAO,CAACT,KAAA,CAAMkB,UAAU;EAEzD,MAAMC,cAAA,GAAiBpB,SAAA,GACnBA,SAAA,CAAUqB,GAAG,CAAEC,SAAA,iBACbX,IAAA,CAACY,kBAAA;IACCrB,IAAA,EAAMA,IAAA;IAENiB,UAAA,EAAYlB,KAAA,CAAMkB,UAAU;IAC5Bd,GAAA,EAAKA,GAAA;IACLa,kBAAA,EAAoBA,kBAAA;IACpBI,SAAA,EAAWA;KAJN,OAAOA,SAAA,KAAc,WAAWA,SAAA,CAAUE,EAAE,GAAGF,SAAA,KAOxD;EACJ,MAAMG,YAAA,GAAelB,OAAA,GACjBA,OAAA,CAAQc,GAAG,CAAEC,SAAA,iBACXX,IAAA,CAACY,kBAAA;IACCrB,IAAA,EAAMA,IAAA;IAENiB,UAAA,EAAYlB,KAAA,CAAMkB,UAAU;IAC5Bd,GAAA,EAAKA,GAAA;IACLa,kBAAA,EAAoBA,kBAAA;IACpBI,SAAA,EAAWA;KAJN,OAAOA,SAAA,KAAc,WAAWA,SAAA,CAAUE,EAAE,GAAGF,SAAA,KAOxD;EAEJ,MAAMI,UAAA,GAAahC,qBAAA,CAAsB;IACvCiC,QAAA,EACE,eAAe/B,SAAA,YAAqB,IACnCwB,cAAA,GACGA,cAAA,CAAeC,GAAG,CACfO,SAAA,IAAc,QAAQd,cAAA,CAAee,oBAAoB,CAACD,SAAA,SAAkB,EAC7EE,IAAI,CAAC,MACP,EAAC,IACL;IACFC,MAAA,EACE,eAAenC,SAAA,YAAqB,IACnC6B,YAAA,GACGA,YAAA,CAAaJ,GAAG,CACbO,SAAA,IAAc,QAAQd,cAAA,CAAee,oBAAoB,CAACD,SAAA,SAAkB,EAC7EE,IAAI,CAAC,MACP,EAAC,IACL;IACFE,mBAAA,EAAqB;EACvB;EACAhB,IAAA,GAAOU,UAAA,CAAWV,IAAI;EACtBC,EAAA,GAAKS,UAAA,CAAWT,EAAE;EAElB,oBACEN,IAAA,CAACnB,kBAAA;IACCyC,SAAA,EAAW,GAAGrC,SAAA,cAAuBA,SAAA,qBAA8B;IACnEoB,IAAA,EAAMA,IAAA;IACNd,IAAA,EAAMA,IAAA;IACNgC,KAAA,EAAO;MACLA,KAAA,EAAOjC,KAAA,CAAMiC,KAAK;MAClB/B;IACF;IACAC,YAAA,EAAcA,YAAA;IACda,EAAA,EAAIA;;AAGV;AAEA,OAAO,MAAMJ,gBAAA,GAQR,MAAOf,IAAA;EACV,MAAM;IAAEG,KAAK;IAAEC,IAAI;IAAEC,MAAM;IAAEC,YAAY;IAAEC,GAAG;IAAEL,SAAS;IAAEO;EAAO,CAAE,GAAGT,IAAA;EAEvE,MAAMgB,cAAA,GAAiB,CAAC,MAAM,MAAM,CAAC,mBAAkB,EAAGC,OAAO;EAEjE,IAAIC,IAAA,GAAwB;EAC5B,IAAIC,EAAA,GAAsB;EAE1B,MAAMC,kBAAA,GAAqBT,KAAA,CAAMC,OAAO,CAACT,KAAA,CAAMkB,UAAU;EAEzD,MAAMgB,aAAA,GAAgBnC,SAAA,gBACpBW,IAAA,CAACY,kBAAA;IACCrB,IAAA,EAAMA,IAAA;IACNiB,UAAA,EAAYlB,KAAA,CAAMkB,UAAU;IAC5Bd,GAAA,EAAKA,GAAA;IACLa,kBAAA,EAAoBA,kBAAA;IACpBI,SAAA,EAAWtB;OAEX;EACJ,MAAMoC,WAAA,GAAc7B,OAAA,gBAClBI,IAAA,CAACY,kBAAA;IACCrB,IAAA,EAAMA,IAAA;IACNiB,UAAA,EAAYlB,KAAA,CAAMkB,UAAU;IAC5Bd,GAAA,EAAKA,GAAA;IACLa,kBAAA,EAAoBA,kBAAA;IACpBI,SAAA,EAAWf;OAEX;EAEJ,MAAM8B,QAAA,GAAWF,aAAA,GACbrB,cAAA,CAAee,oBAAoB,CAACM,aAAA,IACpC,QAAQ,KAAK;EACjB,MAAMG,MAAA,GAASF,WAAA,GACXtB,cAAA,CAAee,oBAAoB,CAACO,WAAA,IACpC,QAAQ,KAAK;EAEjB,MAAMV,UAAA,GAAahC,qBAAA,CAAsB;IACvCiC,QAAA,EAAUU,QAAA;IACVN,MAAA,EAAQO,MAAA;IACRN,mBAAA,EAAqB;EACvB;EACAhB,IAAA,GAAOU,UAAA,CAAWV,IAAI;EACtBC,EAAA,GAAKS,UAAA,CAAWT,EAAE;EAElB,oBACEN,IAAA,CAACnB,kBAAA;IACCyC,SAAA,EAAW,GAAGrC,SAAA,cAAuBA,SAAA,oBAA6B;IAClEoB,IAAA,EAAMA,IAAA;IACNd,IAAA,EAAMA,IAAA;IACNgC,KAAA,EAAO;MACLA,KAAA,EAAOjC,KAAA,CAAMiC,KAAK;MAClB/B;IACF;IACAC,YAAA,EAAcA,YAAA;IACda,EAAA,EAAIA;;AAGV;AAEA,MAAMM,kBAAA,GAAsBzB,IAAA;EAO1B,MAAM;IAAEI,IAAI;IAAEiB,UAAU;IAAEd,GAAG;IAAEa,kBAAkB;IAAEI;EAAS,CAAE,GAAGxB,IAAA;EAEjE,IAAIyC,YAAA,GAAuB;EAC3B,IAAIjB,SAAA,IAAa,OAAOA,SAAA,KAAc,YAAY,kBAAkBA,SAAA,EAAW;IAC7EiB,YAAA,GACE,OAAQjB,SAAA,CAAUkB,YAAY,KAAK,YAAYlB,SAAA,CAAUkB,YAAY,IACpE,OAAOlB,SAAA,CAAUmB,GAAG,KAAK,YAAYnB,SAAA,CAAUmB,GAAG,IACnD;EACJ;EAEA,IAAIC,QAAA;EACJ,IAAIpB,SAAA,IAAa,OAAOA,SAAA,KAAc,UAAU;IAC9CoB,QAAA,GAAWpB,SAAA,CAAUoB,QAAQ;EAC/B,OAAO;IACLA,QAAA,GAAW,GAAGxC,IAAA,CAAKyC,CAAC,CAAC,6BAA6BrB,SAAA,EAA8B;EAClF;EAEA,IAAIsB,SAAA,GAA2B;EAE/B,IAAI1B,kBAAA,EAAoB;IACtB,MAAM2B,YAAA,GAAexC,GAAA,CAAIyC,OAAO,CAACC,WAAW,CAAC5B,UAAA,CAAW,CAAC6B,MAAM;IAC/DJ,SAAA,GAAYC,YAAA,CAAaI,MAAM,EAAEC,QAAA,GAC7B3D,cAAA,CAAesD,YAAA,CAAaI,MAAM,CAACC,QAAQ,EAAEhD,IAAA,IAC7C2C,YAAA,CAAaM,IAAI;EACvB;EAEA,oBACExC,IAAA,CAAC;IACCsB,SAAA,EAAW,GAAGrC,SAAA,EAAW;IACzB,qBAAkB;IAClB,WAAS,OAAO0B,SAAA,KAAc,WAAWA,SAAA,EAAWE,EAAA,GAAKF,SAAA;IACzD,oBAAkBH,UAAA;cAElB,aAAAiC,KAAA,CAAC;MAAInB,SAAA,EAAW,GAAGrC,SAAA,QAAiB;8BAClCe,IAAA,CAAC;QAAIsB,SAAA,EAAW,GAAGrC,SAAA,aAAsB;kBACtC2C,YAAA,EAAcc,MAAA,gBAAS1C,IAAA,CAAC;UAAI2C,GAAA,EAAKZ,QAAA;UAAUa,GAAA,EAAKhB;0BAAmB5B,IAAA,CAAClB,IAAA;UAEtEmD,SAAA,iBACCjC,IAAA,CAAC;QAAIsB,SAAA,EAAW,GAAGrC,SAAA,QAAiB;QAAE,qBAAkB;kBACtD,aAAAe,IAAA,CAAC;oBAAMiC;;uBAGXjC,IAAA,CAAC;QAAIsB,SAAA,EAAW,GAAGrC,SAAA,QAAiB;QAAE,qBAAkB;kBACtD,aAAAe,IAAA,CAAC;oBAAQ+B;;;;;AAKnB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","FieldDiffContainer","File","getHTMLDiffComponents","React","baseClass","Upload","args","comparisonValue","valueFrom","field","i18n","locale","nestingLevel","req","versionValue","valueTo","hasMany","Array","isArray","polymorphic","relationTo","_jsx","HasManyUploadDiff","SingleUploadDiff","ReactDOMServer","default","From","To","showCollectionSlug","getUploadDocKey","uploadDoc","value","id","FromComponents","map","UploadDocumentDiff","ToComponents","diffResult","fromHTML","component","renderToStaticMarkup","join","toHTML","tokenizeByCharacter","className","label","FromComponent","ToComponent","fromHtml","toHtml","thumbnailSRC","thumbnailURL","url","filename","t","pillLabel","collectionSlug","uploadConfig","payload","collections","config","labels","singular","slug","polyValue","_jsxs","length","alt","src"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx"],"sourcesContent":["import type {\n FileData,\n PayloadRequest,\n TypeWithID,\n UploadField,\n UploadFieldDiffServerComponent,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport { FieldDiffContainer, File, getHTMLDiffComponents } from '@payloadcms/ui/rsc'\n\nimport './index.scss'\n\nimport React from 'react'\n\nconst baseClass = 'upload-diff'\n\ntype NonPolyUploadDoc = (FileData & TypeWithID) | number | string\ntype PolyUploadDoc = { relationTo: string; value: (FileData & TypeWithID) | number | string }\n\ntype UploadDoc = NonPolyUploadDoc | PolyUploadDoc\n\nexport const Upload: UploadFieldDiffServerComponent = (args) => {\n const {\n comparisonValue: valueFrom,\n field,\n i18n,\n locale,\n nestingLevel,\n req,\n versionValue: valueTo,\n } = args\n const hasMany = 'hasMany' in field && field.hasMany && Array.isArray(valueTo)\n const polymorphic = Array.isArray(field.relationTo)\n\n if (hasMany) {\n return (\n <HasManyUploadDiff\n field={field}\n i18n={i18n}\n locale={locale}\n nestingLevel={nestingLevel}\n polymorphic={polymorphic}\n req={req}\n valueFrom={valueFrom as UploadDoc[]}\n valueTo={valueTo as UploadDoc[]}\n />\n )\n }\n\n return (\n <SingleUploadDiff\n field={field}\n i18n={i18n}\n locale={locale}\n nestingLevel={nestingLevel}\n polymorphic={polymorphic}\n req={req}\n valueFrom={valueFrom as UploadDoc}\n valueTo={valueTo as UploadDoc}\n />\n )\n}\n\nexport const HasManyUploadDiff: React.FC<{\n field: UploadField\n i18n: I18nClient\n locale: string\n nestingLevel?: number\n polymorphic: boolean\n req: PayloadRequest\n valueFrom: Array<UploadDoc>\n valueTo: Array<UploadDoc>\n}> = async (args) => {\n const { field, i18n, locale, nestingLevel, polymorphic, req, valueFrom, valueTo } = args\n const ReactDOMServer = (await import('react-dom/server')).default\n\n let From: React.ReactNode = ''\n let To: React.ReactNode = ''\n\n const showCollectionSlug = Array.isArray(field.relationTo)\n\n const getUploadDocKey = (uploadDoc: UploadDoc): number | string => {\n if (typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {\n // Polymorphic case\n const value = uploadDoc.value\n return typeof value === 'object' ? value.id : value\n }\n // Non-polymorphic case\n return typeof uploadDoc === 'object' ? uploadDoc.id : uploadDoc\n }\n\n const FromComponents = valueFrom\n ? valueFrom.map((uploadDoc) => (\n <UploadDocumentDiff\n i18n={i18n}\n key={getUploadDocKey(uploadDoc)}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={uploadDoc}\n />\n ))\n : null\n const ToComponents = valueTo\n ? valueTo.map((uploadDoc) => (\n <UploadDocumentDiff\n i18n={i18n}\n key={getUploadDocKey(uploadDoc)}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={uploadDoc}\n />\n ))\n : null\n\n const diffResult = getHTMLDiffComponents({\n fromHTML:\n `<div class=\"${baseClass}-hasMany\">` +\n (FromComponents\n ? FromComponents.map(\n (component) => `<div>${ReactDOMServer.renderToStaticMarkup(component)}</div>`,\n ).join('')\n : '') +\n '</div>',\n toHTML:\n `<div class=\"${baseClass}-hasMany\">` +\n (ToComponents\n ? ToComponents.map(\n (component) => `<div>${ReactDOMServer.renderToStaticMarkup(component)}</div>`,\n ).join('')\n : '') +\n '</div>',\n tokenizeByCharacter: false,\n })\n From = diffResult.From\n To = diffResult.To\n\n return (\n <FieldDiffContainer\n className={`${baseClass}-container ${baseClass}-container--hasMany`}\n From={From}\n i18n={i18n}\n label={{\n label: field.label,\n locale,\n }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n\nexport const SingleUploadDiff: React.FC<{\n field: UploadField\n i18n: I18nClient\n locale: string\n nestingLevel?: number\n polymorphic: boolean\n req: PayloadRequest\n valueFrom: UploadDoc\n valueTo: UploadDoc\n}> = async (args) => {\n const { field, i18n, locale, nestingLevel, polymorphic, req, valueFrom, valueTo } = args\n\n const ReactDOMServer = (await import('react-dom/server')).default\n\n let From: React.ReactNode = ''\n let To: React.ReactNode = ''\n\n const showCollectionSlug = Array.isArray(field.relationTo)\n\n const FromComponent = valueFrom ? (\n <UploadDocumentDiff\n i18n={i18n}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={valueFrom}\n />\n ) : null\n const ToComponent = valueTo ? (\n <UploadDocumentDiff\n i18n={i18n}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={valueTo}\n />\n ) : null\n\n const fromHtml = FromComponent\n ? ReactDOMServer.renderToStaticMarkup(FromComponent)\n : '<p>' + '' + '</p>'\n const toHtml = ToComponent\n ? ReactDOMServer.renderToStaticMarkup(ToComponent)\n : '<p>' + '' + '</p>'\n\n const diffResult = getHTMLDiffComponents({\n fromHTML: fromHtml,\n toHTML: toHtml,\n tokenizeByCharacter: false,\n })\n From = diffResult.From\n To = diffResult.To\n\n return (\n <FieldDiffContainer\n className={`${baseClass}-container ${baseClass}-container--hasOne`}\n From={From}\n i18n={i18n}\n label={{\n label: field.label,\n locale,\n }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n\nconst UploadDocumentDiff = (args: {\n i18n: I18nClient\n polymorphic: boolean\n relationTo: string | string[]\n req: PayloadRequest\n showCollectionSlug?: boolean\n uploadDoc: UploadDoc\n}) => {\n const { i18n, polymorphic, relationTo, req, showCollectionSlug, uploadDoc } = args\n\n let thumbnailSRC: string = ''\n\n const value = polymorphic\n ? (uploadDoc as { relationTo: string; value: FileData & TypeWithID }).value\n : (uploadDoc as FileData & TypeWithID)\n\n if (value && typeof value === 'object' && 'thumbnailURL' in value) {\n thumbnailSRC =\n (typeof value.thumbnailURL === 'string' && value.thumbnailURL) ||\n (typeof value.url === 'string' && value.url) ||\n ''\n }\n\n let filename: string\n if (value && typeof value === 'object') {\n filename = value.filename\n } else {\n filename = `${i18n.t('general:untitled')} - ID: ${uploadDoc as number | string}`\n }\n\n let pillLabel: null | string = null\n\n if (showCollectionSlug) {\n let collectionSlug: string\n if (polymorphic && typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {\n collectionSlug = uploadDoc.relationTo\n } else {\n collectionSlug = typeof relationTo === 'string' ? relationTo : relationTo[0]\n }\n const uploadConfig = req.payload.collections[collectionSlug].config\n pillLabel = uploadConfig.labels?.singular\n ? getTranslation(uploadConfig.labels.singular, i18n)\n : uploadConfig.slug\n }\n\n let id: number | string | undefined\n if (polymorphic && typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {\n const polyValue = uploadDoc.value\n id = typeof polyValue === 'object' ? polyValue.id : polyValue\n } else if (typeof uploadDoc === 'object' && 'id' in uploadDoc) {\n id = uploadDoc.id\n } else if (typeof uploadDoc === 'string' || typeof uploadDoc === 'number') {\n id = uploadDoc\n }\n\n return (\n <div\n className={`${baseClass}`}\n data-enable-match=\"true\"\n data-id={id}\n data-relation-to={relationTo}\n >\n <div className={`${baseClass}__card`}>\n <div className={`${baseClass}__thumbnail`}>\n {thumbnailSRC?.length ? <img alt={filename} src={thumbnailSRC} /> : <File />}\n </div>\n {pillLabel && (\n <div className={`${baseClass}__pill`} data-enable-match=\"false\">\n <span>{pillLabel}</span>\n </div>\n )}\n <div className={`${baseClass}__info`} data-enable-match=\"false\">\n <strong>{filename}</strong>\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"withPayload.d.ts","sourceRoot":"","sources":["../src/withPayload.js"],"names":[],"mappings":"AAOO,yCANI,OAAO,MAAM,EAAE,UAAU,YAEjC;IAA0B,uBAAuB,GAAzC,OAAO;CAA6F,GAElG,OAAO,MAAM,EAAE,UAAU,CA2KrC"}
1
+ {"version":3,"file":"withPayload.d.ts","sourceRoot":"","sources":["../src/withPayload.js"],"names":[],"mappings":"AAOO,yCANI,OAAO,MAAM,EAAE,UAAU,YAEjC;IAA0B,uBAAuB,GAAzC,OAAO;CAA6F,GAElG,OAAO,MAAM,EAAE,UAAU,CAsIrC"}
@@ -5,22 +5,11 @@
5
5
  *
6
6
  * @returns {import('next').NextConfig}
7
7
  * */export const withPayload = (nextConfig = {}, options = {}) => {
8
- const env = nextConfig?.env || {};
8
+ const env = nextConfig.env || {};
9
9
  if (nextConfig.experimental?.staleTimes?.dynamic) {
10
10
  console.warn('Payload detected a non-zero value for the `staleTimes.dynamic` option in your Next.js config. This will slow down page transitions and may cause stale data to load within the Admin panel. To clear this warning, remove the `staleTimes.dynamic` option from your Next.js config or set it to 0. In the future, Next.js may support scoping this option to specific routes.');
11
11
  env.NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH = 'true';
12
12
  }
13
- if (process.env.PAYLOAD_PATCH_TURBOPACK_WARNINGS !== 'false') {
14
- const turbopackWarningText = 'Packages that should be external need to be installed in the project directory, so they can be resolved from the output files.\nTry to install it into the project directory by running';
15
- const consoleWarn = console.warn;
16
- console.warn = (...args) => {
17
- // Force to disable serverExternalPackages warnings: https://github.com/vercel/next.js/issues/68805
18
- if (typeof args[1] === 'string' && args[1].includes(turbopackWarningText) || typeof args[0] === 'string' && args[0].includes(turbopackWarningText)) {
19
- return;
20
- }
21
- consoleWarn(...args);
22
- };
23
- }
24
13
  const poweredByHeader = {
25
14
  key: 'X-Powered-By',
26
15
  value: 'Next.js, Payload'
@@ -31,16 +20,19 @@
31
20
  const toReturn = {
32
21
  ...nextConfig,
33
22
  env,
23
+ turbopack: {
24
+ ...(nextConfig.turbopack || {})
25
+ },
34
26
  outputFileTracingExcludes: {
35
- ...(nextConfig?.outputFileTracingExcludes || {}),
36
- '**/*': [...(nextConfig?.outputFileTracingExcludes?.['**/*'] || []), 'drizzle-kit', 'drizzle-kit/api']
27
+ ...(nextConfig.outputFileTracingExcludes || {}),
28
+ '**/*': [...(nextConfig.outputFileTracingExcludes?.['**/*'] || []), 'drizzle-kit', 'drizzle-kit/api']
37
29
  },
38
30
  outputFileTracingIncludes: {
39
- ...(nextConfig?.outputFileTracingIncludes || {}),
40
- '**/*': [...(nextConfig?.outputFileTracingIncludes?.['**/*'] || []), '@libsql/client']
31
+ ...(nextConfig.outputFileTracingIncludes || {}),
32
+ '**/*': [...(nextConfig.outputFileTracingIncludes?.['**/*'] || []), '@libsql/client']
41
33
  },
42
34
  // We disable the poweredByHeader here because we add it manually in the headers function below
43
- ...(nextConfig?.poweredByHeader !== false ? {
35
+ ...(nextConfig.poweredByHeader !== false ? {
44
36
  poweredByHeader: false
45
37
  } : {}),
46
38
  headers: async () => {
@@ -56,48 +48,40 @@
56
48
  }, {
57
49
  key: 'Critical-CH',
58
50
  value: 'Sec-CH-Prefers-Color-Scheme'
59
- }, ...(nextConfig?.poweredByHeader !== false ? [poweredByHeader] : [])]
51
+ }, ...(nextConfig.poweredByHeader !== false ? [poweredByHeader] : [])]
60
52
  }];
61
53
  },
62
- serverExternalPackages: [...(nextConfig?.serverExternalPackages || []), 'drizzle-kit', 'drizzle-kit/api', 'pino', 'libsql', 'pino-pretty', 'graphql',
63
- // Do not bundle server-only packages during dev to improve compile speed
64
- ...(process.env.NODE_ENV === 'development' && options.devBundleServerPackages === false ? ['payload', '@payloadcms/db-mongodb', '@payloadcms/db-postgres', '@payloadcms/db-sqlite', '@payloadcms/db-vercel-postgres', '@payloadcms/drizzle', '@payloadcms/email-nodemailer', '@payloadcms/email-resend', '@payloadcms/graphql', '@payloadcms/payload-cloud', '@payloadcms/plugin-redirects'] : [])],
54
+ serverExternalPackages: [...(nextConfig.serverExternalPackages || []),
55
+ // These packages always need to be external, both during dev and production. This is because they install dependencies
56
+ // that will error when trying to bundle them (e.g. drizzle-kit, libsql, esbuild etc.).
57
+ // We cannot externalize those problem-packages directly. We can only externalize packages that are manually installed
58
+ // by the end user. Otherwise, the require('externalPackage') calls generated by the bundler would fail during runtime,
59
+ // as you cannot import dependencies of dependencies in a lot of package managers like pnpm. We'd have to force users
60
+ // to install the dependencies directly.
61
+ // Thus, we externalize the "entry-point" = the package that is installed by the end user, which would be our db adapters.
62
+ //
63
+ //
64
+ // External because it installs mongoose (part of default serverExternalPackages: https://github.com/vercel/next.js/blob/canary/packages/next/src/lib/server-external-packages.json => would throw warning if we don't exclude the entry-point package):
65
+ '@payloadcms/db-mongodb',
66
+ // External because they install dependencies like drizzle, libsql, esbuild etc.:
67
+ '@payloadcms/db-postgres', '@payloadcms/db-sqlite', '@payloadcms/db-vercel-postgres', '@payloadcms/drizzle',
68
+ // External because they install @aws-sdk/client-s3:
69
+ '@payloadcms/payload-cloud',
70
+ // External, because it installs import-in-the-middle and require-in-the-middle - both in the default serverExternalPackages list.
71
+ '@sentry/nextjs',
72
+ // TODO: We need to externalize @payloadcms/storage-s3 as well, once Next.js has the ability to exclude @payloadcms/storage-s3/client from being externalized.
73
+ // Do not bundle additional server-only packages during dev to improve compilation speed
74
+ ...(process.env.NODE_ENV === 'development' && options.devBundleServerPackages === false ? ['payload', '@payloadcms/email-nodemailer', '@payloadcms/email-resend', '@payloadcms/graphql', '@payloadcms/plugin-redirects'] : [])],
65
75
  webpack: (webpackConfig, webpackOptions) => {
66
76
  const incomingWebpackConfig = typeof nextConfig.webpack === 'function' ? nextConfig.webpack(webpackConfig, webpackOptions) : webpackConfig;
67
77
  return {
68
78
  ...incomingWebpackConfig,
69
- externals: [...(incomingWebpackConfig?.externals || []), 'drizzle-kit', 'drizzle-kit/api', 'sharp', 'libsql', 'require-in-the-middle'],
70
- ignoreWarnings: [...(incomingWebpackConfig?.ignoreWarnings || []), {
71
- module: /node_modules\/mongodb\/lib\/utils\.js/
72
- }, {
73
- file: /node_modules\/mongodb\/lib\/utils\.js/
74
- }, {
75
- module: /node_modules\/mongodb\/lib\/bson\.js/
76
- }, {
77
- file: /node_modules\/mongodb\/lib\/bson\.js/
78
- }],
79
+ externals: [...(incomingWebpackConfig?.externals || []), 'require-in-the-middle'],
79
80
  plugins: [...(incomingWebpackConfig?.plugins || []),
80
81
  // Fix cloudflare:sockets error: https://github.com/vercel/next.js/discussions/50177
81
82
  new webpackOptions.webpack.IgnorePlugin({
82
83
  resourceRegExp: /^pg-native$|^cloudflare:sockets$/
83
- })],
84
- resolve: {
85
- ...(incomingWebpackConfig?.resolve || {}),
86
- alias: {
87
- ...(incomingWebpackConfig?.resolve?.alias || {})
88
- },
89
- fallback: {
90
- ...(incomingWebpackConfig?.resolve?.fallback || {}),
91
- '@aws-sdk/credential-providers': false,
92
- '@mongodb-js/zstd': false,
93
- aws4: false,
94
- kerberos: false,
95
- 'mongodb-client-encryption': false,
96
- snappy: false,
97
- 'supports-color': false,
98
- 'yocto-queue': false
99
- }
100
- }
84
+ })]
101
85
  };
102
86
  }
103
87
  };
@@ -1 +1 @@
1
- {"version":3,"file":"withPayload.js","names":["withPayload","nextConfig","options","env","experimental","staleTimes","dynamic","console","warn","NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH","process","PAYLOAD_PATCH_TURBOPACK_WARNINGS","turbopackWarningText","consoleWarn","args","includes","poweredByHeader","key","value","toReturn","outputFileTracingExcludes","outputFileTracingIncludes","headers","headersFromConfig","source","serverExternalPackages","NODE_ENV","devBundleServerPackages","webpack","webpackConfig","webpackOptions","incomingWebpackConfig","externals","ignoreWarnings","module","file","plugins","IgnorePlugin","resourceRegExp","resolve","alias","fallback","aws4","kerberos","snappy","basePath","NEXT_BASE_PATH"],"sources":["../src/withPayload.js"],"sourcesContent":["/**\n * @param {import('next').NextConfig} nextConfig\n * @param {Object} [options] - Optional configuration options\n * @param {boolean} [options.devBundleServerPackages] - Whether to bundle server packages in development mode. @default true\n *\n * @returns {import('next').NextConfig}\n * */\nexport const withPayload = (nextConfig = {}, options = {}) => {\n const env = nextConfig?.env || {}\n\n if (nextConfig.experimental?.staleTimes?.dynamic) {\n console.warn(\n 'Payload detected a non-zero value for the `staleTimes.dynamic` option in your Next.js config. This will slow down page transitions and may cause stale data to load within the Admin panel. To clear this warning, remove the `staleTimes.dynamic` option from your Next.js config or set it to 0. In the future, Next.js may support scoping this option to specific routes.',\n )\n env.NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH = 'true'\n }\n\n if (process.env.PAYLOAD_PATCH_TURBOPACK_WARNINGS !== 'false') {\n const turbopackWarningText =\n 'Packages that should be external need to be installed in the project directory, so they can be resolved from the output files.\\nTry to install it into the project directory by running'\n\n const consoleWarn = console.warn\n console.warn = (...args) => {\n // Force to disable serverExternalPackages warnings: https://github.com/vercel/next.js/issues/68805\n if (\n (typeof args[1] === 'string' && args[1].includes(turbopackWarningText)) ||\n (typeof args[0] === 'string' && args[0].includes(turbopackWarningText))\n ) {\n return\n }\n\n consoleWarn(...args)\n }\n }\n\n const poweredByHeader = {\n key: 'X-Powered-By',\n value: 'Next.js, Payload',\n }\n\n /**\n * @type {import('next').NextConfig}\n */\n const toReturn = {\n ...nextConfig,\n env,\n outputFileTracingExcludes: {\n ...(nextConfig?.outputFileTracingExcludes || {}),\n '**/*': [\n ...(nextConfig?.outputFileTracingExcludes?.['**/*'] || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n ],\n },\n outputFileTracingIncludes: {\n ...(nextConfig?.outputFileTracingIncludes || {}),\n '**/*': [...(nextConfig?.outputFileTracingIncludes?.['**/*'] || []), '@libsql/client'],\n },\n // We disable the poweredByHeader here because we add it manually in the headers function below\n ...(nextConfig?.poweredByHeader !== false ? { poweredByHeader: false } : {}),\n headers: async () => {\n const headersFromConfig = 'headers' in nextConfig ? await nextConfig.headers() : []\n\n return [\n ...(headersFromConfig || []),\n {\n source: '/:path*',\n headers: [\n {\n key: 'Accept-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Vary',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Critical-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n ...(nextConfig?.poweredByHeader !== false ? [poweredByHeader] : []),\n ],\n },\n ]\n },\n serverExternalPackages: [\n ...(nextConfig?.serverExternalPackages || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n 'pino',\n 'libsql',\n 'pino-pretty',\n 'graphql',\n // Do not bundle server-only packages during dev to improve compile speed\n ...(process.env.NODE_ENV === 'development' && options.devBundleServerPackages === false\n ? [\n 'payload',\n '@payloadcms/db-mongodb',\n '@payloadcms/db-postgres',\n '@payloadcms/db-sqlite',\n '@payloadcms/db-vercel-postgres',\n '@payloadcms/drizzle',\n '@payloadcms/email-nodemailer',\n '@payloadcms/email-resend',\n '@payloadcms/graphql',\n '@payloadcms/payload-cloud',\n '@payloadcms/plugin-redirects',\n // TODO: Add the following packages, excluding their /client subpath exports, once Next.js supports it\n //'@payloadcms/plugin-cloud-storage',\n //'@payloadcms/plugin-sentry',\n //'@payloadcms/plugin-stripe',\n // @payloadcms/richtext-lexical\n //'@payloadcms/storage-azure',\n //'@payloadcms/storage-gcs',\n //'@payloadcms/storage-s3',\n //'@payloadcms/storage-uploadthing',\n //'@payloadcms/storage-vercel-blob',\n ]\n : []),\n ],\n webpack: (webpackConfig, webpackOptions) => {\n const incomingWebpackConfig =\n typeof nextConfig.webpack === 'function'\n ? nextConfig.webpack(webpackConfig, webpackOptions)\n : webpackConfig\n\n return {\n ...incomingWebpackConfig,\n externals: [\n ...(incomingWebpackConfig?.externals || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n 'sharp',\n 'libsql',\n 'require-in-the-middle',\n ],\n ignoreWarnings: [\n ...(incomingWebpackConfig?.ignoreWarnings || []),\n { module: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { module: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n ],\n plugins: [\n ...(incomingWebpackConfig?.plugins || []),\n // Fix cloudflare:sockets error: https://github.com/vercel/next.js/discussions/50177\n new webpackOptions.webpack.IgnorePlugin({\n resourceRegExp: /^pg-native$|^cloudflare:sockets$/,\n }),\n ],\n resolve: {\n ...(incomingWebpackConfig?.resolve || {}),\n alias: {\n ...(incomingWebpackConfig?.resolve?.alias || {}),\n },\n fallback: {\n ...(incomingWebpackConfig?.resolve?.fallback || {}),\n '@aws-sdk/credential-providers': false,\n '@mongodb-js/zstd': false,\n aws4: false,\n kerberos: false,\n 'mongodb-client-encryption': false,\n snappy: false,\n 'supports-color': false,\n 'yocto-queue': false,\n },\n },\n }\n },\n }\n\n if (nextConfig.basePath) {\n toReturn.env.NEXT_BASE_PATH = nextConfig.basePath\n }\n\n return toReturn\n}\n\nexport default withPayload\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"withPayload.js","names":["withPayload","nextConfig","options","env","experimental","staleTimes","dynamic","console","warn","NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH","poweredByHeader","key","value","toReturn","turbopack","outputFileTracingExcludes","outputFileTracingIncludes","headers","headersFromConfig","source","serverExternalPackages","process","NODE_ENV","devBundleServerPackages","webpack","webpackConfig","webpackOptions","incomingWebpackConfig","externals","plugins","IgnorePlugin","resourceRegExp","basePath","NEXT_BASE_PATH"],"sources":["../src/withPayload.js"],"sourcesContent":["/**\n * @param {import('next').NextConfig} nextConfig\n * @param {Object} [options] - Optional configuration options\n * @param {boolean} [options.devBundleServerPackages] - Whether to bundle server packages in development mode. @default true\n *\n * @returns {import('next').NextConfig}\n * */\nexport const withPayload = (nextConfig = {}, options = {}) => {\n const env = nextConfig.env || {}\n\n if (nextConfig.experimental?.staleTimes?.dynamic) {\n console.warn(\n 'Payload detected a non-zero value for the `staleTimes.dynamic` option in your Next.js config. This will slow down page transitions and may cause stale data to load within the Admin panel. To clear this warning, remove the `staleTimes.dynamic` option from your Next.js config or set it to 0. In the future, Next.js may support scoping this option to specific routes.',\n )\n env.NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH = 'true'\n }\n\n const poweredByHeader = {\n key: 'X-Powered-By',\n value: 'Next.js, Payload',\n }\n\n /**\n * @type {import('next').NextConfig}\n */\n const toReturn = {\n ...nextConfig,\n env,\n turbopack: {\n ...(nextConfig.turbopack || {}),\n },\n outputFileTracingExcludes: {\n ...(nextConfig.outputFileTracingExcludes || {}),\n '**/*': [\n ...(nextConfig.outputFileTracingExcludes?.['**/*'] || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n ],\n },\n outputFileTracingIncludes: {\n ...(nextConfig.outputFileTracingIncludes || {}),\n '**/*': [...(nextConfig.outputFileTracingIncludes?.['**/*'] || []), '@libsql/client'],\n },\n // We disable the poweredByHeader here because we add it manually in the headers function below\n ...(nextConfig.poweredByHeader !== false ? { poweredByHeader: false } : {}),\n headers: async () => {\n const headersFromConfig = 'headers' in nextConfig ? await nextConfig.headers() : []\n\n return [\n ...(headersFromConfig || []),\n {\n source: '/:path*',\n headers: [\n {\n key: 'Accept-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Vary',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Critical-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n ...(nextConfig.poweredByHeader !== false ? [poweredByHeader] : []),\n ],\n },\n ]\n },\n serverExternalPackages: [\n ...(nextConfig.serverExternalPackages || []),\n // These packages always need to be external, both during dev and production. This is because they install dependencies\n // that will error when trying to bundle them (e.g. drizzle-kit, libsql, esbuild etc.).\n // We cannot externalize those problem-packages directly. We can only externalize packages that are manually installed\n // by the end user. Otherwise, the require('externalPackage') calls generated by the bundler would fail during runtime,\n // as you cannot import dependencies of dependencies in a lot of package managers like pnpm. We'd have to force users\n // to install the dependencies directly.\n // Thus, we externalize the \"entry-point\" = the package that is installed by the end user, which would be our db adapters.\n //\n //\n // External because it installs mongoose (part of default serverExternalPackages: https://github.com/vercel/next.js/blob/canary/packages/next/src/lib/server-external-packages.json => would throw warning if we don't exclude the entry-point package):\n '@payloadcms/db-mongodb',\n // External because they install dependencies like drizzle, libsql, esbuild etc.:\n '@payloadcms/db-postgres',\n '@payloadcms/db-sqlite',\n '@payloadcms/db-vercel-postgres',\n '@payloadcms/drizzle',\n // External because they install @aws-sdk/client-s3:\n '@payloadcms/payload-cloud',\n // External, because it installs import-in-the-middle and require-in-the-middle - both in the default serverExternalPackages list.\n '@sentry/nextjs',\n // TODO: We need to externalize @payloadcms/storage-s3 as well, once Next.js has the ability to exclude @payloadcms/storage-s3/client from being externalized.\n // Do not bundle additional server-only packages during dev to improve compilation speed\n ...(process.env.NODE_ENV === 'development' && options.devBundleServerPackages === false\n ? [\n 'payload',\n '@payloadcms/email-nodemailer',\n '@payloadcms/email-resend',\n '@payloadcms/graphql',\n '@payloadcms/plugin-redirects',\n // TODO: Add the following packages, excluding their /client subpath exports, once Next.js supports it\n //'@payloadcms/plugin-cloud-storage',\n //'@payloadcms/plugin-sentry',\n //'@payloadcms/plugin-stripe',\n // @payloadcms/richtext-lexical\n //'@payloadcms/storage-azure',\n //'@payloadcms/storage-gcs',\n //'@payloadcms/storage-s3',\n //'@payloadcms/storage-uploadthing',\n //'@payloadcms/storage-vercel-blob',\n ]\n : []),\n ],\n webpack: (webpackConfig, webpackOptions) => {\n const incomingWebpackConfig =\n typeof nextConfig.webpack === 'function'\n ? nextConfig.webpack(webpackConfig, webpackOptions)\n : webpackConfig\n\n return {\n ...incomingWebpackConfig,\n externals: [...(incomingWebpackConfig?.externals || []), 'require-in-the-middle'],\n plugins: [\n ...(incomingWebpackConfig?.plugins || []),\n // Fix cloudflare:sockets error: https://github.com/vercel/next.js/discussions/50177\n new webpackOptions.webpack.IgnorePlugin({\n resourceRegExp: /^pg-native$|^cloudflare:sockets$/,\n }),\n ],\n }\n },\n }\n\n if (nextConfig.basePath) {\n toReturn.env.NEXT_BASE_PATH = nextConfig.basePath\n }\n\n return toReturn\n}\n\nexport default withPayload\n"],"mappings":"AAAA;;;;;;KAOA,OAAO,MAAMA,WAAA,GAAcA,CAACC,UAAA,GAAa,CAAC,CAAC,EAAEC,OAAA,GAAU,CAAC,CAAC;EACvD,MAAMC,GAAA,GAAMF,UAAA,CAAWE,GAAG,IAAI,CAAC;EAE/B,IAAIF,UAAA,CAAWG,YAAY,EAAEC,UAAA,EAAYC,OAAA,EAAS;IAChDC,OAAA,CAAQC,IAAI,CACV;IAEFL,GAAA,CAAIM,uCAAuC,GAAG;EAChD;EAEA,MAAMC,eAAA,GAAkB;IACtBC,GAAA,EAAK;IACLC,KAAA,EAAO;EACT;EAEA;;;EAGA,MAAMC,QAAA,GAAW;IACf,GAAGZ,UAAU;IACbE,GAAA;IACAW,SAAA,EAAW;MACT,IAAIb,UAAA,CAAWa,SAAS,IAAI,CAAC,CAAC;IAChC;IACAC,yBAAA,EAA2B;MACzB,IAAId,UAAA,CAAWc,yBAAyB,IAAI,CAAC,CAAC;MAC9C,QAAQ,C,IACFd,UAAA,CAAWc,yBAAyB,GAAG,OAAO,IAAI,EAAE,GACxD,eACA;IAEJ;IACAC,yBAAA,EAA2B;MACzB,IAAIf,UAAA,CAAWe,yBAAyB,IAAI,CAAC,CAAC;MAC9C,QAAQ,C,IAAKf,UAAA,CAAWe,yBAAyB,GAAG,OAAO,IAAI,EAAE,GAAG;IACtE;IACA;IACA,IAAIf,UAAA,CAAWS,eAAe,KAAK,QAAQ;MAAEA,eAAA,EAAiB;IAAM,IAAI,CAAC,CAAC;IAC1EO,OAAA,EAAS,MAAAA,CAAA;MACP,MAAMC,iBAAA,GAAoB,aAAajB,UAAA,GAAa,MAAMA,UAAA,CAAWgB,OAAO,KAAK,EAAE;MAEnF,OAAO,C,IACDC,iBAAA,IAAqB,EAAE,GAC3B;QACEC,MAAA,EAAQ;QACRF,OAAA,EAAS,CACP;UACEN,GAAA,EAAK;UACLC,KAAA,EAAO;QACT,GACA;UACED,GAAA,EAAK;UACLC,KAAA,EAAO;QACT,GACA;UACED,GAAA,EAAK;UACLC,KAAA,EAAO;QACT,G,IACIX,UAAA,CAAWS,eAAe,KAAK,QAAQ,CAACA,eAAA,CAAgB,GAAG,EAAE;MAErE,EACD;IACH;IACAU,sBAAA,EAAwB,C,IAClBnB,UAAA,CAAWmB,sBAAsB,IAAI,EAAE;IAC3C;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,2BACA,yBACA,kCACA;IACA;IACA;IACA;IACA;IACA;IACA;QACIC,OAAA,CAAQlB,GAAG,CAACmB,QAAQ,KAAK,iBAAiBpB,OAAA,CAAQqB,uBAAuB,KAAK,QAC9E,CACE,WACA,gCACA,4BACA,uBACA,+BAWD,GACD,EAAE,EACP;IACDC,OAAA,EAASA,CAACC,aAAA,EAAeC,cAAA;MACvB,MAAMC,qBAAA,GACJ,OAAO1B,UAAA,CAAWuB,OAAO,KAAK,aAC1BvB,UAAA,CAAWuB,OAAO,CAACC,aAAA,EAAeC,cAAA,IAClCD,aAAA;MAEN,OAAO;QACL,GAAGE,qBAAqB;QACxBC,SAAA,EAAW,C,IAAKD,qBAAA,EAAuBC,SAAA,IAAa,EAAE,GAAG,wBAAwB;QACjFC,OAAA,EAAS,C,IACHF,qBAAA,EAAuBE,OAAA,IAAW,EAAE;QACxC;QACA,IAAIH,cAAA,CAAeF,OAAO,CAACM,YAAY,CAAC;UACtCC,cAAA,EAAgB;QAClB;MAEJ;IACF;EACF;EAEA,IAAI9B,UAAA,CAAW+B,QAAQ,EAAE;IACvBnB,QAAA,CAASV,GAAG,CAAC8B,cAAc,GAAGhC,UAAA,CAAW+B,QAAQ;EACnD;EAEA,OAAOnB,QAAA;AACT;AAEA,eAAeb,WAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "3.63.0-internal.dc01f92",
3
+ "version": "3.64.0-canary.0",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -97,9 +97,9 @@
97
97
  "qs-esm": "7.0.2",
98
98
  "sass": "1.77.4",
99
99
  "uuid": "10.0.0",
100
- "@payloadcms/translations": "3.63.0-internal.dc01f92",
101
- "@payloadcms/ui": "3.63.0-internal.dc01f92",
102
- "@payloadcms/graphql": "3.63.0-internal.dc01f92"
100
+ "@payloadcms/graphql": "3.64.0-canary.0",
101
+ "@payloadcms/translations": "3.64.0-canary.0",
102
+ "@payloadcms/ui": "3.64.0-canary.0"
103
103
  },
104
104
  "devDependencies": {
105
105
  "@babel/cli": "7.27.2",
@@ -107,7 +107,7 @@
107
107
  "@babel/preset-env": "7.27.2",
108
108
  "@babel/preset-react": "7.27.1",
109
109
  "@babel/preset-typescript": "7.27.1",
110
- "@next/eslint-plugin-next": "15.4.4",
110
+ "@next/eslint-plugin-next": "15.4.7",
111
111
  "@types/busboy": "1.5.4",
112
112
  "@types/react": "19.1.12",
113
113
  "@types/react-dom": "19.1.9",
@@ -117,12 +117,12 @@
117
117
  "esbuild-sass-plugin": "3.3.1",
118
118
  "swc-plugin-transform-remove-imports": "4.0.4",
119
119
  "@payloadcms/eslint-config": "3.28.0",
120
- "payload": "3.63.0-internal.dc01f92"
120
+ "payload": "3.64.0-canary.0"
121
121
  },
122
122
  "peerDependencies": {
123
123
  "graphql": "^16.8.1",
124
124
  "next": "^15.2.3",
125
- "payload": "3.63.0-internal.dc01f92"
125
+ "payload": "3.64.0-canary.0"
126
126
  },
127
127
  "engines": {
128
128
  "node": "^18.20.2 || >=20.9.0"