The syntax looks like a function call and is a language feature, and a bundler recognises it as a split point with no configuration at all.
const { renderChart } = await import(
/* webpackChunkName: "charts" */ './charts'
);
// and the failure mode people forget:
try {
const mod = await import('./reports');
} catch (e) {
// a deploy removed the old chunk while this page was open
}
The chunk-load failure after a deploy is the case that is always missed, and it happens on every release for anybody with the page already open. Catching it and offering a reload is a better experience than a blank panel. A fully dynamic specifier defeats the static analysis, so import(path) with a variable bundles everything it might match — which is how a lazy route accidentally includes the whole application.