Vite 8 stops the build when manualChunks is an object, so switch to the function form or Rolldown's codeSplitting option.
esbuild.drop is ignored on Vite 8.3.4 with no warning unless a framework plugin sets oxc options, so console.log can ship to production.
The fix is build.rolldownOptions.output.minify.compress.dropConsole, plus a post-build grep so CI catches the leak.