A web app for writing and sharing 301+ character Bluesky posts.
at main 69 lines 1.6 kB view raw
1import { resolve } from "node:path"; 2 3import tailwindcss from "@tailwindcss/vite"; 4import { TanStackRouterVite } from "@tanstack/router-plugin/vite"; 5import viteReact from "@vitejs/plugin-react"; 6import AutoImport from 'unplugin-auto-import/vite' 7import IconsResolver from 'unplugin-icons/resolver' 8import Icons from 'unplugin-icons/vite' 9import { defineConfig } from "vite"; 10 11import { generateMetadataPlugin } from "./oauthdev.mts"; 12 13const PROD_URL = "https://skeetlonger.app" 14//This will need to update every time you start the ngrok tunnel 15const DEV_URL = "https://skeetlonger.app" 16 17function shp(url: string): string { 18 return url.replace(/^https?:\/\//, ''); 19} 20 21// https://vite.dev/config/ 22export default defineConfig({ 23 plugins: [ 24 generateMetadataPlugin({ 25 prod: PROD_URL, 26 dev: DEV_URL, 27 }), 28 TanStackRouterVite({ autoCodeSplitting: true }), 29 viteReact({ 30 babel: { 31 plugins: ['babel-plugin-react-compiler'], 32 }, 33 }), 34 tailwindcss(), 35 AutoImport({ 36 include: [ 37 /\.[tj]sx?$/, // .ts, .tsx, .js, .jsx 38 ], 39 resolvers: [ 40 IconsResolver({ 41 prefix: 'Icon', 42 extension: 'jsx', 43 }), 44 ], 45 dts: 'src/auto-imports.d.ts', 46 }), 47 Icons({ 48 autoInstall: true, 49 compiler: 'jsx', 50 jsx: 'react' 51 }), 52 ], 53 // test: { 54 // globals: true, 55 // environment: 'jsdom', 56 // }, 57 resolve: { 58 alias: { 59 "@": resolve(__dirname, "./src"), 60 "~": resolve(__dirname, "./src"), 61 }, 62 }, 63 server: { 64 allowedHosts: [shp(PROD_URL),shp(DEV_URL)], 65 }, 66 css: { 67 devSourcemap: true, 68 }, 69})