Issue with running / compiling production build for Meteor 3.2.2 and Vue3 and meteor-vite on Windows 11 development environment

Dear Meteor Community,
I am currently trying create a Meteor app using Vue3 with meteor-vite boilerplate.
meteor create --vue my-app --release 3.2.2

Here is what I am experiencing when doing the following on a Windows 11 development environment:

  1. Running meteor runs fine. No problems encountered
  2. Running meteor --production to simulate production build results in the following error in server console and crash
[Vite] Fetching manifest...
error on boot.js Error: Unknown asset: vite/client.manifest.json
     at getAsset (C:\tools\static-assets\server\boot.js:346:19)

I have tried to trace the file location, and it seems the file .meteor\local\build\programs\server\boot.js.map is referencing “sources”:[“/tools/static-assets/server/boot.js”] but since it is running on a Windows 11 environment, the console show that it’s trying to look for the file C:\tools\static-assets\server\boot.js which obviously does not exist at C:. The client.manifest.json exists at .meteor\local\build\programs\web.browser\app\vite\client.manifest.json

If I run meteor build ..\..\dist, the following warning gets generated in console:

⚡  Could not resolve source map for _vite-bundle/dist/entry-client/main-D8foqQYu.entry.js.map
   Building the application                  |

but the build process continues and generates the .tar.gz file. Unfortunately the package created is unusable when I create a docker image and run it.

On a mac - SUCCESS
I have tried the same on a mac and no issues was encountered. meteor and meteor --production runs fine. I can even build the full .tar.gz package and has successfully created and tested docker images for the app.

Does anyone know a work around on how to do the build process on a Windows 11 environment? Is there any settings I have missed?

Here is the full error on console when running meteor --production on a Windows 11 environment.

⚡  Could not resolve source map for _vite-bundle/dist/entry-client/main-D8foqQYu.entry.js.map
I20250616-17:57:35.203(3)? [Vite] Fetching manifest...
I20250616-17:57:35.298(3)? error on boot.js Error: Unknown asset: vite/client.manifest.json
I20250616-17:57:35.298(3)?     at getAsset (C:\tools\static-assets\server\boot.js:346:19)
I20250616-17:57:35.299(3)?     at Object.getTextAsync (C:\tools\static-assets\server\boot.js:358:16)
I20250616-17:57:35.299(3)?     at meteor://../../node_modules/meteor-vite/dist/bootstrap/ProductionEnvironment.mjs:19:33
I20250616-17:57:35.299(3)?     at Function.time (C:\DATA\projects\current\nexus4\apps\nexus-bare-322\.meteor\local\build\programs\server\tools\tool-env\profile.ts:646:30)
I20250616-17:57:35.300(3)?     at C:\tools\static-assets\server\boot.js:453:19
I20250616-17:57:35.300(3)?     at C:\tools\static-assets\server\boot.js:503:5
I20250616-17:57:35.300(3)?     at startServerProcess (C:\tools\static-assets\server\boot.js:501:3)
I20250616-17:57:35.301(3)? Error: Unknown asset: vite/client.manifest.json
I20250616-17:57:35.301(3)?     at getAsset (C:\tools\static-assets\server\boot.js:346:19)
I20250616-17:57:35.302(3)?     at Object.getTextAsync (C:\tools\static-assets\server\boot.js:358:16)
I20250616-17:57:35.302(3)?     at meteor://../../node_modules/meteor-vite/dist/bootstrap/ProductionEnvironment.mjs:19:33
I20250616-17:57:35.302(3)?     at Function.time (C:\DATA\projects\current\nexus4\apps\nexus-bare-322\.meteor\local\build\programs\server\tools\tool-env\profile.ts:646:30)
I20250616-17:57:35.302(3)?     at C:\tools\static-assets\server\boot.js:453:19
I20250616-17:57:35.303(3)?     at C:\tools\static-assets\server\boot.js:503:5
I20250616-17:57:35.303(3)?     at startServerProcess (C:\tools\static-assets\server\boot.js:501:3)
=> Exited with code: 1
=> Your application is crashing. Waiting for file change.

I just had the same problem trying to deploy a Svelte 5 application with Meteor 3.0 and Vite bundler using meteor-vite. Your issue made me realize that the problem might be due to the usage of backslashes in Windows paths vs slashes in Unix ones.

Indeed, when I replaced backslashes with slashes in build\bundle\programs\server\program.json, I was able to run it.

I opened a ticket in meteor-vite about it.

In the meantime, a workaround I’ve found is to deploy the application using the command line from the Windows Subsystem for Linux (WSL) on my Windows computer. This way, the paths created at build time have the proper UNIX separators.