From d5c28690989e2ba073cd8a43fe81a3424e8cb7bf Mon Sep 17 00:00:00 2001 From: 6drf21e Date: Sat, 30 Mar 2024 10:11:53 +0800 Subject: [PATCH] Update next.config.mjs and package.json --- Dockerfile | 2 +- web/next.config.mjs | 3 +++ web/package-lock.json | 42 ++++++++++++++---------------------------- web/package.json | 12 ++++++------ web/src/app/layout.tsx | 6 ++++-- 5 files changed, 28 insertions(+), 37 deletions(-) diff --git a/Dockerfile b/Dockerfile index 830f37f..3d84537 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,12 +4,12 @@ WORKDIR /app # Install dependencies COPY ./web/package*.json ./ +ENV NODE_ENV production RUN npm install COPY ./web . # Compile Next.js and configure distDir RUN sed -i 's/distDir:.*/distDir: process.env.NEXT_DIST_DIR || ".\/ui"/' next.config.mjs -ENV NODE_ENV production ENV NEXT_DIST_DIR ./NEXT_BUILD RUN npm run build diff --git a/web/next.config.mjs b/web/next.config.mjs index ba1bde0..ded9545 100644 --- a/web/next.config.mjs +++ b/web/next.config.mjs @@ -8,6 +8,9 @@ export default (phase, { defaultConfig }) => { output: "export", assetPrefix: "/ui/", basePath: "/ui", + experimental: { + missingSuspenseWithCSRBailout: false + }, distDir: "../ui" }; } else { diff --git a/web/package-lock.json b/web/package-lock.json index 390c429..f6de7ed 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -11,8 +11,10 @@ "@next/third-parties": "^14.1.4", "@radix-ui/react-popover": "^1.0.7", "@tailwindcss/forms": "^0.5.7", + "@tailwindcss/typography": "^0.5.10", "@upstash/ratelimit": "^1.0.0", "@vercel/kv": "^1.0.1", + "autoprefixer": "^10.0.1", "clsx": "^2.1.0", "headlessui": "^0.0.0", "lucide-react": "^0.309.0", @@ -23,23 +25,21 @@ "react-dom": "^18", "react-markdown": "^9.0.1", "tailwind-merge": "^2.2.0", + "tailwindcss": "^3.3.0", + "typescript": "^5", "unist-builder": "^4.0.0" }, "devDependencies": { - "@tailwindcss/typography": "^0.5.10", - "@types/node": "^20", + "@types/node": "20.11.30", "@types/react": "^18", "@types/react-dom": "^18", - "autoprefixer": "^10.0.1", "eslint": "^8", "eslint-config-next": "14.0.4", "eslint-config-prettier": "^9.0.0", "eslint-plugin-prettier": "^5.0.1", "eslint-plugin-unused-imports": "^3.0.0", "postcss": "^8", - "prettier": "^3.1.0", - "tailwindcss": "^3.3.0", - "typescript": "^5" + "prettier": "^3.1.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -946,7 +946,6 @@ "version": "0.5.10", "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.10.tgz", "integrity": "sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==", - "dev": true, "dependencies": { "lodash.castarray": "^4.4.0", "lodash.isplainobject": "^4.0.6", @@ -961,7 +960,6 @@ "version": "6.0.10", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "dev": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -1019,9 +1017,9 @@ "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" }, "node_modules/@types/node": { - "version": "20.11.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", - "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", + "version": "20.11.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz", + "integrity": "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -1487,7 +1485,6 @@ "version": "10.4.16", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", - "dev": true, "funding": [ { "type": "opencollective", @@ -1597,7 +1594,6 @@ "version": "4.22.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", - "dev": true, "funding": [ { "type": "opencollective", @@ -2008,8 +2004,7 @@ "node_modules/electron-to-chromium": { "version": "1.4.630", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.630.tgz", - "integrity": "sha512-osHqhtjojpCsACVnuD11xO5g9xaCyw7Qqn/C2KParkMv42i8jrJJgx3g7mkHfpxwhy9MnOJr8+pKOdZ7qzgizg==", - "dev": true + "integrity": "sha512-osHqhtjojpCsACVnuD11xO5g9xaCyw7Qqn/C2KParkMv42i8jrJJgx3g7mkHfpxwhy9MnOJr8+pKOdZ7qzgizg==" }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -2148,7 +2143,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, "engines": { "node": ">=6" } @@ -2806,7 +2800,6 @@ "version": "4.3.7", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true, "engines": { "node": "*" }, @@ -3795,20 +3788,17 @@ "node_modules/lodash.castarray": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", - "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", - "dev": true + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, "node_modules/longest-streak": { "version": "3.1.0", @@ -4603,8 +4593,7 @@ "node_modules/node-releases": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "node_modules/normalize-path": { "version": "3.0.0", @@ -4618,7 +4607,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -6190,7 +6178,6 @@ "version": "5.3.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", - "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -6330,7 +6317,6 @@ "version": "1.0.13", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, "funding": [ { "type": "opencollective", diff --git a/web/package.json b/web/package.json index 57ddfd4..9c11e89 100644 --- a/web/package.json +++ b/web/package.json @@ -14,8 +14,10 @@ "@next/third-parties": "^14.1.4", "@radix-ui/react-popover": "^1.0.7", "@tailwindcss/forms": "^0.5.7", + "@tailwindcss/typography": "^0.5.10", "@upstash/ratelimit": "^1.0.0", "@vercel/kv": "^1.0.1", + "autoprefixer": "^10.0.1", "clsx": "^2.1.0", "headlessui": "^0.0.0", "lucide-react": "^0.309.0", @@ -26,22 +28,20 @@ "react-dom": "^18", "react-markdown": "^9.0.1", "tailwind-merge": "^2.2.0", + "tailwindcss": "^3.3.0", + "typescript": "^5", "unist-builder": "^4.0.0" }, "devDependencies": { - "@tailwindcss/typography": "^0.5.10", - "@types/node": "^20", + "@types/node": "20.11.30", "@types/react": "^18", "@types/react-dom": "^18", - "autoprefixer": "^10.0.1", "eslint": "^8", "eslint-config-next": "14.0.4", "eslint-config-prettier": "^9.0.0", "eslint-plugin-prettier": "^5.0.1", "eslint-plugin-unused-imports": "^3.0.0", "postcss": "^8", - "prettier": "^3.1.0", - "tailwindcss": "^3.3.0", - "typescript": "^5" + "prettier": "^3.1.0" } } diff --git a/web/src/app/layout.tsx b/web/src/app/layout.tsx index 00a442c..0cd49dd 100644 --- a/web/src/app/layout.tsx +++ b/web/src/app/layout.tsx @@ -2,7 +2,7 @@ import type { Metadata } from "next"; import { Inter } from "next/font/google"; import "./globals.css"; import { ReactNode } from "react"; -import { GoogleAnalytics } from '@next/third-parties/google'; +import { GoogleAnalytics } from "@next/third-parties/google"; const inter = Inter({ subsets: ["latin"] }); @@ -16,7 +16,9 @@ export default function RootLayout({ children }: { children: ReactNode }) { return ( {children} - + {process.env.NEXT_PUBLIC_GOOGLE_ANALYTICS && ( + + )} ); }