mirror of
https://github.com/tailscale/tailscale.git
synced 2024-11-29 21:15:39 +00:00
3269b36bd0
Previously had HMR websocket set to run from a different port than the http proxy server. This was an old setting carried over from the corp repo admin panel config. It's messing with hot reloads when run from the tailscaled web client, as it keeps causing the full page to refresh each time a connection is made. Switching back to the default config here fixes things. Updates tailscale/corp#14335 Signed-off-by: Sonia Appasamy <sonia@tailscale.com>
64 lines
2.0 KiB
TypeScript
64 lines
2.0 KiB
TypeScript
/// <reference types="vitest" />
|
|
import { createLogger, defineConfig } from "vite"
|
|
import rewrite from "vite-plugin-rewrite-all"
|
|
import svgr from "vite-plugin-svgr"
|
|
import paths from "vite-tsconfig-paths"
|
|
|
|
// Use a custom logger that filters out Vite's logging of server URLs, since
|
|
// they are an attractive nuisance (we run a proxy in front of Vite, and the
|
|
// tailscale web client should be accessed through that).
|
|
// Unfortunately there's no option to disable this logging, so the best we can
|
|
// do it to ignore calls from a specific function.
|
|
const filteringLogger = createLogger(undefined, { allowClearScreen: false })
|
|
const originalInfoLog = filteringLogger.info
|
|
filteringLogger.info = (...args) => {
|
|
if (new Error("ignored").stack?.includes("printServerUrls")) {
|
|
return
|
|
}
|
|
originalInfoLog.apply(filteringLogger, args)
|
|
}
|
|
|
|
// https://vitejs.dev/config/
|
|
export default defineConfig({
|
|
base: "./",
|
|
plugins: [
|
|
paths(),
|
|
svgr(),
|
|
// By default, the Vite dev server doesn't handle dots
|
|
// in path names and treats them as static files.
|
|
// This plugin changes Vite's routing logic to fix this.
|
|
// See: https://github.com/vitejs/vite/issues/2415
|
|
rewrite(),
|
|
],
|
|
build: {
|
|
outDir: "build",
|
|
sourcemap: false,
|
|
},
|
|
esbuild: {
|
|
logOverride: {
|
|
// Silence a warning about `this` being undefined in ESM when at the
|
|
// top-level. The way JSX is transpiled causes this to happen, but it
|
|
// isn't a problem.
|
|
// See: https://github.com/vitejs/vite/issues/8644
|
|
"this-is-undefined-in-esm": "silent",
|
|
},
|
|
},
|
|
server: {
|
|
// This needs to be 127.0.0.1 instead of localhost, because of how our
|
|
// Go proxy connects to it.
|
|
host: "127.0.0.1",
|
|
// If you change the port, be sure to update the proxy in assets.go too.
|
|
port: 4000,
|
|
},
|
|
test: {
|
|
exclude: ["**/node_modules/**", "**/dist/**"],
|
|
testTimeout: 20000,
|
|
environment: "jsdom",
|
|
deps: {
|
|
inline: ["date-fns", /\.wasm\?url$/],
|
|
},
|
|
},
|
|
clearScreen: false,
|
|
customLogger: filteringLogger,
|
|
})
|