From 16b67f75a012d7b5545c172ff1fe56956edea3f6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 3 Jan 2025 13:44:17 +0000 Subject: [PATCH] templates: bump templates for v3.14.0 --- templates/blank/Dockerfile | 3 +- ...tial.json => 20250103_134356_initial.json} | 2 +- ..._initial.ts => 20250103_134356_initial.ts} | 0 .../with-postgres/src/migrations/index.ts | 8 +- ...tial.json => 20250103_134332_initial.json} | 2 +- ..._initial.ts => 20250103_134332_initial.ts} | 0 .../src/migrations/index.ts | 8 +- templates/with-vercel-website/Dockerfile | 73 +++++++++++++++---- .../src/components/RichText/index.tsx | 17 ++++- ...tial.json => 20250103_134345_initial.json} | 2 +- ..._initial.ts => 20250103_134345_initial.ts} | 0 .../src/migrations/index.ts | 8 +- 12 files changed, 92 insertions(+), 31 deletions(-) rename templates/with-postgres/src/migrations/{20241221_130423_initial.json => 20250103_134356_initial.json} (99%) rename templates/with-postgres/src/migrations/{20241221_130423_initial.ts => 20250103_134356_initial.ts} (100%) rename templates/with-vercel-postgres/src/migrations/{20241221_130358_initial.json => 20250103_134332_initial.json} (99%) rename templates/with-vercel-postgres/src/migrations/{20241221_130358_initial.ts => 20250103_134332_initial.ts} (100%) rename templates/with-vercel-website/src/migrations/{20241221_130412_initial.json => 20250103_134345_initial.json} (99%) rename templates/with-vercel-website/src/migrations/{20241221_130412_initial.ts => 20250103_134345_initial.ts} (100%) diff --git a/templates/blank/Dockerfile b/templates/blank/Dockerfile index 93465cfa57a..12f8fb01d06 100644 --- a/templates/blank/Dockerfile +++ b/templates/blank/Dockerfile @@ -1,7 +1,6 @@ -# To use this Dockerfile, you have to set `output: 'standalone'` in your next.config.mjs file. # From https://github.com/vercel/next.js/blob/canary/examples/with-docker/Dockerfile -FROM node:22.12.0-alpine AS base +FROM node:18-alpine AS base # Install dependencies only when needed FROM base AS deps diff --git a/templates/with-postgres/src/migrations/20241221_130423_initial.json b/templates/with-postgres/src/migrations/20250103_134356_initial.json similarity index 99% rename from templates/with-postgres/src/migrations/20241221_130423_initial.json rename to templates/with-postgres/src/migrations/20250103_134356_initial.json index 61293bc26ed..c90d4619a40 100644 --- a/templates/with-postgres/src/migrations/20241221_130423_initial.json +++ b/templates/with-postgres/src/migrations/20250103_134356_initial.json @@ -1,5 +1,5 @@ { - "id": "19f6f6b6-67a6-472f-9e30-e4972f21ca73", + "id": "a636bbc7-ad86-4874-995a-a466f3d08115", "prevId": "00000000-0000-0000-0000-000000000000", "version": "7", "dialect": "postgresql", diff --git a/templates/with-postgres/src/migrations/20241221_130423_initial.ts b/templates/with-postgres/src/migrations/20250103_134356_initial.ts similarity index 100% rename from templates/with-postgres/src/migrations/20241221_130423_initial.ts rename to templates/with-postgres/src/migrations/20250103_134356_initial.ts diff --git a/templates/with-postgres/src/migrations/index.ts b/templates/with-postgres/src/migrations/index.ts index 719f0051d43..ad0e154c57f 100644 --- a/templates/with-postgres/src/migrations/index.ts +++ b/templates/with-postgres/src/migrations/index.ts @@ -1,9 +1,9 @@ -import * as migration_20241221_130423_initial from './20241221_130423_initial' +import * as migration_20250103_134356_initial from './20250103_134356_initial' export const migrations = [ { - up: migration_20241221_130423_initial.up, - down: migration_20241221_130423_initial.down, - name: '20241221_130423_initial', + up: migration_20250103_134356_initial.up, + down: migration_20250103_134356_initial.down, + name: '20250103_134356_initial', }, ] diff --git a/templates/with-vercel-postgres/src/migrations/20241221_130358_initial.json b/templates/with-vercel-postgres/src/migrations/20250103_134332_initial.json similarity index 99% rename from templates/with-vercel-postgres/src/migrations/20241221_130358_initial.json rename to templates/with-vercel-postgres/src/migrations/20250103_134332_initial.json index 3c67a7be32b..c487a8e2045 100644 --- a/templates/with-vercel-postgres/src/migrations/20241221_130358_initial.json +++ b/templates/with-vercel-postgres/src/migrations/20250103_134332_initial.json @@ -1,5 +1,5 @@ { - "id": "c68845d5-29d1-4e46-b258-29ef5f876fad", + "id": "590d2b1b-4c1f-4243-b543-5f0b0a118c92", "prevId": "00000000-0000-0000-0000-000000000000", "version": "7", "dialect": "postgresql", diff --git a/templates/with-vercel-postgres/src/migrations/20241221_130358_initial.ts b/templates/with-vercel-postgres/src/migrations/20250103_134332_initial.ts similarity index 100% rename from templates/with-vercel-postgres/src/migrations/20241221_130358_initial.ts rename to templates/with-vercel-postgres/src/migrations/20250103_134332_initial.ts diff --git a/templates/with-vercel-postgres/src/migrations/index.ts b/templates/with-vercel-postgres/src/migrations/index.ts index 92e992d20a9..65e61d636e5 100644 --- a/templates/with-vercel-postgres/src/migrations/index.ts +++ b/templates/with-vercel-postgres/src/migrations/index.ts @@ -1,9 +1,9 @@ -import * as migration_20241221_130358_initial from './20241221_130358_initial' +import * as migration_20250103_134332_initial from './20250103_134332_initial' export const migrations = [ { - up: migration_20241221_130358_initial.up, - down: migration_20241221_130358_initial.down, - name: '20241221_130358_initial', + up: migration_20250103_134332_initial.up, + down: migration_20250103_134332_initial.down, + name: '20250103_134332_initial', }, ] diff --git a/templates/with-vercel-website/Dockerfile b/templates/with-vercel-website/Dockerfile index e7a5ead45e9..d2a860566c3 100644 --- a/templates/with-vercel-website/Dockerfile +++ b/templates/with-vercel-website/Dockerfile @@ -1,24 +1,71 @@ -FROM node:18.8-alpine as base +# To use this Dockerfile, you have to set `output: 'standalone'` in your next.config.js file. +# From https://github.com/vercel/next.js/blob/canary/examples/with-docker/Dockerfile -FROM base as builder +FROM node:22.12.0-alpine AS base -WORKDIR /home/node/app -COPY package*.json ./ +# Install dependencies only when needed +FROM base AS deps +# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. +RUN apk add --no-cache libc6-compat +WORKDIR /app +# Install dependencies based on the preferred package manager +COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* ./ +RUN \ + if [ -f yarn.lock ]; then yarn --frozen-lockfile; \ + elif [ -f package-lock.json ]; then npm ci; \ + elif [ -f pnpm-lock.yaml ]; then corepack enable pnpm && pnpm i --frozen-lockfile; \ + else echo "Lockfile not found." && exit 1; \ + fi + + +# Rebuild the source code only when needed +FROM base AS builder +WORKDIR /app +COPY --from=deps /app/node_modules ./node_modules COPY . . -RUN yarn install -RUN yarn build -FROM base as runtime +# Next.js collects completely anonymous telemetry data about general usage. +# Learn more here: https://nextjs.org/telemetry +# Uncomment the following line in case you want to disable telemetry during the build. +# ENV NEXT_TELEMETRY_DISABLED 1 + +RUN \ + if [ -f yarn.lock ]; then yarn run build; \ + elif [ -f package-lock.json ]; then npm run build; \ + elif [ -f pnpm-lock.yaml ]; then corepack enable pnpm && pnpm run build; \ + else echo "Lockfile not found." && exit 1; \ + fi + +# Production image, copy all the files and run next +FROM base AS runner +WORKDIR /app -ENV NODE_ENV=production +ENV NODE_ENV production +# Uncomment the following line in case you want to disable telemetry during runtime. +# ENV NEXT_TELEMETRY_DISABLED 1 -WORKDIR /home/node/app -COPY package*.json ./ -COPY yarn.lock ./ +RUN addgroup --system --gid 1001 nodejs +RUN adduser --system --uid 1001 nextjs -RUN yarn install --production +# Remove this line if you do not have this folder +COPY --from=builder /app/public ./public + +# Set the correct permission for prerender cache +RUN mkdir .next +RUN chown nextjs:nodejs .next + +# Automatically leverage output traces to reduce image size +# https://nextjs.org/docs/advanced-features/output-file-tracing +COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ +COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static + +USER nextjs EXPOSE 3000 -CMD ["node", "dist/server.js"] +ENV PORT 3000 + +# server.js is created by next build from the standalone output +# https://nextjs.org/docs/pages/api-reference/next-config-js/output +CMD HOSTNAME="0.0.0.0" node server.js diff --git a/templates/with-vercel-website/src/components/RichText/index.tsx b/templates/with-vercel-website/src/components/RichText/index.tsx index beb5a871f4b..37a706cd09a 100644 --- a/templates/with-vercel-website/src/components/RichText/index.tsx +++ b/templates/with-vercel-website/src/components/RichText/index.tsx @@ -1,8 +1,13 @@ import { MediaBlock } from '@/blocks/MediaBlock/Component' -import { DefaultNodeTypes, SerializedBlockNode } from '@payloadcms/richtext-lexical' +import { + DefaultNodeTypes, + SerializedBlockNode, + SerializedLinkNode, +} from '@payloadcms/richtext-lexical' import { SerializedEditorState } from '@payloadcms/richtext-lexical/lexical' import { JSXConvertersFunction, + LinkJSXConverter, RichText as RichTextWithoutBlocks, } from '@payloadcms/richtext-lexical/react' @@ -21,8 +26,18 @@ type NodeTypes = | DefaultNodeTypes | SerializedBlockNode +const internalDocToHref = ({ linkNode }: { linkNode: SerializedLinkNode }) => { + const { value, relationTo } = linkNode.fields.doc! + if (typeof value !== 'object') { + throw new Error('Expected value to be an object') + } + const slug = value.slug + return relationTo === 'posts' ? `/posts/${slug}` : `/${slug}` +} + const jsxConverters: JSXConvertersFunction = ({ defaultConverters }) => ({ ...defaultConverters, + ...LinkJSXConverter({ internalDocToHref }), blocks: { banner: ({ node }) => , mediaBlock: ({ node }) => ( diff --git a/templates/with-vercel-website/src/migrations/20241221_130412_initial.json b/templates/with-vercel-website/src/migrations/20250103_134345_initial.json similarity index 99% rename from templates/with-vercel-website/src/migrations/20241221_130412_initial.json rename to templates/with-vercel-website/src/migrations/20250103_134345_initial.json index 2c17953e896..575dcc64cde 100644 --- a/templates/with-vercel-website/src/migrations/20241221_130412_initial.json +++ b/templates/with-vercel-website/src/migrations/20250103_134345_initial.json @@ -1,5 +1,5 @@ { - "id": "df629ce9-ae70-414d-80f2-33997f6e2938", + "id": "ec50d6f4-b64d-4128-8284-44ae11253432", "prevId": "00000000-0000-0000-0000-000000000000", "version": "7", "dialect": "postgresql", diff --git a/templates/with-vercel-website/src/migrations/20241221_130412_initial.ts b/templates/with-vercel-website/src/migrations/20250103_134345_initial.ts similarity index 100% rename from templates/with-vercel-website/src/migrations/20241221_130412_initial.ts rename to templates/with-vercel-website/src/migrations/20250103_134345_initial.ts diff --git a/templates/with-vercel-website/src/migrations/index.ts b/templates/with-vercel-website/src/migrations/index.ts index e804a76f514..a473b2dd483 100644 --- a/templates/with-vercel-website/src/migrations/index.ts +++ b/templates/with-vercel-website/src/migrations/index.ts @@ -1,9 +1,9 @@ -import * as migration_20241221_130412_initial from './20241221_130412_initial' +import * as migration_20250103_134345_initial from './20250103_134345_initial' export const migrations = [ { - up: migration_20241221_130412_initial.up, - down: migration_20241221_130412_initial.down, - name: '20241221_130412_initial', + up: migration_20250103_134345_initial.up, + down: migration_20250103_134345_initial.down, + name: '20250103_134345_initial', }, ]