Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate Frontend codebase to Typescript and Vite #6715

Draft
wants to merge 132 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
132 commits
Select commit Hold shift + click to select a range
9fcc5b9
chore: fix merge conflicts
JoltCode Dec 17, 2024
b06c8d4
chore: fix merge conflicts 2
JoltCode Dec 17, 2024
81e562b
chore: fix more merge conflicts, switch from yarn to pnpm
JoltCode Dec 17, 2024
356c4fc
chore(frontend/redux): migrate rest of reducers to TypeScript
JoltCode Aug 20, 2024
5930c59
chore(frontend/utils): migrate safe_storage to TypeScript
JoltCode Aug 20, 2024
aa7491d
chore(frontend): fix merge conflicts, more migrations
JoltCode Aug 20, 2024
ed76f93
fix,chore(frontend/redux): fix reducers combined return type
JoltCode Aug 20, 2024
08ba00b
chore(frontend): migrate footer to TS
JoltCode Aug 20, 2024
e89e01d
chore(frontend): more ts migrations
JoltCode Aug 21, 2024
ca18b73
chore(frontned): more TS migrations :D
JoltCode Aug 21, 2024
a8993c4
chore(frontend): more TS Migrations!
JoltCode Aug 21, 2024
c0587f3
chore(frontend): hooks and utils migrations to TS
JoltCode Aug 21, 2024
6027ac6
chore(frontend): mostly comments and contributions TS migrations
JoltCode Aug 21, 2024
ba2315c
chore(frontend): migrate components and utils to TS
JoltCode Aug 22, 2024
dddd6df
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Aug 22, 2024
633bc02
chore(frontend): more migrations to TS
JoltCode Aug 22, 2024
e3c1bea
chore(frontend): TS Migrations, allow JS in tsconfig
JoltCode Aug 23, 2024
f86e575
chore(frontend): migrate loads of svg icons to TS, fix vite config
JoltCode Aug 23, 2024
913e5d3
chore(frontend): migrate more svg icons to TS
JoltCode Aug 23, 2024
7930831
chore(frontend): migrate more svgIcons to TS
JoltCode Aug 24, 2024
e78eab2
chore(frontend/svgIcons): migrate final svgIcons to TS and functional…
JoltCode Aug 24, 2024
bfd5753
chore(frontend): lots of TS Migrations - base site now rendering - al…
JoltCode Aug 24, 2024
9c68ff4
fix(vite): replace all REACT_APP env vars with vite
JoltCode Dec 18, 2024
edaa595
feat(frontend/svgIcons): convert remaining icons to tsx
JoltCode Dec 18, 2024
5c2e511
feat,chore(frontend): move lots of components to jsx - building witho…
JoltCode Dec 18, 2024
8071b53
fix(package): react type versions
JoltCode Dec 18, 2024
8abd578
chore(frontend): add todo
JoltCode Dec 18, 2024
6bd7b55
fix(frontend): make most of remaining files work
JoltCode Dec 19, 2024
93ff019
chore(frontend): move to vitest
JoltCode Dec 19, 2024
147a399
chore(frontend/testing): more test file renames, test fixes
JoltCode Dec 20, 2024
4336de1
feat,chore(frontend): more test fixes
JoltCode Dec 21, 2024
750e654
feat,chore(frontend/tests): further vitest fixes - reset back to yarn
JoltCode Dec 22, 2024
e68dabe
feat,chore(frontend/testing): migrate to msw v2, fix further tests
JoltCode Dec 22, 2024
430ad3e
fix(frontend/tests): further test fixes
JoltCode Dec 23, 2024
c67b8d5
chore,fix(frontend/test): footer testing migration to react testing lib
JoltCode Dec 23, 2024
7a91f29
fix(frontend/tests): more test migrations, starting to fix mapbox mock
JoltCode Dec 23, 2024
da2927c
fix,chore(frontend): make userDetails object property access optional…
JoltCode Dec 24, 2024
be3f2bb
fix,chore(frontend): notification body card infinite render loop, fix…
JoltCode Dec 25, 2024
cfdfdac
fix(frontend): more frontend test fixes, fix mistakes in merge - task…
JoltCode Dec 25, 2024
f8258a0
fix,chore(frontend/tests): further test fixes
JoltCode Dec 26, 2024
59ada54
chore,fix(frontend/tests): more test fixes
JoltCode Dec 26, 2024
4363da7
chore,fix(frontend/tests): further test fixes and migrations
JoltCode Dec 28, 2024
dde4c2f
chore,fix(frontend/tests): more test fixes, fix react-hot-toast mocking
JoltCode Dec 28, 2024
6949364
chore,fix(frontend/tests): migrate remaining tests from old test rend…
JoltCode Dec 28, 2024
4b6032e
fix,chore(frontend/tests): fix remaining tests, move failing users te…
JoltCode Dec 28, 2024
5d29587
fix,chore(frontend/tests): implement final missing test
JoltCode Dec 28, 2024
70e8731
chore(frontend): cleanup
JoltCode Dec 28, 2024
784af9b
chore,fix(frontend): more cleanup, fix builds
JoltCode Dec 29, 2024
3c1848d
chore(frontend): rename build ignore in gitignore
JoltCode Dec 29, 2024
f243b13
chore(frontend): add seperate test command which shows ui
JoltCode Dec 29, 2024
81ef0a5
Merge remote-tracking branch 'origin/develop' into typescript-vite
JoltCode Jan 8, 2025
011db4b
chore,fix(frontend/components): rename datefilter js to jsx
JoltCode Jan 8, 2025
ccc64d1
chore(ci): modify test branch name
JoltCode Jan 8, 2025
33f6d1c
fix(ci): -w (--max-workers): breaking
JoltCode Jan 8, 2025
acdd6d3
fix(frontend/tests): openEditor insert url encoded from env
JoltCode Jan 8, 2025
a1c65b9
Merge pull request #6534 from JoltCode/typescript-vite
spwoodcock Jan 8, 2025
60b28af
fix: broken tests
JoltCode Jan 8, 2025
bfcb3ab
fix(frontend/utils): return nothing from markdown parser if no markdown
JoltCode Jan 8, 2025
77934a9
fix(frontend/tests): questionsAndComments test
JoltCode Jan 8, 2025
98bc9ff
fix(frontend/tests): questionsAndComments: fix 2?
JoltCode Jan 8, 2025
8b8aee4
Merge pull request #6677 from JoltCode/typescript-vite
spwoodcock Jan 8, 2025
14db0f6
chore(frontend/test): testing fixes
JoltCode Jan 8, 2025
23e44a1
fix(frontend/tests): timeout
JoltCode Jan 8, 2025
4e5393b
chore(frontend/tests): attempted fix
JoltCode Jan 8, 2025
de0aec5
chore,fix(frontend): rename env prefix from VITE_ to REACT_APP_
JoltCode Jan 8, 2025
de2d3f4
fix(frontend/tests): openEditor test env
JoltCode Jan 8, 2025
ee57beb
fix(frontend/tests): openEditor test env
JoltCode Jan 8, 2025
e3423f3
fix(frontend/tests): hedaer svg
JoltCode Jan 8, 2025
4048e37
fix(frontend/tests): header svg
JoltCode Jan 8, 2025
229d2d7
Merge remote-tracking branch 'origin/typescript-vite' into typescript…
JoltCode Jan 8, 2025
90d7fad
fix(frontend/tests): openEditor tests
JoltCode Jan 8, 2025
0d4d47d
chore(frontend/tests): switch from jsdom to happy-dom
JoltCode Jan 8, 2025
d420cee
test fix?
JoltCode Jan 8, 2025
0a5f9fd
Revert "test fix?"
JoltCode Jan 8, 2025
28723d4
chore(frontend/tests): remove broken test
JoltCode Jan 8, 2025
3c528d4
fix(frontend/tests): img
JoltCode Jan 8, 2025
f560c22
fix(frontend/tests): syntax issue
JoltCode Jan 8, 2025
5adf963
fix(frontend/tests): list test
JoltCode Jan 8, 2025
6dc8762
chore(frontend/tests): timeout
JoltCode Jan 8, 2025
c54e760
Merge pull request #6678 from JoltCode/typescript-vite
spwoodcock Jan 8, 2025
d1b50d3
fix(frontend/package): rename build to dist
JoltCode Jan 8, 2025
09448ef
Merge pull request #6679 from JoltCode/typescript-vite
spwoodcock Jan 8, 2025
5557f9b
fix(ci): rename build -> dist
JoltCode Jan 8, 2025
62da99e
fix: spelling, format
JoltCode Jan 8, 2025
eb24b86
Merge remote-tracking branch 'origin/typescript-vite' into typescript…
JoltCode Jan 8, 2025
f7eb260
fix: format 2
JoltCode Jan 8, 2025
8bd1b74
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 8, 2025
c7710eb
Merge pull request #6680 from JoltCode/typescript-vite
spwoodcock Jan 9, 2025
cbf4422
fix(frontend): bump shpjs
JoltCode Jan 9, 2025
355e767
fix(frontend/header): forwardRef
JoltCode Jan 9, 2025
5b99567
Merge pull request #6682 from JoltCode/typescript-vite
spwoodcock Jan 9, 2025
1856999
docs: minor whitespace change to trigger re-deploy
spwoodcock Jan 10, 2025
3237e98
Merge remote-tracking branch 'upstream/typescript-vite' into typescri…
JoltCode Jan 16, 2025
7cf3232
Merge remote-tracking branch 'upstream/develop' into typescript-vite
JoltCode Jan 16, 2025
4278342
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 16, 2025
734c12f
fix(frontend/tests): members test - switch length from 4 to 5
JoltCode Jan 16, 2025
597f323
Merge pull request #6693 from JoltCode/typescript-vite
spwoodcock Jan 16, 2025
326668c
fix(frontend): i18n hook - use module.default, was resolving to a mod…
JoltCode Jan 18, 2025
9fbd9fa
fix(frontend): persist project data
JoltCode Jan 18, 2025
7eaa240
fix(frontend/icons): grid invalid svg property
JoltCode Jan 18, 2025
249351f
fix(frontend/taskSelection): add ternary to authDetails
JoltCode Jan 18, 2025
21b5c9d
format(frontend): internationalization
JoltCode Jan 18, 2025
41cd34c
chore,fix(frontend/internationlization): refactor default module access
JoltCode Jan 18, 2025
e8297b1
fix(frontend/internationlization): access after await is returned
JoltCode Jan 18, 2025
b43b3b5
Merge pull request #6696 from JoltCode/typescript-vite
spwoodcock Jan 18, 2025
42d5e2a
fix(frontend/taskSelection): conditionally check user store
JoltCode Jan 19, 2025
6ca3696
fix(frontend/projects): downloadAsCSV propType
JoltCode Jan 19, 2025
946680b
chore(frontend/tests): rename test file to .test.jsx
JoltCode Jan 19, 2025
d49f72e
fix(frontend/taskSelection): missing ternary
JoltCode Jan 19, 2025
8fc6852
Merge pull request #6697 from JoltCode/typescript-vite
spwoodcock Jan 20, 2025
f6ef4c7
fix(frontend/tests): favorites
JoltCode Jan 20, 2025
255a641
Merge pull request #6700 from JoltCode/typescript-vite
spwoodcock Jan 20, 2025
ea71268
fix(frontend/package): make start run dev server
JoltCode Jan 23, 2025
102eb34
Merge remote-tracking branch 'upstream/develop' into typescript-vite
JoltCode Jan 23, 2025
1fe498e
Merge pull request #6711 from JoltCode/typescript-vite
spwoodcock Jan 23, 2025
9419184
chore(frontend): switch port from 5173 -> 3000
JoltCode Jan 24, 2025
690785d
Merge pull request #6712 from JoltCode/typescript-vite
spwoodcock Jan 24, 2025
3d6da3d
feat: configure import path aliases for folders
royallsilwallz Jan 25, 2025
65c845e
refactor: setup typescript support for `useSelector` & `useDispatch`
royallsilwallz Jan 25, 2025
6deb561
fix: resolve test cases failure due to import path aliases
royallsilwallz Jan 25, 2025
b452cdf
chore: use `vite-tsconfig-paths` for reducing code duplication
royallsilwallz Jan 26, 2025
a54c29f
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 26, 2025
fd68e19
chore(frontend): upgrade and setup eslint & prettier configs
royallsilwallz Jan 26, 2025
620a379
chore(frontend): run `yarn lint --fix`
royallsilwallz Jan 26, 2025
8a3c725
fix(frontend): resolve eslint lint errors
royallsilwallz Jan 26, 2025
56195e0
docs: create `TODOS.md` for keeping todo tasks
royallsilwallz Jan 26, 2025
a076ed6
fix(frontend): fix props destructure issue
royallsilwallz Jan 27, 2025
f082d5d
fix(frontend): resolve merge conflicts with develop
royallsilwallz Jan 28, 2025
8b2b707
fix(frontend/tests): remove js version of server handlers file
JoltCode Jan 28, 2025
3976379
Merge pull request #6721 from JoltCode/typescript-vite
spwoodcock Jan 28, 2025
206984c
chore: merge develop branch
royallsilwallz Feb 23, 2025
77094f9
Merge pull request #6760 from hotosm/typescript-vite-changes
royallsilwallz Feb 23, 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
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
no_output_timeout: 20m
command: |
cd ${CIRCLE_WORKING_DIRECTORY}/frontend/
CI=true yarn test -w 1 --silent
CI=true yarn test --silent
CI=true GENERATE_SOURCEMAP=false yarn build

backend-code-check-PEP8:
Expand Down Expand Up @@ -255,7 +255,7 @@ jobs:
export TM_ENVIRONMENT=<< parameters.stack_name >>
yarn
CI=true GENERATE_SOURCEMAP=true yarn build
aws s3 sync build/ s3://tasking-manager-<< parameters.stack_name >>-react-app --delete --cache-control max-age=31536000
aws s3 sync dist/ s3://tasking-manager-<< parameters.stack_name >>-react-app --delete --cache-control max-age=31536000
aws s3 cp s3://tasking-manager-<< parameters.stack_name >>-react-app s3://tasking-manager-<< parameters.stack_name >>-react-app --recursive --exclude "*" --include "*.html" --metadata-directive REPLACE --cache-control no-cache --content-type text/html
export DISTRIBUTION_ID=`aws cloudformation list-exports --output=text --query "Exports[?Name=='tasking-manager-<< parameters.stack_name >>-cloudfront-id-${AWS_REGION}'].Value"`
aws cloudfront create-invalidation --distribution-id $DISTRIBUTION_ID --paths "/*"
Expand Down Expand Up @@ -452,7 +452,7 @@ workflows:
value: << pipeline.git.branch >>
- or:
## - equal: [ develop, << pipeline.git.branch >> ] # Disabled while we use dev setup for e2e testing
- equal: [ dev-switch-to-sandbox, << pipeline.git.branch >> ]
- equal: [ typescript-vite, << pipeline.git.branch >> ]
jobs:
- database-backup:
name: Backup development database
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ tasking-manager*.env

# Generated frontend #
frontend/node_modules/
frontend/build/
frontend/dist/
frontend/public/static/
frontend/assets/styles/
frontend/package-lock.json
Expand Down
8 changes: 8 additions & 0 deletions TODOS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# TODOS

## FRONTEND

### Typescript Vite Migration ([#6715](https://github.com/hotosm/tasking-manager/pull/6715))

- [ ] Resolve eslint (yarn lint) errors
- [ ] After all eslint errors are addressed, prefix `npm run lint && ` to `test` & `test:ui` scripts in `package.json`
37 changes: 37 additions & 0 deletions frontend/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import globals from 'globals';
import pluginJs from '@eslint/js';
import tseslint from 'typescript-eslint';
import pluginReact from 'eslint-plugin-react';
import pluginReactHooks from 'eslint-plugin-react-hooks';
import eslintConfigPrettier from 'eslint-config-prettier';

/** @type {import('eslint').Linter.Config[]} */
export default [
{ files: ['**/*.{js,mjs,cjs,ts,jsx,tsx}'] },
{
languageOptions: {
globals: {
...globals.browser,
...globals.vitest,
},
},
},
pluginJs.configs.recommended,
...tseslint.configs.recommended,
{
...pluginReact.configs.flat.recommended,
...pluginReact.configs.flat['jsx-runtime'],
},
{
plugins: {
'react-hooks': pluginReactHooks,
},
rules: {
...pluginReactHooks.configs.recommended.rules,
},
linterOptions: {
reportUnusedDisableDirectives: 'off',
},
},
eslintConfigPrettier,
];
7 changes: 5 additions & 2 deletions frontend/public/index.html β†’ frontend/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html>
<head>
<meta charset="utf-8" />
<link rel="shortcut icon" href="%PUBLIC_URL%/static/favicon.ico" />
<link rel="shortcut icon" href="/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />

<!-- for Google -->
Expand All @@ -27,7 +27,7 @@
manifest.json provides metadata used when your web app is installed on a
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<link rel="manifest" href="/manifest.json" />
<!--
Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Expand All @@ -36,12 +36,15 @@
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.

%PUBLIC_URL% is now no longer used, it is automatically refactored to the correct path during the build process.
-->
<title>%REACT_APP_ORG_CODE% Tasking Manager</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<script type="module" src="/src/index.tsx"></script>
<div
id="action-root"
class="w-100 h-100 vh-minus-122-ns"
Expand Down
73 changes: 49 additions & 24 deletions frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "TaskingManager-frontend",
"version": "0.1.0",
"license": "BSD-2-Clause",
"private": false,
"type": "module",
"dependencies": {
"@hotosm/id": "^2.30.2",
"@hotosm/iso-countries-languages": "^1.1.2",
Expand All @@ -12,9 +12,10 @@
"@mapbox/mapbox-gl-language": "^0.10.1",
"@placemarkio/geo-viewport": "^1.0.2",
"@rapideditor/rapid": "^2.4.2",
"@redux-devtools/extension": "^3.3.0",
"@sentry/react": "^7.102.0",
"@tanstack/react-query": "^4.29.7",
"@tanstack/react-query-devtools": "^4.29.7",
"@tanstack/react-query": "^5.52.0",
"@tanstack/react-query-devtools": "^5.62.8",
"@tanstack/react-table": "^8.20.1",
"@tmcw/togeojson": "^5.8.1",
"@turf/area": "^6.5.0",
Expand All @@ -30,7 +31,7 @@
"axios": "^1.6.7",
"chart.js": "^4.4.1",
"chartjs-adapter-date-fns": "^3.0.0",
"date-fns": "^2.30.0",
"date-fns": "^3.6.0",
"dompurify": "^3.0.9",
"downshift-hooks": "^0.8.1",
"final-form": "^4.20.10",
Expand All @@ -39,7 +40,7 @@
"humanize-duration": "^3.31.0",
"mapbox-gl": "^1.13.3",
"mapbox-gl-draw-rectangle-mode": "^1.0.4",
"marked": "^4.3.0",
"marked": "^14.0.0",
"osmtogeojson": "^3.0.0-beta.5",
"prop-types": "^15.8.1",
"query-string": "^8.2.0",
Expand All @@ -66,7 +67,7 @@
"redux-thunk": "^2.4.2",
"sass": "^1.71.0",
"short-number": "^1.0.7",
"shpjs": "^4.0.4",
"shpjs": "^6.1.0",
"slug": "^8.2.3",
"swiper": "^11.1.4",
"tachyons": "^4.12.0",
Expand All @@ -85,18 +86,19 @@
"copy-static": "bash -c \"mkdir -p public/static/rapid; if ! (test -a public/static/rapid/rapid.js); then cp -R node_modules/@rapideditor/rapid/dist/* public/static/rapid; fi\"",
"copy-id-static": "bash -c \"mkdir -p public/static/id; if ! (test -a public/static/id/data); then cp -R node_modules/@hotosm/id/dist/data public/static/id && cp -R node_modules/@hotosm/id/dist/img public/static/id && cp -R node_modules/@hotosm/id/dist/locales public/static/id; fi;\"",
"update-static": "bash -c \"mkdir -p public/static/rapid; cp -R node_modules/@rapideditor/rapid/dist/* public/static/rapid;\"",
"update-id-static": "bash -c \"mkdir -p public/static/id; cp -R node_modules/@hotosm/id/dist/data public/static/id && cp -R node_modules/@hotosm/id/dist/img public/static/id && cp -R node_modules/@hotosm/id/dist/locales public/static/id;\"", "patch-rapid": "bash -c \"cp patch/rapid-imagery.min.json public/static/rapid/data/imagery.min.json\"",
"update-id-static": "bash -c \"mkdir -p public/static/id; cp -R node_modules/@hotosm/id/dist/data public/static/id && cp -R node_modules/@hotosm/id/dist/img public/static/id && cp -R node_modules/@hotosm/id/dist/locales public/static/id;\"",
"patch-rapid": "bash -c \"cp patch/rapid-imagery.min.json public/static/rapid/data/imagery.min.json\"",
"preparation": "bash -c \"if (test -a ../tasking-manager.env); then grep -hs ^ ../tasking-manager.env .env.expand > .env; else cp .env.expand .env; fi\"",
"start": "npm run preparation && npm run copy-static && npm run copy-id-static && npm run patch-rapid && craco start",
"build": "npm run preparation && npm run update-static && npm run update-id-static && npm run patch-rapid && craco build && npm run sentry:sourcemaps", "prettier": "prettier --write 'src/**/*.js'",
"lint": "eslint src",
"test": "npm run lint && craco test --env=jsdom",
"dev": "vite",
"start": "npm run preparation && npm run copy-static && npm run copy-id-static && npm run patch-rapid && vite",
"build": "npm run preparation && npm run update-static && npm run update-id-static && npm run patch-rapid && vite build && npm run sentry:sourcemaps",
"prettier": "prettier --write ./src/",
"lint": "eslint ./src/",
"test": "vitest",
"test:ui": "vitest --ui",
"coverage": "npm run test -- --coverage --watchAll=false",
"analyze": "source-map-explorer 'build/static/js/*.js'",
"sentry:sourcemaps": "if sentry-cli info; then sentry-cli sourcemaps inject --org humanitarian-openstreetmap-tea --project taskingmanager-frontend ./build && sentry-cli sourcemaps upload --org humanitarian-openstreetmap-tea --project taskingmanager-frontend ./build; fi"
},
"eslintConfig": {
"extends": "react-app"
"sentry:sourcemaps": "if sentry-cli info; then sentry-cli sourcemaps inject --org humanitarian-openstreetmap-tea --project taskingmanager-frontend ./dist && sentry-cli sourcemaps upload --org humanitarian-openstreetmap-tea --project taskingmanager-frontend ./dist; fi"
},
"browserslist": {
"production": [
Expand All @@ -112,20 +114,42 @@
},
"devDependencies": {
"@babel/plugin-proposal-private-property-in-object": "^7.21.11",
"@craco/craco": "^7.1.0",
"@eslint/js": "^9.19.0",
"@sentry/cli": "^2.28.6",
"@tanstack/eslint-plugin-query": "^4.29.8",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^14.2.1",
"@testing-library/user-event": "^14.4.3",
"@testing-library/dom": "^10.4.0",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.1.0",
"@testing-library/user-event": "^14.5.2",
"@types/chart.js": "^2.9.41",
"@types/dompurify": "^3.0.5",
"@types/react": "^19.0.2",
"@types/react-dom": "^19.0.2",
"@types/react-redux": "^7.1.34",
"@types/react-router-dom": "^5.3.3",
"@types/react-test-renderer": "^18.3.0",
"@types/slug": "^5.0.9",
"@vitejs/plugin-react-swc": "^3.7.0",
"@vitest/ui": "2.1.8",
"combine-react-intl-messages": "^4.0.0",
"jest-canvas-mock": "^2.5.2",
"msw": "^1.3.2",
"prettier": "^2.8.8",
"eslint": "^9.19.0",
"eslint-config-prettier": "^10.0.1",
"eslint-plugin-react": "^7.37.4",
"eslint-plugin-react-hooks": "^5.1.0",
"globals": "^15.14.0",
"happy-dom": "^16.5.2",
"msw": "^2.7.0",
"prettier": "^3.4.2",
"react-scripts": "^5.0.1",
"react-select-event": "^5.5.1",
"react-test-renderer": "^18.2.0",
"source-map-explorer": "^2.5.3"
"source-map-explorer": "^2.5.3",
"typescript": "^5.7.2",
"typescript-eslint": "^8.21.0",
"vite": "^5.4.2",
"vite-tsconfig-paths": "^5.1.4",
"vitest": "^2.1.8",
"vitest-canvas-mock": "^0.3.3"
},
"resolutions": {
"dom-accessibility-api": "0.5.14"
Expand All @@ -142,6 +166,7 @@
]
},
"volta": {
"node": "18.19.1"
"node": "18.19.1",
"yarn": "1.22.19"
}
}
5 changes: 4 additions & 1 deletion frontend/prettier.config.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
module.exports = {
// @type {import("prettier").Config}
const config = {
printWidth: 100,
singleQuote: true,
trailingComma: 'all',
Expand All @@ -7,3 +8,5 @@ module.exports = {
tabWidth: 2,
semi: true,
};

export default config;
84 changes: 0 additions & 84 deletions frontend/src/App.js

This file was deleted.

Loading