Fix scripts for Next.js + Payload CMS workflow
- new-project.sh: Use nextjs-payload-starter template, Next.js AI rules - convert-astro.sh: Complete rewrite to migrate Astro MDX to Payload CMS Lexical JSON - deploy.sh: Check for next.config instead of astro.config.mjs, use MONGODB_URL - preview.sh: Check for Next.js, default port 3002 - audit-seo.sh: Check .tsx pages in src/app, Next.js config All scripts now properly support Next.js + Payload CMS workflow.
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
#===============================================================================
|
||||
# new-project.sh - สร้าง Astro + Payload CMS project ใหม่จาก Astro Starter Template
|
||||
# new-project.sh - สร้าง Next.js + Payload CMS project ใหม่จาก Template
|
||||
#
|
||||
# Usage: ./new-project.sh [project-name] [project-path]
|
||||
#
|
||||
# สร้าง Astro project ใหม่โดย:
|
||||
# 1. คัดลอก astro-starter template
|
||||
# สร้าง Next.js + Payload CMS project ใหม่โดย:
|
||||
# 1. คัดลอก nextjs-payload-starter template
|
||||
# 2. ติดตั้ง dependencies
|
||||
# 3. ตั้งค่า environment
|
||||
#
|
||||
@@ -31,7 +31,7 @@ PROJECT_PATH="${2:-.}"
|
||||
|
||||
# Get skill directory
|
||||
SKILL_DIR="$(dirname "$(dirname "$(readlink -f "$0")")")"
|
||||
TEMPLATE_DIR="$SKILL_DIR/templates/astro-starter"
|
||||
TEMPLATE_DIR="$SKILL_DIR/templates/nextjs-payload-starter"
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Helper functions
|
||||
@@ -57,7 +57,7 @@ print_usage() {
|
||||
cat << EOF
|
||||
Usage: $(basename "$0") [project-name] [project-path]
|
||||
|
||||
สร้าง Astro + Payload CMS project ใหม่จาก Astro Starter Template
|
||||
สร้าง Next.js + Payload CMS project ใหม่จาก Template
|
||||
|
||||
Arguments:
|
||||
project-name ชื่อ project (optional)
|
||||
@@ -103,7 +103,7 @@ check_requirements() {
|
||||
|
||||
# Check template exists
|
||||
if [ ! -d "$TEMPLATE_DIR" ]; then
|
||||
log_error "ไม่พบ Astro Starter Template: $TEMPLATE_DIR"
|
||||
log_error "ไม่พบ Next.js Payload Starter Template: $TEMPLATE_DIR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -143,7 +143,7 @@ setup_directory() {
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
copy_template() {
|
||||
log_info "คัดลอก Astro Starter Template..."
|
||||
log_info "คัดลอก Next.js Payload Starter Template..."
|
||||
|
||||
# Copy all template files
|
||||
cp -r "$TEMPLATE_DIR/"* "$PROJECT_PATH/"
|
||||
@@ -237,9 +237,9 @@ create_ai_rules() {
|
||||
|
||||
## Tech Stack Overview
|
||||
|
||||
- **Frontend:** Astro เวอร์ชั่นล่าสุด + TypeScript
|
||||
- **Frontend:** Next.js App Router + TypeScript
|
||||
- **Backend/CMS:** Payload CMS 3.0
|
||||
- **Database:** PostgreSQL (via Payload)
|
||||
- **Database:** MongoDB (via mongooseAdapter)
|
||||
- **Styling:** Tailwind CSS v4
|
||||
- **Authentication:** Payload built-in auth with role-based access
|
||||
- **Image Handling:** Payload Media collection
|
||||
@@ -247,9 +247,9 @@ create_ai_rules() {
|
||||
## File Organization
|
||||
|
||||
- **Collections:** Define Payload collections in `src/collections/`
|
||||
- **Pages:** Use Astro file-based routing in `src/pages/`
|
||||
- **Pages:** Next.js App Router in `src/app/`
|
||||
- **Components:** Reusable components in `src/components/`
|
||||
- **Styles:** Global styles in `src/styles/`
|
||||
- **Styles:** Global styles in `src/app/globals.css`
|
||||
|
||||
## Never Modify These Files
|
||||
|
||||
@@ -279,7 +279,7 @@ init_git() {
|
||||
if [ ! -d ".git" ]; then
|
||||
git init
|
||||
git add .
|
||||
git commit -m "Initial commit: Astro + Payload CMS starter"
|
||||
git commit -m "Initial commit: Next.js + Payload CMS starter"
|
||||
log_success "เริ่มต้น git เสร็จสมบูรณ์"
|
||||
else
|
||||
log_info "git repo มีอยู่แล้ว"
|
||||
@@ -303,8 +303,8 @@ show_structure() {
|
||||
|
||||
main() {
|
||||
echo "=============================================="
|
||||
echo " Astro + Payload CMS Project Creator"
|
||||
echo " Using Astro Starter Template"
|
||||
echo " Next.js + Payload CMS Project Creator"
|
||||
echo " Using Next.js Payload Starter"
|
||||
echo "=============================================="
|
||||
echo ""
|
||||
|
||||
@@ -327,16 +327,15 @@ main() {
|
||||
|
||||
echo ""
|
||||
echo "=============================================="
|
||||
log_success "สร้าง Astro + Payload CMS project เสร็จสมบูรณ์!"
|
||||
log_success "สร้าง Next.js + Payload CMS project เสร็จสมบูรณ์!"
|
||||
echo "=============================================="
|
||||
echo ""
|
||||
echo "ขั้นตอนถัดไป:"
|
||||
echo " 1. cd $PROJECT_PATH"
|
||||
echo " 2. แก้ไข .env (DATABASE_URL, PAYLOAD_SECRET)"
|
||||
echo " 3. npm run db:push (สร้าง database tables)"
|
||||
echo " 4. npm run generate (สร้าง Payload types)"
|
||||
echo " 5. npm run dev"
|
||||
echo " 6. เปิด http://localhost:4321/admin สำหรับ Payload admin"
|
||||
echo " 2. แก้ไข .env (MONGODB_URL, PAYLOAD_SECRET)"
|
||||
echo " 3. npm install"
|
||||
echo " 4. npm run dev"
|
||||
echo " 5. เปิด http://localhost:3002/admin สำหรับ Payload admin"
|
||||
echo ""
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user