{ "name": "web", "version": "0.1.0", "private": true, "scripts": { "dev": "next dev --turbopack", "build": "next build", "lint": "next lint", "lint:fix": "next lint --fix && prettier --write . --log-level warn", "preview": "next build && next start", "format:write": "prettier --write \"**/*.{css,js,json,jsx,ts,tsx}\"", "format": "prettier \"**/*.{css,js,json,jsx,ts,tsx}\"", "start": "next start -p 4000", "typecheck": "tsc --noEmit" }, "dependencies": { "@penx/vaul": "workspace:*", "@penx/components": "workspace:*", "@penx/constants": "workspace:*", "@penx/content-render": "workspace:*", "@penx/contexts": "workspace:*", "@penx/domain": "workspace:*", "@penx/emitter": "workspace:*", "@penx/encryption": "workspace:*", "@penx/hooks": "workspace:*", "@penx/libs": "workspace:*", "@penx/local-db": "workspace:*", "@penx/locales": "workspace:*", "@penx/math": "workspace:*", "@penx/model-type": "workspace:*", "@penx/novel-editor": "workspace:*", "@penx/query-client": "workspace:*", "@penx/services": "workspace:*", "@penx/session": "workspace:*", "@penx/store": "workspace:*", "@penx/types": "workspace:*", "@penx/uikit": "workspace:*", "@penx/icons": "workspace:*", "@penx/unique-id": "workspace:*", "@penx/utils": "workspace:*", "@penx/widgets": "workspace:*", "@upstash/ratelimit": "^0.4.4", "@vanilla-extract/css": "^1.16.1", "@vercel/blob": "^0.15.0", "@vercel/kv": "^1.0.1", "@vercel/postgres": "^0.5.1", "http-proxy-middleware": "^3.0.5", "next": "^15.3.0" }, "devDependencies": { "@iconify/json": "^2.2.311", "@iconify/tailwind4": "^1.0.4", "@penx/typescript-config": "workspace:*", "@tailwindcss/forms": "^0.5.10", "@tailwindcss/postcss": "4.0.17", "@tailwindcss/typography": "^0.5.16", "@types/cors": "^2.8.17", "@typescript-eslint/parser": "^8.23.0", "autoprefixer": "^10.4.20", "css-loader": "^7.1.2", "dotenv-cli": "^7.3.0", "encoding": "^0.1.13", "postcss": "^8.5.1", "style-loader": "^4.0.0", "tailwindcss": "^4.1.4", "ts-node": "^10.9.2", "tsx": "^4.19.1" } }