Fix/live preview flake (#5707)

This commit is contained in:
James Mikrut
2024-04-06 14:31:19 -04:00
committed by GitHub
5 changed files with 35 additions and 116 deletions

View File

@@ -1,54 +0,0 @@
import path from 'path'
import fs from 'fs'
import { copyRecursiveSync } from './utilities/copyRecursiveSync'
import { copyFile } from './utilities/copyFile'
const install = () => {
const useSrc = fs.existsSync(path.resolve(process.cwd(), './src'))
const hasAppFolder = fs.existsSync(path.resolve(process.cwd(), `./${useSrc ? 'src/' : 'app'}`))
if (!hasAppFolder) {
console.error(
`You need to have a ${
useSrc ? 'src/' : 'app/'
} folder in your project before running this command.`,
)
process.exit(1)
}
const basePath = useSrc ? './src' : '.'
// Copy handlers into /api
copyRecursiveSync(
path.resolve(__dirname, './templates/pages/api'),
path.resolve(process.cwd(), `${basePath}/pages/api`),
)
// Copy admin into /app
copyRecursiveSync(
path.resolve(__dirname, './templates/app'),
path.resolve(process.cwd(), `${basePath}/app`),
)
const payloadConfigPath = path.resolve(process.cwd(), `${basePath}/payload`)
if (!fs.existsSync(payloadConfigPath)) {
fs.mkdirSync(payloadConfigPath)
}
// Copy payload initialization
copyFile(
path.resolve(__dirname, './templates/payloadClient.ts'),
path.resolve(process.cwd(), `${basePath}/payload/payloadClient.ts`),
)
// Copy base payload config
copyFile(
path.resolve(__dirname, './templates/payload.config.ts'),
path.resolve(process.cwd(), `${basePath}/payload/payload.config.ts`),
)
process.exit(0)
}
export default install()

View File

@@ -1,7 +0,0 @@
import fs from 'fs'
export const copyFile = (source, target) => {
if (!fs.existsSync(target)) {
fs.writeFileSync(target, fs.readFileSync(source))
}
}

View File

@@ -1,16 +0,0 @@
import fs from 'fs'
import path from 'path'
export function copyRecursiveSync(src, dest) {
var exists = fs.existsSync(src)
var stats = exists && fs.statSync(src)
var isDirectory = exists && stats && stats.isDirectory()
if (isDirectory) {
fs.mkdirSync(dest, { recursive: true })
fs.readdirSync(src).forEach(function (childItemName) {
copyRecursiveSync(path.join(src, childItemName), path.join(dest, childItemName))
})
} else {
fs.copyFileSync(src, dest)
}
}

View File

@@ -10,9 +10,6 @@
"url": "https://github.com/payloadcms/payload.git",
"directory": "packages/next"
},
"bin": {
"@payloadcms/next": "./dist/bin/index.js"
},
"scripts": {
"build": "pnpm copyfiles && pnpm build:swc && pnpm build:types && pnpm build:webpack && rm dist/prod/index.js",
"build:swc": "swc ./src -d ./dist --config-file .swcrc",

View File

@@ -31,16 +31,15 @@ export const seed: Config['onInit'] = async (payload) => {
},
})
const [tenant1Doc] = await Promise.all([
await payload.create({
collection: tenantsSlug,
data: tenant1,
}),
await payload.create({
collection: tenantsSlug,
data: tenant2,
}),
])
const tenant1Doc = await payload.create({
collection: tenantsSlug,
data: tenant1,
})
await payload.create({
collection: tenantsSlug,
data: tenant2,
})
const media = await payload.create({
collection: 'media',
@@ -53,32 +52,32 @@ export const seed: Config['onInit'] = async (payload) => {
const mediaID = payload.db.defaultIDType === 'number' ? media.id : `"${media.id}"`
const tenantID = payload.db.defaultIDType === 'number' ? tenant1Doc.id : `"${tenant1Doc.id}"`
const [post1Doc, post2Doc, post3Doc] = await Promise.all([
await payload.create({
collection: postsSlug,
data: JSON.parse(
JSON.stringify(post1)
.replace(/"\{\{IMAGE\}\}"/g, mediaID)
.replace(/"\{\{TENANT_1_ID\}\}"/g, tenantID),
),
}),
await payload.create({
collection: postsSlug,
data: JSON.parse(
JSON.stringify(post2)
.replace(/"\{\{IMAGE\}\}"/g, mediaID)
.replace(/"\{\{TENANT_1_ID\}\}"/g, tenantID),
),
}),
await payload.create({
collection: postsSlug,
data: JSON.parse(
JSON.stringify(post3)
.replace(/"\{\{IMAGE\}\}"/g, mediaID)
.replace(/"\{\{TENANT_1_ID\}\}"/g, tenantID),
),
}),
])
const post1Doc = await payload.create({
collection: postsSlug,
data: JSON.parse(
JSON.stringify(post1)
.replace(/"\{\{IMAGE\}\}"/g, mediaID)
.replace(/"\{\{TENANT_1_ID\}\}"/g, tenantID),
),
})
const post2Doc = await payload.create({
collection: postsSlug,
data: JSON.parse(
JSON.stringify(post2)
.replace(/"\{\{IMAGE\}\}"/g, mediaID)
.replace(/"\{\{TENANT_1_ID\}\}"/g, tenantID),
),
})
const post3Doc = await payload.create({
collection: postsSlug,
data: JSON.parse(
JSON.stringify(post3)
.replace(/"\{\{IMAGE\}\}"/g, mediaID)
.replace(/"\{\{TENANT_1_ID\}\}"/g, tenantID),
),
})
const postsPageDoc = await payload.create({
collection: pagesSlug,