Skip to content

chore: migrate from webpack to vite#169

Merged
olblak merged 10 commits into
updatecli:mainfrom
olblak:main
Apr 25, 2026
Merged

chore: migrate from webpack to vite#169
olblak merged 10 commits into
updatecli:mainfrom
olblak:main

Conversation

@olblak
Copy link
Copy Markdown
Member

@olblak olblak commented Apr 24, 2026

Description

Test

To test this pull request, you can run the following commands:

make dev

Additional Information

Tradeoff

Potential improvement

olblak added 5 commits April 24, 2026 19:48
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Migrates the Vue frontend build/dev tooling from Vue CLI (webpack) to Vite, while keeping runtime configurability (base path + API/auth settings) via config.json.

Changes:

  • Replace Vue CLI configuration with Vite (vite.config.js, new index.html, updated package.json scripts).
  • Introduce runtime/base-path helpers (src/composables/runtime.js) and update router/auth/config consumers accordingly.
  • Update Docker/Nginx packaging and add a post-build patch script to make runtime asset loading work under subpaths.

Reviewed changes

Copilot reviewed 30 out of 32 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
vue.config.js Removes Vue CLI/webpack configuration (dev proxy, eslint plugin wiring, publicPath).
vite.config.js Adds Vite config (Vue plugin, @ alias, dev proxy).
src/views/HomeView.vue Uses runtime-aware dashboard URL helper.
src/router/index.js Switches auth/base-path logic to runtime composable and sets router history base.
src/plugins/webfontloader.js Removes webpack chunk naming comment for dynamic import.
src/plugins/vuetify.js Registers Vuetify components/directives for Vite/Vuetify 3 compatibility.
src/main.js Bootstraps runtime config and conditionally installs Auth0 with runtime-derived redirect URL.
src/composables/runtime.js New: centralizes runtime config access + base path/url helpers + auth enable flag.
src/composables/api.js Reads API base URL from runtime config instead of global config.
src/components/scm/_summary.vue Replaces Vue CLI env flag usage with isAuthEnabled.
src/components/scm/_filter.vue Replaces Vue CLI env flag usage with isAuthEnabled.
src/components/pipeline/reports.vue Replaces Vue CLI env flag usage with isAuthEnabled.
src/components/pipeline/report.vue Replaces Vue CLI env flag usage with isAuthEnabled.
src/components/pipeline/configs/configs.vue Replaces Vue CLI env flag usage with isAuthEnabled.
src/components/pipeline/configs/config.vue Replaces Vue CLI env flag usage with isAuthEnabled.
src/components/pipeline/configs/_configsSearch.vue Replaces Vue CLI env flag usage with isAuthEnabled.
src/components/SideNavigation.vue Switches auth enable check to runtime composable.
src/components/HeadNavigation.vue Switches auth enable check and logout return URL to runtime base URL.
scripts/patch-runtime-assets.mjs New: post-build patching to load CSS/JS assets relative to runtime <base>.
public/index.html Removes Vue CLI HTML template.
package.json Replaces Vue CLI scripts/deps with Vite equivalents and adds post-build patch step.
index.html New Vite entry HTML with runtime config.json loader + dynamic <base> injection.
docker/nginx/conf.d/default.conf Updates Nginx routing to support serving assets when mounted under subpaths.
docker/config.json Adds API_BASE_URL and APP_BASE_PATH to runtime config example.
docker/config.js Removes old runtime JS config file.
docker-entrypoint.sh Removes old base URL injection script for Vue CLI template.
babel.config.js Removes Vue CLI Babel preset configuration.
README.md Updates dev commands and documents new runtime config + Docker mounting approach.
Dockerfile Removes config.js/entrypoint wiring; ships config.json and updated Nginx conf.
.gitignore Stops ignoring public/config.js since it’s removed.
.env Renames Vue CLI env var to Vite env var.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docker/nginx/conf.d/default.conf Outdated
Comment thread scripts/patch-runtime-assets.mjs
Comment thread index.html Outdated
Comment thread src/plugins/vuetify.js
Comment thread README.md Outdated
Comment thread vite.config.js
Comment thread vite.config.js Outdated
olblak and others added 2 commits April 24, 2026 21:05
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 30 out of 32 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread vite.config.js
Comment thread docker/nginx/conf.d/default.conf
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread package.json
@olblak olblak enabled auto-merge (rebase) April 24, 2026 20:02
@olblak olblak added the enhancement New feature or request label Apr 24, 2026
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@olblak olblak merged commit 5e0699b into updatecli:main Apr 25, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants