@tanstack/react-start
Version:
Modern and scalable routing for React applications
54 lines (53 loc) • 2.02 kB
JavaScript
import { fileURLToPath } from "node:url";
import { TanStackStartVitePluginCore, VITE_ENVIRONMENT_NAMES } from "@tanstack/start-plugin-core";
import path from "pathe";
//#region src/plugin/vite.ts
var currentDir = path.dirname(fileURLToPath(import.meta.url));
var defaultEntryDir = path.resolve(currentDir, "..", "..", "plugin", "default-entry");
var defaultEntryPaths = {
client: path.resolve(defaultEntryDir, "client.tsx"),
server: path.resolve(defaultEntryDir, "server.ts"),
start: path.resolve(defaultEntryDir, "start.ts")
};
var isInsideRouterMonoRepo = path.basename(path.resolve(currentDir, "../../../../")) === "packages";
function tanstackStart(options) {
return [{
name: "tanstack-react-start:config",
configEnvironment(environmentName, options) {
return {
resolve: {
dedupe: [
"react",
"react-dom",
"@tanstack/react-start",
"@tanstack/react-router"
],
external: options.resolve?.noExternal === true || !isInsideRouterMonoRepo ? void 0 : ["@tanstack/react-router", "@tanstack/react-router-devtools"]
},
optimizeDeps: environmentName === VITE_ENVIRONMENT_NAMES.client || environmentName === VITE_ENVIRONMENT_NAMES.server && options.optimizeDeps?.noDiscovery === false ? {
exclude: [
"@tanstack/react-start",
"@tanstack/react-router",
"@tanstack/react-router-devtools",
"@tanstack/start-static-server-functions"
],
include: [
"react",
"react/jsx-runtime",
"react/jsx-dev-runtime",
"react-dom",
...environmentName === VITE_ENVIRONMENT_NAMES.client ? ["react-dom/client"] : ["react-dom/server"],
"@tanstack/react-router > @tanstack/react-store",
...options.optimizeDeps?.exclude?.find((x) => x === "@tanstack/react-form") ? ["@tanstack/react-form > @tanstack/react-store"] : []
]
} : void 0
};
}
}, TanStackStartVitePluginCore({
framework: "react",
defaultEntryPaths
}, options)];
}
//#endregion
export { tanstackStart };
//# sourceMappingURL=vite.js.map