From 983e26a45b98a37ef6605df2ea2a3e0a953ca7a4 Mon Sep 17 00:00:00 2001 From: Chris Arter Date: Fri, 8 May 2026 12:20:34 -0400 Subject: [PATCH] feat(import): write posts into Payload Fix Lexical link node serialization to use Payload's expected shape: { fields: { linkType, newTab, url }, version: 2 } instead of a flat { url } property that fails validation. Also set NODE_ENV=development and load .env in the import:astro script so wrangler's R2 miniflare workaround activates and PAYLOAD_SECRET is available without manual env prefix. Co-Authored-By: Claude Sonnet 4.6 --- package.json | 2 +- scripts/import/markdown-to-lexical.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index aa0b0b6..e6d1627 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "dev": "cross-env NODE_OPTIONS=--no-deprecation next dev", "devsafe": "rm -rf .next && rm -rf .open-next && cross-env NODE_OPTIONS=--no-deprecation next dev", "generate:importmap": "cross-env NODE_OPTIONS=--no-deprecation payload generate:importmap", - "import:astro": "cross-env NODE_OPTIONS=\"--no-deprecation --import=tsx/esm\" tsx scripts/import-from-astro.ts", + "import:astro": "cross-env NODE_ENV=development NODE_OPTIONS=\"--no-deprecation --import=tsx/esm\" tsx --env-file=.env scripts/import-from-astro.ts", "generate:types": "pnpm run generate:types:cloudflare && pnpm run generate:types:payload", "generate:types:cloudflare": "wrangler types --env-interface CloudflareEnv cloudflare-env.d.ts", "generate:types:payload": "cross-env NODE_OPTIONS=--no-deprecation payload generate:types", diff --git a/scripts/import/markdown-to-lexical.ts b/scripts/import/markdown-to-lexical.ts index 4a6206a..4bfadd0 100644 --- a/scripts/import/markdown-to-lexical.ts +++ b/scripts/import/markdown-to-lexical.ts @@ -123,12 +123,12 @@ async function convertInline(node: Content, ctx: Ctx): Promise