From 4198dc122a7a8a8bb9c59293d99d78e64015bd37 Mon Sep 17 00:00:00 2001 From: Oliver Gwyther Date: Sun, 4 Jan 2026 19:34:35 +0000 Subject: [PATCH] Initial commits --- base-theme.css | 53 ++++++++++ build-doc.md | 53 ++++++++++ logs/console-export-2025-12-29_9-46-54.txt | 114 +++++++++++++++++++++ logs/console-export-2025-12-30_2-26-4.txt | 108 +++++++++++++++++++ logs/vercel-build-log_01.txt | 56 ++++++++++ 5 files changed, 384 insertions(+) create mode 100644 base-theme.css create mode 100644 build-doc.md create mode 100644 logs/console-export-2025-12-29_9-46-54.txt create mode 100644 logs/console-export-2025-12-30_2-26-4.txt create mode 100644 logs/vercel-build-log_01.txt diff --git a/base-theme.css b/base-theme.css new file mode 100644 index 0000000..ca61f0a --- /dev/null +++ b/base-theme.css @@ -0,0 +1,53 @@ +/** Base colors */ +--clr-dark-a0: #14172a; +--clr-light-a0: #ffffff; + +/** Theme primary colors */ +--clr-primary-a0: #1fb568; +--clr-primary-a10: #49be78; +--clr-primary-a20: #65c688; +--clr-primary-a30: #7ecf99; +--clr-primary-a40: #95d7a9; +--clr-primary-a50: #abdfba; + +/** Theme surface colors */ +--clr-surface-a0: #14172a; +--clr-surface-a10: #2a2c3e; +--clr-surface-a20: #414354; +--clr-surface-a30: #5a5b6a; +--clr-surface-a40: #737481; +--clr-surface-a50: #8d8e99; + +/** Theme tonal surface colors */ +--clr-surface-tonal-a0: #1a2530; +--clr-surface-tonal-a10: #303944; +--clr-surface-tonal-a20: #464f59; +--clr-surface-tonal-a30: #5e666e; +--clr-surface-tonal-a40: #777d85; +--clr-surface-tonal-a50: #91969c; + +/** Success colors */ +--clr-success-a0: #22946e; +--clr-success-a10: #47d5a6; +--clr-success-a20: #9ae8ce; + +/** Warning colors */ +--clr-warning-a0: #a87a2a; +--clr-warning-a10: #d7ac61; +--clr-warning-a20: #ecd7b2; + +/** Danger colors */ +--clr-danger-a0: #9c2121; +--clr-danger-a10: #d94a4a; +--clr-danger-a20: #eb9e9e; + +/** Info colors */ +--clr-info-a0: #21498a; +--clr-info-a10: #4077d1; +--clr-info-a20: #92b2e5; + +/** Examples */ +.bg-primary { + color: var(--clr-primary-a50); + background-color: var(--clr-surface-a0); +} diff --git a/build-doc.md b/build-doc.md new file mode 100644 index 0000000..76269d3 --- /dev/null +++ b/build-doc.md @@ -0,0 +1,53 @@ +I would like to build an app for managing LLM, ComfyUI and Stable Diffusion Prompts. The app needs to have the following features: +1) User authentication system +2) Database to store Prompts +3) Individual Prompt pages containing the prompt text. +4) An admin dashboard for editing and removing prompts. +5) A prompt list page with filter options. + + +Prompt Categories +Prompt Platform +User settings page + +Please can we improve the UI and aesthetics a bit. Perhaps try a glass style theme? + + +Prompt fields: +Platform +Model +Tags +Usage +Workflow +Example Image + + + +Can we now please implement a favorites function for prompts so that users can add, edit and delete favorites. +Can we change the signup process so that email confirmation is no longer required, but all signups have to be approved by an admin. +Can we please add a user import and export function, so that users can export their entire library as a JSON file? They should also be able to import this JSON file. + + +Can you please change the sidebar background to be a darker shade? +The prompt view page overflows the width of the page, can you please fix it? +Can you please change the syntax theme for the workflow area to use the Dracula theme? + + + + + +Prompt version history: Track edits with timestamps, authors, and a “restore” option; show side-by-side diffs for content changes. +Ratings and comments: Let users rate prompts (1–5 stars) and discuss tips in threaded comments with mentions. +Sharing & visibility controls: Make prompts public, private, or shared to a team/folder; generate read-only share links. +Saved filters & smart collections: Save common search filters; auto-collections like “Recently edited,” “Top rated,” or “My favorites + tag.” +Prompt templates & variables: Define reusable templates with {{placeholders}}; render prompts with a simple “Fill variables” form. +Live Playground: Test prompts against selected models with adjustable params; copy result to clipboard; save “runs” as examples. +Bulk actions: Multi-select to tag, move to folder, favorite/unfavorite, or delete; quick keyboard shortcuts for common actions. +Tag enhancements: Autocomplete/suggested tags; tag weights (primary vs. secondary); tag pages to browse related prompts. +Folder improvements: Drag-and-drop reorganization, nested folders, and pinned folders; “Move to…” quick action from cards. +Analytics dashboard: See favorites, ratings, views, recent edits; filter by time range; per-user/team breakdown. +Attachments gallery: Multiple example images per prompt with captions; lightweight carousel; upload from URL. +Import/export: JSON/CSV import wizard with validation; one-click export of selected prompts with tags and metadata. +Admin tooling: Moderation queue for public prompts, abuse reports, soft delete/restore, and audit logs. +Notifications: Toasts plus optional in-app notifications for favorites, comments, shares, and edits on watched prompts. +Profile upgrades: Avatars, bio, social links; “My contributions” page with stats and badges. diff --git a/logs/console-export-2025-12-29_9-46-54.txt b/logs/console-export-2025-12-29_9-46-54.txt new file mode 100644 index 0000000..d2baf67 --- /dev/null +++ b/logs/console-export-2025-12-29_9-46-54.txt @@ -0,0 +1,114 @@ +Error: A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder. + z_ https://promptlib.og.codes/assets/index-LEf5ZMDa.js:224 + lf https://promptlib.og.codes/assets/index-LEf5ZMDa.js:38 + kv https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + oy https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + ty https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + S2 https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + Uc https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + If https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + Xv https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + os https://promptlib.og.codes/assets/index-LEf5ZMDa.js:38 + Jt https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + Jt https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + Mr https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + l2 https://promptlib.og.codes/assets/index-LEf5ZMDa.js:38 + g https://promptlib.og.codes/assets/index-LEf5ZMDa.js:138 + b https://promptlib.og.codes/assets/index-LEf5ZMDa.js:120 + K3 https://promptlib.og.codes/assets/index-LEf5ZMDa.js:129 + wN https://promptlib.og.codes/assets/index-LEf5ZMDa.js:138 + T https://promptlib.og.codes/assets/index-LEf5ZMDa.js:138 + nn https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + KS https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + qS https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Tg https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Rg https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Md https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Df https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + Ht https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Md https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + vd https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + cE https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Ng https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Id https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + ya https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + ya https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + createRoot https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + https://promptlib.og.codes/assets/index-LEf5ZMDa.js:230 +index-LEf5ZMDa.js:40:161 +Error: A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder. + z_ https://promptlib.og.codes/assets/index-LEf5ZMDa.js:224 + lf https://promptlib.og.codes/assets/index-LEf5ZMDa.js:38 + kv https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + oy https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + ty https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + S2 https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + Uc https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + If https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + Xv https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + os https://promptlib.og.codes/assets/index-LEf5ZMDa.js:38 + Jt https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + Jt https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + Mr https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + l2 https://promptlib.og.codes/assets/index-LEf5ZMDa.js:38 + g https://promptlib.og.codes/assets/index-LEf5ZMDa.js:138 + b https://promptlib.og.codes/assets/index-LEf5ZMDa.js:120 + K3 https://promptlib.og.codes/assets/index-LEf5ZMDa.js:129 + wN https://promptlib.og.codes/assets/index-LEf5ZMDa.js:138 + T https://promptlib.og.codes/assets/index-LEf5ZMDa.js:138 + nn https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + KS https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + qS https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Tg https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Rg https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Md https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Df https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + Ht https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Md https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + vd https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + cE https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Ng https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Id https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + ya https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + ya https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + createRoot https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + https://promptlib.og.codes/assets/index-LEf5ZMDa.js:230 +index-LEf5ZMDa.js:40:161 +Uncaught Error: A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder. + z_ https://promptlib.og.codes/assets/index-LEf5ZMDa.js:224 + lf https://promptlib.og.codes/assets/index-LEf5ZMDa.js:38 + kv https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + oy https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + ty https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + S2 https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + Uc https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + If https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + Xv https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + os https://promptlib.og.codes/assets/index-LEf5ZMDa.js:38 + Jt https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + Jt https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + Mr https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + l2 https://promptlib.og.codes/assets/index-LEf5ZMDa.js:38 + g https://promptlib.og.codes/assets/index-LEf5ZMDa.js:138 + b https://promptlib.og.codes/assets/index-LEf5ZMDa.js:120 + K3 https://promptlib.og.codes/assets/index-LEf5ZMDa.js:129 + wN https://promptlib.og.codes/assets/index-LEf5ZMDa.js:138 + T https://promptlib.og.codes/assets/index-LEf5ZMDa.js:138 + nn https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + KS https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + qS https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Tg https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Rg https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Md https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Df https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + Ht https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Md https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + vd https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + cE https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Ng https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + Id https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + ya https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + ya https://promptlib.og.codes/assets/index-LEf5ZMDa.js:37 + createRoot https://promptlib.og.codes/assets/index-LEf5ZMDa.js:40 + https://promptlib.og.codes/assets/index-LEf5ZMDa.js:230 +index-LEf5ZMDa.js:224:82964 diff --git a/logs/console-export-2025-12-30_2-26-4.txt b/logs/console-export-2025-12-30_2-26-4.txt new file mode 100644 index 0000000..011c39c --- /dev/null +++ b/logs/console-export-2025-12-30_2-26-4.txt @@ -0,0 +1,108 @@ +ReferenceError: JsonCodeBlock is not defined + n6 https://promptlib.og.codes/assets/index-DUMYc9bI.js:224 + df https://promptlib.og.codes/assets/index-DUMYc9bI.js:38 + bf https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + iy https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + ry https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + EC https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + Yc https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + Lf https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + Zv https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + us https://promptlib.og.codes/assets/index-DUMYc9bI.js:38 + Zt https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + Zt https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + Br https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + sv https://promptlib.og.codes/assets/index-DUMYc9bI.js:38 + rv https://promptlib.og.codes/assets/index-DUMYc9bI.js:38 + batchCalls https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + r https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + c https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + c https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + s https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + c https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + setTimeout handler*qR https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + c https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + batch https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + Ln https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + setData https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + onSuccess https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + v https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + promise callback*E https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + start https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + fetch https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + Ka https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + onSubscribe https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + subscribe https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + yN https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + rv https://promptlib.og.codes/assets/index-DUMYc9bI.js:38 + zc https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + oi https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + Zv https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + us https://promptlib.og.codes/assets/index-DUMYc9bI.js:38 + kC https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + ro https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + Xv https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + I https://promptlib.og.codes/assets/index-DUMYc9bI.js:25 + J https://promptlib.og.codes/assets/index-DUMYc9bI.js:25 + VC https://promptlib.og.codes/assets/index-DUMYc9bI.js:25 + VC https://promptlib.og.codes/assets/index-DUMYc9bI.js:25 + WC https://promptlib.og.codes/assets/index-DUMYc9bI.js:25 + HC https://promptlib.og.codes/assets/index-DUMYc9bI.js:33 + dw https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + KC https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 +index-DUMYc9bI.js:40:161 +Uncaught ReferenceError: JsonCodeBlock is not defined + n6 https://promptlib.og.codes/assets/index-DUMYc9bI.js:224 + df https://promptlib.og.codes/assets/index-DUMYc9bI.js:38 + bf https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + iy https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + ry https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + EC https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + Yc https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + Lf https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + Zv https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + us https://promptlib.og.codes/assets/index-DUMYc9bI.js:38 + Zt https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + Zt https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + Br https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + sv https://promptlib.og.codes/assets/index-DUMYc9bI.js:38 + rv https://promptlib.og.codes/assets/index-DUMYc9bI.js:38 + batchCalls https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + r https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + c https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + c https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + s https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + c https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + setTimeout handler*qR https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + c https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + batch https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + Ln https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + setData https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + onSuccess https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + v https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + promise callback*E https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + start https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + fetch https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + Ka https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + onSubscribe https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + subscribe https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + yN https://promptlib.og.codes/assets/index-DUMYc9bI.js:111 + rv https://promptlib.og.codes/assets/index-DUMYc9bI.js:38 + zc https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + oi https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + Zv https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + us https://promptlib.og.codes/assets/index-DUMYc9bI.js:38 + kC https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + ro https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + Xv https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + I https://promptlib.og.codes/assets/index-DUMYc9bI.js:25 + J https://promptlib.og.codes/assets/index-DUMYc9bI.js:25 + VC https://promptlib.og.codes/assets/index-DUMYc9bI.js:25 + VC https://promptlib.og.codes/assets/index-DUMYc9bI.js:25 + WC https://promptlib.og.codes/assets/index-DUMYc9bI.js:25 + HC https://promptlib.og.codes/assets/index-DUMYc9bI.js:33 + dw https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + KC https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 + https://promptlib.og.codes/assets/index-DUMYc9bI.js:40 +index-DUMYc9bI.js:224:109608 diff --git a/logs/vercel-build-log_01.txt b/logs/vercel-build-log_01.txt new file mode 100644 index 0000000..9fa6874 --- /dev/null +++ b/logs/vercel-build-log_01.txt @@ -0,0 +1,56 @@ +02:44:14.215 Running build in Washington, D.C., USA (East) – iad1 +02:44:14.215 Build machine configuration: 4 cores, 8 GB +02:44:14.322 Cloning github.com/OliverGee/promptlib (Branch: main, Commit: bd24306) +02:44:14.613 Cloning completed: 290.000ms +02:44:15.044 Restored build cache from previous deployment (Bd8UGvdHcVGZmBTDTjevLZJESWLg) +02:44:15.792 Running "vercel build" +02:44:16.242 Vercel CLI 50.1.3 +02:44:16.886 Detected `pnpm-lock.yaml` 9 which may be generated by pnpm@9.x or pnpm@10.x +02:44:16.886 Using pnpm@10.x based on project creation date +02:44:16.886 To use pnpm@9.x, manually opt in using corepack (https://vercel.com/docs/deployments/configure-a-build#corepack) +02:44:16.897 Installing dependencies... +02:44:18.046 Lockfile is up to date, resolution step is skipped +02:44:18.136 Already up to date +02:44:18.526 +02:44:18.548 ╭ Warning ─────────────────────────────────────────────────────────────────────╮ +02:44:18.548 │ │ +02:44:18.548 │ Ignored build scripts: @swc/core@1.11.21, esbuild@0.25.3. │ +02:44:18.549 │ Run "pnpm approve-builds" to pick which dependencies should be allowed │ +02:44:18.549 │ to run scripts. │ +02:44:18.549 │ │ +02:44:18.549 ╰──────────────────────────────────────────────────────────────────────────────╯ +02:44:18.552 Done in 1s using pnpm v10.26.0 +02:44:18.577 Running "pnpm run build" +02:44:18.879 +02:44:18.880 > vite_react_shadcn_ts@0.0.0 build /vercel/path0 +02:44:18.880 > vite build +02:44:18.880 +02:44:19.239 vite v6.3.4 building for production... +02:44:19.619 transforming... +02:44:19.648 Browserslist: browsers data (caniuse-lite) is 8 months old. Please run: +02:44:19.648 npx update-browserslist-db@latest +02:44:19.648 Why you should do it regularly: https://github.com/browserslist/update-db#readme +02:44:22.430 ✓ 1785 modules transformed. +02:44:22.433 ✗ Build failed in 3.16s +02:44:22.433 error during build: +02:44:22.433 src/components/JsonCodeBlock.tsx (2:20): "defaultProps" is not exported by "node_modules/.pnpm/prism-react-renderer@2.4.1_react@18.3.1/node_modules/prism-react-renderer/dist/index.mjs", imported by "src/components/JsonCodeBlock.tsx". +02:44:22.434 file: /vercel/path0/src/components/JsonCodeBlock.tsx:2:20 +02:44:22.434  +02:44:22.434 1: import React from "react"; +02:44:22.434 2: import { Highlight, defaultProps } from "prism-react-renderer"; +02:44:22.434 ^ +02:44:22.434 3: +02:44:22.434 4: type Props = { +02:44:22.434  +02:44:22.434 at getRollupError (file:///vercel/path0/node_modules/.pnpm/rollup@4.40.0/node_modules/rollup/dist/es/shared/parseAst.js:397:41) +02:44:22.434 at error (file:///vercel/path0/node_modules/.pnpm/rollup@4.40.0/node_modules/rollup/dist/es/shared/parseAst.js:393:42) +02:44:22.434 at Module.error (file:///vercel/path0/node_modules/.pnpm/rollup@4.40.0/node_modules/rollup/dist/es/shared/node-entry.js:16750:16) +02:44:22.434 at Module.traceVariable (file:///vercel/path0/node_modules/.pnpm/rollup@4.40.0/node_modules/rollup/dist/es/shared/node-entry.js:17199:29) +02:44:22.434 at ModuleScope.findVariable (file:///vercel/path0/node_modules/.pnpm/rollup@4.40.0/node_modules/rollup/dist/es/shared/node-entry.js:14855:39) +02:44:22.434 at ReturnValueScope.findVariable (file:///vercel/path0/node_modules/.pnpm/rollup@4.40.0/node_modules/rollup/dist/es/shared/node-entry.js:5583:38) +02:44:22.435 at FunctionBodyScope.findVariable (file:///vercel/path0/node_modules/.pnpm/rollup@4.40.0/node_modules/rollup/dist/es/shared/node-entry.js:5583:38) +02:44:22.435 at Identifier.bind (file:///vercel/path0/node_modules/.pnpm/rollup@4.40.0/node_modules/rollup/dist/es/shared/node-entry.js:5357:40) +02:44:22.435 at SpreadElement.bind (file:///vercel/path0/node_modules/.pnpm/rollup@4.40.0/node_modules/rollup/dist/es/shared/node-entry.js:2784:23) +02:44:22.435 at ObjectExpression.bind (file:///vercel/path0/node_modules/.pnpm/rollup@4.40.0/node_modules/rollup/dist/es/shared/node-entry.js:2780:28) +02:44:22.550  ELIFECYCLE  Command failed with exit code 1. +02:44:22.564 Error: Command "pnpm run build" exited with 1