Hey is a decentralized and permissionless social media app built with Lens Protocol 馃尶
1import tailwindcss from "@tailwindcss/vite";
2import react from "@vitejs/plugin-react";
3import { defineConfig } from "vite";
4import EnvironmentPlugin from "vite-plugin-environment";
5import tsconfigPaths from "vite-tsconfig-paths";
6
7const dependenciesToChunk = {
8 aws: ["@aws-sdk/client-s3", "@aws-sdk/lib-storage"],
9 editor: [
10 "react-markdown",
11 "unified",
12 "rehype-parse",
13 "rehype-remark",
14 "remark-breaks",
15 "remark-html",
16 "remark-linkify-regex",
17 "remark-stringify",
18 "strip-markdown"
19 ],
20 indexer: ["@hey/indexer"],
21 media: ["plyr-react", "@livepeer/react", "browser-image-compression"],
22 misc: [
23 "@lens-chain/storage-client",
24 "@lens-protocol/metadata",
25 "@apollo/client",
26 "zustand",
27 "tailwind-merge",
28 "virtua",
29 "zod"
30 ],
31 prosekit: ["prosekit", "prosekit/core", "prosekit/react"],
32 react: [
33 "react",
34 "react-dom",
35 "react-easy-crop",
36 "react-hook-form",
37 "react-router",
38 "react-tracked"
39 ],
40 ui: [
41 "@headlessui/react",
42 "@radix-ui/react-hover-card",
43 "@radix-ui/react-slider",
44 "@radix-ui/react-tooltip",
45 "@uidotdev/usehooks",
46 "sonner",
47 "motion",
48 "motion-plus-react"
49 ],
50 wevm: ["wagmi", "family", "viem", "viem/zksync"]
51};
52
53export default defineConfig({
54 build: {
55 cssMinify: "lightningcss",
56 rollupOptions: {
57 output: {
58 assetFileNames: (assetInfo) => {
59 if (/\.woff2$/.test(assetInfo.name ?? "")) {
60 return "assets/fonts/[name][extname]";
61 }
62
63 return "assets/[name]-[hash][extname]";
64 },
65 manualChunks: dependenciesToChunk
66 }
67 },
68 sourcemap: true,
69 target: "esnext"
70 },
71 plugins: [
72 tsconfigPaths(),
73 react(),
74 tailwindcss(),
75 EnvironmentPlugin({
76 HEY_API_URL: "https://api.hey.xyz",
77 LENS_NETWORK: undefined
78 })
79 ]
80});