diff --git a/package-lock.json b/package-lock.json index dcab1475..6549ec19 100644 --- a/package-lock.json +++ b/package-lock.json @@ -68,7 +68,7 @@ "lodash": "^4.17.21", "lucide-react": "^0.474.0", "motion": "^12.4.3", - "next": "15.1.4", + "next": "15.2.3", "next-themes": "^0.4.4", "react": "19.0.0", "react-color": "^2.19.3", @@ -10841,9 +10841,10 @@ "integrity": "sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==" }, "node_modules/@next/env": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/@next/env/-/env-15.1.4.tgz", - "integrity": "sha512-2fZ5YZjedi5AGaeoaC0B20zGntEHRhi2SdWcu61i48BllODcAmmtj8n7YarSPt4DaTsJaBFdxQAVEVzgmx2Zpw==" + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@next/env/-/env-15.2.3.tgz", + "integrity": "sha512-a26KnbW9DFEUsSxAxKBORR/uD9THoYoKbkpFywMN/AFvboTt94b8+g/07T8J6ACsdLag8/PDU60ov4rPxRAixw==", + "license": "MIT" }, "node_modules/@next/eslint-plugin-next": { "version": "14.0.4", @@ -10918,12 +10919,13 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.1.4.tgz", - "integrity": "sha512-wBEMBs+np+R5ozN1F8Y8d/Dycns2COhRnkxRc+rvnbXke5uZBHkUGFgWxfTXn5rx7OLijuUhyfB+gC/ap58dDw==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.2.3.tgz", + "integrity": "sha512-uaBhA8aLbXLqwjnsHSkxs353WrRgQgiFjduDpc7YXEU0B54IKx3vU+cxQlYwPCyC8uYEEX7THhtQQsfHnvv8dw==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -10933,12 +10935,13 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.1.4.tgz", - "integrity": "sha512-7sgf5rM7Z81V9w48F02Zz6DgEJulavC0jadab4ZsJ+K2sxMNK0/BtF8J8J3CxnsJN3DGcIdC260wEKssKTukUw==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.2.3.tgz", + "integrity": "sha512-pVwKvJ4Zk7h+4hwhqOUuMx7Ib02u3gDX3HXPKIShBi9JlYllI0nU6TWLbPT94dt7FSi6mSBhfc2JrHViwqbOdw==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -10948,12 +10951,13 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.1.4.tgz", - "integrity": "sha512-JaZlIMNaJenfd55kjaLWMfok+vWBlcRxqnRoZrhFQrhM1uAehP3R0+Aoe+bZOogqlZvAz53nY/k3ZyuKDtT2zQ==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.2.3.tgz", + "integrity": "sha512-50ibWdn2RuFFkOEUmo9NCcQbbV9ViQOrUfG48zHBCONciHjaUKtHcYFiCwBVuzD08fzvzkWuuZkd4AqbvKO7UQ==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -10963,12 +10967,13 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.1.4.tgz", - "integrity": "sha512-7EBBjNoyTO2ipMDgCiORpwwOf5tIueFntKjcN3NK+GAQD7OzFJe84p7a2eQUeWdpzZvhVXuAtIen8QcH71ZCOQ==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.2.3.tgz", + "integrity": "sha512-2gAPA7P652D3HzR4cLyAuVYwYqjG0mt/3pHSWTCyKZq/N/dJcUAEoNQMyUmwTZWCJRKofB+JPuDVP2aD8w2J6Q==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -10978,12 +10983,13 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.1.4.tgz", - "integrity": "sha512-9TGEgOycqZFuADyFqwmK/9g6S0FYZ3tphR4ebcmCwhL8Y12FW8pIBKJvSwV+UBjMkokstGNH+9F8F031JZKpHw==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.2.3.tgz", + "integrity": "sha512-ODSKvrdMgAJOVU4qElflYy1KSZRM3M45JVbeZu42TINCMG3anp7YCBn80RkISV6bhzKwcUqLBAmOiWkaGtBA9w==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -10993,12 +10999,13 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.1.4.tgz", - "integrity": "sha512-0578bLRVDJOh+LdIoKvgNDz77+Bd85c5JrFgnlbI1SM3WmEQvsjxTA8ATu9Z9FCiIS/AliVAW2DV/BDwpXbtiQ==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.2.3.tgz", + "integrity": "sha512-ZR9kLwCWrlYxwEoytqPi1jhPd1TlsSJWAc+H/CJHmHkf2nD92MQpSRIURR1iNgA/kuFSdxB8xIPt4p/T78kwsg==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -11008,12 +11015,13 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.1.4.tgz", - "integrity": "sha512-JgFCiV4libQavwII+kncMCl30st0JVxpPOtzWcAI2jtum4HjYaclobKhj+JsRu5tFqMtA5CJIa0MvYyuu9xjjQ==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.2.3.tgz", + "integrity": "sha512-+G2FrDcfm2YDbhDiObDU/qPriWeiz/9cRR0yMWJeTLGGX6/x8oryO3tt7HhodA1vZ8r2ddJPCjtLcpaVl7TE2Q==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -11023,12 +11031,13 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.1.4.tgz", - "integrity": "sha512-xxsJy9wzq7FR5SqPCUqdgSXiNXrMuidgckBa8nH9HtjjxsilgcN6VgXF6tZ3uEWuVEadotQJI8/9EQ6guTC4Yw==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.2.3.tgz", + "integrity": "sha512-gHYS9tc+G2W0ZC8rBL+H6RdtXIyk40uLiaos0yj5US85FNhbFEndMA2nW3z47nzOWiSvXTZ5kBClc3rD0zJg0w==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -23023,11 +23032,12 @@ } }, "node_modules/next": { - "version": "15.1.4", - "resolved": "https://registry.npmjs.org/next/-/next-15.1.4.tgz", - "integrity": "sha512-mTaq9dwaSuwwOrcu3ebjDYObekkxRnXpuVL21zotM8qE2W0HBOdVIdg2Li9QjMEZrj73LN96LcWcz62V19FjAg==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/next/-/next-15.2.3.tgz", + "integrity": "sha512-x6eDkZxk2rPpu46E1ZVUWIBhYCLszmUY6fvHBFcbzJ9dD+qRX6vcHusaqqDlnY+VngKzKbAiG2iRCkPbmi8f7w==", + "license": "MIT", "dependencies": { - "@next/env": "15.1.4", + "@next/env": "15.2.3", "@swc/counter": "0.1.3", "@swc/helpers": "0.5.15", "busboy": "1.6.0", @@ -23042,14 +23052,14 @@ "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "15.1.4", - "@next/swc-darwin-x64": "15.1.4", - "@next/swc-linux-arm64-gnu": "15.1.4", - "@next/swc-linux-arm64-musl": "15.1.4", - "@next/swc-linux-x64-gnu": "15.1.4", - "@next/swc-linux-x64-musl": "15.1.4", - "@next/swc-win32-arm64-msvc": "15.1.4", - "@next/swc-win32-x64-msvc": "15.1.4", + "@next/swc-darwin-arm64": "15.2.3", + "@next/swc-darwin-x64": "15.2.3", + "@next/swc-linux-arm64-gnu": "15.2.3", + "@next/swc-linux-arm64-musl": "15.2.3", + "@next/swc-linux-x64-gnu": "15.2.3", + "@next/swc-linux-x64-musl": "15.2.3", + "@next/swc-win32-arm64-msvc": "15.2.3", + "@next/swc-win32-x64-msvc": "15.2.3", "sharp": "^0.33.5" }, "peerDependencies": { diff --git a/package.json b/package.json index 793da96a..9b577331 100644 --- a/package.json +++ b/package.json @@ -1,139 +1,138 @@ -{ - "name": "@outerbase/studio", - "version": "0.10", - "private": false, - "scripts": { - "dev": "next dev -p 3008", - "dev-https": "next dev --experimental-https", - "build": "next build", - "start": "next start", - "tsc": "tsc --noEmit --skipLibCheck", - "test": "jest", - "test:coverage": "jest --coverage", - "test:watch": "jest --watch", - "staged": "npm run typecheck && npm run lint && jest", - "typecheck": "tsc --noEmit --skipLibCheck", - "format": "prettier --check .", - "format:fix": "prettier --write .", - "lint": "next lint", - "lint:fix": "next lint --fix .", - "dialect": "node build-dialect.js", - "build:worker": "opennextjs-cloudflare", - "dev:worker": "wrangler dev --port 8771", - "preview:worker": "npm run build:worker && npm run dev:worker", - "deploy:worker": "npm run build:worker && wrangler deploy", - "prepare:worker": "cp wrangler.jsonc.example wrangler.jsonc && KV_ID_ESC=$(printf '%s' \"$KV_ID\" | sed 's/[&/]/\\\\&/g') && sed -i'' -e \"s/\\\"id\\\": \\\"kv_id\\\"/\\\"id\\\": \\\"$KV_ID_ESC\\\"/\" wrangler.jsonc" - }, - "overrides": { - "@libsql/client": "^0.5.3" - }, - "dependencies": { - "@codemirror/lang-json": "^6.0.1", - "@codemirror/lang-sql": "^6.5.5", - "@codemirror/merge": "^6.8.0", - "@dagrejs/dagre": "^1.1.4", - "@dnd-kit/core": "^6.1.0", - "@dnd-kit/modifiers": "^7.0.0", - "@dnd-kit/sortable": "^8.0.0", - "@lezer/common": "^1.2.1", - "@lezer/lr": "^1.4.0", - "@libsql/client": "^0.5.3", - "@mdx-js/loader": "^3.0.1", - "@mdx-js/react": "^3.0.1", - "@next/mdx": "^14.2.4", - "@outerbase/sdk-transform": "^1.0.5", - "@phosphor-icons/react": "^2.1.7", - "@radix-ui/react-alert-dialog": "^1.0.5", - "@radix-ui/react-avatar": "^1.0.4", - "@radix-ui/react-checkbox": "^1.0.4", - "@radix-ui/react-collapsible": "^1.1.2", - "@radix-ui/react-context-menu": "^2.1.5", - "@radix-ui/react-dialog": "^1.0.5", - "@radix-ui/react-dropdown-menu": "^2.0.6", - "@radix-ui/react-hover-card": "^1.0.7", - "@radix-ui/react-icons": "^1.3.0", - "@radix-ui/react-label": "^2.0.2", - "@radix-ui/react-menubar": "^1.0.4", - "@radix-ui/react-navigation-menu": "^1.1.4", - "@radix-ui/react-popover": "^1.0.7", - "@radix-ui/react-radio-group": "^1.1.3", - "@radix-ui/react-scroll-area": "^1.0.5", - "@radix-ui/react-select": "^2.0.0", - "@radix-ui/react-separator": "^1.0.3", - "@radix-ui/react-slot": "^1.0.2", - "@radix-ui/react-toggle": "^1.1.0", - "@radix-ui/react-toggle-group": "^1.1.0", - "@radix-ui/react-tooltip": "^1.0.7", - "@replit/codemirror-indentation-markers": "^6.5.3", - "@t3-oss/env-nextjs": "^0.9.2", - "@types/mdx": "^2.0.13", - "@types/react-grid-layout": "^1.3.5", - "@uiw/codemirror-extensions-langs": "^4.21.24", - "@uiw/codemirror-themes": "^4.21.21", - "@uiw/react-codemirror": "^4.21.21", - "@vercel/analytics": "^1.3.1", - "@xyflow/react": "^12.3.6", - "class-variance-authority": "^0.7.0", - "clsx": "^2.1.0", - "cmdk": "^1.0.4", - "deep-equal": "^2.2.3", - "dexie": "^4.0.8", - "dotenv": "^16.4.5", - "echarts": "^5.6.0", - "eslint-plugin-jest": "^27.6.3", - "file-saver": "^2.0.5", - "html-to-image": "^1.11.11", - "immer": "^10.1.1", - "libsql-stateless-easy": "^1.6.11", - "lodash": "^4.17.21", - "lucide-react": "^0.474.0", - "motion": "^12.4.3", - "next": "15.1.4", - "next-themes": "^0.4.4", - "react": "19.0.0", - "react-color": "^2.19.3", - "react-dom": "19.0.0", - "react-grid-layout": "^1.5.0", - "react-resizable-panels": "^2.1.7", - "sonner": "^1.4.41", - "sql-formatter": "^15.3.2", - "swr": "^2.3.0", - "tailwind-merge": "^2.2.2", - "tailwindcss-animate": "^1.0.7", - "use-immer": "^0.11.0", - "xlsx": "^0.18.5", - "zod": "^3.22.4" - }, - "devDependencies": { - "@opennextjs/cloudflare": "^0.5.6", - "@tailwindcss/postcss": "^4.0.0", - "@testing-library/jest-dom": "^6.6.3", - "@testing-library/react": "^16.2.0", - "@types/deep-equal": "^1.0.4", - "@types/file-saver": "^2.0.7", - "@types/jest": "^29.5.11", - "@types/lodash": "^4.17.9", - "@types/node": "^20", - "@types/react": "^18", - "@types/react-color": "^3.0.13", - "@types/react-dom": "^18", - "@types/showdown": "^2.0.6", - "@types/sql.js": "^1.4.9", - "@types/wicg-file-system-access": "^2023.10.5", - "@typescript-eslint/eslint-plugin": "^6.21.0", - "@typescript-eslint/parser": "^6.21.0", - "eslint": "^8", - "eslint-config-next": "14.0.4", - "jest": "^29.7.0", - "jest-environment-jsdom": "^29.7.0", - "postcss": "^8.4.38", - "prettier": "^3.2.5", - "prettier-plugin-tailwindcss": "^0.6.11", - "shiki": "^1.12.0", - "showdown": "^2.1.0", - "tailwindcss": "^4.0.0", - "ts-node": "^10.9.2", - "tsx": "^4.7.1", - "typescript": "^5" - } -} +{ + "name": "@outerbase/studio", + "version": "0.10", + "private": false, + "scripts": { + "dev": "next dev -p 3008", + "dev-https": "next dev --experimental-https", + "build": "next build", + "start": "next start", + "tsc": "tsc --noEmit --skipLibCheck", + "test": "jest", + "test:coverage": "jest --coverage", + "test:watch": "jest --watch", + "staged": "npm run typecheck && npm run lint && jest", + "typecheck": "tsc --noEmit --skipLibCheck", + "format": "prettier --check .", + "format:fix": "prettier --write .", + "lint": "next lint", + "lint:fix": "next lint --fix .", + "dialect": "node build-dialect.js", + "build:worker": "opennextjs-cloudflare", + "dev:worker": "wrangler dev --port 8771", + "preview:worker": "npm run build:worker && npm run dev:worker", + "deploy:worker": "npm run build:worker && wrangler deploy" + }, + "overrides": { + "@libsql/client": "^0.5.3" + }, + "dependencies": { + "@codemirror/lang-json": "^6.0.1", + "@codemirror/lang-sql": "^6.5.5", + "@codemirror/merge": "^6.8.0", + "@dagrejs/dagre": "^1.1.4", + "@dnd-kit/core": "^6.1.0", + "@dnd-kit/modifiers": "^7.0.0", + "@dnd-kit/sortable": "^8.0.0", + "@lezer/common": "^1.2.1", + "@lezer/lr": "^1.4.0", + "@libsql/client": "^0.5.3", + "@mdx-js/loader": "^3.0.1", + "@mdx-js/react": "^3.0.1", + "@next/mdx": "^14.2.4", + "@outerbase/sdk-transform": "^1.0.5", + "@phosphor-icons/react": "^2.1.7", + "@radix-ui/react-alert-dialog": "^1.0.5", + "@radix-ui/react-avatar": "^1.0.4", + "@radix-ui/react-checkbox": "^1.0.4", + "@radix-ui/react-collapsible": "^1.1.2", + "@radix-ui/react-context-menu": "^2.1.5", + "@radix-ui/react-dialog": "^1.0.5", + "@radix-ui/react-dropdown-menu": "^2.0.6", + "@radix-ui/react-hover-card": "^1.0.7", + "@radix-ui/react-icons": "^1.3.0", + "@radix-ui/react-label": "^2.0.2", + "@radix-ui/react-menubar": "^1.0.4", + "@radix-ui/react-navigation-menu": "^1.1.4", + "@radix-ui/react-popover": "^1.0.7", + "@radix-ui/react-radio-group": "^1.1.3", + "@radix-ui/react-scroll-area": "^1.0.5", + "@radix-ui/react-select": "^2.0.0", + "@radix-ui/react-separator": "^1.0.3", + "@radix-ui/react-slot": "^1.0.2", + "@radix-ui/react-toggle": "^1.1.0", + "@radix-ui/react-toggle-group": "^1.1.0", + "@radix-ui/react-tooltip": "^1.0.7", + "@replit/codemirror-indentation-markers": "^6.5.3", + "@t3-oss/env-nextjs": "^0.9.2", + "@types/mdx": "^2.0.13", + "@types/react-grid-layout": "^1.3.5", + "@uiw/codemirror-extensions-langs": "^4.21.24", + "@uiw/codemirror-themes": "^4.21.21", + "@uiw/react-codemirror": "^4.21.21", + "@vercel/analytics": "^1.3.1", + "@xyflow/react": "^12.3.6", + "class-variance-authority": "^0.7.0", + "clsx": "^2.1.0", + "cmdk": "^1.0.4", + "deep-equal": "^2.2.3", + "dexie": "^4.0.8", + "dotenv": "^16.4.5", + "echarts": "^5.6.0", + "eslint-plugin-jest": "^27.6.3", + "file-saver": "^2.0.5", + "html-to-image": "^1.11.11", + "immer": "^10.1.1", + "libsql-stateless-easy": "^1.6.11", + "lodash": "^4.17.21", + "lucide-react": "^0.474.0", + "motion": "^12.4.3", + "next": "15.2.3", + "next-themes": "^0.4.4", + "react": "19.0.0", + "react-color": "^2.19.3", + "react-dom": "19.0.0", + "react-grid-layout": "^1.5.0", + "react-resizable-panels": "^2.1.7", + "sonner": "^1.4.41", + "sql-formatter": "^15.3.2", + "swr": "^2.3.0", + "tailwind-merge": "^2.2.2", + "tailwindcss-animate": "^1.0.7", + "use-immer": "^0.11.0", + "xlsx": "^0.18.5", + "zod": "^3.22.4" + }, + "devDependencies": { + "@opennextjs/cloudflare": "^0.5.6", + "@tailwindcss/postcss": "^4.0.0", + "@testing-library/jest-dom": "^6.6.3", + "@testing-library/react": "^16.2.0", + "@types/deep-equal": "^1.0.4", + "@types/file-saver": "^2.0.7", + "@types/jest": "^29.5.11", + "@types/lodash": "^4.17.9", + "@types/node": "^20", + "@types/react": "^18", + "@types/react-color": "^3.0.13", + "@types/react-dom": "^18", + "@types/showdown": "^2.0.6", + "@types/sql.js": "^1.4.9", + "@types/wicg-file-system-access": "^2023.10.5", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", + "eslint": "^8", + "eslint-config-next": "14.0.4", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "postcss": "^8.4.38", + "prettier": "^3.2.5", + "prettier-plugin-tailwindcss": "^0.6.11", + "shiki": "^1.12.0", + "showdown": "^2.1.0", + "tailwindcss": "^4.0.0", + "ts-node": "^10.9.2", + "tsx": "^4.7.1", + "typescript": "^5" + } +} \ No newline at end of file diff --git a/src/app/(outerbase)/local/board/[boardId]/page.tsx b/src/app/(outerbase)/local/board/[boardId]/page.tsx index 827459b3..df5596df 100644 --- a/src/app/(outerbase)/local/board/[boardId]/page.tsx +++ b/src/app/(outerbase)/local/board/[boardId]/page.tsx @@ -9,6 +9,8 @@ import { useParams } from "next/navigation"; import { useEffect, useMemo, useState } from "react"; import { getLocalConnectionList, useLocalDashboardList } from "../../hooks"; +export const runtime = "edge"; + function LocalBoardWithDataPage({ initialValue, }: { diff --git a/src/app/(outerbase)/local/edit-base/[baseId]/page.tsx b/src/app/(outerbase)/local/edit-base/[baseId]/page.tsx index a2535aec..43468520 100644 --- a/src/app/(outerbase)/local/edit-base/[baseId]/page.tsx +++ b/src/app/(outerbase)/local/edit-base/[baseId]/page.tsx @@ -12,6 +12,8 @@ import { useParams, useRouter } from "next/navigation"; import { useCallback, useEffect, useState } from "react"; import { getLocalConnection, updateLocalConnection } from "../../hooks"; +export const runtime = "edge"; + export default function LocalEditBasePage() { const router = useRouter(); const { baseId } = useParams<{ baseId: string }>(); diff --git a/src/app/(outerbase)/local/new-base/[driver]/page.tsx b/src/app/(outerbase)/local/new-base/[driver]/page.tsx index 13803018..c5efaec1 100644 --- a/src/app/(outerbase)/local/new-base/[driver]/page.tsx +++ b/src/app/(outerbase)/local/new-base/[driver]/page.tsx @@ -14,6 +14,8 @@ import { useCallback, useMemo, useState } from "react"; import { mutate } from "swr"; import { createLocalConnection } from "../../hooks"; +export const runtime = "edge"; + export default function LocalNewBasePage() { const { driver } = useParams<{ driver: string }>(); const router = useRouter(); diff --git a/src/app/(outerbase)/w/[workspaceId]/[baseId]/page.tsx b/src/app/(outerbase)/w/[workspaceId]/[baseId]/page.tsx index 4f08abbb..25f46284 100644 --- a/src/app/(outerbase)/w/[workspaceId]/[baseId]/page.tsx +++ b/src/app/(outerbase)/w/[workspaceId]/[baseId]/page.tsx @@ -25,6 +25,8 @@ import OuterbaseQueryDriver from "@/outerbase-cloud/query-driver"; import { useParams } from "next/navigation"; import { useEffect, useMemo, useState } from "react"; +export const runtime = "edge"; + export default function OuterbaseSourcePage() { const { workspaceId, baseId } = useParams<{ workspaceId: string; diff --git a/src/app/(outerbase)/w/[workspaceId]/billing/page.tsx b/src/app/(outerbase)/w/[workspaceId]/billing/page.tsx index 85114a4b..d173a416 100644 --- a/src/app/(outerbase)/w/[workspaceId]/billing/page.tsx +++ b/src/app/(outerbase)/w/[workspaceId]/billing/page.tsx @@ -2,6 +2,8 @@ import NavigationHeader from "@/app/(outerbase)/nav-header"; import NavigationLayout from "@/app/(outerbase)/nav-layout"; +export const runtime = "edge"; + export default function WorkspaceBillingPage() { return ( diff --git a/src/app/(outerbase)/w/[workspaceId]/board/[boardId]/page.tsx b/src/app/(outerbase)/w/[workspaceId]/board/[boardId]/page.tsx index 779ae602..33375164 100644 --- a/src/app/(outerbase)/w/[workspaceId]/board/[boardId]/page.tsx +++ b/src/app/(outerbase)/w/[workspaceId]/board/[boardId]/page.tsx @@ -15,6 +15,8 @@ import { useParams } from "next/navigation"; import { useMemo, useState } from "react"; import useSWR, { KeyedMutator } from "swr"; +export const runtime = "edge"; + function BoardPageEditor({ initialValue, }: { diff --git a/src/app/(outerbase)/w/[workspaceId]/edit-base/[baseId]/page.tsx b/src/app/(outerbase)/w/[workspaceId]/edit-base/[baseId]/page.tsx index ff607fac..6649f463 100644 --- a/src/app/(outerbase)/w/[workspaceId]/edit-base/[baseId]/page.tsx +++ b/src/app/(outerbase)/w/[workspaceId]/edit-base/[baseId]/page.tsx @@ -21,6 +21,8 @@ import { ArrowLeft, ArrowRight, FloppyDisk } from "@phosphor-icons/react"; import { useParams, useRouter } from "next/navigation"; import { useCallback, useEffect, useMemo, useState } from "react"; +export const runtime = "edge"; + function WorkspaceEditBaseBody({ base, credential, diff --git a/src/app/(outerbase)/w/[workspaceId]/edit-base/page.tsx b/src/app/(outerbase)/w/[workspaceId]/edit-base/page.tsx index d7c56182..3efffb0b 100644 --- a/src/app/(outerbase)/w/[workspaceId]/edit-base/page.tsx +++ b/src/app/(outerbase)/w/[workspaceId]/edit-base/page.tsx @@ -1,3 +1,5 @@ +export const runtime = "edge"; + export default function NewBasePage() { return
Unknown page
; } diff --git a/src/app/(outerbase)/w/[workspaceId]/new-base/[driver]/page.tsx b/src/app/(outerbase)/w/[workspaceId]/new-base/[driver]/page.tsx index 47459758..129b2a9b 100644 --- a/src/app/(outerbase)/w/[workspaceId]/new-base/[driver]/page.tsx +++ b/src/app/(outerbase)/w/[workspaceId]/new-base/[driver]/page.tsx @@ -17,6 +17,8 @@ import { ArrowLeft, ArrowRight, FloppyDisk } from "@phosphor-icons/react"; import { useParams, useRouter } from "next/navigation"; import { useCallback, useMemo, useState } from "react"; +export const runtime = "edge"; + export default function WorkspaceNewBasePage() { const { driver, workspaceId } = useParams<{ driver: string; diff --git a/src/app/(outerbase)/w/[workspaceId]/new-base/page.tsx b/src/app/(outerbase)/w/[workspaceId]/new-base/page.tsx index d7c56182..3efffb0b 100644 --- a/src/app/(outerbase)/w/[workspaceId]/new-base/page.tsx +++ b/src/app/(outerbase)/w/[workspaceId]/new-base/page.tsx @@ -1,3 +1,5 @@ +export const runtime = "edge"; + export default function NewBasePage() { return
Unknown page
; } diff --git a/src/app/(outerbase)/w/[workspaceId]/page.tsx b/src/app/(outerbase)/w/[workspaceId]/page.tsx index 4e6f2e3b..a18c863f 100644 --- a/src/app/(outerbase)/w/[workspaceId]/page.tsx +++ b/src/app/(outerbase)/w/[workspaceId]/page.tsx @@ -18,6 +18,8 @@ import { deleteBaseDialog } from "./dialog-base-delete"; import { createBoardDialog } from "./dialog-board-create"; import { deleteBoardDialog } from "./dialog-board-delete"; +export const runtime = "edge"; + export default function WorkspaceListPage() { const router = useRouter(); const { diff --git a/src/app/(outerbase)/w/[workspaceId]/settings/page.tsx b/src/app/(outerbase)/w/[workspaceId]/settings/page.tsx index d03497ef..1bc42c46 100644 --- a/src/app/(outerbase)/w/[workspaceId]/settings/page.tsx +++ b/src/app/(outerbase)/w/[workspaceId]/settings/page.tsx @@ -6,6 +6,8 @@ import { Loader } from "@/components/orbit/loader"; import WorkspaceDeleteSection from "./delete"; import WorkspaceDetailSection from "./detail"; +export const runtime = "edge"; + export default function WorkspaceBillingPage() { const { currentWorkspace } = useWorkspaces(); diff --git a/src/app/(theme)/client/s/[[...driver]]/page.tsx b/src/app/(theme)/client/s/[[...driver]]/page.tsx index 935bee1c..6b95a9b8 100644 --- a/src/app/(theme)/client/s/[[...driver]]/page.tsx +++ b/src/app/(theme)/client/s/[[...driver]]/page.tsx @@ -1,6 +1,8 @@ import ClientOnly from "@/components/client-only"; import ClientPageBody from "./page-client"; +export const runtime = "edge"; + export default function SessionPage() { return ( diff --git a/src/app/(theme)/client/s/starbase/page.tsx b/src/app/(theme)/client/s/starbase/page.tsx index 0798a4b0..cdf7c90b 100644 --- a/src/app/(theme)/client/s/starbase/page.tsx +++ b/src/app/(theme)/client/s/starbase/page.tsx @@ -20,6 +20,8 @@ import { useAvailableAIAgents } from "@/lib/ai-agent-storage"; import { useRouter, useSearchParams } from "next/navigation"; import { useCallback, useEffect, useMemo, useState } from "react"; +export const runtime = "edge"; + function StarbasePageBody() { const params = useSearchParams(); const baseId = params.get("p") ?? ""; diff --git a/src/app/(theme)/embed/[driver]/page.tsx b/src/app/(theme)/embed/[driver]/page.tsx index 83ba5eef..00be36c6 100644 --- a/src/app/(theme)/embed/[driver]/page.tsx +++ b/src/app/(theme)/embed/[driver]/page.tsx @@ -13,6 +13,8 @@ export interface EmbedPageProps { }>; } +export const runtime = "edge"; + export default async function EmbedPage(props: EmbedPageProps) { const searchParams = await props.searchParams; const driver = (await props.params).driver; diff --git a/src/app/(theme)/embed/board/[boardId]/page.tsx b/src/app/(theme)/embed/board/[boardId]/page.tsx index 18b6e5db..144866f6 100644 --- a/src/app/(theme)/embed/board/[boardId]/page.tsx +++ b/src/app/(theme)/embed/board/[boardId]/page.tsx @@ -8,6 +8,8 @@ interface EmbedBoardPageProps { searchParams: Promise<{ key: string; theme: string }>; } +export const runtime = "edge"; + export default async function EmbedBoardPage(props: EmbedBoardPageProps) { const searchParams = await props.searchParams; const params = await props.params; diff --git a/src/app/(theme)/playground/client/page.tsx b/src/app/(theme)/playground/client/page.tsx index 987ddf5a..d549ca6d 100644 --- a/src/app/(theme)/playground/client/page.tsx +++ b/src/app/(theme)/playground/client/page.tsx @@ -25,6 +25,8 @@ export const metadata: Metadata = { }, }; +export const runtime = "edge"; + interface PlaygroundEditorProps { searchParams: Promise<{ template?: string; url?: string }>; } diff --git a/src/app/(theme)/playground/mysql/[roomName]/page.tsx b/src/app/(theme)/playground/mysql/[roomName]/page.tsx index 6637127c..96aacc95 100644 --- a/src/app/(theme)/playground/mysql/[roomName]/page.tsx +++ b/src/app/(theme)/playground/mysql/[roomName]/page.tsx @@ -1,7 +1,7 @@ +import ClientOnly from "@/components/client-only"; import { Metadata } from "next"; import ThemeLayout from "../../../theme_layout"; import MySQLPlaygroundPageClient from "./page-client"; -import ClientOnly from "@/components/client-only"; export const metadata: Metadata = { title: @@ -25,6 +25,8 @@ export const metadata: Metadata = { }, }; +export const runtime = "edge"; + interface MySQLPlaygroundProps { params: Promise<{ roomName: string }>; } diff --git a/src/app/(theme)/theme_layout.tsx b/src/app/(theme)/theme_layout.tsx index 80632fe1..5eb02b08 100644 --- a/src/app/(theme)/theme_layout.tsx +++ b/src/app/(theme)/theme_layout.tsx @@ -2,7 +2,6 @@ import PageTracker from "@/components/page-tracker"; import { Toaster } from "@/components/ui/sonner"; import { TooltipProvider } from "@radix-ui/react-tooltip"; -import { Analytics } from "@vercel/analytics/react"; import { ThemeProvider } from "next-themes"; import Script from "next/script"; import { Fragment, PropsWithChildren, useEffect } from "react"; @@ -35,7 +34,6 @@ export default function ThemeLayout({ -