Vite 7, and a config that shrank

A major version in June, and a configuration file that lost four options because they became defaults.

// before
export default {
  build: { target: 'es2022', modulePreload: { polyfill: false } },
  esbuild: { legalComments: 'none' },
  server: { fs: { strict: true } },
  optimizeDeps: { esbuildOptions: { target: 'es2022' } },
}

// after
export default {
  server: { proxy: { '/api': 'http://localhost:8080' } },
}

A configuration file that shrinks on a major upgrade means the defaults have converged on what people actually do, which is the healthiest signal a tool can give. The upgrade itself was a version bump and the Node 20 minimum, which we exceeded — the twenty minutes went entirely on reading which of our options were now redundant.