Skip to content
Draft

Vue3 #20787

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
75acdc0
Update Vue dependencies to Vue 3 with compat mode
dannon Aug 8, 2025
d4ed04b
Update webpack config for Vue 3 compatibility
dannon Aug 8, 2025
1d58667
Update TypeScript config for Vue 3
dannon Aug 8, 2025
3a41bc8
Update ESLint to vue3-recommended rules
dannon Aug 8, 2025
4c5ebba
Replace Vue.set/delete with direct property assignment
dannon Aug 8, 2025
5599be5
Fix $listeners usage for Vue 3 compatibility
dannon Aug 11, 2025
fd071c4
Replace Vue 2 filters with method calls
dannon Aug 11, 2025
1b23265
Update app mount pattern to Vue 3 createApp
dannon Aug 11, 2025
2e39e08
Fix TypeScript imports for Vue 3
dannon Aug 11, 2025
4d675bc
Replace set() with direct property assignment
dannon Aug 11, 2025
b625e5c
Replace del() with delete operator
dannon Aug 11, 2025
c073c32
Update Vue Router imports to v4
dannon Aug 11, 2025
12d9c33
Update slot syntax to v-slot
dannon Aug 11, 2025
9f760d4
Fix v-for template key placement
dannon Aug 11, 2025
a4f1970
Add emits declarations to components
dannon Aug 11, 2025
89fda56
Remove deprecated .native modifier
dannon Aug 11, 2025
35ec38d
Update destroyed hooks to unmounted
dannon Aug 11, 2025
8dd3fe5
Replace $on/$off event bus with mitt
dannon Aug 11, 2025
6ad3ff6
Fix TypeScript errors in store files
dannon Aug 11, 2025
e10ced8
Update async components with defineAsyncComponent
dannon Aug 11, 2025
4b923d5
Update custom directives for Vue 3
dannon Aug 11, 2025
c701522
Fix ConnectionId TypeScript type
dannon Aug 11, 2025
11f718a
Fix v-slot on non-template elements
dannon Aug 11, 2025
9507130
Update Vue Router type imports
dannon Aug 11, 2025
faa059a
Fix toast component typing for Vue 3
dannon Aug 11, 2025
6902553
Fix useCollectionCreator component type
dannon Aug 11, 2025
098d059
Fix useWorkbooks component ref type
dannon Aug 11, 2025
2786492
Configure Vue 3 compat mode and fix types
dannon Aug 12, 2025
d3f4fd4
Add vue-demi shim for Pinia compatibility
dannon Aug 12, 2025
a8f2916
Upgrade Pinia to v3 for Vue 3
dannon Aug 12, 2025
f9054b1
Update Vue and @vue/compat to 3.5.18
dannon Aug 12, 2025
15bebdd
Replace .sync with v-model:propName syntax
dannon Aug 12, 2025
3b7c309
Update destroyed hook to unmounted
dannon Aug 12, 2025
441b7ae
Replace $scopedSlots with $slots
dannon Aug 12, 2025
a455321
Fix renderless component slot errors
dannon Aug 12, 2025
906aa6a
Fix renderless component slot pattern
dannon Aug 12, 2025
93ff697
Fix Vue Router 4 imports
dannon Aug 14, 2025
8a8bce6
Remove Vue 2 set() usage
dannon Aug 14, 2025
998bed4
Fix graph state type compatibility
dannon Aug 14, 2025
08df388
Fix invocation store typing
dannon Aug 14, 2025
f876dd6
Update safe dependencies and TypeScript
dannon Aug 14, 2025
49d6681
Update vue-multiselect to v3
dannon Aug 14, 2025
82ad28c
Upgrade ESLint to v9 simplified
dannon Aug 14, 2025
51ff1b5
Complete ESLint 9 upgrade with plugins
dannon Aug 14, 2025
9bf682b
Remove type module for webpack
dannon Aug 14, 2025
3ddd078
Fix ESLint 9 globals using globals package
dannon Aug 14, 2025
3bd9a72
ESLint 9 auto-fix changes
dannon Aug 14, 2025
c69eb22
Client format post-eslint-fix
dannon Aug 14, 2025
bac3cf3
Fix unused imports and ESLint errors
dannon Aug 14, 2025
e9d637d
Remove unused catch variables
dannon Aug 14, 2025
bfc76e4
Remove unused imports and variables
dannon Aug 15, 2025
1f72cbb
Fix constant binary expression errors
dannon Aug 15, 2025
9c13e39
Fix remaining unused variables
dannon Aug 15, 2025
50a0a5c
Fix miscellaneous ESLint errors
dannon Aug 15, 2025
8373c45
Fix ESLint Vue template detection
dannon Aug 15, 2025
52ac105
Add TypeScript rules and fix imports
dannon Aug 15, 2025
8c196d9
Upgrade vue/tsconfig
dannon Aug 15, 2025
dc47328
Fix Sentry and Pinia API changes
dannon Aug 15, 2025
956e31f
Fix v-bind attribute ordering
dannon Aug 15, 2025
cad1326
Fix v-bind attribute order warnings
dannon Aug 15, 2025
ae7db9d
Fix invalid HTML: wrap th elements in tr inside thead in CarbonEmissi…
dannon Aug 17, 2025
b539e62
Fix invalid HTML: wrap th elements in tr inside thead in CarbonEmissi…
dannon Aug 17, 2025
3933fca
Fix invalid HTML: replace span with div for dt/dd elements in Directi…
dannon Aug 17, 2025
d16427a
Fix invalid HTML: wrap tr in tbody inside table in LibrariesList.vue
dannon Aug 17, 2025
46b9ab0
Fix invalid HTML: wrap tr in tbody inside table in LibraryFolder.vue
dannon Aug 17, 2025
aa3fc15
Fix v-bind and other attribute order issues
dannon Aug 17, 2025
72976d7
Fix Vue 3 slot syntax compatibility issues
dannon Aug 18, 2025
536ada2
Add guards for event handling in gcard
dannon Aug 18, 2025
04172b1
Convert provider components to Composition API setup pattern
dannon Aug 18, 2025
9b45d9b
Fix ESLint errors in provider components
dannon Aug 18, 2025
3493679
Cleanup, and it might be working?
dannon Aug 18, 2025
621f971
Fix vue-router-4 route access via router
dannon Aug 18, 2025
ec0c536
Clean up route access -- useRoute instead of access through router
dannon Aug 18, 2025
bc65ef2
Fix 'Proxy object could not be cloned' error in ToolSearch
dannon Aug 18, 2025
097aed3
Fix web worker proxy cloning with deep unwrapping
dannon Aug 18, 2025
a77a967
Force spacing between tool name and desc
dannon Aug 18, 2025
0a0c955
Fix DataCloneError in wf action tests; unwrap proxies before clone
dannon Aug 19, 2025
89f91a9
Post-rebase formatting
dannon Aug 26, 2025
322a3c1
Fix vue-router and types post-rebase
dannon Aug 26, 2025
a6bd10c
Fix Vue 3 build errors after rebase
dannon Oct 26, 2025
704e887
Fix vue-router imports - remove /composables path for Vue Router 4
dannon Oct 26, 2025
10378b5
Fix userMultiToolCredentials ref unwrapping - use shallowRef for Map
dannon Oct 26, 2025
ae7b729
Fix upload modal close button and transitions
dannon Oct 27, 2025
9afbe8d
yarn eslint --fix && yarn format prior to addressing more selenium fixes
dannon Oct 27, 2025
0d23538
Fix multiselect aria-label accessibility issue
dannon Oct 27, 2025
4d0700c
Add id props to multiselect components to fix aria-controls
dannon Oct 27, 2025
e17fd07
TODO: CHECK ME IN REBASE Fix collection name input event handler
dannon Oct 28, 2025
c920ec2
Vue-router fix post-rebase
dannon Nov 21, 2025
e8bfec4
Fix Vue 3 linting errors
dannon Nov 21, 2025
af3a3a9
Update Vite config for Vue 3 compat mode
dannon Dec 4, 2025
73d3091
Update vue-router/composables imports for Vue Router 4
dannon Dec 4, 2025
3a3550e
Update mountVueComponent.js for Vue 3 app creation
dannon Dec 4, 2025
8e489c5
Post-rebase formatting
dannon Dec 4, 2025
14ed52b
Fix duplicate imports and add vitest imports in test files
dannon Dec 4, 2025
2af7f0e
Add portal-vue mock for Vue 3 compatibility
dannon Dec 4, 2025
6a0daa1
Configure Vue 3 compat mode in vitest setup
dannon Dec 4, 2025
a0f737a
Update vitest helpers for Vue Test Utils v2
dannon Dec 4, 2025
daf921d
Update ActivitySettings test for Vue Test Utils v2
dannon Dec 4, 2025
fc95bf6
Use IconDefinition imports instead of string names in states.ts
dannon Dec 4, 2025
1fea025
Fix ExpandedItems scoped slots for Vue 3 compat mode
dannon Dec 12, 2025
7694a1b
Fix provider scoped slots for Vue 3 compat mode
dannon Dec 16, 2025
c2cf158
Update vitest-fail-on-console to not fail on Vue compat warnings
dannon Dec 16, 2025
0bec7df
Add Pinia and PascalCase Bootstrap-Vue stubs to test helpers
dannon Dec 16, 2025
a080ff5
Update tests for Vue Test Utils v2 patterns
dannon Dec 16, 2025
cea3140
Fix HistoryView test for Vue Router 4 and improve test helpers
dannon Jan 2, 2026
2608053
Add compatibility adapters for Vue Test Utils and Vue Router
dannon Jan 8, 2026
229662e
Fix vue-router imports from upstream
dannon Jan 13, 2026
39a63b6
Update pnpm-lock.yaml after rebase
dannon Jan 13, 2026
ae54b34
Fix entities hoisting for pnpm and pin Vue versions at 3.5.18
dannon Jan 13, 2026
10ee609
Use packageExtensions instead of .npmrc for entities fix
dannon Jan 14, 2026
6f228c7
Fix test infrastructure issues for Vue 3 / VTU v2
dannon Jan 14, 2026
4029b2b
Regenerate lock file and fix lint issues after rebase
dannon Feb 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
164 changes: 0 additions & 164 deletions client/.eslintrc.js

This file was deleted.

76 changes: 76 additions & 0 deletions client/__mocks__/vue-router.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
module.exports = {
createRouter: jest.fn(() => ({
push: jest.fn(),
replace: jest.fn(),
go: jest.fn(),
back: jest.fn(),
forward: jest.fn(),
beforeEach: jest.fn(),
afterEach: jest.fn(),
install: jest.fn(),
resolve: jest.fn((route) => ({ href: `resolved-${route}` })),
})),
createWebHistory: jest.fn(() => ({
base: "/",
push: jest.fn(),
replace: jest.fn(),
go: jest.fn(),
back: jest.fn(),
forward: jest.fn(),
})),
createWebHashHistory: jest.fn(() => ({
base: "/",
push: jest.fn(),
replace: jest.fn(),
go: jest.fn(),
back: jest.fn(),
forward: jest.fn(),
})),
createMemoryHistory: jest.fn(() => ({
base: "/",
push: jest.fn(),
replace: jest.fn(),
go: jest.fn(),
back: jest.fn(),
forward: jest.fn(),
})),
useRoute: jest.fn(() => ({
path: "/",
params: {},
query: {},
hash: "",
fullPath: "/",
matched: [],
meta: {},
name: undefined,
})),
useRouter: jest.fn(() => ({
push: jest.fn(),
replace: jest.fn(),
go: jest.fn(),
back: jest.fn(),
forward: jest.fn(),
resolve: jest.fn((route) => ({ href: `resolved-${route}` })),
currentRoute: {
value: {
path: "/",
params: {},
query: {},
hash: "",
fullPath: "/",
matched: [],
meta: {},
name: undefined,
},
},
})),
RouterLink: {
name: "RouterLink",
props: ["to"],
template: "<a><slot /></a>",
},
RouterView: {
name: "RouterView",
template: "<div />",
},
};
4 changes: 2 additions & 2 deletions client/build-config.shared.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ export const legacyAliases = {
jqueryVendor: path.join(libsBase, "jquery/jquery.js"),
storemodern: path.join(__dirname, "node_modules/store/dist/store.modern.js"),

// Vue
vue: path.join(__dirname, "node_modules/vue/dist/vue.esm.js"),
// Vue - use @vue/compat for Vue 3 compatibility mode
vue: path.join(__dirname, "node_modules/@vue/compat"),

// Build config
config: path.join(scriptsBase, "config", process.env.NODE_ENV || "development") + ".js",
Expand Down
Loading