mirror of
https://github.com/supermemoryai/supermemory.git
synced 2026-08-23 07:24:29 +00:00
81 lines
2 KiB
TypeScript
81 lines
2 KiB
TypeScript
import {
|
|
vitePlugin as remix,
|
|
cloudflareDevProxyVitePlugin as remixCloudflareDevProxy,
|
|
} from "@remix-run/dev";
|
|
|
|
import adapter from "@hono/vite-dev-server/cloudflare";
|
|
import serverAdapter from "hono-remix-adapter/vite";
|
|
import path from "path";
|
|
import { flatRoutes } from "remix-flat-routes";
|
|
import { UserConfig, defineConfig, loadEnv } from "vite";
|
|
import tsconfigPaths from "vite-tsconfig-paths";
|
|
|
|
const _plugins = [
|
|
remixCloudflareDevProxy({
|
|
persist: true,
|
|
}),
|
|
remix({
|
|
future: {
|
|
v3_fetcherPersist: true,
|
|
v3_relativeSplatPath: true,
|
|
v3_throwAbortReason: true,
|
|
unstable_optimizeDeps: true,
|
|
},
|
|
ignoredRouteFiles: ["**/*"],
|
|
routes: async (defineRoutes) => {
|
|
return flatRoutes("routes", defineRoutes);
|
|
},
|
|
}),
|
|
serverAdapter({
|
|
adapter,
|
|
entry: "server/index.ts",
|
|
}),
|
|
tsconfigPaths(),
|
|
];
|
|
// _plugins.unshift(MillionLint.vite());
|
|
|
|
export default defineConfig((mode) => {
|
|
return {
|
|
plugins: _plugins,
|
|
resolve: {
|
|
alias: {
|
|
...(mode.mode === "development" && {
|
|
postgres: path.resolve(__dirname, "../../node_modules/postgres/src/index.js"),
|
|
}),
|
|
},
|
|
extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".css"],
|
|
},
|
|
ssr: {
|
|
target: "node",
|
|
noExternal:
|
|
mode.mode === "development"
|
|
? ["@udecode/plate-math", "katex", "prismjs", "react-tweet", "drizzle-orm"]
|
|
: ["@udecode/plate-math", "katex", "prismjs"],
|
|
},
|
|
css: {
|
|
modules: {
|
|
scopeBehaviour: "local",
|
|
generateScopedName: "[name]__[local]___[hash:base64:5]",
|
|
localsConvention: "camelCaseOnly",
|
|
},
|
|
},
|
|
build: {
|
|
rollupOptions: {
|
|
onwarn(warning, warn) {
|
|
if (warning.code === "UNUSED_EXTERNAL_IMPORT") return;
|
|
if (warning.code === "IGNORED_BARE_IMPORT") return;
|
|
warn(warning);
|
|
},
|
|
onLog(level, log, handler) {
|
|
// @ts-expect-error
|
|
if (log.cause?.message?.includes("Can't resolve original location of error.")) return;
|
|
handler(level, log);
|
|
},
|
|
},
|
|
},
|
|
optimizeDeps: {
|
|
include: ["react-tweet"],
|
|
},
|
|
publicDir: "public",
|
|
} satisfies UserConfig;
|
|
});
|