feat: dependabot changes (#232)

* build(deps-dev): bump @stylistic/eslint-plugin in /client

Bumps [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin) from 2.10.1 to 2.12.1.
- [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases)
- [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v2.12.1/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@stylistic/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps): bump react-router-dom from 6.28.0 to 7.1.1 in /client

Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.28.0 to 7.1.1.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@7.1.1/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps-dev): bump globals from 15.13.0 to 15.14.0 in /client

Bumps [globals](https://github.com/sindresorhus/globals) from 15.13.0 to 15.14.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v15.13.0...v15.14.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps-dev): bump eslint-plugin-n from 17.11.1 to 17.15.1 in /client

Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 17.11.1 to 17.15.1.
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Changelog](https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/v17.11.1...v17.15.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-n
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps): bump react-bootstrap from 2.10.6 to 2.10.7 in /client

Bumps [react-bootstrap](https://github.com/react-bootstrap/react-bootstrap) from 2.10.6 to 2.10.7.
- [Release notes](https://github.com/react-bootstrap/react-bootstrap/releases)
- [Changelog](https://github.com/react-bootstrap/react-bootstrap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-bootstrap/react-bootstrap/compare/v2.10.6...v2.10.7)

---
updated-dependencies:
- dependency-name: react-bootstrap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: upgrade react-i18next from 15.1.2 to 15.1.3

Snyk has created this PR to upgrade react-i18next from 15.1.2 to 15.1.3.

See this package in npm:
react-i18next

See this project in Snyk:
https://app.snyk.io/org/ricardocampos-dcn/project/4d31651d-a849-4b8a-83a3-f8aaba677c53?utm_source=github&utm_medium=referral&page=upgrade-pr

* feat: update to react router v7

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
This commit is contained in:
2024-12-30 13:35:05 -03:00
committed by GitHub
co-authored by dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> snyk-bot
parent 0b48a7d816
commit 9871b83e6f
15 changed files with 202 additions and 174 deletions
+157 -122
View File
@@ -20,12 +20,12 @@
"bootstrap": "^5.3.3",
"i18next": "^23.16.8",
"react": "^18.3.1",
"react-bootstrap": "^2.10.6",
"react-bootstrap": "^2.10.7",
"react-bootstrap-icons": "^1.11.5",
"react-dom": "^18.3.1",
"react-i18next": "^15.1.2",
"react-i18next": "^15.1.3",
"react-router": "^7.1.1",
"react-router-bootstrap": "^0.26.3",
"react-router-dom": "^6.28.0",
"typescript": "^5.7.2",
"vite": "^6.0.3"
},
@@ -33,7 +33,7 @@
"@eslint/compat": "^1.2.4",
"@eslint/eslintrc": "^3.1.0",
"@eslint/js": "^9.17.0",
"@stylistic/eslint-plugin": "^2.10.1",
"@stylistic/eslint-plugin": "^2.12.1",
"@testing-library/jest-dom": "^6.6.3",
"@types/react": "^18.3.12",
"@vitest/coverage-v8": "^2.1.8",
@@ -41,10 +41,10 @@
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-jsdoc": "^50.5.0",
"eslint-plugin-n": "^17.11.1",
"eslint-plugin-n": "^17.15.1",
"eslint-plugin-promise": "^7.2.1",
"eslint-plugin-react": "^7.37.2",
"globals": "^15.13.0",
"globals": "^15.14.0",
"jsdom": "^25.0.1",
"prettier": "^3.4.2",
"sass": "^1.80.4",
@@ -710,16 +710,19 @@
}
},
"node_modules/@eslint-community/eslint-utils": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
"integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz",
"integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==",
"dev": true,
"dependencies": {
"eslint-visitor-keys": "^3.3.0"
"eslint-visitor-keys": "^3.4.3"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
},
"peerDependencies": {
"eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
}
@@ -1412,14 +1415,6 @@
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
}
},
"node_modules/@remix-run/router": {
"version": "1.21.0",
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.21.0.tgz",
"integrity": "sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==",
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@restart/hooks": {
"version": "0.4.16",
"resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.16.tgz",
@@ -1709,13 +1704,12 @@
"dev": true
},
"node_modules/@stylistic/eslint-plugin": {
"version": "2.10.1",
"resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-2.10.1.tgz",
"integrity": "sha512-U+4yzNXElTf9q0kEfnloI9XbOyD4cnEQCxjUI94q0+W++0GAEQvJ/slwEj9lwjDHfGADRSr+Tco/z0XJvmDfCQ==",
"version": "2.12.1",
"resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-2.12.1.tgz",
"integrity": "sha512-fubZKIHSPuo07FgRTn6S4Nl0uXPRPYVNpyZzIDGfp7Fny6JjNus6kReLD7NI380JXi4HtUTSOZ34LBuNPO1XLQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/utils": "^8.12.2",
"@typescript-eslint/utils": "^8.13.0",
"eslint-visitor-keys": "^4.2.0",
"espree": "^10.3.0",
"estraverse": "^5.3.0",
@@ -2042,6 +2036,12 @@
"@babel/types": "^7.20.7"
}
},
"node_modules/@types/cookie": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
"integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==",
"license": "MIT"
},
"node_modules/@types/estree": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
@@ -2325,9 +2325,9 @@
}
},
"node_modules/@types/prop-types": {
"version": "15.7.5",
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
"integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w=="
"version": "15.7.14",
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz",
"integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ=="
},
"node_modules/@types/react": {
"version": "18.3.12",
@@ -3190,6 +3190,15 @@
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
"integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="
},
"node_modules/cookie": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz",
"integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==",
"license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/cross-spawn": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
@@ -3961,20 +3970,19 @@
}
},
"node_modules/eslint-plugin-n": {
"version": "17.11.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.11.1.tgz",
"integrity": "sha512-93IUD82N6tIEgjztVI/l3ElHtC2wTa9boJHrD8iN+NyDxjxz/daZUZKfkedjBZNdg6EqDk4irybUsiPwDqXAEA==",
"version": "17.15.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.15.1.tgz",
"integrity": "sha512-KFw7x02hZZkBdbZEFQduRGH4VkIH4MW97ClsbAM4Y4E6KguBJWGfWG1P4HEIpZk2bkoWf0bojpnjNAhYQP8beA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
"enhanced-resolve": "^5.17.0",
"eslint-plugin-es-x": "^7.5.0",
"get-tsconfig": "^4.7.0",
"globals": "^15.8.0",
"ignore": "^5.2.4",
"@eslint-community/eslint-utils": "^4.4.1",
"enhanced-resolve": "^5.17.1",
"eslint-plugin-es-x": "^7.8.0",
"get-tsconfig": "^4.8.1",
"globals": "^15.11.0",
"ignore": "^5.3.2",
"minimatch": "^9.0.5",
"semver": "^7.5.3"
"semver": "^7.6.3"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -4120,15 +4128,6 @@
"url": "https://opencollective.com/eslint"
}
},
"node_modules/eslint/node_modules/@eslint/js": {
"version": "9.16.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.16.0.tgz",
"integrity": "sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==",
"dev": true,
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
"node_modules/eslint/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -4607,9 +4606,9 @@
}
},
"node_modules/globals": {
"version": "15.13.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-15.13.0.tgz",
"integrity": "sha512-49TewVEz0UxZjr1WYYsWpPrhyC/B/pA8Bq0fUmet2n+eR7yn0IvNzNaoBwnK6mdkzcN+se7Ez9zUgULTz2QH4g==",
"version": "15.14.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz",
"integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==",
"dev": true,
"engines": {
"node": ">=18"
@@ -6188,14 +6187,14 @@
}
},
"node_modules/react-bootstrap": {
"version": "2.10.6",
"resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-2.10.6.tgz",
"integrity": "sha512-fNvKytSp0nHts1WRnRBJeBEt+I9/ZdrnhIjWOucEduRNvFRU1IXjZueDdWnBiqsTSJ7MckQJi9i/hxGolaRq+g==",
"license": "MIT",
"version": "2.10.7",
"resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-2.10.7.tgz",
"integrity": "sha512-w6mWb3uytB5A18S2oTZpYghcOUK30neMBBvZ/bEfA+WIF2dF4OGqjzoFVMpVXBjtyf92gkmRToHlddiMAVhQqQ==",
"dependencies": {
"@babel/runtime": "^7.24.7",
"@restart/hooks": "^0.4.9",
"@restart/ui": "^1.9.0",
"@restart/ui": "^1.9.2",
"@types/prop-types": "^15.7.12",
"@types/react-transition-group": "^4.4.6",
"classnames": "^2.3.2",
"dom-helpers": "^5.2.1",
@@ -6241,9 +6240,9 @@
}
},
"node_modules/react-i18next": {
"version": "15.1.2",
"resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-15.1.2.tgz",
"integrity": "sha512-tl7AfbWyz9a4BefFXnVooc+gvQBVlavUkVTphGUcvhsNmbRf5UixJVdHeSFkE4gUyQkmFPYHVwTuxIdHjfQgiA==",
"version": "15.1.3",
"resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-15.1.3.tgz",
"integrity": "sha512-J11oA30FbM3NZegUZjn8ySK903z6PLBz/ZuBYyT1JMR0QPrW6PFXvl1WoUhortdGi9dM0m48/zJQlPskVZXgVw==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.25.0",
@@ -6282,17 +6281,27 @@
}
},
"node_modules/react-router": {
"version": "6.28.0",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-6.28.0.tgz",
"integrity": "sha512-HrYdIFqdrnhDw0PqG/AKjAqEqM7AvxCz0DQ4h2W8k6nqmc5uRBYDag0SBxx9iYz5G8gnuNVLzUe13wl9eAsXXg==",
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-7.1.1.tgz",
"integrity": "sha512-39sXJkftkKWRZ2oJtHhCxmoCrBCULr/HAH4IT5DHlgu/Q0FCPV0S4Lx+abjDTx/74xoZzNYDYbOZWlJjruyuDQ==",
"license": "MIT",
"dependencies": {
"@remix-run/router": "1.21.0"
"@types/cookie": "^0.6.0",
"cookie": "^1.0.1",
"set-cookie-parser": "^2.6.0",
"turbo-stream": "2.4.0"
},
"engines": {
"node": ">=14.0.0"
"node": ">=20.0.0"
},
"peerDependencies": {
"react": ">=16.8"
"react": ">=18",
"react-dom": ">=18"
},
"peerDependenciesMeta": {
"react-dom": {
"optional": true
}
}
},
"node_modules/react-router-bootstrap": {
@@ -6308,19 +6317,20 @@
}
},
"node_modules/react-router-dom": {
"version": "6.28.0",
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.28.0.tgz",
"integrity": "sha512-kQ7Unsl5YdyOltsPGl31zOjLrDv+m2VcIEcIHqYYD3Lp0UppLjrzcfJqDJwXxFw3TH/yvapbnUvPlAj7Kx5nbg==",
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.1.1.tgz",
"integrity": "sha512-vSrQHWlJ5DCfyrhgo0k6zViOe9ToK8uT5XGSmnuC2R3/g261IdIMpZVqfjD6vWSXdnf5Czs4VA/V60oVR6/jnA==",
"license": "MIT",
"peer": true,
"dependencies": {
"@remix-run/router": "1.21.0",
"react-router": "6.28.0"
"react-router": "7.1.1"
},
"engines": {
"node": ">=14.0.0"
"node": ">=20.0.0"
},
"peerDependencies": {
"react": ">=16.8",
"react-dom": ">=16.8"
"react": ">=18",
"react-dom": ">=18"
}
},
"node_modules/react-transition-group": {
@@ -6610,6 +6620,12 @@
"semver": "bin/semver.js"
}
},
"node_modules/set-cookie-parser": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz",
"integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==",
"license": "MIT"
},
"node_modules/set-function-length": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
@@ -7223,6 +7239,12 @@
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
"license": "0BSD"
},
"node_modules/turbo-stream": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz",
"integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==",
"license": "ISC"
},
"node_modules/type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -9261,12 +9283,12 @@
"optional": true
},
"@eslint-community/eslint-utils": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
"integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz",
"integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==",
"dev": true,
"requires": {
"eslint-visitor-keys": "^3.3.0"
"eslint-visitor-keys": "^3.4.3"
}
},
"@eslint-community/regexpp": {
@@ -9667,11 +9689,6 @@
"@swc/helpers": "^0.5.0"
}
},
"@remix-run/router": {
"version": "1.21.0",
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.21.0.tgz",
"integrity": "sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA=="
},
"@restart/hooks": {
"version": "0.4.16",
"resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.16.tgz",
@@ -9833,12 +9850,12 @@
"dev": true
},
"@stylistic/eslint-plugin": {
"version": "2.10.1",
"resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-2.10.1.tgz",
"integrity": "sha512-U+4yzNXElTf9q0kEfnloI9XbOyD4cnEQCxjUI94q0+W++0GAEQvJ/slwEj9lwjDHfGADRSr+Tco/z0XJvmDfCQ==",
"version": "2.12.1",
"resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-2.12.1.tgz",
"integrity": "sha512-fubZKIHSPuo07FgRTn6S4Nl0uXPRPYVNpyZzIDGfp7Fny6JjNus6kReLD7NI380JXi4HtUTSOZ34LBuNPO1XLQ==",
"dev": true,
"requires": {
"@typescript-eslint/utils": "^8.12.2",
"@typescript-eslint/utils": "^8.13.0",
"eslint-visitor-keys": "^4.2.0",
"espree": "^10.3.0",
"estraverse": "^5.3.0",
@@ -10072,6 +10089,11 @@
"@babel/types": "^7.20.7"
}
},
"@types/cookie": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
"integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA=="
},
"@types/estree": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
@@ -10302,9 +10324,9 @@
}
},
"@types/prop-types": {
"version": "15.7.5",
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
"integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w=="
"version": "15.7.14",
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz",
"integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ=="
},
"@types/react": {
"version": "18.3.12",
@@ -10883,6 +10905,11 @@
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
"integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="
},
"cookie": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz",
"integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="
},
"cross-spawn": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
@@ -11294,12 +11321,6 @@
"optionator": "^0.9.3"
},
"dependencies": {
"@eslint/js": {
"version": "9.16.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.16.0.tgz",
"integrity": "sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==",
"dev": true
},
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -11550,19 +11571,19 @@
}
},
"eslint-plugin-n": {
"version": "17.11.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.11.1.tgz",
"integrity": "sha512-93IUD82N6tIEgjztVI/l3ElHtC2wTa9boJHrD8iN+NyDxjxz/daZUZKfkedjBZNdg6EqDk4irybUsiPwDqXAEA==",
"version": "17.15.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.15.1.tgz",
"integrity": "sha512-KFw7x02hZZkBdbZEFQduRGH4VkIH4MW97ClsbAM4Y4E6KguBJWGfWG1P4HEIpZk2bkoWf0bojpnjNAhYQP8beA==",
"dev": true,
"requires": {
"@eslint-community/eslint-utils": "^4.4.0",
"enhanced-resolve": "^5.17.0",
"eslint-plugin-es-x": "^7.5.0",
"get-tsconfig": "^4.7.0",
"globals": "^15.8.0",
"ignore": "^5.2.4",
"@eslint-community/eslint-utils": "^4.4.1",
"enhanced-resolve": "^5.17.1",
"eslint-plugin-es-x": "^7.8.0",
"get-tsconfig": "^4.8.1",
"globals": "^15.11.0",
"ignore": "^5.3.2",
"minimatch": "^9.0.5",
"semver": "^7.5.3"
"semver": "^7.6.3"
},
"dependencies": {
"semver": {
@@ -11922,9 +11943,9 @@
}
},
"globals": {
"version": "15.13.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-15.13.0.tgz",
"integrity": "sha512-49TewVEz0UxZjr1WYYsWpPrhyC/B/pA8Bq0fUmet2n+eR7yn0IvNzNaoBwnK6mdkzcN+se7Ez9zUgULTz2QH4g==",
"version": "15.14.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz",
"integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==",
"dev": true
},
"globalthis": {
@@ -13007,13 +13028,14 @@
}
},
"react-bootstrap": {
"version": "2.10.6",
"resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-2.10.6.tgz",
"integrity": "sha512-fNvKytSp0nHts1WRnRBJeBEt+I9/ZdrnhIjWOucEduRNvFRU1IXjZueDdWnBiqsTSJ7MckQJi9i/hxGolaRq+g==",
"version": "2.10.7",
"resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-2.10.7.tgz",
"integrity": "sha512-w6mWb3uytB5A18S2oTZpYghcOUK30neMBBvZ/bEfA+WIF2dF4OGqjzoFVMpVXBjtyf92gkmRToHlddiMAVhQqQ==",
"requires": {
"@babel/runtime": "^7.24.7",
"@restart/hooks": "^0.4.9",
"@restart/ui": "^1.9.0",
"@restart/ui": "^1.9.2",
"@types/prop-types": "^15.7.12",
"@types/react-transition-group": "^4.4.6",
"classnames": "^2.3.2",
"dom-helpers": "^5.2.1",
@@ -13043,9 +13065,9 @@
}
},
"react-i18next": {
"version": "15.1.2",
"resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-15.1.2.tgz",
"integrity": "sha512-tl7AfbWyz9a4BefFXnVooc+gvQBVlavUkVTphGUcvhsNmbRf5UixJVdHeSFkE4gUyQkmFPYHVwTuxIdHjfQgiA==",
"version": "15.1.3",
"resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-15.1.3.tgz",
"integrity": "sha512-J11oA30FbM3NZegUZjn8ySK903z6PLBz/ZuBYyT1JMR0QPrW6PFXvl1WoUhortdGi9dM0m48/zJQlPskVZXgVw==",
"requires": {
"@babel/runtime": "^7.25.0",
"html-parse-stringify": "^3.0.1"
@@ -13068,11 +13090,14 @@
"integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA=="
},
"react-router": {
"version": "6.28.0",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-6.28.0.tgz",
"integrity": "sha512-HrYdIFqdrnhDw0PqG/AKjAqEqM7AvxCz0DQ4h2W8k6nqmc5uRBYDag0SBxx9iYz5G8gnuNVLzUe13wl9eAsXXg==",
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-7.1.1.tgz",
"integrity": "sha512-39sXJkftkKWRZ2oJtHhCxmoCrBCULr/HAH4IT5DHlgu/Q0FCPV0S4Lx+abjDTx/74xoZzNYDYbOZWlJjruyuDQ==",
"requires": {
"@remix-run/router": "1.21.0"
"@types/cookie": "^0.6.0",
"cookie": "^1.0.1",
"set-cookie-parser": "^2.6.0",
"turbo-stream": "2.4.0"
}
},
"react-router-bootstrap": {
@@ -13084,12 +13109,12 @@
}
},
"react-router-dom": {
"version": "6.28.0",
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.28.0.tgz",
"integrity": "sha512-kQ7Unsl5YdyOltsPGl31zOjLrDv+m2VcIEcIHqYYD3Lp0UppLjrzcfJqDJwXxFw3TH/yvapbnUvPlAj7Kx5nbg==",
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.1.1.tgz",
"integrity": "sha512-vSrQHWlJ5DCfyrhgo0k6zViOe9ToK8uT5XGSmnuC2R3/g261IdIMpZVqfjD6vWSXdnf5Czs4VA/V60oVR6/jnA==",
"peer": true,
"requires": {
"@remix-run/router": "1.21.0",
"react-router": "6.28.0"
"react-router": "7.1.1"
}
},
"react-transition-group": {
@@ -13286,6 +13311,11 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
},
"set-cookie-parser": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz",
"integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ=="
},
"set-function-length": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
@@ -13743,6 +13773,11 @@
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="
},
"turbo-stream": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz",
"integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g=="
},
"type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+6 -6
View File
@@ -23,12 +23,12 @@
"bootstrap": "^5.3.3",
"i18next": "^23.16.8",
"react": "^18.3.1",
"react-bootstrap": "^2.10.6",
"react-bootstrap": "^2.10.7",
"react-bootstrap-icons": "^1.11.5",
"react-dom": "^18.3.1",
"react-i18next": "^15.1.2",
"react-i18next": "^15.1.3",
"react-router": "^7.1.1",
"react-router-bootstrap": "^0.26.3",
"react-router-dom": "^6.28.0",
"typescript": "^5.7.2",
"vite": "^6.0.3"
},
@@ -63,7 +63,7 @@
"@eslint/compat": "^1.2.4",
"@eslint/eslintrc": "^3.1.0",
"@eslint/js": "^9.17.0",
"@stylistic/eslint-plugin": "^2.10.1",
"@stylistic/eslint-plugin": "^2.12.1",
"@testing-library/jest-dom": "^6.6.3",
"@types/react": "^18.3.12",
"@vitest/coverage-v8": "^2.1.8",
@@ -71,10 +71,10 @@
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-jsdoc": "^50.5.0",
"eslint-plugin-n": "^17.11.1",
"eslint-plugin-n": "^17.15.1",
"eslint-plugin-promise": "^7.2.1",
"eslint-plugin-react": "^7.37.2",
"globals": "^15.13.0",
"globals": "^15.14.0",
"jsdom": "^25.0.1",
"prettier": "^3.4.2",
"sass": "^1.80.4",
+1 -1
View File
@@ -1,7 +1,7 @@
import React, { useContext, useEffect } from 'react';
import {
createBrowserRouter, Navigate, RouteObject, RouterProvider
} from 'react-router-dom';
} from 'react-router';
import AuthContext from './context/AuthContext';
import BrowserRoutes from './routes';
@@ -1,6 +1,6 @@
import React from 'react';
import { act, render, screen } from '@testing-library/react';
import { BrowserRouter } from 'react-router-dom';
import { BrowserRouter } from 'react-router';
import { describe, it, expect, vi, beforeAll, afterAll } from 'vitest';
import authContextMock from '../__mocks__/authContextMock';
import Footer from '../../components/Footer';
@@ -1,6 +1,6 @@
import React from 'react';
import { render, screen } from '@testing-library/react';
import { MemoryRouter } from 'react-router-dom';
import { MemoryRouter } from 'react-router';
import { describe, it, expect, vi } from 'vitest';
import Header from '../../components/Header';
import '../../i18n';
@@ -1,6 +1,6 @@
import React from 'react';
import { describe, it, expect } from 'vitest';
import { BrowserRouter } from 'react-router-dom';
import { BrowserRouter } from 'react-router';
import { render, screen } from '@testing-library/react';
import LoginForm from '../../components/LoginForm';
import '../../i18n';
+2 -3
View File
@@ -2,7 +2,7 @@ import React, { useContext } from 'react';
import {
Button, Col, Container, Row
} from 'react-bootstrap';
import { Link, useNavigate } from 'react-router-dom';
import { Link } from 'react-router';
import AuthContext from '../../context/AuthContext';
import './style.css';
import { useTranslation } from 'react-i18next';
@@ -18,13 +18,12 @@ import { useTranslation } from 'react-i18next';
function Footer(): JSX.Element {
const { signOut, user } = useContext(AuthContext);
const { t } = useTranslation();
const navigate = useNavigate();
const build = import.meta.env.VITE_BUILD;
const currentYear = new Date().getFullYear();
const goOut = () => {
signOut();
navigate('/');
// navigate('/');
};
return (
+16 -15
View File
@@ -2,7 +2,7 @@ import React from 'react';
import Container from 'react-bootstrap/Container';
import Nav from 'react-bootstrap/Nav';
import Navbar from 'react-bootstrap/Navbar';
import { LinkContainer } from 'react-router-bootstrap';
import { NavLink } from 'react-router';
import Logo from '../../assets/logo2-450-450.png';
import { useTranslation } from 'react-i18next';
@@ -21,26 +21,27 @@ function Header(): JSX.Element {
<header>
<Navbar expand="lg" className="bg-body-secondary">
<Container>
<LinkContainer to="/home">
<NavLink to="/home">
<Navbar.Brand>
<img width="30" src={Logo} alt="TaskNote logo" />
</Navbar.Brand>
</LinkContainer>
</NavLink>
<Navbar.Toggle aria-controls="basic-navbar-nav" />
<Navbar.Collapse id="basic-navbar-nav">
<Nav className="me-auto">
<LinkContainer to="/home">
<Nav.Link>{t('home_nav_home')}</Nav.Link>
</LinkContainer>
<LinkContainer to="/tasks">
<Nav.Link>{t('home_nav_tasks')}</Nav.Link>
</LinkContainer>
<LinkContainer to="/notes">
<Nav.Link>{t('home_nav_notes')}</Nav.Link>
</LinkContainer>
<LinkContainer to="/about">
<Nav.Link>{t('home_nav_about')}</Nav.Link>
</LinkContainer>
<NavLink to="/home">
<Nav.Link as="span">{t('home_nav_home')}</Nav.Link>
</NavLink>
<NavLink to="/tasks">
<Nav.Link as="span">{t('home_nav_tasks')}</Nav.Link>
</NavLink>
<NavLink to="/notes">
<Nav.Link as="span">{t('home_nav_notes')}</Nav.Link>
</NavLink>
<NavLink to="/about">
<Nav.Link as="span">{t('home_nav_about')}</Nav.Link>
</NavLink>
</Nav>
</Navbar.Collapse>
</Container>
+1 -1
View File
@@ -13,7 +13,7 @@ import {
Form,
Row
} from 'react-bootstrap';
import { Link, useNavigate } from 'react-router-dom';
import { Link, useNavigate } from 'react-router';
import { useTranslation } from 'react-i18next';
import AuthContext from '../../context/AuthContext';
import { translateServerResponse } from '../../utils/TranslatorUtils';
+1 -1
View File
@@ -1,5 +1,5 @@
import React from 'react';
import { Outlet } from 'react-router-dom';
import { Outlet } from 'react-router';
import { Container } from 'react-bootstrap';
import Header from '../../components/Header';
import Footer from '../../components/Footer';
+1 -1
View File
@@ -1,5 +1,5 @@
import React, { useContext } from 'react';
import { Navigate, Outlet } from 'react-router-dom';
import { Navigate, Outlet } from 'react-router';
import AuthContext from '../../context/AuthContext';
const ProtectedRoute = (): React.JSX.Element => {
+1 -1
View File
@@ -1,5 +1,5 @@
import React from 'react';
import { Navigate, RouteObject } from 'react-router-dom';
import { Navigate, RouteObject } from 'react-router';
import getStoredPath from '../utils/PathUtils';
import Home from '../views/Home';
import About from '../views/About';
+1 -3
View File
@@ -2,7 +2,6 @@ import React, { useContext, useState } from 'react';
import { Alert, Button, Card, Col, Container, Row } from 'react-bootstrap';
import { useTranslation } from 'react-i18next';
import { FileText, Person, ShieldCheck } from 'react-bootstrap-icons';
import { useNavigate } from 'react-router-dom';
import { clearStorage, setDefaultLang } from '../../storage-service/storage';
import AuthContext from '../../context/AuthContext';
import { LangAvailable, languages } from '../../constants/languages_available';
@@ -19,7 +18,6 @@ import ApiConfig from '../../api-service/apiConfig';
function Account(): JSX.Element {
const { signOut, user } = useContext(AuthContext);
const { i18n, t } = useTranslation();
const navigate = useNavigate();
const [showAlert, setShowAlert] = useState<boolean>(false);
const handleLanguage = (lang: string) => {
@@ -32,7 +30,7 @@ function Account(): JSX.Element {
await api.postJSON(ApiConfig.deleteAccountUrl, {});
signOut();
clearStorage();
navigate('/');
// navigate('/');
};
return (
+11 -16
View File
@@ -5,8 +5,8 @@ import {
Button, Card, Col, Container, Form, InputGroup, Row
} from 'react-bootstrap';
import './style.css';
import { useNavigate } from 'react-router-dom';
import { useTranslation } from 'react-i18next';
import { NavLink } from 'react-router';
import { SummaryResponse } from '../../types/SummaryResponse';
import { HomeSearchResponse } from '../../types/HomeSearchResponse';
import { TaskResponse } from '../../types/TaskResponse';
@@ -29,7 +29,6 @@ function Home(): JSX.Element {
const [validated, setValidated] = useState<boolean>(false);
const [formInvalid, setFormInvalid] = useState<boolean>(false);
const [searchResults, setSearchResults] = useState<HomeSearchResponse | null>(null);
const navigate = useNavigate();
const { i18n, t } = useTranslation();
const handleError = (e: unknown): void => {
@@ -110,13 +109,11 @@ function Home(): JSX.Element {
? ` ${summary?.doneTaskCount} ${t('home_card_task_done')}`
: t('home_card_task_done_empty')}
</Card.Text>
<Button
variant="primary"
type="button"
onClick={() => navigate('/tasks')}
>
{t('home_card_task_btn')}
</Button>
<NavLink to="/tasks">
<Button variant="primary" type="button">
{t('home_card_task_btn')}
</Button>
</NavLink>
</Card.Body>
</Card>
</Col>
@@ -131,13 +128,11 @@ function Home(): JSX.Element {
{summary?.notesCount}
</Card.Title>
<Card.Text>{t('home_card_note_count')}</Card.Text>
<Button
variant="primary"
type="button"
onClick={() => navigate('/notes')}
>
{t('home_card_note_btn')}
</Button>
<NavLink to="/tasks">
<Button variant="primary" type="button">
{t('home_card_note_btn')}
</Button>
</NavLink>
</Card.Body>
</Card>
</Col>
+1 -1
View File
@@ -1,6 +1,6 @@
import React, { useContext, useEffect } from 'react';
import { Button, Container } from 'react-bootstrap';
import { Link } from 'react-router-dom';
import { Link } from 'react-router';
import { useTranslation } from 'react-i18next';
import AuthContext from '../../context/AuthContext';
import { handleDefaultLang } from '../../lang-service/LangHandler';