Compare commits

...

154 Commits

Author SHA1 Message Date
Dan Ribbens
32fa7006ff chore(release): v3.0.0-alpha.32 [skip ci] 2024-03-07 18:37:20 -05:00
James
95acf71dbf chore: bumps next peer deps 2024-03-07 17:43:02 -05:00
James
5640c27cec chore: bumps bin to cjs 2024-03-07 17:37:18 -05:00
Alessio Gravili
a7c5e4f317 Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-poc 2024-03-07 16:41:26 -05:00
Alessio Gravili
274682e736 chore(eslint-config-payload): disable no-restricted-exports rule for payload config files 2024-03-07 16:41:19 -05:00
Jarrod Flesch
b4b6ab2667 chore: fix version restoration 2024-03-07 16:37:16 -05:00
Jarrod Flesch
bbe9dd6760 chore: adds more translations 2024-03-07 16:37:16 -05:00
Alessio Gravili
2aa7adb3bd chore: get old ts-node scripts to work, replace ts-node with tsx, fix runE2E.ts 2024-03-07 16:35:44 -05:00
James
fb7e671c26 chore: begins work to get playwright working with esm 2024-03-07 16:26:46 -05:00
Alessio Gravili
7420dba0c9 chore: upgrade testing libraries, remove express devDependency 2024-03-07 16:21:14 -05:00
Alessio Gravili
9a059bdce4 chore: undo weird as any removal 2024-03-07 16:11:25 -05:00
Alessio Gravili
50c7269315 chore: replace .d.ts type imports with .js imports, as .d.ts imports break usage checks in the IDE 2024-03-07 16:08:49 -05:00
Alessio Gravili
b4434a369b chore: improve clean commands 2024-03-07 15:49:33 -05:00
Jarrod Flesch
1c945ebfbf chore: add missing translation 2024-03-07 15:45:48 -05:00
Jarrod Flesch
20d0915a03 chore: adjust rest endpoints to use new query property on req 2024-03-07 15:45:48 -05:00
James
21ee94739b chore: jest esm compat 2024-03-07 15:40:39 -05:00
Alessio Gravili
9ebb894694 chore: replace probe-image-size with image-size to reduce bundle size 2024-03-07 15:38:06 -05:00
Alessio Gravili
483db08057 chore: upgrade turborepo to 1.12.5 2024-03-07 15:11:27 -05:00
Jacob Fletcher
3a557998d0 fix(next): completely opts out of router cache 2024-03-07 15:08:54 -05:00
Alessio Gravili
c8322349a0 fix(richtext-lexical): Blocks: generated output schema is not fully correct (#5259) 2024-03-07 15:08:30 -05:00
Jacob Fletcher
75b993bc6b fix(next): account view isEditing prop 2024-03-07 14:17:24 -05:00
Jacob Fletcher
b9db83a741 fix(next): threads isEditing through document info context 2024-03-07 14:01:06 -05:00
Jarrod Flesch
5bbb65b569 chore: fixes DiffMethod imports 2024-03-07 13:55:47 -05:00
Jacob Fletcher
974eedc4dd fix(next): reports globals to events provider 2024-03-07 13:48:36 -05:00
Jacob Fletcher
c38c95dab5 fix(next): adds optional chaining for globals in getDataAndFile 2024-03-07 13:36:50 -05:00
Jacob Fletcher
c3a3446baa fix(next): global api url 2024-03-07 13:36:50 -05:00
Fabian Aggeler
443413c03e fix(richtext-lexical): Link: add open-in-new-tab to html converter 2024-03-07 13:33:31 -05:00
Dan Ribbens
0c56f420d5 chore(ecommerce-template): fix duplicate cart update calls (#5228) 2024-03-07 13:33:10 -05:00
Ed
f66bcb22c4 chore(next): updated auth API status codes for improved error handling (#5254) 2024-03-07 13:28:41 -05:00
James
b44d59a303 chore: adds script to analyze bundle 2024-03-07 13:01:53 -05:00
Jacob Fletcher
dbe382f91e fix(ui): document info types 2024-03-07 12:59:07 -05:00
Jacob Fletcher
1d4ec9cd71 chore(next): moves document info provider from root to page 2024-03-07 12:54:49 -05:00
Alessio Gravili
36f88b198c fix(ui): ID field Cell component not being displayed 2024-03-07 12:27:43 -05:00
James
e2ca80a33f chore: fixes usage of NextLink in nav 2024-03-07 12:12:21 -05:00
James
c08f981224 chore: simplifies logs 2024-03-07 12:10:11 -05:00
Dan Ribbens
846f59974c chore(release): v3.0.0-alpha.31 [skip ci] 2024-03-07 12:06:51 -05:00
Jarrod Flesch
5e368f486a chore: esm fixes in _community test dir 2024-03-07 12:03:02 -05:00
Jarrod Flesch
42eed07dfd chore: moves file handler into catch all GET rest handler 2024-03-07 12:02:44 -05:00
Dan Ribbens
fcd647832c chore(release): v3.0.0-alpha.30 [skip ci] 2024-03-07 11:43:53 -05:00
Dan Ribbens
06d30f0182 chore: dependency file lock 2024-03-07 11:36:13 -05:00
James
c6c5b2e682 chore: safely uses deepMerge 2024-03-07 11:33:46 -05:00
James
5431a84f37 chore: safely accesses more dependencies 2024-03-07 11:04:27 -05:00
Jacob Fletcher
764c6f0086 chore(ui): react-animate-height esm imports 2024-03-07 10:55:26 -05:00
Jarrod Flesch
7f48c5c0e5 chore: fixes esm next/link imports 2024-03-07 10:54:36 -05:00
James
bd66cda0ee chore: safely accesses bson-objectid within both ts and webpack 2024-03-07 10:54:27 -05:00
James
030ddbe12f chore: move to lexical for local testing 2024-03-07 10:37:48 -05:00
James
60e3b21596 chore: builds 2024-03-07 10:23:12 -05:00
James
647e0236bb chore: removes unused dependencies 2024-03-07 10:12:38 -05:00
James
83c0b8b96e chore: removes webpack build script from next package 2024-03-07 10:11:30 -05:00
James
4d2f1ca10e chore: fixes esm dependency imports 2024-03-07 10:10:44 -05:00
Jarrod Flesch
678a617b0b chore: esm fixes for GenerateViewMetadata 2024-03-07 10:07:12 -05:00
Jacob Fletcher
b88d78a7e5 chore(next): more esm imports 2024-03-07 10:03:18 -05:00
Jarrod Flesch
3d4092ee3e chore: esm createFirstUser 2024-03-07 10:00:28 -05:00
Kendell Joseph
0306a79a37 chore: updates imports for ESM 2024-03-07 09:56:19 -05:00
PatrikKozak
539503f766 chore: converts more files in ui package to esm 2024-03-07 09:55:51 -05:00
Jarrod Flesch
e06022e4d4 chore: partial esm conversion of next package 2024-03-07 09:54:18 -05:00
James
afb93eda2c chore: restores submit 2024-03-07 09:54:11 -05:00
James
6d2f5fcb60 chore: converts some files to esm 2024-03-07 09:54:11 -05:00
Alessio Gravili
1fb37aec25 providers 2024-03-07 09:53:34 -05:00
Alessio Gravili
5174662fe8 providers up to Locale 2024-03-07 09:46:53 -05:00
Alessio Gravili
e47bafce29 ui/src/elements -> H through S, ui/src/utilities 2024-03-07 09:43:17 -05:00
Jacob Fletcher
7cf68a4b68 chore(next): esm imports 2024-03-07 09:29:16 -05:00
James
694d5d92b7 chore: begins next / ui esm transform 2024-03-07 09:03:08 -05:00
Jacob Fletcher
83d9d98ba3 fix(next): clears document info id when creating new 2024-03-06 23:12:02 -05:00
Jacob Fletcher
cf3d0fe78d fix(next): redirect after create 2024-03-06 22:36:57 -05:00
Jacob Fletcher
56aaf52430 fix(next): field read permissions 2024-03-06 22:15:21 -05:00
Dan Ribbens
40696ddea7 chore(release): v3.0.0-alpha.29 [skip ci] 2024-03-06 19:35:37 -05:00
Alessio Gravili
38d2dc8c8e Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-poc 2024-03-06 19:32:32 -05:00
Alessio Gravili
69346c5b3e feat(eslint-config-payload): add no-restricted-exports to discourage default exports 2024-03-06 19:32:10 -05:00
James
a2aa527f50 chore: removes default exports from slate 2024-03-06 19:29:04 -05:00
Alessio Gravili
b2ae40c8c8 chore(richtext-lexical): replace all default exports with named exports 2024-03-06 19:15:43 -05:00
Alessio Gravili
11498dcc7f chore(richtext-slate): use normal exports for field and cell components 2024-03-06 18:54:36 -05:00
Alessio Gravili
140d5242cf fix: react-animate-height issues for esm 2024-03-06 18:36:18 -05:00
Dan Ribbens
e3dff56479 chore(release): v3.0.0-alpha.28 [skip ci] 2024-03-06 18:08:11 -05:00
Alessio Gravili
0fb7666b97 chore: add tsconfig to prettierignore, because tsconfig is being overwritten by a script, then overwritten by prettier again, then overwritten by a script,... endlessly 2024-03-06 18:07:21 -05:00
James
5c06de6abc chore: dev script adjustments 2024-03-06 18:05:58 -05:00
James
582a609d27 chore: removes payload packages from serverComponentsExternalPackages 2024-03-06 18:02:23 -05:00
Alessio Gravili
ec3d25e64e fix: esm fixes 2024-03-06 17:48:01 -05:00
Alessio Gravili
740c7510ea Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-poc 2024-03-06 16:56:38 -05:00
Alessio Gravili
c9f6c707ac fix(richtext-lexical): error rendering clickableLink or RichTextPlugin components 2024-03-06 16:56:32 -05:00
Dan Ribbens
667eee07b1 chore(release): v3.0.0-alpha.27 [skip ci] 2024-03-06 16:53:19 -05:00
Alessio Gravili
deba38ab60 chore(translations): exclude all folder from eslint 2024-03-06 16:49:15 -05:00
James
25e44e54fb chore(release): v3.0.0-alpha.26 [skip ci] 2024-03-06 16:45:04 -05:00
James
62a2341ab4 chore: builds translations without swc 2024-03-06 16:42:55 -05:00
Jacob Fletcher
53b465b7bb fix(ui): wires delete document 2024-03-06 16:08:41 -05:00
Jarrod Flesch
fc6a3282ad chore: remove old import 2024-03-06 16:08:21 -05:00
Dan Ribbens
cecd1ccc96 chore(release): v3.0.0-alpha.25 [skip ci] 2024-03-06 16:03:46 -05:00
James
439987c149 chore: fixes types 2024-03-06 16:01:54 -05:00
James
61279ac119 chore: removes unused import 2024-03-06 16:00:08 -05:00
James
ca2fbf5cdf chore: build 2024-03-06 15:56:13 -05:00
Dan Ribbens
d3129224bd chore(release): v3.0.0-alpha.24 [skip ci] 2024-03-06 15:44:49 -05:00
Jarrod Flesch
57625b26c9 chore: adds strictNullHandling to query parsing 2024-03-06 15:42:46 -05:00
Jarrod Flesch
e345009e0a Merge branch 'feat/next/qs' into feat/next-poc 2024-03-06 15:40:51 -05:00
Jacob Fletcher
41f5071d7f fix(next): ssr document title 2024-03-06 15:39:02 -05:00
James
623969be82 chore: updates swcrc for keepImportAssertions 2024-03-06 15:37:19 -05:00
James
d106037f42 chore: wepback dev works, turbo still not 2024-03-06 15:30:24 -05:00
Dan Ribbens
a9f1b3eea9 chore(release): v3.0.0-alpha.23 [skip ci] 2024-03-06 15:17:30 -05:00
James Mikrut
a1f1067063 Merge pull request #5253 from payloadcms/feat/next-esm
Feat/next esm
2024-03-06 15:13:25 -05:00
PatrikKozak
f57dda5d09 Merge branch 'feat/next-esm' of https://github.com/payloadcms/payload into feat/next-esm 2024-03-06 15:10:22 -05:00
Alessio Gravili
93acb8b163 chore(richtext-lexical): it builds 2024-03-06 15:08:03 -05:00
PatrikKozak
4f32ab4421 Merge branch 'feat/next-esm' of https://github.com/payloadcms/payload into feat/next-esm 2024-03-06 15:05:28 -05:00
PatrikKozak
c52736372a chore: updates richtext-slate imports to ESM 2024-03-06 15:05:04 -05:00
PatrikKozak
eca11bc064 chore: updates plugin-seo imports to ESM 2024-03-06 15:03:56 -05:00
PatrikKozak
093fd2d638 chore: updates plugin-cloud-storage imports to ESM 2024-03-06 15:02:56 -05:00
PatrikKozak
194fb44fb5 chore: updates plugin-cloud imports to ESM 2024-03-06 15:01:33 -05:00
James
0c032d69ee chore: ui and next now build w/ bundler specification 2024-03-06 15:00:33 -05:00
James
b2219d879f chore: fixes package compat 2024-03-06 14:57:30 -05:00
James
304cf9d797 chore: proper tsconfig 2024-03-06 14:57:30 -05:00
Alessio Gravili
29963a04fc Merge remote-tracking branch 'origin/feat/next-esm' into feat/next-esm 2024-03-06 14:56:08 -05:00
Alessio Gravili
dff80d8276 chore(richtext-lexical): fixes 2024-03-06 14:56:02 -05:00
Tylan Davis
f33bb0d73f chore: updates live-preview imports for ESM 2024-03-06 14:53:54 -05:00
Tylan Davis
be09dd41fa chore: updates graphql imports for ESM 2024-03-06 14:53:02 -05:00
Dan Ribbens
36b12b645b Merge branch 'feat/next-esm' of github.com:payloadcms/payload into feat/next-esm 2024-03-06 14:49:00 -05:00
Dan Ribbens
bea15771b9 chore: fix utilities imported function calls 2024-03-06 14:48:46 -05:00
James
8c2cbce4a4 chore: esm 2024-03-06 14:48:02 -05:00
James
9674f4e739 chore: esm-ify payload 2024-03-06 14:48:02 -05:00
Alessio Gravili
137952af73 chore(richtext-lexical): migrate remaining stuff to esm 2024-03-06 14:46:10 -05:00
Dan Ribbens
66dcb1020a chore: import extensions added in uploads and utilities 2024-03-06 14:37:00 -05:00
Alessio Gravili
829d19dfc2 chore(richtext-lexical): migrate imports to esm 2024-03-06 14:26:50 -05:00
Jarrod Flesch
c73159d2d0 chore: adds qs, adds query to createPayloadRequest 2024-03-06 14:26:21 -05:00
Tylan Davis
4159fae8c9 chore: updates translations imports for ESM 2024-03-06 14:22:49 -05:00
Kendell Joseph
bff045fff2 chore: updates db-postgres imports for ESM 2024-03-06 14:19:13 -05:00
Kendell Joseph
3090e7c163 chore: updates db-mongodb imports for ESM 2024-03-06 14:19:13 -05:00
Alessio Gravili
38798aec73 Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-esm 2024-03-06 13:33:12 -05:00
Alessio Gravili
bc7a69044b chore: add proper eslint types 2024-03-06 13:30:13 -05:00
Jacob Fletcher
ee6512567e fix(next): not found meta 2024-03-06 13:27:46 -05:00
James
1b7ded4560 chore: updates tsconfig to use NodeNext rather than Bundler 2024-03-06 13:10:13 -05:00
Jacob Fletcher
e9abe63b47 fix(next): 404 handling 2024-03-06 13:02:43 -05:00
Alessio Gravili
b70bf81d6c chore: fix all eslint configs to work with esm 2024-03-06 12:48:15 -05:00
Dan Ribbens
410fddbf7f chore(release): v3.0.0-alpha.22 [skip ci] 2024-03-06 12:46:13 -05:00
Dan Ribbens
c0c9026da6 chore(release): v3.0.0-alpha.21 [skip ci] 2024-03-06 12:38:58 -05:00
James
f76e534b64 chore: corrects translations build script 2024-03-06 12:37:52 -05:00
James
468148ceb2 chore: fixes jest config to esm 2024-03-06 12:28:14 -05:00
Dan Ribbens
cc69cac29e chore(release): v3.0.0-alpha.20 [skip ci] 2024-03-06 12:24:25 -05:00
Dan Ribbens
19d2a4d1cd chore: esm compatible scripts 2024-03-06 12:24:25 -05:00
James
a7dcdc8df2 chore: builds payload to esm 2024-03-06 12:23:00 -05:00
James
7815d5ac5d chore: successful build 2024-03-06 11:57:24 -05:00
James
23051db54a chore: converts dev script from cjs to esm 2024-03-06 11:38:26 -05:00
James
f51434880f chore: add type: module to all packages 2024-03-06 11:27:45 -05:00
Alessio Gravili
87d5b4d3af chore(plugin-seo): adjust prepublishOnly script 2024-03-06 11:26:52 -05:00
Dan Ribbens
dd335ac75b chore(release): v3.0.0-alpha.19 [skip ci] 2024-03-06 11:18:06 -05:00
Jarrod Flesch
16d5e5f906 chore: simplifies serverSideProps on document views 2024-03-06 11:13:41 -05:00
James
42114a3680 chore: adds db-postgres to serverComponentsExternalPackages 2024-03-06 11:09:41 -05:00
James
e7adaecb0f chore: converts bin script to commonjs, which imports esm 2024-03-06 11:06:14 -05:00
James
9818f3df46 chore: builds to esm 2024-03-06 10:59:27 -05:00
Dan Ribbens
ca832a01cb chore(release): v3.0.0-alpha.18 [skip ci] 2024-03-06 10:46:17 -05:00
Jacob Fletcher
aaa2b204ba fix(next): uses correct global slug in getViewsFromConfig 2024-03-06 09:56:19 -05:00
Alessio Gravili
78bf9e5993 feat(plugin-seo): working plugin-seo 2024-03-06 09:50:37 -05:00
Alessio Gravili
8be0296fc1 fix(translations): translations variable not resolved if provided value is 0 (the number, not null) 2024-03-06 09:48:55 -05:00
Alessio Gravili
26cd741c04 fix: payload cache: set cached.reload to false immediately to prevent parallel reloads from unnecessarily performing the reload 2024-03-05 18:56:18 -05:00
Alessio Gravili
bf655b3327 fix: make sure schemaPath of Edit View updates when switching collections 2024-03-05 18:55:32 -05:00
Jacob Fletcher
1793b37adc fix(next): field permissions 2024-03-05 16:39:53 -05:00
Dan Ribbens
d0ffe85abb chore(release): v3.0.0-alpha.16 [skip ci] 2024-03-05 16:28:45 -05:00
James
f9f7dcfc58 chore: attempts to build to es6 instead of commonjs for next / ui 2024-03-05 16:27:48 -05:00
1342 changed files with 7327 additions and 8387 deletions

View File

@@ -9,3 +9,4 @@
**/node_modules
**/temp
**/docs/**
tsconfig.json

8
.vscode/launch.json vendored
View File

@@ -3,13 +3,7 @@
// Hover to view descriptions of existing attributes.
"configurations": [
{
"command": "pnpm dev",
"name": "Run Dev 3.0",
"request": "launch",
"type": "node-terminal"
},
{
"command": "pnpm run dev _community",
"command": "pnpm run dev _community -- --no-turbo",
"cwd": "${workspaceFolder}",
"name": "Run Dev Community",
"request": "launch",

View File

@@ -0,0 +1,17 @@
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
import config from '@payload-config'
/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */
import { NotFoundView } from '@payloadcms/next/views/NotFound/index.js'
type Args = {
params: {
segments: string[]
}
searchParams: {
[key: string]: string | string[]
}
}
const NotFound = ({ params, searchParams }: Args) => NotFoundView({ config, params, searchParams })
export default NotFound

View File

@@ -1,7 +1,7 @@
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
import config from '@payload-config'
/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */
import { RootPage, generatePageMetadata } from '@payloadcms/next/views/Root/index'
import { RootPage, generatePageMetadata } from '@payloadcms/next/views/Root/index.js'
type Args = {
params: {

View File

@@ -1,7 +1,7 @@
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
/* DO NOT MODIFY it because it could be re-written at any time. */
import config from '@payload-config'
import { REST_DELETE, REST_GET, REST_PATCH, REST_POST } from '@payloadcms/next/routes'
import { REST_DELETE, REST_GET, REST_PATCH, REST_POST } from '@payloadcms/next/routes/index.js'
export const GET = REST_GET(config)
export const POST = REST_POST(config)

View File

@@ -1,6 +0,0 @@
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
/* DO NOT MODIFY it because it could be re-written at any time. */
import config from '@payload-config'
import { GET_STATIC_FILE } from '@payloadcms/next/routes'
export const GET = GET_STATIC_FILE(config)

View File

@@ -1,6 +1,6 @@
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
/* DO NOT MODIFY it because it could be re-written at any time. */
import config from '@payload-config'
import { GRAPHQL_PLAYGROUND_GET } from '@payloadcms/next/routes'
import { GRAPHQL_PLAYGROUND_GET } from '@payloadcms/next/routes/index.js'
export const GET = GRAPHQL_PLAYGROUND_GET(config)

View File

@@ -1,6 +1,6 @@
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
/* DO NOT MODIFY it because it could be re-written at any time. */
import config from '@payload-config'
import { GRAPHQL_POST } from '@payloadcms/next/routes'
import { GRAPHQL_POST } from '@payloadcms/next/routes/index.js'
export const POST = GRAPHQL_POST(config)

View File

@@ -1,6 +1,6 @@
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
import configPromise from '@payload-config'
import { RootLayout } from '@payloadcms/next/layouts/Root/index'
import { RootLayout } from '@payloadcms/next/layouts/Root/index.js'
/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */
import React from 'react'

View File

@@ -6,11 +6,13 @@
// })
const customJestConfig = {
extensionsToTreatAsEsm: ['.ts', '.tsx'],
globalSetup: './test/jest.setup.ts',
moduleNameMapper: {
'\\.(css|scss)$': '<rootDir>/packages/payload/src/bundlers/mocks/emptyModule.js',
'\\.(css|scss)$': '<rootDir>/test/helpers/mocks/emptyModule.js',
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
'<rootDir>/packages/payload/src/bundlers/mocks/fileMock.js',
'<rootDir>/test/helpers/mocks/fileMock.js',
'^(\\.{1,2}/.*)\\.js$': '$1',
},
testEnvironment: 'node',
testMatch: ['<rootDir>/packages/payload/src/**/*.spec.ts', '<rootDir>/test/**/*int.spec.ts'],
@@ -22,4 +24,4 @@ const customJestConfig = {
}
// module.exports = createJestConfig(customJestConfig)
module.exports = customJestConfig
export default customJestConfig

View File

@@ -1,19 +0,0 @@
const withPayload = require('./packages/next/src/withPayload')
const withBundleAnalyzer = require('@next/bundle-analyzer')({
enabled: process.env.ANALYZE === 'true',
})
module.exports = withBundleAnalyzer(
withPayload({
reactStrictMode: false,
async redirects() {
return [
{
destination: '/admin',
permanent: true,
source: '/',
},
]
},
}),
)

29
next.config.mjs Normal file
View File

@@ -0,0 +1,29 @@
import withPayload from './packages/next/src/withPayload.js'
import bundleAnalyzer from '@next/bundle-analyzer'
const withBundleAnalyzer = bundleAnalyzer({
enabled: process.env.ANALYZE === 'true',
})
export default withBundleAnalyzer(
withPayload({
reactStrictMode: false,
webpack: (webpackConfig) => {
webpackConfig.resolve.extensionAlias = {
'.js': ['.ts', '.tsx', '.js', '.jsx'],
'.mjs': ['.mts', '.mjs'],
'.cjs': ['.cts', '.cjs'],
}
return webpackConfig
},
async redirects() {
return [
{
destination: '/admin',
permanent: true,
source: '/',
},
]
},
}),
)

View File

@@ -1,7 +1,8 @@
{
"name": "payload-monorepo",
"version": "3.0.0-alpha.15",
"version": "3.0.0-alpha.32",
"private": true,
"type": "module",
"workspaces:": [
"packages/*"
],
@@ -9,8 +10,9 @@
"build": "pnpm run build:core",
"build:all": "turbo build",
"build:core": "turbo build --filter \"!@payloadcms/plugin-*\"",
"build:plugins": "turbo build --filter \"@payloadcms/plugin-*\"",
"build:plugins": "turbo build --filter \"@payloadcms/plugin-*\" --filter \"!@payloadcms/plugin-search\" --filter \"!@payloadcms/plugin-redirects\" --filter \"!@payloadcms/plugin-nested-docs\" --filter \"!@payloadcms/plugin-cloud\"",
"build:app": "next build",
"build:app:analyze": "cross-env ANALYZE=true next build",
"build:create-payload-app": "turbo build --filter create-payload-app",
"build:db-mongodb": "turbo build --filter db-mongodb",
"build:db-postgres": "turbo build --filter db-postgres",
@@ -35,10 +37,11 @@
"build:ui": "turbo build --filter ui",
"clean": "turbo clean",
"clean:cache": "rimraf node_modules/.cache && rimraf packages/payload/node_modules/.cache && rimraf .next",
"clean:all": "find . \\( -type d \\( -name node_modules -o -name dist -o -name .cache \\) -o -type f -name tsconfig.tsbuildinfo \\) -exec rm -rf {} +",
"clean:build": "find . \\( -type d \\( -name dist -o -name .cache -o -name .next -o -name .turbo \\) -o -type f -name tsconfig.tsbuildinfo \\) -not -path '*/node_modules/*' -exec rm -rf {} +",
"clean:all": "find . \\( -type d \\( -name node_modules -o -name dist -o -name .cache -o -name .next -o -name .turbo \\) -o -type f -name tsconfig.tsbuildinfo \\) -exec rm -rf {} +",
"dev": "cross-env node --no-deprecation ./test/dev.js",
"dev:generate-graphql-schema": "NODE_OPTIONS=--no-deprecation ts-node -T ./test/generateGraphQLSchema.ts",
"dev:generate-types": "NODE_OPTIONS=--no-deprecation ts-node -T ./test/generateTypes.ts",
"dev:generate-graphql-schema": "NODE_OPTIONS=--no-deprecation tsx ./test/generateGraphQLSchema.ts",
"dev:generate-types": "NODE_OPTIONS=--no-deprecation tsx ./test/generateTypes.ts",
"dev:postgres": "pnpm --filter payload run dev:postgres",
"docker:restart": "pnpm docker:stop --remove-orphans && pnpm docker:start",
"docker:start": "docker-compose -f packages/plugin-cloud-storage/docker-compose.yml up -d",
@@ -54,7 +57,7 @@
"release:beta": "tsx ./scripts/release.ts --bump prerelease --tag beta",
"test": "pnpm test:int && pnpm test:components && pnpm test:e2e",
"test:components": "cross-env NODE_OPTIONS=--no-deprecation jest --config=jest.components.config.js",
"test:e2e": "NODE_OPTIONS=--no-deprecation npx playwright install --with-deps chromium && NODE_OPTIONS=--no-deprecation ts-node -T ./test/runE2E.ts",
"test:e2e": "NODE_OPTIONS=--no-deprecation npx playwright install --with-deps chromium && NODE_OPTIONS=--no-deprecation tsx ./test/runE2E.ts",
"test:e2e:debug": "cross-env NODE_OPTIONS=--no-deprecation PWDEBUG=1 DISABLE_LOGGING=true playwright test",
"test:e2e:headed": "cross-env NODE_OPTIONS=--no-deprecation DISABLE_LOGGING=true playwright test --headed",
"test:int:postgres": "cross-env NODE_OPTIONS=--no-deprecation PAYLOAD_DATABASE=postgres DISABLE_LOGGING=true jest --forceExit --detectOpenHandles",
@@ -66,19 +69,19 @@
"@next/bundle-analyzer": "^14.1.0",
"@octokit/core": "^5.1.0",
"@payloadcms/eslint-config": "workspace:*",
"@playwright/test": "1.40.1",
"@playwright/test": "1.42.1",
"@swc/cli": "^0.1.62",
"@swc/jest": "0.2.29",
"@swc/jest": "0.2.36",
"@swc/register": "0.1.10",
"@testing-library/jest-dom": "5.17.0",
"@testing-library/react": "13.4.0",
"@testing-library/jest-dom": "6.4.2",
"@testing-library/react": "14.2.1",
"@types/concat-stream": "^2.0.1",
"@types/conventional-changelog": "^3.1.4",
"@types/conventional-changelog-core": "^4.2.5",
"@types/conventional-changelog-preset-loader": "^2.3.4",
"@types/conventional-changelog-writer": "^4.0.10",
"@types/fs-extra": "^11.0.2",
"@types/jest": "29.5.7",
"@types/jest": "29.5.12",
"@types/minimist": "1.2.2",
"@types/node": "20.5.7",
"@types/prompts": "^2.4.5",
@@ -86,7 +89,6 @@
"@types/react": "18.2.15",
"@types/semver": "^7.5.3",
"@types/shelljs": "0.8.12",
"@types/testing-library__jest-dom": "5.14.8",
"add-stream": "^1.0.0",
"chalk": "^4.1.2",
"comment-json": "^4.2.3",
@@ -101,7 +103,6 @@
"dotenv": "8.6.0",
"drizzle-orm": "0.29.4",
"execa": "5.1.1",
"express": "4.18.2",
"form-data": "3.0.1",
"fs-extra": "10.1.0",
"get-port": "5.1.1",
@@ -135,9 +136,8 @@
"slash": "3.0.0",
"slate": "0.91.4",
"tempfile": "^3.0.0",
"ts-node": "10.9.2",
"tsx": "^4.7.1",
"turbo": "^1.12.4",
"turbo": "^1.12.5",
"typescript": "5.2.2",
"uuid": "^9.0.1",
"yocto-queue": "^1.0.0"
@@ -168,7 +168,6 @@
"graphql": "^16.8.1",
"react": "$react",
"react-dom": "$react-dom",
"ts-node": "$ts-node",
"typescript": "$typescript"
},
"allowedDeprecatedVersions": {

View File

@@ -10,6 +10,6 @@
}
},
"module": {
"type": "commonjs"
"type": "es6"
}
}

View File

@@ -1,10 +1,11 @@
{
"name": "@payloadcms/db-mongodb",
"version": "3.0.0-alpha.15",
"version": "3.0.0-alpha.32",
"description": "The officially supported MongoDB database adapter for Payload - Update 2",
"repository": "https://github.com/payloadcms/payload",
"license": "MIT",
"homepage": "https://payloadcms.com",
"type": "module",
"author": {
"email": "info@payloadcms.com",
"name": "Payload",

View File

@@ -4,7 +4,7 @@ import type { Connect } from 'payload/database'
import mongoose from 'mongoose'
import type { MongooseAdapter } from '.'
import type { MongooseAdapter } from './index.js'
export const connect: Connect = async function connect(
this: MongooseAdapter,
@@ -23,7 +23,6 @@ export const connect: Connect = async function connect(
}
const urlToConnect = this.url
const successfulConnectionMessage = 'Connected to MongoDB server successfully!'
const connectionOptions: ConnectOptions & { useFacet: undefined } = {
autoIndex: true,
@@ -49,8 +48,6 @@ export const connect: Connect = async function connect(
await mongoose.connection.dropDatabase()
this.payload.logger.info('---- DROPPED DATABASE ----')
}
this.payload.logger.info(successfulConnectionMessage)
}
} catch (err) {
this.payload.logger.error(`Error: cannot connect to MongoDB. Details: ${err.message}`, err)

View File

@@ -1,10 +1,10 @@
import type { Create } from 'payload/database'
import type { Document, PayloadRequest } from 'payload/types'
import type { MongooseAdapter } from '.'
import type { MongooseAdapter } from './index.js'
import handleError from './utilities/handleError'
import { withSession } from './withSession'
import handleError from './utilities/handleError.js'
import { withSession } from './withSession.js'
export const create: Create = async function create(
this: MongooseAdapter,

View File

@@ -1,14 +1,14 @@
import type { CreateGlobal } from 'payload/database'
import type { PayloadRequest } from 'payload/types'
import type { MongooseAdapter } from '.'
import type { MongooseAdapter } from './index.js'
import sanitizeInternalFields from './utilities/sanitizeInternalFields'
import { withSession } from './withSession'
import sanitizeInternalFields from './utilities/sanitizeInternalFields.js'
import { withSession } from './withSession.js'
export const createGlobal: CreateGlobal = async function createGlobal(
this: MongooseAdapter,
{ data, req = {} as PayloadRequest, slug },
{ slug, data, req = {} as PayloadRequest },
) {
const Model = this.globals
const global = {

View File

@@ -2,9 +2,9 @@ import type { CreateGlobalVersion } from 'payload/database'
import type { PayloadRequest } from 'payload/types'
import type { Document } from 'payload/types'
import type { MongooseAdapter } from '.'
import type { MongooseAdapter } from './index.js'
import { withSession } from './withSession'
import { withSession } from './withSession.js'
export const createGlobalVersion: CreateGlobalVersion = async function createGlobalVersion(
this: MongooseAdapter,

View File

@@ -3,6 +3,7 @@ import type { CreateMigration } from 'payload/database'
import fs from 'fs'
import path from 'path'
import { fileURLToPath } from 'url'
const migrationTemplate = (upSQL?: string, downSQL?: string) => `import {
MigrateUpArgs,
@@ -23,6 +24,9 @@ export const createMigration: CreateMigration = async function createMigration({
migrationName,
payload,
}) {
const filename = fileURLToPath(import.meta.url)
const dirname = path.dirname(filename)
const dir = payload.db.migrationDir
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir)
@@ -37,7 +41,7 @@ export const createMigration: CreateMigration = async function createMigration({
const predefinedMigrationName = file.replace('@payloadcms/db-mongodb/', '')
migrationName = predefinedMigrationName
const cleanPath = path.join(__dirname, `../predefinedMigrations/${predefinedMigrationName}.js`)
const cleanPath = path.join(dirname, `../predefinedMigrations/${predefinedMigrationName}.js`)
// Check if predefined migration exists
if (fs.existsSync(cleanPath)) {

View File

@@ -2,9 +2,9 @@ import type { CreateVersion } from 'payload/database'
import type { PayloadRequest } from 'payload/types'
import type { Document } from 'payload/types'
import type { MongooseAdapter } from '.'
import type { MongooseAdapter } from './index.js'
import { withSession } from './withSession'
import { withSession } from './withSession.js'
export const createVersion: CreateVersion = async function createVersion(
this: MongooseAdapter,

View File

@@ -1,9 +1,9 @@
import type { DeleteMany } from 'payload/database'
import type { PayloadRequest } from 'payload/types'
import type { MongooseAdapter } from '.'
import type { MongooseAdapter } from './index.js'
import { withSession } from './withSession'
import { withSession } from './withSession.js'
export const deleteMany: DeleteMany = async function deleteMany(
this: MongooseAdapter,

View File

@@ -2,10 +2,10 @@ import type { DeleteOne } from 'payload/database'
import type { PayloadRequest } from 'payload/types'
import type { Document } from 'payload/types'
import type { MongooseAdapter } from '.'
import type { MongooseAdapter } from './index.js'
import sanitizeInternalFields from './utilities/sanitizeInternalFields'
import { withSession } from './withSession'
import sanitizeInternalFields from './utilities/sanitizeInternalFields.js'
import { withSession } from './withSession.js'
export const deleteOne: DeleteOne = async function deleteOne(
this: MongooseAdapter,

View File

@@ -1,9 +1,9 @@
import type { DeleteVersions } from 'payload/database'
import type { PayloadRequest } from 'payload/types'
import type { MongooseAdapter } from '.'
import type { MongooseAdapter } from './index.js'
import { withSession } from './withSession'
import { withSession } from './withSession.js'
export const deleteVersions: DeleteVersions = async function deleteVersions(
this: MongooseAdapter,

View File

@@ -2,7 +2,7 @@ import type { Destroy } from 'payload/database'
import mongoose from 'mongoose'
import type { MongooseAdapter } from './index'
import type { MongooseAdapter } from './index.js'
export const destroy: Destroy = async function destroy(this: MongooseAdapter) {
if (this.mongoMemoryServer) {

View File

@@ -4,11 +4,11 @@ import type { PayloadRequest } from 'payload/types'
import { flattenWhereToOperators } from 'payload/database'
import type { MongooseAdapter } from '.'
import type { MongooseAdapter } from './index.js'
import { buildSortParam } from './queries/buildSortParam'
import sanitizeInternalFields from './utilities/sanitizeInternalFields'
import { withSession } from './withSession'
import { buildSortParam } from './queries/buildSortParam.js'
import sanitizeInternalFields from './utilities/sanitizeInternalFields.js'
import { withSession } from './withSession.js'
export const find: Find = async function find(
this: MongooseAdapter,

View File

@@ -3,10 +3,10 @@ import type { PayloadRequest } from 'payload/types'
import { combineQueries } from 'payload/database'
import type { MongooseAdapter } from '.'
import type { MongooseAdapter } from './index.js'
import sanitizeInternalFields from './utilities/sanitizeInternalFields'
import { withSession } from './withSession'
import sanitizeInternalFields from './utilities/sanitizeInternalFields.js'
import { withSession } from './withSession.js'
export const findGlobal: FindGlobal = async function findGlobal(
this: MongooseAdapter,

View File

@@ -5,11 +5,11 @@ import type { PayloadRequest } from 'payload/types'
import { flattenWhereToOperators } from 'payload/database'
import { buildVersionGlobalFields } from 'payload/versions'
import type { MongooseAdapter } from '.'
import type { MongooseAdapter } from './index.js'
import { buildSortParam } from './queries/buildSortParam'
import sanitizeInternalFields from './utilities/sanitizeInternalFields'
import { withSession } from './withSession'
import { buildSortParam } from './queries/buildSortParam.js'
import sanitizeInternalFields from './utilities/sanitizeInternalFields.js'
import { withSession } from './withSession.js'
export const findGlobalVersions: FindGlobalVersions = async function findGlobalVersions(
this: MongooseAdapter,

View File

@@ -3,10 +3,10 @@ import type { FindOne } from 'payload/database'
import type { PayloadRequest } from 'payload/types'
import type { Document } from 'payload/types'
import type { MongooseAdapter } from '.'
import type { MongooseAdapter } from './index.js'
import sanitizeInternalFields from './utilities/sanitizeInternalFields'
import { withSession } from './withSession'
import sanitizeInternalFields from './utilities/sanitizeInternalFields.js'
import { withSession } from './withSession.js'
export const findOne: FindOne = async function findOne(
this: MongooseAdapter,

View File

@@ -4,11 +4,11 @@ import type { PayloadRequest } from 'payload/types'
import { flattenWhereToOperators } from 'payload/database'
import type { MongooseAdapter } from '.'
import type { MongooseAdapter } from './index.js'
import { buildSortParam } from './queries/buildSortParam'
import sanitizeInternalFields from './utilities/sanitizeInternalFields'
import { withSession } from './withSession'
import { buildSortParam } from './queries/buildSortParam.js'
import sanitizeInternalFields from './utilities/sanitizeInternalFields.js'
import { withSession } from './withSession.js'
export const findVersions: FindVersions = async function findVersions(
this: MongooseAdapter,

View File

@@ -8,35 +8,35 @@ import mongoose from 'mongoose'
import path from 'path'
import { createDatabaseAdapter } from 'payload/database'
import type { CollectionModel, GlobalModel } from './types'
import type { CollectionModel, GlobalModel } from './types.js'
import { connect } from './connect'
import { create } from './create'
import { createGlobal } from './createGlobal'
import { createGlobalVersion } from './createGlobalVersion'
import { createMigration } from './createMigration'
import { createVersion } from './createVersion'
import { deleteMany } from './deleteMany'
import { deleteOne } from './deleteOne'
import { deleteVersions } from './deleteVersions'
import { destroy } from './destroy'
import { find } from './find'
import { findGlobal } from './findGlobal'
import { findGlobalVersions } from './findGlobalVersions'
import { findOne } from './findOne'
import { findVersions } from './findVersions'
import { init } from './init'
import { migrateFresh } from './migrateFresh'
import { queryDrafts } from './queryDrafts'
import { beginTransaction } from './transactions/beginTransaction'
import { commitTransaction } from './transactions/commitTransaction'
import { rollbackTransaction } from './transactions/rollbackTransaction'
import { updateGlobal } from './updateGlobal'
import { updateGlobalVersion } from './updateGlobalVersion'
import { updateOne } from './updateOne'
import { updateVersion } from './updateVersion'
import { connect } from './connect.js'
import { create } from './create.js'
import { createGlobal } from './createGlobal.js'
import { createGlobalVersion } from './createGlobalVersion.js'
import { createMigration } from './createMigration.js'
import { createVersion } from './createVersion.js'
import { deleteMany } from './deleteMany.js'
import { deleteOne } from './deleteOne.js'
import { deleteVersions } from './deleteVersions.js'
import { destroy } from './destroy.js'
import { find } from './find.js'
import { findGlobal } from './findGlobal.js'
import { findGlobalVersions } from './findGlobalVersions.js'
import { findOne } from './findOne.js'
import { findVersions } from './findVersions.js'
import { init } from './init.js'
import { migrateFresh } from './migrateFresh.js'
import { queryDrafts } from './queryDrafts.js'
import { beginTransaction } from './transactions/beginTransaction.js'
import { commitTransaction } from './transactions/commitTransaction.js'
import { rollbackTransaction } from './transactions/rollbackTransaction.js'
import { updateGlobal } from './updateGlobal.js'
import { updateGlobalVersion } from './updateGlobalVersion.js'
import { updateOne } from './updateOne.js'
import { updateVersion } from './updateVersion.js'
export type { MigrateDownArgs, MigrateUpArgs } from './types'
export type { MigrateDownArgs, MigrateUpArgs } from './types.js'
import type { DatabaseAdapterObj } from 'payload/database'
export interface Args {

View File

@@ -11,13 +11,13 @@ import {
getVersionsModelName,
} from 'payload/versions'
import type { MongooseAdapter } from '.'
import type { CollectionModel } from './types'
import type { MongooseAdapter } from './index.js'
import type { CollectionModel } from './types.js'
import buildCollectionSchema from './models/buildCollectionSchema'
import { buildGlobalModel } from './models/buildGlobalModel'
import buildSchema from './models/buildSchema'
import getBuildQueryPlugin from './queries/buildQuery'
import buildCollectionSchema from './models/buildCollectionSchema.js'
import { buildGlobalModel } from './models/buildGlobalModel.js'
import buildSchema from './models/buildSchema.js'
import getBuildQueryPlugin from './queries/buildQuery.js'
export const init: Init = function init(this: MongooseAdapter) {
this.payload.config.collections.forEach((collection: SanitizedCollectionConfig) => {

View File

@@ -8,7 +8,7 @@ import {
} from 'payload/database'
import prompts from 'prompts'
import type { MongooseAdapter } from '.'
import type { MongooseAdapter } from './index.js'
/**
* Drop the current database and run all migrate up functions

View File

@@ -4,8 +4,8 @@ import type { SanitizedCollectionConfig } from 'payload/types'
import paginate from 'mongoose-paginate-v2'
import getBuildQueryPlugin from '../queries/buildQuery'
import buildSchema from './buildSchema'
import getBuildQueryPlugin from '../queries/buildQuery.js'
import buildSchema from './buildSchema.js'
const buildCollectionSchema = (
collection: SanitizedCollectionConfig,

View File

@@ -2,10 +2,10 @@ import type { SanitizedConfig } from 'payload/config'
import mongoose from 'mongoose'
import type { GlobalModel } from '../types'
import type { GlobalModel } from '../types.js'
import getBuildQueryPlugin from '../queries/buildQuery'
import buildSchema from './buildSchema'
import getBuildQueryPlugin from '../queries/buildQuery.js'
import buildSchema from './buildSchema.js'
export const buildGlobalModel = (config: SanitizedConfig): GlobalModel | null => {
if (config.globals && config.globals.length > 0) {

View File

@@ -1,7 +1,7 @@
import type { Payload } from 'payload'
import type { Field, Where } from 'payload/types'
import { parseParams } from './parseParams'
import { parseParams } from './parseParams.js'
export async function buildAndOrConditions({
collectionSlug,

View File

@@ -3,7 +3,7 @@ import type { Field, Where } from 'payload/types'
import { QueryError } from 'payload/errors'
import { parseParams } from './parseParams'
import { parseParams } from './parseParams.js'
type GetBuildQueryPluginArgs = {
collectionSlug?: string

View File

@@ -3,16 +3,19 @@ import type { PathToQuery } from 'payload/database'
import type { Field } from 'payload/types'
import type { Operator } from 'payload/types'
import ObjectId from 'bson-objectid'
import ObjectIdImport from 'bson-objectid'
import mongoose from 'mongoose'
import { getLocalizedPaths } from 'payload/database'
import { fieldAffectsData } from 'payload/types'
import { validOperators } from 'payload/types'
import type { MongooseAdapter } from '..'
import type { MongooseAdapter } from '../index.js'
import { operatorMap } from './operatorMap'
import { sanitizeQueryValue } from './sanitizeQueryValue'
import { operatorMap } from './operatorMap.js'
import { sanitizeQueryValue } from './sanitizeQueryValue.js'
const ObjectId = (ObjectIdImport.default ||
ObjectIdImport) as unknown as typeof ObjectIdImport.default
type SearchParam = {
path?: string
@@ -204,7 +207,9 @@ export async function buildSearchParam({
if (typeof formattedValue === 'string') {
if (mongoose.Types.ObjectId.isValid(formattedValue)) {
result.value.$or.push({ [path]: { [operatorKey]: new ObjectId(formattedValue) } })
result.value.$or.push({
[path]: { [operatorKey]: new ObjectId(formattedValue) },
})
} else {
;(Array.isArray(field.relationTo) ? field.relationTo : [field.relationTo]).forEach(
(relationTo) => {

View File

@@ -2,7 +2,7 @@ import type { PaginateOptions } from 'mongoose'
import type { SanitizedConfig } from 'payload/config'
import type { Field } from 'payload/types'
import { getLocalizedSortProperty } from './getLocalizedSortProperty'
import { getLocalizedSortProperty } from './getLocalizedSortProperty.js'
type Args = {
config: SanitizedConfig

View File

@@ -1,6 +1,6 @@
import { sanitizeConfig } from 'payload/config'
import { Config } from 'payload/config'
import { getLocalizedSortProperty } from './getLocalizedSortProperty'
import { getLocalizedSortProperty } from './getLocalizedSortProperty.js'
const config = {
localization: {

View File

@@ -9,8 +9,8 @@ import deepmerge from 'deepmerge'
import { validOperators } from 'payload/types'
import { combineMerge } from 'payload/utilities'
import { buildAndOrConditions } from './buildAndOrConditions'
import { buildSearchParam } from './buildSearchParams'
import { buildAndOrConditions } from './buildAndOrConditions.js'
import { buildSearchParam } from './buildSearchParams.js'
export async function parseParams({
collectionSlug,

View File

@@ -4,11 +4,11 @@ import type { PayloadRequest } from 'payload/types'
import { combineQueries, flattenWhereToOperators } from 'payload/database'
import type { MongooseAdapter } from '.'
import type { MongooseAdapter } from './index.js'
import { buildSortParam } from './queries/buildSortParam'
import sanitizeInternalFields from './utilities/sanitizeInternalFields'
import { withSession } from './withSession'
import { buildSortParam } from './queries/buildSortParam.js'
import sanitizeInternalFields from './utilities/sanitizeInternalFields.js'
import { withSession } from './withSession.js'
export const queryDrafts: QueryDrafts = async function queryDrafts(
this: MongooseAdapter,

View File

@@ -4,7 +4,7 @@ import type { BeginTransaction } from 'payload/database'
import { APIError } from 'payload/errors'
import { v4 as uuid } from 'uuid'
import type { MongooseAdapter } from '../index'
import type { MongooseAdapter } from '../index.js'
export const beginTransaction: BeginTransaction = async function beginTransaction(
this: MongooseAdapter,

View File

@@ -25,7 +25,7 @@ import type {
UploadField,
} from 'payload/types'
import type { BuildQueryArgs } from './queries/buildQuery'
import type { BuildQueryArgs } from './queries/buildQuery.js'
export interface CollectionModel extends Model<any>, PaginateModel<any> {
/** buildQuery is used to transform payload's where operator into what can be used by mongoose (e.g. id => _id) */

View File

@@ -1,10 +1,10 @@
import type { UpdateGlobal } from 'payload/database'
import type { PayloadRequest } from 'payload/types'
import type { MongooseAdapter } from '.'
import type { MongooseAdapter } from './index.js'
import sanitizeInternalFields from './utilities/sanitizeInternalFields'
import { withSession } from './withSession'
import sanitizeInternalFields from './utilities/sanitizeInternalFields.js'
import { withSession } from './withSession.js'
export const updateGlobal: UpdateGlobal = async function updateGlobal(
this: MongooseAdapter,

View File

@@ -1,9 +1,9 @@
import type { UpdateGlobalVersionArgs } from 'payload/database'
import type { PayloadRequest, TypeWithID } from 'payload/types'
import type { MongooseAdapter } from '.'
import type { MongooseAdapter } from './index.js'
import { withSession } from './withSession'
import { withSession } from './withSession.js'
export async function updateGlobalVersion<T extends TypeWithID>(
this: MongooseAdapter,

View File

@@ -1,11 +1,11 @@
import type { UpdateOne } from 'payload/database'
import type { PayloadRequest } from 'payload/types'
import type { MongooseAdapter } from '.'
import type { MongooseAdapter } from './index.js'
import handleError from './utilities/handleError'
import sanitizeInternalFields from './utilities/sanitizeInternalFields'
import { withSession } from './withSession'
import handleError from './utilities/handleError.js'
import sanitizeInternalFields from './utilities/sanitizeInternalFields.js'
import { withSession } from './withSession.js'
export const updateOne: UpdateOne = async function updateOne(
this: MongooseAdapter,

View File

@@ -1,9 +1,9 @@
import type { UpdateVersion } from 'payload/database'
import type { PayloadRequest } from 'payload/types'
import type { MongooseAdapter } from '.'
import type { MongooseAdapter } from './index.js'
import { withSession } from './withSession'
import { withSession } from './withSession.js'
export const updateVersion: UpdateVersion = async function updateVersion(
this: MongooseAdapter,

View File

@@ -1,6 +1,6 @@
import type { ClientSession } from 'mongoose'
import type { MongooseAdapter } from './index'
import type { MongooseAdapter } from './index.js'
/**
* returns the session belonging to the transaction of the req.session if exists

View File

@@ -10,6 +10,6 @@
}
},
"module": {
"type": "commonjs"
"type": "es6"
}
}

View File

@@ -1,10 +1,11 @@
{
"name": "@payloadcms/db-postgres",
"version": "0.7.0",
"version": "3.0.0-alpha.32",
"description": "The officially supported Postgres database adapter for Payload",
"repository": "https://github.com/payloadcms/payload",
"license": "MIT",
"homepage": "https://payloadcms.com",
"type": "module",
"author": {
"email": "info@payloadcms.com",
"name": "Payload",

View File

@@ -7,7 +7,7 @@ import { numeric, timestamp, varchar } from 'drizzle-orm/pg-core'
import { Pool } from 'pg'
import prompts from 'prompts'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
const connectWithReconnect = async function ({
adapter,
@@ -93,7 +93,7 @@ export const connect: Connect = async function connect(
)
return
const { pushSchema } = require('drizzle-kit/payload')
const { pushSchema } = await import('drizzle-kit/payload')
// This will prompt if clarifications are needed for Drizzle to push new schema
const { apply, hasDataLoss, statementsToExecute, warnings } = await pushSchema(

View File

@@ -2,9 +2,9 @@ import type { Create } from 'payload/database'
import toSnakeCase from 'to-snake-case'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
import { upsertRow } from './upsertRow'
import { upsertRow } from './upsertRow/index.js'
export const create: Create = async function create(
this: PostgresAdapter,

View File

@@ -3,9 +3,9 @@ import type { PayloadRequest, TypeWithID } from 'payload/types'
import toSnakeCase from 'to-snake-case'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
import { upsertRow } from './upsertRow'
import { upsertRow } from './upsertRow/index.js'
export async function createGlobal<T extends TypeWithID>(
this: PostgresAdapter,

View File

@@ -6,9 +6,9 @@ import { sql } from 'drizzle-orm'
import { buildVersionGlobalFields } from 'payload/versions'
import toSnakeCase from 'to-snake-case'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
import { upsertRow } from './upsertRow'
import { upsertRow } from './upsertRow/index.js'
export async function createGlobalVersion<T extends TypeWithID>(
this: PostgresAdapter,

View File

@@ -5,7 +5,7 @@ import type { CreateMigration } from 'payload/database'
import fs from 'fs'
import prompts from 'prompts'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
const migrationTemplate = (
upSQL?: string,
@@ -60,7 +60,7 @@ export const createMigration: CreateMigration = async function createMigration(
fs.mkdirSync(dir)
}
const { generateDrizzleJson, generateMigration } = require('drizzle-kit/payload')
const { generateDrizzleJson, generateMigration } = await import('drizzle-kit/payload')
const [yyymmdd, hhmmss] = new Date().toISOString().split('T')
const formattedDate = yyymmdd.replace(/\D/g, '')

View File

@@ -5,9 +5,9 @@ import { sql } from 'drizzle-orm'
import { buildVersionCollectionFields } from 'payload/versions'
import toSnakeCase from 'to-snake-case'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
import { upsertRow } from './upsertRow'
import { upsertRow } from './upsertRow/index.js'
export async function createVersion<T extends TypeWithID>(
this: PostgresAdapter,

View File

@@ -4,9 +4,9 @@ import type { PayloadRequest } from 'payload/types'
import { inArray } from 'drizzle-orm'
import toSnakeCase from 'to-snake-case'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
import { findMany } from './find/findMany'
import { findMany } from './find/findMany.js'
export const deleteMany: DeleteMany = async function deleteMany(
this: PostgresAdapter,

View File

@@ -3,11 +3,11 @@ import type { PayloadRequest } from 'payload/types'
import toSnakeCase from 'to-snake-case'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
import { buildFindManyArgs } from './find/buildFindManyArgs'
import buildQuery from './queries/buildQuery'
import { transform } from './transform/read'
import { buildFindManyArgs } from './find/buildFindManyArgs.js'
import buildQuery from './queries/buildQuery.js'
import { transform } from './transform/read/index.js'
export const deleteOne: DeleteOne = async function deleteOne(
this: PostgresAdapter,

View File

@@ -5,9 +5,9 @@ import { inArray } from 'drizzle-orm'
import { buildVersionCollectionFields } from 'payload/versions'
import toSnakeCase from 'to-snake-case'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
import { findMany } from './find/findMany'
import { findMany } from './find/findMany.js'
export const deleteVersions: DeleteVersions = async function deleteVersion(
this: PostgresAdapter,

View File

@@ -1,6 +1,6 @@
import type { Destroy } from 'payload/database'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
export const destroy: Destroy = async function destroy(this: PostgresAdapter) {
// TODO: this hangs test suite for some reason

View File

@@ -3,9 +3,9 @@ import type { PayloadRequest, SanitizedCollectionConfig } from 'payload/types'
import toSnakeCase from 'to-snake-case'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
import { findMany } from './find/findMany'
import { findMany } from './find/findMany.js'
export const find: Find = async function find(
this: PostgresAdapter,

View File

@@ -1,9 +1,9 @@
import type { DBQueryConfig } from 'drizzle-orm'
import type { Field } from 'payload/types'
import type { PostgresAdapter } from '../types'
import type { PostgresAdapter } from '../types.js'
import { traverseFields } from './traverseFields'
import { traverseFields } from './traverseFields.js'
type BuildFindQueryArgs = {
adapter: PostgresAdapter

View File

@@ -3,13 +3,13 @@ import type { Field, PayloadRequest, TypeWithID } from 'payload/types'
import { inArray, sql } from 'drizzle-orm'
import type { PostgresAdapter } from '../types'
import type { ChainedMethods } from './chainMethods'
import type { PostgresAdapter } from '../types.js'
import type { ChainedMethods } from './chainMethods.js'
import buildQuery from '../queries/buildQuery'
import { transform } from '../transform/read'
import { buildFindManyArgs } from './buildFindManyArgs'
import { chainMethods } from './chainMethods'
import buildQuery from '../queries/buildQuery.js'
import { transform } from '../transform/read/index.js'
import { buildFindManyArgs } from './buildFindManyArgs.js'
import { chainMethods } from './chainMethods.js'
type Args = Omit<FindArgs, 'collection'> & {
adapter: PostgresAdapter

View File

@@ -4,8 +4,8 @@ import type { Field } from 'payload/types'
import { fieldAffectsData, tabHasName } from 'payload/types'
import toSnakeCase from 'to-snake-case'
import type { PostgresAdapter } from '../types'
import type { Result } from './buildFindManyArgs'
import type { PostgresAdapter } from '../types.js'
import type { Result } from './buildFindManyArgs.js'
type TraverseFieldArgs = {
_locales: Record<string, unknown>

View File

@@ -2,9 +2,9 @@ import type { FindGlobal } from 'payload/database'
import toSnakeCase from 'to-snake-case'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
import { findMany } from './find/findMany'
import { findMany } from './find/findMany.js'
export const findGlobal: FindGlobal = async function findGlobal(
this: PostgresAdapter,

View File

@@ -4,9 +4,9 @@ import type { PayloadRequest, SanitizedGlobalConfig } from 'payload/types'
import { buildVersionGlobalFields } from 'payload/versions'
import toSnakeCase from 'to-snake-case'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
import { findMany } from './find/findMany'
import { findMany } from './find/findMany.js'
export const findGlobalVersions: FindGlobalVersions = async function findGlobalVersions(
this: PostgresAdapter,

View File

@@ -3,9 +3,9 @@ import type { PayloadRequest, SanitizedCollectionConfig, TypeWithID } from 'payl
import toSnakeCase from 'to-snake-case'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
import { findMany } from './find/findMany'
import { findMany } from './find/findMany.js'
export async function findOne<T extends TypeWithID>(
this: PostgresAdapter,

View File

@@ -4,9 +4,9 @@ import type { PayloadRequest, SanitizedCollectionConfig } from 'payload/types'
import { buildVersionCollectionFields } from 'payload/versions'
import toSnakeCase from 'to-snake-case'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
import { findMany } from './find/findMany'
import { findMany } from './find/findMany.js'
export const findVersions: FindVersions = async function findVersions(
this: PostgresAdapter,

View File

@@ -5,40 +5,40 @@ import fs from 'fs'
import path from 'path'
import { createDatabaseAdapter } from 'payload/database'
import type { Args, PostgresAdapter } from './types'
import type { Args, PostgresAdapter } from './types.js'
import { connect } from './connect'
import { create } from './create'
import { createGlobal } from './createGlobal'
import { createGlobalVersion } from './createGlobalVersion'
import { createMigration } from './createMigration'
import { createVersion } from './createVersion'
import { deleteMany } from './deleteMany'
import { deleteOne } from './deleteOne'
import { deleteVersions } from './deleteVersions'
import { destroy } from './destroy'
import { find } from './find'
import { findGlobal } from './findGlobal'
import { findGlobalVersions } from './findGlobalVersions'
import { findOne } from './findOne'
import { findVersions } from './findVersions'
import { init } from './init'
import { migrate } from './migrate'
import { migrateDown } from './migrateDown'
import { migrateFresh } from './migrateFresh'
import { migrateRefresh } from './migrateRefresh'
import { migrateReset } from './migrateReset'
import { migrateStatus } from './migrateStatus'
import { queryDrafts } from './queryDrafts'
import { beginTransaction } from './transactions/beginTransaction'
import { commitTransaction } from './transactions/commitTransaction'
import { rollbackTransaction } from './transactions/rollbackTransaction'
import { updateOne } from './update'
import { updateGlobal } from './updateGlobal'
import { updateGlobalVersion } from './updateGlobalVersion'
import { updateVersion } from './updateVersion'
import { connect } from './connect.js'
import { create } from './create.js'
import { createGlobal } from './createGlobal.js'
import { createGlobalVersion } from './createGlobalVersion.js'
import { createMigration } from './createMigration.js'
import { createVersion } from './createVersion.js'
import { deleteMany } from './deleteMany.js'
import { deleteOne } from './deleteOne.js'
import { deleteVersions } from './deleteVersions.js'
import { destroy } from './destroy.js'
import { find } from './find.js'
import { findGlobal } from './findGlobal.js'
import { findGlobalVersions } from './findGlobalVersions.js'
import { findOne } from './findOne.js'
import { findVersions } from './findVersions.js'
import { init } from './init.js'
import { migrate } from './migrate.js'
import { migrateDown } from './migrateDown.js'
import { migrateFresh } from './migrateFresh.js'
import { migrateRefresh } from './migrateRefresh.js'
import { migrateReset } from './migrateReset.js'
import { migrateStatus } from './migrateStatus.js'
import { queryDrafts } from './queryDrafts.js'
import { beginTransaction } from './transactions/beginTransaction.js'
import { commitTransaction } from './transactions/commitTransaction.js'
import { rollbackTransaction } from './transactions/rollbackTransaction.js'
import { updateOne } from './update.js'
import { updateGlobal } from './updateGlobal.js'
import { updateGlobalVersion } from './updateGlobalVersion.js'
import { updateVersion } from './updateVersion.js'
export type { MigrateDownArgs, MigrateUpArgs } from './types'
export type { MigrateDownArgs, MigrateUpArgs } from './types.js'
export function postgresAdapter(args: Args): DatabaseAdapterObj<PostgresAdapter> {
function adapter({ payload }: { payload: Payload }) {

View File

@@ -6,11 +6,11 @@ import { pgEnum, pgSchema, pgTable } from 'drizzle-orm/pg-core'
import { buildVersionCollectionFields, buildVersionGlobalFields } from 'payload/versions'
import toSnakeCase from 'to-snake-case'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
import { buildTable } from './schema/build'
import { buildTable } from './schema/build.js'
export const init: Init = async function init(this: PostgresAdapter) {
export const init: Init = function init(this: PostgresAdapter) {
if (this.schemaName) {
this.pgSchema = pgSchema(this.schemaName)
} else {

View File

@@ -11,11 +11,11 @@ import {
} from 'payload/database'
import prompts from 'prompts'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
import { createMigrationTable } from './utilities/createMigrationTable'
import { migrationTableExists } from './utilities/migrationTableExists'
import { parseError } from './utilities/parseError'
import { createMigrationTable } from './utilities/createMigrationTable.js'
import { migrationTableExists } from './utilities/migrationTableExists.js'
import { parseError } from './utilities/parseError.js'
export async function migrate(this: PostgresAdapter): Promise<void> {
const { payload } = this
@@ -82,7 +82,7 @@ export async function migrate(this: PostgresAdapter): Promise<void> {
}
async function runMigrationFile(payload: Payload, migration: Migration, batch: number) {
const { generateDrizzleJson } = require('drizzle-kit/payload')
const { generateDrizzleJson } = await import('drizzle-kit/payload')
const start = Date.now()
const req = { payload } as PayloadRequest

View File

@@ -9,10 +9,10 @@ import {
readMigrationFiles,
} from 'payload/database'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
import { migrationTableExists } from './utilities/migrationTableExists'
import { parseError } from './utilities/parseError'
import { migrationTableExists } from './utilities/migrationTableExists.js'
import { parseError } from './utilities/parseError.js'
export async function migrateDown(this: PostgresAdapter): Promise<void> {
const { payload } = this

View File

@@ -9,9 +9,9 @@ import {
} from 'payload/database'
import prompts from 'prompts'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
import { parseError } from './utilities/parseError'
import { parseError } from './utilities/parseError.js'
/**
* Drop the current database and run all migrate up functions

View File

@@ -9,10 +9,10 @@ import {
readMigrationFiles,
} from 'payload/database'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
import { migrationTableExists } from './utilities/migrationTableExists'
import { parseError } from './utilities/parseError'
import { migrationTableExists } from './utilities/migrationTableExists.js'
import { parseError } from './utilities/parseError.js'
/**
* Run all migration down functions before running up

View File

@@ -9,9 +9,9 @@ import {
readMigrationFiles,
} from 'payload/database'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
import { migrationTableExists } from './utilities/migrationTableExists'
import { migrationTableExists } from './utilities/migrationTableExists.js'
/**
* Run all migrate down functions

View File

@@ -1,9 +1,9 @@
import { Table } from 'console-table-printer'
import { getMigrations, readMigrationFiles } from 'payload/database'
import type { PostgresAdapter } from './types'
import type { PostgresAdapter } from './types.js'
import { migrationTableExists } from './utilities/migrationTableExists'
import { migrationTableExists } from './utilities/migrationTableExists.js'
export async function migrateStatus(this: PostgresAdapter): Promise<void> {
const { payload } = this

Some files were not shown because too many files have changed in this diff Show More