Compare commits

..

4 Commits

Author SHA1 Message Date
Elliot DeNolf
e6a5132812 0.5.0-beta.2 2023-10-01 15:44:40 -04:00
Elliot DeNolf
53310281d0 feat: add editor import and replacement 2023-10-01 15:44:26 -04:00
Elliot DeNolf
3ac9dae1d2 0.5.0-beta.1 2023-09-29 12:13:02 -04:00
Elliot DeNolf
9c165a73cb chore: proper postgres adapter import replacement 2023-09-29 12:12:49 -04:00
4 changed files with 40 additions and 8 deletions

View File

@@ -37,7 +37,7 @@
"prompts": "^2.4.2",
"terminal-link": "^2.1.1"
},
"version": "0.5.0-beta.0",
"version": "0.5.0-beta.2",
"devDependencies": {
"@types/command-exists": "^1.2.0",
"@types/degit": "^2.8.3",

View File

@@ -3,7 +3,7 @@ import path from 'path'
import type { DbDetails } from '../types'
import { warning } from '../utils/log'
import { bundlerPackages, dbPackages } from './packages'
import { bundlerPackages, dbPackages, editorPackages } from './packages'
/** Update payload config with necessary imports and adapters */
export async function configurePayloadConfig(args: {
@@ -21,9 +21,11 @@ export async function configurePayloadConfig(args: {
const dbPackage = dbPackages[args.dbDetails.type]
const bundlerPackage = bundlerPackages['webpack']
const editorPackage = editorPackages['lexical']
packageObj.dependencies[dbPackage.packageName] = 'latest'
packageObj.dependencies[bundlerPackage.packageName] = 'latest'
packageObj.dependencies[editorPackage.packageName] = 'latest'
await fse.writeJson(packageJsonPath, packageObj, { spaces: 2 })
} catch (err: unknown) {
@@ -54,6 +56,7 @@ export async function configurePayloadConfig(args: {
const dbReplacement = dbPackages[args.dbDetails.type]
const bundlerReplacement = bundlerPackages['webpack']
const editorReplacement = editorPackages['lexical']
let dbConfigStartLineIndex: number | undefined
let dbConfigEndLineIndex: number | undefined
@@ -70,6 +73,14 @@ export async function configurePayloadConfig(args: {
configLines[i] = bundlerReplacement.configReplacement
}
if (l.includes('// editor-import')) {
configLines[i] = editorReplacement.importReplacement
}
if (l.includes('// editor-config')) {
configLines[i] = editorReplacement.configReplacement
}
if (l.includes('// database-adapter-config-start')) {
dbConfigStartLineIndex = i
}

View File

@@ -1,4 +1,4 @@
import type { BundlerType, DbType } from '../types'
import type { BundlerType, DbType, EditorType } from '../types'
type DbAdapterReplacement = {
packageName: string
@@ -12,6 +12,12 @@ type BundlerReplacement = {
configReplacement: string
}
type EditorReplacement = {
packageName: string
importReplacement: string
configReplacement: string
}
const mongodbReplacement: DbAdapterReplacement = {
packageName: '@payloadcms/db-mongodb',
importReplacement: "import { mongooseAdapter } from '@payloadcms/db-mongodb'",
@@ -23,11 +29,11 @@ const mongodbReplacement: DbAdapterReplacement = {
],
}
const postgresqlReplacement: DbAdapterReplacement = {
packageName: '@payloadcms/db-postgresql',
importReplacement: "import { postgresqlAdapter } from '@payloadcms/db-postgresql'",
const postgresReplacement: DbAdapterReplacement = {
packageName: '@payloadcms/db-postgres',
importReplacement: "import { postgresAdapter } from '@payloadcms/db-postgres'",
configReplacement: [
' db: postgresqlAdapter({',
' db: postgresAdapter({',
' client: {',
' connectionString: process.env.DATABASE_URI,',
' },',
@@ -37,7 +43,7 @@ const postgresqlReplacement: DbAdapterReplacement = {
export const dbPackages: Record<DbType, DbAdapterReplacement> = {
mongodb: mongodbReplacement,
postgres: postgresqlReplacement,
postgres: postgresReplacement,
}
const webpackReplacement: BundlerReplacement = {
@@ -57,3 +63,17 @@ export const bundlerPackages: Record<BundlerType, BundlerReplacement> = {
webpack: webpackReplacement,
vite: viteReplacement,
}
export const editorPackages: Record<EditorType, EditorReplacement> = {
slate: {
packageName: '@payloadcms/richtext-slate',
importReplacement: "import { createSlate } from '@payloadcms/richtext-slate'",
configReplacement: ' editor: createSlate({}),',
},
lexical: {
packageName: '@payloadcms/richtext-lexical',
importReplacement:
"import { createLexical } from '@payloadcms/richtext-lexical'",
configReplacement: ' editor: createLexical({}),',
},
}

View File

@@ -55,3 +55,4 @@ export type DbDetails = {
}
export type BundlerType = 'webpack' | 'vite'
export type EditorType = 'lexical' | 'slate'