fix(ui): maintenance - upgrade deps, gitignore DuckDB WASM, CI improvements#209
fix(ui): maintenance - upgrade deps, gitignore DuckDB WASM, CI improvements#209
Conversation
- Remove temp_table_page_fix.py, update_sql_editor.py, update_sql_editor.sh - Add globals devDep - Add engines field (node >=24) - Add .nvmrc (24) - CI: Node 23->24, runner fallbacks, target-branch fallback
- Enhance Renovate config: dep grouping, schedule, automerge patches
…ions - Upgrade vite ^5.4.21 → ^7.3.1 (Rolldown bundler) - Upgrade @vitejs/plugin-vue ^5.1.4 → ^6.0.4 - Remove vite-plugin-vue-layouts, replace with parent route wrapper - Fix Home nav always highlighted (add :exact to parent route) - Fix Vuetify theme deprecation: theme.global.name.value → theme.change() - Add TaskConfigDialog (PLUS upsell) to warehouse tasks tab - Remove Rollup CI workaround from release.yml and checks.yml
- actions/checkout v4 → v6, actions/setup-node v4 → v6 - @tsconfig/node22 → @tsconfig/node24 (^24.0.4) - @types/node ^22.19.0 → ^24.12.0 - unplugin-vue-router ^0.16.1 → ^0.19.2 - unplugin-auto-import ^0.17.6 → ^21.0.0 - unplugin-vue-components ^0.28.0 → ^31.0.0
…uild time) - Add public/duckdb/ and public/duckdb-worker-wrapper.js to .gitignore - Remove ~107MB of generated binaries from git tracking
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
WalkthroughUpdates Node/tooling to Node 24, upgrades CI/workflows and many dev dependencies, adjusts auto-import and type declarations, removes Vite layouts plugin and layout setup, nests routes under DefaultLayout, wires TaskConfigDialog/warehouseData on warehouse page, updates gitignore, and removes several migration scripts. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~30 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (2)
vite.config.mts (1)
15-23: Prefer copying the DuckDB directory recursively.This allow-list is now coupled to
@lakekeeper/console-componentsinternals, so every added or renamed worker/WASM asset turns into a build-time break here. Copying the directory keeps this hook aligned with the package without another maintenance edit.♻️ Possible simplification
-import { copyFileSync, mkdirSync, existsSync } from 'fs'; +import { copyFileSync, cpSync, mkdirSync, existsSync } from 'fs'; -const duckdbFiles = [ - 'duckdb-browser-coi.pthread.worker.js', - 'duckdb-browser-coi.worker.js', - 'duckdb-browser-eh.worker.js', - 'duckdb-browser-mvp.worker.js', - 'duckdb-coi.wasm', - 'duckdb-eh.wasm', - 'duckdb-mvp.wasm', -]; +const duckdbDirName = 'duckdb';- const missingDuckdb = duckdbFiles.filter( - (file) => !existsSync(resolve(srcDir, 'duckdb', file)), - ); - if (missingDuckdb.length > 0) { - throw new Error( - `Missing DuckDB files in ${srcDir}/duckdb:\n - ${missingDuckdb.join('\n - ')}`, - ); - } + const duckdbDir = resolve(srcDir, duckdbDirName); + if (!existsSync(duckdbDir)) { + throw new Error(`Missing DuckDB directory in ${srcDir}`); + } - mkdirSync(resolve(targetPath, 'duckdb'), { recursive: true }); - duckdbFiles.forEach((file) => { - copyFileSync(resolve(srcDir, 'duckdb', file), resolve(targetPath, 'duckdb', file)); - }); + mkdirSync(targetPath, { recursive: true }); + cpSync(duckdbDir, resolve(targetPath, duckdbDirName), { recursive: true });🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@vite.config.mts` around lines 15 - 23, The current hard-coded allow-list (duckdbFiles) in vite.config.mts couples the build to internals; replace this enumeration with a recursive copy of the package's DuckDB assets directory instead: remove duckdbFiles and update the Vite/Rollup copy step to copy the entire directory (e.g., node_modules/@lakekeeper/console-components/duckdb) recursively into the build assets output using the existing copy plugin or rollup-plugin-copy configuration so new/renamed worker and .wasm files are automatically included; ensure any references that previously relied on duckdbFiles continue to point to the same output directory.src/pages/warehouse/[id].vue (1)
131-131: Consider replacinganywith a proper type.Using
anyloses type safety. Consider using the warehouse type from@lakekeeper/console-componentsor at minimum an inline type with the properties you need.-const warehouseData = ref<any>(null); +const warehouseData = ref<{ id: string; name: string; 'project-id'?: string; 'storage-profile'?: Record<string, any> } | null>(null);🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/pages/warehouse/`[id].vue at line 131, Replace the use of any for warehouseData to restore type safety: change the ref declaration for warehouseData to use the Warehouse (or appropriately named) interface from `@lakekeeper/console-components` (or define an inline type with the specific fields you access) so the ref is typed as Ref<Warehouse | null> (or Ref<{...} | null>); update imports to pull the Warehouse type and adjust any usages of warehouseData to respect the new type.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/release.yml:
- Around line 38-40: Replace the hardcoded fallback for target-branch with a
guarded expression that prefers vars.RELEASE_PLEASE_TARGET_BRANCH, then uses
github.base_ref for pull_request events, uses github.ref_name for push events,
uses github.ref_name for workflow_dispatch only if the ref is a branch (check
startsWith(github.ref, 'refs/heads/')), and finally falls back to the repository
default branch via github.event.repository.default_branch; implement this logic
in the target-branch value (the key shown as target-branch) using a single
chained GitHub Actions expression combining github.event_name, github.base_ref,
github.ref_name, startsWith(github.ref, 'refs/heads/'), and
github.event.repository.default_branch.
In `@src/App.vue`:
- Line 23: The call to theme.change(...) is invalid for Vuetify 3; replace it by
setting theme.global.name.value to a registered theme name (use the useTheme()
composable instance, e.g. assign theme.global.name.value = ... instead of
theme.change(...)). Also ensure the value you assign matches the theme names
defined in your Vuetify config (for example use 'myCustomLightTheme' or
add/register a corresponding dark theme name in the Vuetify setup) so the switch
uses existing theme keys.
In `@src/router/index.ts`:
- Around line 20-23: The catch-all route that currently uses path
'/:catchAll(.*)*' and component NotFound should be changed to redirect to the
canonical '/notfound' route instead of rendering the component directly; update
the route entry in src/router/index.ts so the route with path '/:catchAll(.*)*'
uses a redirect to '/notfound' (or the named route for the NotFound page) so all
404s resolve to the single generated '/notfound' route and share the same
auth/bootstrap behavior.
---
Nitpick comments:
In `@src/pages/warehouse/`[id].vue:
- Line 131: Replace the use of any for warehouseData to restore type safety:
change the ref declaration for warehouseData to use the Warehouse (or
appropriately named) interface from `@lakekeeper/console-components` (or define an
inline type with the specific fields you access) so the ref is typed as
Ref<Warehouse | null> (or Ref<{...} | null>); update imports to pull the
Warehouse type and adjust any usages of warehouseData to respect the new type.
In `@vite.config.mts`:
- Around line 15-23: The current hard-coded allow-list (duckdbFiles) in
vite.config.mts couples the build to internals; replace this enumeration with a
recursive copy of the package's DuckDB assets directory instead: remove
duckdbFiles and update the Vite/Rollup copy step to copy the entire directory
(e.g., node_modules/@lakekeeper/console-components/duckdb) recursively into the
build assets output using the existing copy plugin or rollup-plugin-copy
configuration so new/renamed worker and .wasm files are automatically included;
ensure any references that previously relied on duckdbFiles continue to point to
the same output directory.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 601095b5-61ac-450d-9da2-16f297373624
⛔ Files ignored due to path filters (4)
package-lock.jsonis excluded by!**/package-lock.jsonpublic/duckdb/duckdb-coi.wasmis excluded by!**/*.wasmpublic/duckdb/duckdb-eh.wasmis excluded by!**/*.wasmpublic/duckdb/duckdb-mvp.wasmis excluded by!**/*.wasm
📒 Files selected for processing (25)
.eslintrc-auto-import.json.github/workflows/checks.yml.github/workflows/release.yml.gitignore.nvmrcpackage.jsonpublic/duckdb-worker-wrapper.jspublic/duckdb/duckdb-browser-coi.pthread.worker.jspublic/duckdb/duckdb-browser-coi.worker.jspublic/duckdb/duckdb-browser-eh.worker.jspublic/duckdb/duckdb-browser-mvp.worker.jsrenovate.jsonsrc/App.vuesrc/assets/dependencies.jsonsrc/auto-imports.d.tssrc/components.d.tssrc/components/NavigationBar.vuesrc/pages/warehouse/[id].vuesrc/router/index.tssrc/typed-router.d.tstemp_table_page_fix.pytsconfig.jsonupdate_sql_editor.pyupdate_sql_editor.shvite.config.mts
💤 Files with no reviewable changes (4)
- update_sql_editor.sh
- update_sql_editor.py
- public/duckdb-worker-wrapper.js
- temp_table_page_fix.py
There was a problem hiding this comment.
🧹 Nitpick comments (1)
package.json (1)
25-27: Bound the engine range to the validated Node major.Line 26 accepts
>=24which allows untested future Node versions (25, 26, …) even though the project is validated only on Node 24. Use a bounded range like>=24 <25or^24.0.0to prevent installs on unvalidated runtimes.Suggested change
"engines": { - "node": ">=24" + "node": ">=24 <25" },🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@package.json` around lines 25 - 27, The package.json "engines" entry currently allows "node": ">=24", which admits untested future majors; change the Node engine range to a bounded spec (for example ">=24 <25" or "^24.0.0") to restrict installs to the validated Node 24 major; update the "engines" object (the "node" field) accordingly and ensure package.json still validates.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@package.json`:
- Around line 25-27: The package.json "engines" entry currently allows "node":
">=24", which admits untested future majors; change the Node engine range to a
bounded spec (for example ">=24 <25" or "^24.0.0") to restrict installs to the
validated Node 24 major; update the "engines" object (the "node" field)
accordingly and ensure package.json still validates.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 91ba1b08-7bd6-428f-b2f2-daeb4e0f6508
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (1)
package.json
chore: step 1 - cleanup, align deps, CI improvements
Remove temp_table_page_fix.py, update_sql_editor.py, update_sql_editor.sh
Add globals devDep
Add engines field (node >=24)
Add .nvmrc (24)
CI: Node 23->24, runner fallbacks, target-branch fallback
chore: step 2 - enhance Renovate config
Enhance Renovate config: dep grouping, schedule, automerge patches
chore: upgrade Vite 5→7, remove vite-plugin-vue-layouts, fix deprecations
Upgrade vite ^5.4.21 → ^7.3.1 (Rolldown bundler)
Upgrade @vitejs/plugin-vue ^5.1.4 → ^6.0.4
Remove vite-plugin-vue-layouts, replace with parent route wrapper
Fix Home nav always highlighted (add :exact to parent route)
Fix Vuetify theme deprecation: theme.global.name.value → theme.change()
Add TaskConfigDialog (PLUS upsell) to warehouse tasks tab
Remove Rollup CI workaround from release.yml and checks.yml
chore: upgrade remaining renovate deps
actions/checkout v4 → v6, actions/setup-node v4 → v6
@tsconfig/node22 → @tsconfig/node24 (^24.0.4)
@types/node ^22.19.0 → ^24.12.0
unplugin-vue-router ^0.16.1 → ^0.19.2
unplugin-auto-import ^0.17.6 → ^21.0.0
unplugin-vue-components ^0.28.0 → ^31.0.0
fix: gitignore DuckDB WASM files (copied from console-components at build time)
Add public/duckdb/ and public/duckdb-worker-wrapper.js to .gitignore
Remove ~107MB of generated binaries from git tracking
prettier
deps
Summary by CodeRabbit
New Features
Improvements
Type & Editor
Chores