Ramonda

unsplittable-import

This fails the run. Where it is wrong about your code, // ramonda-check-ignore <reason> on the line says so, and the reason is printed on every run.

Reported when a dynamic import's path is neither a literal nor a template a bundler can read, so no chunk is emitted for it.

A bundler splits at a dynamic import and nowhere else, and only when it can read the path at build time. Written as a variable there is no chunk: the module is pulled into the caller's chunk, or left out of the build entirely and looked for at run time — which works in dev, where the server serves source, and 404s in production, where nothing emitted it.

Write the path as a plain string: import("./feature/heavy.js"). For one of several, a literal per branch splits each of them; a variable splits none.

If it is deliberate, say so and this stops reporting it — either the bundler's own marker, import(/* @vite-ignore */ name), or // ramonda-check-ignore why on the line above.

Next