Enable Rspack as the default frontend bundler
What
Switches GDK's default frontend bundler from Webpack to Rspack.
- Adds an
rspack:config group (rspack.enableddefaults totrue) and runs Rspack as a first-class GDK service on the port Webpack used (3808), sogdk status,gdk tail rspackandgdk restart rspackall work. - Adds a
gdk:migrate:rspackmigration to the set thatgdk updatealready runs. It copies existingwebpack.*tuning keys torspack.*, then clearswebpack.enabledandvite.enabledso the new defaults take effect. - Keeps Webpack available behind
gdk config set webpack.enabled trueas a temporary fallback for the transition. - Vite is no longer a supported bundler. It stays reachable behind
gdk config set vite.enabled truepurely so frontend engineers can evaluate its bundling progress, and every GDK command prints an unsupported warning while it is on.
Why
Follow-up to review feedback on gitlab!243058 (merged) (merged), which this MR depends on. That review raised three things addressed here:
- Config should move through GDK's real migration mechanism rather than being silently overridden by computed flags.
- Documentation still pointed people at Vite and had no mention of Rspack.
- Downstream consumers assumed Vite: GDK-in-a-box, the devfile port lists, the remote-development
gdk.yml, and the CI images and pipelines that forced Vite on.
Existing setups converge on Rspack on their next gdk update with no manual steps.
How to test
-
On a GDK with Vite configured (
vite.enabled: true,webpack.enabled: falseingdk.yml):gdk updategdk.ymlis migrated in place (with a backup in.backups/), anywebpack.*tuning you set is carried over torspack.*, andgdk statuslistsrspack. -
Confirm the Webpack fallback still works:
gdk config set webpack.enabled true gdk reconfigure && gdk restart -
Confirm the Vite escape hatch warns:
gdk config set vite.enabled true
Post-MR actions
None of these block this MR, but the switch is not finished until they land in gitlab-org/gitlab, since that repo still documents Vite as the GDK bundler:
doc/development/contributing/first_contribution/configure-dev-env-gdk-in-a-box.mdtells people to start the container with-p 3038:3038. That is the Vite port, so the dev server is unreachable as soon as the image exposes3808instead. This is the page that made @gitlab.mschoenlaub raise GDK-in-a-box in the first place.doc/development/fe_guide/vue3_migration.mdis written entirely around configuring GDK with Vite, includingvite.enabled,gdk restart viteand a link to the GDK Vite settings anchor. The Vue 3 setup moves torspack.vue_versionandgdk restart rspack.doc/development/fe_guide/performance.mdrecommends Vite and links the same anchor for switching back to Webpack.doc/development/fe_guide/style/scss.mdanddoc/development/fe_guide/create_new_page.mddescribe the bundler as "Webpack or Vite".
All 4 are covered by Document Rspack as the GDK frontend bundler (gitlab!249448), which should merge right after this one so the two repos don't disagree for longer than they have to.
Serving Rspack assets in production is tracked separately in Serve Rspack-built assets in production behind ... (gitlab!246320 - merged) and is not a dependency of this change.