{ "name": "xlog", "private": true, "description": "An open-source creative community written on the blockchain.", "license": "AGPL-3.0", "sideEffects": false, "packageManager": "pnpm@8.6.2", "scripts": { "build": "next build", "dev": "next -p 2222", "test-e2e": "playwright test", "start": "node server.js", "prepare": "husky install", "prisma:migrate:dev": "prisma migrate dev", "prisma:migrate:deploy": "prisma migrate deploy --preview-feature", "prisma:migrate:status": "prisma migrate status --preview-feature", "prisma:migrate:resolve": "prisma migrate resolve --preview-feature", "prisma:generate": "prisma generate", "prisma:studio": "prisma studio", "docker:db": "docker-compose -f docker-compose.db.yml up -d", "spell-check": "cspell lint . --no-progress", "analyze": "NODE_ENV=production ANALYZE=true BUNDLE_ANALYZE=browser next build", "postinstall": "prisma generate", "lint": "next lint" }, "lint-staged": { "*.{js,jsx,ts,tsx}": [ "eslint --cache --fix", "prettier --ignore-unknown --ignore-path ./.gitignore --write " ] }, "dependencies": { "@birdgg/react-github": "0.2.3", "@codemirror/autocomplete": "6.12.0", "@codemirror/commands": "6.3.3", "@codemirror/lang-markdown": "6.2.4", "@codemirror/language": "6.10.1", "@codemirror/language-data": "6.4.1", "@codemirror/state": "6.4.1", "@codemirror/theme-one-dark": "6.1.2", "@codemirror/view": "6.24.1", "@crossbell/connect-kit": "1.5.26", "@crossbell/contract": "1.5.26", "@crossbell/indexer": "1.5.26", "@crossbell/notification": "1.5.26", "@crossbell/ui": "1.5.26", "@crossbell/util-hooks": "1.5.26", "@crossbell/util-metadata": "1.5.26", "@ddietr/codemirror-themes": "1.4.2", "@floating-ui/react": "0.26.9", "@headlessui/react": "1.7.18", "@heroicons/react": "2.1.1", "@iconify-json/mingcute": "1.1.16", "@lezer/highlight": "1.2.0", "@mantine/core": "7.5.3", "@mantine/dates": "7.5.3", "@microflash/remark-callout-directives": "4.0.0", "@monaco-editor/react": "4.6.0", "@popperjs/core": "2.11.8", "@prisma/client": "5.9.1", "@supercharge/request-ip": "1.2.0", "@tanstack/react-query": "4.36.1", "@uiw/codemirror-extensions-events": "4.21.22", "@urql/core": "4.2.3", "@vercel/otel": "1.3.0", "ahooks": "3.7.10", "aplayer": "1.10.1", "async-lock": "1.4.1", "canvas-confetti": "1.9.2", "cheerio": "1.0.0-rc.12", "chroma-js": "2.4.2", "clsx": "2.1.0", "crossbell": "1.11.3", "dayjs": "1.11.10", "deepmerge": "4.3.1", "emoji-mart": "5.5.2", "fast-average-color": "9.4.0", "fast-deep-equal": "3.1.3", "framer-motion": "11.0.5", "gpt-tokenizer": "2.1.2", "hast-util-from-html": "2.0.1", "hast-util-to-html": "9.0.0", "hast-util-to-jsx-runtime": "2.3.0", "hast-util-to-text": "4.0.0", "image-size": "1.1.1", "immer": "10.0.3", "ioredis": "5.3.2", "isomorphic-dompurify": "2.3.0", "js-yaml": "4.1.0", "jsdom": "24.0.0", "jsonfeed-to-rss": "3.0.7", "katex": "0.16.9", "langchain": "0.1.20", "lottie-react": "2.4.0", "mdast-util-to-hast": "13.1.0", "mdast-util-toc": "7.0.0", "medium-zoom": "1.1.0", "mermaid": "10.8.0", "nanoid": "5.0.5", "next": "14.1.0", "next-intl": "3.8.0", "next-themes": "0.2.1", "node-id3": "0.2.6", "open-graph-scraper": "6.4.0", "openai": "4.28.0", "pangu": "4.0.7", "path-to-regexp": "6.2.1", "pinyin-pro": "3.19.5", "plaiceholder": "3.0.0", "qier-progress": "1.0.4", "qrcode.react": "3.1.0", "rc-dplayer": "1.0.0", "react": "18.2.0", "react-dom": "18.2.0", "react-hook-form": "7.50.1", "react-hot-toast": "2.4.1", "react-parallax-tilt": "1.7.212", "react-popper": "2.3.0", "react-sortablejs": "6.1.4", "react-string-replace": "1.1.1", "react-tweet": "3.2.0", "react-virtuoso": "4.7.0", "refractor": "4.8.1", "rehype-autolink-headings": "7.1.0", "rehype-infer-description-meta": "2.0.0", "rehype-katex": "7.0.0", "rehype-prism-plus": "2.0.0", "rehype-raw": "7.0.0", "rehype-sanitize": "6.0.0", "rehype-slug": "6.0.0", "remark-breaks": "4.0.0", "remark-directive": "3.0.0", "remark-directive-rehype": "0.4.2", "remark-emoji": "4.0.1", "remark-frontmatter": "5.0.0", "remark-gfm": "4.0.0", "remark-github-alerts": "0.0.4", "remark-math": "6.0.0", "remark-parse": "11.0.0", "remark-rehype": "11.1.0", "remove-markdown": "0.5.0", "rss-parser": "3.13.0", "serialize-javascript": "6.0.2", "sharp": "0.32.6", "sortablejs": "1.15.2", "swiper": "11.0.6", "tailwind-merge": "2.2.1", "tailwind-scrollbar-hide": "1.1.7", "tailwindcss-animate": "1.0.7", "unified": "11.0.4", "unist-builder": "4.0.0", "unist-util-visit": "5.0.0", "vfile": "6.0.1", "viem": "1.21.1", "wagmi": "1.4.13", "xregexp": "5.1.1", "zustand": "4.5.1" }, "devDependencies": { "@egoist/tailwindcss-icons": "1.7.4", "@ianvs/prettier-plugin-sort-imports": "4.1.1", "@next/bundle-analyzer": "14.1.0", "@types/async-lock": "1.4.2", "@types/canvas-confetti": "1.6.4", "@types/chroma-js": "2.4.4", "@types/hast": "3.0.4", "@types/js-yaml": "4.0.9", "@types/katex": "0.16.7", "@types/mdast": "4.0.3", "@types/node": "20.11.19", "@types/pangu": "4.0.2", "@types/react": "18.2.56", "@types/react-dom": "18.2.19", "@types/remove-markdown": "^0.3.4", "@types/serialize-javascript": "5.0.4", "@types/sortablejs": "1.15.8", "autoprefixer": "10.4.17", "cspell": "8.4.0", "eslint": "8.56.0", "eslint-config-next": "14.1.0", "eslint-plugin-import": "2.29.1", "eslint-plugin-react": "7.33.2", "eslint-plugin-tailwindcss": "3.14.2", "eslint-plugin-unused-imports": "3.1.0", "husky": "9.0.11", "lint-staged": "15.2.2", "postcss": "8.4.35", "postcss-import": "16.0.1", "postcss-preset-mantine": "1.13.0", "postcss-prune-var": "1.1.1", "postcss-simple-vars": "7.0.1", "prettier": "3.2.5", "prettier-package-json": "2.8.0", "prisma": "5.9.1", "tailwindcss": "3.4.1", "tailwindcss-variable-colors": "0.0.2", "typescript": "5.3.3" }, "engines": { "node": ">=18.17.0" }, "nextBundleAnalysis": { "budget": 358400, "budgetPercentIncreaseRed": 20, "minimumChangeThreshold": 0, "showDetails": true }, "pnpm": { "overrides": { "@web3modal/ethereum>@wagmi/core": "^1", "@web3modal/ethereum>viem": "^1" } } }