stack/apps/dashboard/package.json
BilalG1 01b0c84a0d
Editor typing, esbuild bundling, template saving (#785)
https://www.loom.com/share/950f16dbbda0481ba1dea0cf593f347e?sid=51ed6cc3-5f48-4145-9a65-a6a80a45cab0
<!--

Make sure you've read the CONTRIBUTING.md guidelines:
https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md

-->

<!-- ELLIPSIS_HIDDEN -->


----

> [!IMPORTANT]
> Refactor email rendering and theme management using TypeScript and
esbuild, updating backend routes, frontend components, and tests.
> 
>   - **Backend Changes**:
> - Updated `render-email` route in `route.tsx` to handle
`theme_tsx_source` and `template_tsx_source`.
> - Modified `email-templates` and `email-themes` routes to use new
theme and template handling logic.
> - Updated `email-template-adapter.ts` to use
`renderEmailWithTemplate`.
> - Enhanced `renderEmailWithTemplate` in `email-themes.tsx` to use
esbuild for bundling.
>   - **Frontend Changes**:
> - Updated `page-client.tsx` in email templates and themes to use
`ThemePreview` with `tsxSource`.
> - Modified `CodeEditor` in `code-editor.tsx` to support TypeScript and
JSX with esbuild.
> - Added `use-debounce` to `package.json` for debouncing input changes.
>   - **Testing**:
> - Added tests in `email-themes.test.ts` and `render-email.test.ts` to
cover new email rendering logic.
> - Updated `unsubscribe-link.test.ts` to verify unsubscribe
functionality with new email rendering.
>   - **Miscellaneous**:
> - Updated `helpers/emails.ts` to export `LightEmailTheme` and
`DarkEmailTheme` as functions.
> - Adjusted `admin-interface.ts` and `admin-app-impl.ts` to support new
email theme and template operations.
> 
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for 891ff8ebf7. You can
[customize](https://app.ellipsis.dev/stack-auth/settings/summaries) this
summary. It will automatically update as commits are pushed.</sup>


<!-- ELLIPSIS_HIDDEN -->

---------

Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
2025-07-24 09:47:00 -07:00

85 lines
2.6 KiB
JSON

{
"name": "@stackframe/stack-dashboard",
"version": "2.8.24",
"private": true,
"scripts": {
"clean": "rimraf .next && rimraf node_modules",
"typecheck": "tsc --noEmit",
"with-env": "dotenv -c development --",
"with-env:prod": "dotenv -c --",
"dev": "next dev --turbopack --port 8101",
"build": "next build",
"docker-build": "next build --experimental-build-mode compile",
"analyze-bundle": "ANALYZE_BUNDLE=1 pnpm run build",
"start": "next start --port 8101",
"psql": "pnpm run with-env bash -c 'psql $STACK_DATABASE_CONNECTION_STRING'",
"lint": "next lint"
},
"dependencies": {
"@assistant-ui/react": "^0.10.24",
"@assistant-ui/react-ai-sdk": "^0.10.14",
"@assistant-ui/react-markdown": "^0.10.5",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
"@hookform/resolvers": "^3.3.4",
"@monaco-editor/react": "4.7.0-rc.0",
"@next/bundle-analyzer": "15.2.3",
"@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-tooltip": "^1.1.3",
"@react-hook/resize-observer": "^2.0.2",
"@sentry/nextjs": "^8.40.0",
"@stackframe/stack": "workspace:*",
"@stackframe/stack-emails": "workspace:*",
"@stackframe/stack-shared": "workspace:*",
"@stackframe/stack-ui": "workspace:*",
"@tanstack/react-table": "^8.20.5",
"@vercel/analytics": "^1.2.2",
"@vercel/speed-insights": "^1.0.12",
"canvas-confetti": "^1.9.2",
"clsx": "^2.0.0",
"dotenv-cli": "^7.3.0",
"geist": "^1",
"lodash": "^4.17.21",
"lucide-react": "^0.508.0",
"next": "15.4.1",
"next-themes": "^0.2.1",
"posthog-js": "^1.235.0",
"react": "19.0.0",
"react-dom": "19.0.0",
"react-globe.gl": "^2.28.2",
"react-hook-form": "^7.53.1",
"react-icons": "^5.0.1",
"react-syntax-highlighter": "^15.6.1",
"recharts": "^2.14.1",
"remark-gfm": "^4.0.1",
"svix": "^1.32.0",
"svix-react": "^1.13.0",
"tailwind-merge": "^2.3.0",
"tailwindcss-animate": "^1.0.7",
"use-debounce": "^10.0.5",
"yup": "^1.4.0"
},
"devDependencies": {
"@types/canvas-confetti": "^1.6.4",
"@types/lodash": "^4.17.5",
"@types/node": "20.17.6",
"@types/react": "19.0.12",
"@types/react-dom": "19.0.4",
"@types/react-syntax-highlighter": "^15.5.13",
"autoprefixer": "^10.4.17",
"glob": "^10.4.1",
"import-in-the-middle": "^1.12.0",
"postcss": "^8.4.38",
"require-in-the-middle": "^7.4.0",
"rimraf": "^5.0.5",
"tailwindcss": "^3.4.1",
"tsx": "^4.7.2"
},
"pnpm": {
"overrides": {
"@types/react": "19.0.12",
"@types/react-dom": "19.0.4"
}
}
}