Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
ea1b8a0
google SSO plus Vulnerabililty fixes
syed-talha98 Mar 14, 2025
1cc3ad0
fixed hardcode provider plus code cleanup
syed-talha98 Mar 14, 2025
670b310
replaced hardcoded value for scope defination
syed-talha98 Mar 14, 2025
01a7265
update example.env file
syed-talha98 Mar 14, 2025
0cbb008
code clean up
syed-talha98 Mar 14, 2025
452f8c6
Fix DriveAccess.vue build error and add Google views to gitignore
ericfitz Mar 15, 2025
432c06a
Fix build process by removing conflicting babel.config.mjs file
ericfitz Mar 15, 2025
deb6d5d
fixed componets compatibility issues with vue3
syed-talha98 Mar 17, 2025
8dd951e
fixed veux store errors
syed-talha98 Mar 17, 2025
ececfe2
fixed provider error
syed-talha98 Mar 17, 2025
0378bcb
removed console
syed-talha98 Mar 17, 2025
c220f54
set provider as local if found empty
syed-talha98 Mar 17, 2025
73cf1dd
Added configurable proxy name to avoid invalid host header issues beh…
ericfitz Mar 19, 2025
e82806d
Example.env cleanup and documentation
ericfitz Mar 19, 2025
53c4d68
More example.env cleanup and documentation
ericfitz Mar 19, 2025
e6aa355
Remove Google scope configuration and redundant Google client id vari…
ericfitz Mar 19, 2025
53473ff
Standardized Google OAuth scopes, variable names
ericfitz Mar 19, 2025
a2953b5
Fixed error reading renamed port value
ericfitz Mar 19, 2025
d179f5e
added debug logging to troubleshoot google provider configuration
ericfitz Mar 19, 2025
64726d0
fixing deprecation warning related webpack-dev-server v4+ format
ericfitz Mar 19, 2025
4fbd9a4
Reverting change to unify GOOGLE_CLIENT_ID and VUE_APP_GOOGLE_CLIENT_ID
ericfitz Mar 19, 2025
7987cb8
fixing vue variable injection issue
ericfitz Mar 19, 2025
1397ae5
fixing API proxy issue
ericfitz Mar 19, 2025
d1a289a
Adding configuration logging after application is configured
ericfitz Mar 19, 2025
87fa046
Fixing configuration mismatch, removing debug logging
ericfitz Mar 19, 2025
d9e3cea
Added terms-of-service and privacy-policy pages required for Google v…
ericfitz Mar 19, 2025
1db462d
Added Privacy and ToS pages
ericfitz Mar 19, 2025
2ea209e
Formatting for tos, privacy pages and nav bar icons
ericfitz Mar 19, 2025
7682c46
Fixing error message trying to access server.address during server st…
ericfitz Mar 19, 2025
0b4ecb8
Squashed commit of the following:
ericfitz Apr 27, 2025
211fdf2
Merge branch 'vue3' into pull-request
ericfitz Apr 27, 2025
69bc3d6
Removing duplicate packages, fixing dependency versions
ericfitz Apr 27, 2025
8ac2dbe
Fixing locale selector, make-sbom
ericfitz Apr 27, 2025
b135a56
Fixed route guards
ericfitz Apr 27, 2025
7e74f63
Fixing desktop application
ericfitz Apr 27, 2025
0ae144f
Fixing login/logout navigation
ericfitz Apr 27, 2025
266f658
Fixing routing for login and logout
ericfitz Apr 27, 2025
522f6db
Fixing login/logout
ericfitz Apr 27, 2025
020dbf3
Fixing VueX store issue with router
ericfitz Apr 27, 2025
e7877bd
Fixed npm clean-install issues
ericfitz Apr 28, 2025
bd5e7cb
Fixing macos-specific package dependencies
ericfitz Apr 28, 2025
0e656d7
Fixing npm clean-install issues
ericfitz Apr 28, 2025
4c1c5d0
Trying to fix ansi-regex issue
ericfitz Apr 28, 2025
789734f
fix for ansi-regex dependency
ericfitz Apr 28, 2025
dafbcd2
fixed npm ci issues
ericfitz Apr 28, 2025
a36bbd1
Added back expected lint script names
ericfitz Apr 28, 2025
d4c1e79
Updating lint scripts to fix pull request test issue
ericfitz Apr 28, 2025
6360b94
Working around tests not supporting npm workspaces
ericfitz Apr 28, 2025
45c17a0
npm ci fix
ericfitz Apr 28, 2025
f8cd7d4
Fixing eslint vue plugin issues
ericfitz Apr 28, 2025
d4c85c3
Fixing prettier issue
ericfitz Apr 28, 2025
88f3c21
fixing prettier issue, still
ericfitz Apr 28, 2025
eae0f96
Completely removed prettier
ericfitz Apr 28, 2025
6f740a5
Resolving eslint configuration issues
ericfitz Apr 28, 2025
196b389
Fixed axios and nyc issues blocking unit tests
ericfitz Apr 28, 2025
8255dfd
Fixed axios and nyc issues blocking unit tests
ericfitz Apr 28, 2025
b0d68c4
Fixing server test failure due to mocha
ericfitz Apr 28, 2025
c93fe36
Added .mocharc.json
ericfitz Apr 28, 2025
895e166
Adding @babel/register to fix server test error
ericfitz Apr 28, 2025
24874a2
Fixing babel server test dependencies
ericfitz Apr 28, 2025
8f79efc
Fixed td.server unit test issues
ericfitz Apr 28, 2025
b9787b7
Missed a package migrating away from npm workspace for td.server
ericfitz Apr 28, 2025
d0f059f
Still trying to get server unit tests to pass (environment issues)
ericfitz Apr 28, 2025
2e25ae0
Fixed relative import causing a failure in server unit test
ericfitz Apr 28, 2025
1f6e276
Fixing failing server unit tests
ericfitz Apr 28, 2025
d004d98
Fixing failing server e2e tests
ericfitz Apr 28, 2025
9ebf3ee
Removed td.vue npm workspace. Fixed smoke test.
ericfitz Apr 28, 2025
3ac67b1
Fixing npm ci after removing workspace. Making cypress tests more ro…
ericfitz Apr 28, 2025
284f76e
Fixing unit test error caused by npm workspace removal
ericfitz Apr 28, 2025
b3507ac
Fixed all unit and e2e tests; fixed npm ci
ericfitz Apr 29, 2025
30394d1
Fixing npm ci issues
ericfitz Apr 29, 2025
0eea76c
Adding missing dependency
ericfitz Apr 29, 2025
3dcb50f
Fixing lint issues with eslint vue plugin in td.vue
ericfitz Apr 29, 2025
46cd07a
Cleanup. Fixing npm ci issues.
ericfitz Apr 29, 2025
1920a4e
Fixing smoke test error
ericfitz Apr 29, 2025
b9a194a
rebuilding package-lock files
ericfitz Apr 29, 2025
bb5cdde
Fixing package-lock and dependency issues preventing PR tests from pa…
ericfitz Apr 29, 2025
17f3ad5
Resolving package-builder version conflict
ericfitz Apr 29, 2025
46ee90b
removing dmg-license
ericfitz Apr 29, 2025
364f808
Installing dmg-license, dmg-builder
ericfitz Apr 29, 2025
e0e60c4
Fixing platform-specific dependency issues
ericfitz Apr 29, 2025
9423cf7
Fixing cross-os dependency issues
ericfitz Apr 29, 2025
c4d5ebe
forcing re-run of smoke tests
ericfitz May 2, 2025
82f7e6b
Updating npm configuration options and rebuilding package-lock.json
ericfitz May 2, 2025
a5b2962
Removing "--omit=optional"
ericfitz May 2, 2025
b9b9aa3
Changed all optional dependencies to dev dependencies; regenerated pa…
ericfitz May 2, 2025
e794c2d
re-marking macos-specific packages as optional
ericfitz May 2, 2025
671c3ca
Fixing review feedback
ericfitz May 2, 2025
b0730c2
Adding unstaged change
ericfitz May 2, 2025
082219c
Fixing unit test error reintroduced by changes.
ericfitz May 2, 2025
77a055f
Instructing npm ci to ignore optional
ericfitz May 2, 2025
ce7e84c
Fixing broken unit tests due to package dependencies
ericfitz May 2, 2025
5ab6836
Fixing e2e smoke test errors
ericfitz May 2, 2025
15408e2
Fixing e2e smoke test
ericfitz May 2, 2025
37f8176
Fixing docker build problem in github action
ericfitz May 2, 2025
793fe2f
Fixing docker build issues and security vulns
ericfitz May 2, 2025
de55d3e
Merge branch 'main' into main
ericfitz May 6, 2025
caaf2d7
Fixing markdownlint errors
ericfitz May 6, 2025
a199231
Revert "Fixing markdownlint errors"
ericfitz May 6, 2025
7b294d2
Merge branch 'main' of github.com:efitz-oss/threat-dragon
ericfitz May 6, 2025
2059529
Fixing markdownlint issues
ericfitz May 6, 2025
4eda6ca
localized the about box strings
ericfitz May 6, 2025
31b5ba4
Fixing desktop menu.js test errors
ericfitz May 6, 2025
6f43b11
Fixing docker image trivy issues
ericfitz May 7, 2025
b293ff6
Updating .trivyignore to pass PR tests with updated image
ericfitz May 7, 2025
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
  •  
  •  
  •  
225 changes: 225 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,225 @@
module.exports = {
root: true,
env: {
node: true,
browser: true,
es2022: true,
jest: true
},
plugins: [],
extends: ['eslint:recommended'],
globals: {
__static: 'readonly',
vi: 'readonly',
google: 'readonly',
gapi: 'readonly',
before: 'readonly',
after: 'readonly',
beforeEach: 'readonly',
afterEach: 'readonly',
describe: 'readonly',
it: 'readonly',
expect: 'readonly',
Component: 'readonly'
},
parserOptions: {
ecmaVersion: 2022,
sourceType: 'module'
},
ignorePatterns: [
'node_modules/',
'dist/',
'dist-electron/',
'td.vue/dist-desktop/',
'*.config.js',
'babel.config.js',
'context/**',
'td.vue/tests/unit/setup/vue3-test-template.js',
'td.vue/tests/unit/setup/bootstrap-vue-next.js'
],
rules: {
// Common rules for both server and client
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-unused-vars': ['warn', { varsIgnorePattern: '^_', argsIgnorePattern: '^_' }],
'no-undef': 'warn',
semi: ['error', 'always'],
quotes: ['error', 'single', { avoidEscape: true, allowTemplateLiterals: true }],
indent: ['warn', 4],
'no-mixed-spaces-and-tabs': ['warn', 'smart-tabs'],
'linebreak-style': ['warn', 'unix'],

// Performance-related rules
'prefer-const': 'warn',
'no-var': 'warn',

},
overrides: [
// Server specific overrides
{
files: ['td.server/src/**/*.js'],
env: {
node: true,
browser: false
},
plugins: [],
rules: {
// Add any server-specific rules here
'sort-imports': 'off'
}
},
// Vue specific overrides
{
files: ['td.vue/src/**/*.{js,vue}'],
env: {
node: true,
browser: true
},
plugins: ['vue'],
parser: 'vue-eslint-parser',
extends: ['eslint:recommended', 'plugin:vue/essential'],
rules: {
// Vue Essential Rules (Error Prevention)
'vue/no-arrow-functions-in-watch': 'error',
'vue/no-async-in-computed-properties': 'error',
'vue/no-child-content': 'error',
'vue/no-computed-properties-in-data': 'error',
'vue/no-custom-modifiers-on-v-model': 'error',
'vue/no-dupe-keys': 'error',
'vue/no-dupe-v-else-if': 'error',
'vue/no-duplicate-attributes': 'error',
'vue/no-multiple-template-root': 'error',
'vue/no-mutating-props': 'error',
'vue/no-parsing-error': 'error',
'vue/no-reserved-keys': 'error',
'vue/no-reserved-props': 'error',
'vue/no-shared-component-data': 'error',
'vue/no-side-effects-in-computed-properties': 'error',
'vue/no-template-key': 'error',
'vue/no-textarea-mustache': 'error',
'vue/no-unused-components': 'warn',
'vue/no-unused-vars': 'warn',
'vue/no-use-computed-property-like-method': 'error',
'vue/no-use-v-if-with-v-for': 'error',
'vue/no-useless-template-attributes': 'error',
'vue/no-v-for-template-key': 'error',
'vue/no-v-model-argument': 'error',
'vue/require-component-is': 'error',
'vue/require-prop-type-constructor': 'error',
'vue/require-render-return': 'error',
'vue/require-v-for-key': 'error',
'vue/require-valid-default-prop': 'error',
'vue/return-in-computed-property': 'error',
'vue/use-v-on-exact': 'error',
'vue/valid-attribute-name': 'error',
'vue/valid-define-emits': 'error',
'vue/valid-define-props': 'error',
'vue/valid-next-tick': 'error',
'vue/valid-template-root': 'error',
'vue/valid-v-bind': 'error',
'vue/valid-v-cloak': 'error',
'vue/valid-v-else-if': 'error',
'vue/valid-v-else': 'error',
'vue/valid-v-for': 'error',
'vue/valid-v-html': 'error',
'vue/valid-v-if': 'error',
'vue/valid-v-is': 'error',
'vue/valid-v-memo': 'error',
'vue/valid-v-model': 'error',
'vue/valid-v-on': 'error',
'vue/valid-v-once': 'error',
'vue/valid-v-pre': 'error',
'vue/valid-v-show': 'error',
'vue/valid-v-slot': 'error',
'vue/valid-v-text': 'error',

// Vue Strongly Recommended Rules (Improving Readability)
'vue/attribute-hyphenation': 'warn',
'vue/component-definition-name-casing': 'warn',
'vue/first-attribute-linebreak': 'warn',
'vue/html-closing-bracket-newline': 'warn',
'vue/html-closing-bracket-spacing': 'warn',
'vue/html-end-tags': 'warn',
'vue/html-indent': ['error', 4],
'vue/html-quotes': 'warn',
'vue/html-self-closing': 'warn',
'vue/max-attributes-per-line': [
'warn',
{
singleline: {
max: 3
},
multiline: {
max: 1
}
}
],
'vue/multiline-html-element-content-newline': 'warn',
'vue/mustache-interpolation-spacing': 'warn',
'vue/no-multi-spaces': 'warn',
'vue/no-spaces-around-equal-signs-in-attribute': 'warn',
'vue/no-template-shadow': 'warn',
'vue/one-component-per-file': 'warn',
'vue/prop-name-casing': 'warn',
'vue/require-default-prop': 'warn',
'vue/require-explicit-emits': 'warn',
'vue/require-prop-types': 'warn',
'vue/singleline-html-element-content-newline': 'warn',
'vue/v-bind-style': 'warn',
'vue/v-on-style': 'warn',
'vue/v-slot-style': 'warn',

// Vue Recommended Rules (Minimizing Arbitrary Choices)
'vue/attributes-order': 'warn',
'vue/no-lone-template': 'warn',
'vue/no-multiple-slot-args': 'warn',
'vue/no-v-html': 'warn',
'vue/order-in-components': 'warn',
'vue/this-in-template': 'warn'
}
},
// Test specific overrides
{
files: ['**/__tests__/*.{js,jsx,ts,tsx}', '**/tests/unit/**/*.spec.{js,jsx,ts,tsx}'],
env: {
jest: true,
node: true
},
globals: {
vi: true,
describe: true,
it: true,
expect: true,
beforeEach: true,
afterEach: true
},
plugins: ['jest'],
extends: ['plugin:jest/recommended'],
rules: {
'jest/prefer-to-have-length': 'warn',
'jest/no-done-callback': 'warn',
'jest/valid-expect': 'warn',
'jest/no-disabled-tests': 'warn',
'jest/expect-expect': 'warn',
'jest/no-conditional-expect': 'warn',
'no-unused-vars': 'warn'
}
},
// E2E test specific overrides
{
files: ['**/tests/e2e/**/*.{js,jsx,ts,tsx}'],
env: {
node: true,
browser: true,
'cypress/globals': true
},
plugins: ['cypress'],
extends: ['plugin:cypress/recommended'],
rules: {
// Cypress specific rules
'cypress/no-unnecessary-waiting': 'warn',
'cypress/unsafe-to-chain-command': 'warn'
}
}
]
};
56 changes: 44 additions & 12 deletions .github/workflows/.trivyignore
Original file line number Diff line number Diff line change
@@ -1,15 +1,47 @@
# ignoring these vulnerabilities in zlib,
# there are no updates to zlib and so these are unlikely to be fixed
CVE-2018-25032
CVE-2022-37434
# All vulnerabilities found in the trivy scan
# LOW severity
CVE-2011-3374
TEMP-0841856-B18BAF
CVE-2022-0563
CVE-2016-2781
CVE-2017-18018
CVE-2022-27943
CVE-2023-4039
CVE-2022-3219
CVE-2025-30258
CVE-2010-4756
CVE-2018-20796
CVE-2019-1010022
CVE-2019-1010023
CVE-2019-1010024
CVE-2019-1010025
CVE-2019-9192
CVE-2018-6829
CVE-2024-2236
CVE-2011-3389
CVE-2013-4392
CVE-2023-31437
CVE-2023-31438
CVE-2023-31439
CVE-2007-5686
CVE-2023-29383
CVE-2024-56433
TEMP-0628843-DBAD28
CVE-2011-4116
CVE-2023-31486
TEMP-0517018-A83CE6
CVE-2005-2541
TEMP-0290435-0B57B5

# https://avd.aquasec.com/nvd/cve-2023-28155
# request version prior to 2.88.2
# this vulnerability is for the build system, not run time, so ignore
CVE-2023-28155
# MEDIUM severity
CVE-2025-1390
CVE-2024-10041
CVE-2024-22365
CVE-2023-50495
CVE-2023-4641

# https://avd.aquasec.com/nvd/cve-2024-9143
# alpine 3.20.3 is pulling in a Low priority vuln for libcrypto3 version 3.3.2-r2,
# ignore for now until alpine is updated
CVE-2024-9143
# HIGH severity
CVE-2023-31484

# CRITICAL severity
CVE-2023-45853
Loading