Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
8708088
Vue 3 migration build with Vuex 4, Router 4, i18n 9, createApp, and t…
lreading Mar 10, 2026
20c5609
Reviewing code, adding todos for future migration tasks
lreading Mar 11, 2026
4a46ccd
Updating vue-fontawesome to v3. Fixing race condition in logout affec…
lreading Mar 13, 2026
1357bf4
Testing: disabling site unit tetss in PR action, will re-add
lreading Mar 14, 2026
3ee8b81
Dockerfile: adding --legacy-per-deps to td.vue clean-install
lreading Mar 14, 2026
26880a9
Removing AI migration plan (whoops!)
lreading Mar 14, 2026
5f9d3a8
Bootstrap checkbox components break at runtime with vue-compat, falli…
lreading Mar 15, 2026
f00ed61
Merge branch 'main' of github.com:OWASP/threat-dragon into feat/vue-c…
lreading Mar 15, 2026
85c58e1
Merging main
lreading Apr 2, 2026
5dcc18f
fix vue2 plugin calls
lreading Apr 2, 2026
330ab5c
Add compat layer for unit tests, re-enable tests in CI
lreading Apr 6, 2026
e092324
Fix typo in vue config comment
lreading Apr 6, 2026
acb8c5a
Add vue test utils helper
lreading Apr 6, 2026
a7cc5bd
Fix desktop save/toast regressions and align export/report checkbox s…
lreading Apr 7, 2026
7321c1b
Merge branch 'main' of github.com:OWASP/threat-dragon into feat/vue-c…
lreading Apr 9, 2026
c7e51ab
replacing multiple Bootstrap3 components with custom components to fi…
lreading Apr 11, 2026
48fbeac
Merge branch 'main' of github.com:OWASP/threat-dragon into feat/vue-c…
lreading Apr 11, 2026
9317c16
addressing vulnerable deps
lreading Apr 11, 2026
ee0fa3a
Switching lint rules to Vue3/essentials, fixing linter violations
lreading Apr 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@

# Vue front end
!td.vue
!td.vue/.npmrc
!td.vue/**/*.vue
!td.vue/*config.js
!td.vue/**/*.scss
Expand Down Expand Up @@ -236,6 +237,8 @@
!td.vue/tests/unit/desktop/helpers/*.js
!td.vue/tests/unit/entity/
!td.vue/tests/unit/entity/*.spec.js
!td.vue/tests/unit/helpers/
!td.vue/tests/unit/helpers/*.js
!td.vue/tests/unit/router/
!td.vue/tests/unit/router/*.spec.js
!td.vue/tests/unit/service/
Expand Down
3 changes: 2 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ COPY ./td.vue/*.config.js ./td.vue/

RUN npm clean-install --ignore-scripts
RUN cd td.server && npm clean-install
RUN cd td.vue && npm clean-install
# TODO: Remove --legacy-peer-deps when Vue3 migration is complete
RUN cd td.vue && npm clean-install --legacy-peer-deps
RUN npm run build
RUN cd td.server && npm run make-sbom
RUN cp td.server/sbom.json boms/threat-dragon-server-bom.json && \
Expand Down
2 changes: 1 addition & 1 deletion td.vue/.eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module.exports = {
'node': true
},
'extends': [
'plugin:vue/essential',
'plugin:vue/vue3-essential',
'eslint:recommended'
],
globals: {
Expand Down
3 changes: 3 additions & 0 deletions td.vue/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# TODO: Remove this file once Vue 3 migration build is no longer in use.
# Required while Vue 3 migration build is in use: some dependencies still declare Vue 2 peer.
legacy-peer-deps=true
6 changes: 5 additions & 1 deletion td.vue/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ module.exports = async () => {
'.*\\.(js)$': 'babel-jest'
},
moduleNameMapper: {
// TODO: Remove this alias when fully migrated to Vue 3 and
// the compat dependency is removed
'^vue$': require.resolve('@vue/compat'),
'^@vue/test-utils$': '<rootDir>/src/plugins/vue-test-utils-compat.js',
'^vue-i18n$': '<rootDir>/src/plugins/vue-i18n-test-compat.js',
'^@/(.*)$': '<rootDir>/src/$1',
'^lodash-es$': 'lodash'
},
Expand All @@ -26,4 +31,3 @@ module.exports = async () => {
]
};
};

Loading
Loading