diff --git a/.github/workflows/deploy-fe-ci.yaml b/.github/workflows/deploy-fe-ci.yaml index 38c9e7db2..708df2f04 100644 --- a/.github/workflows/deploy-fe-ci.yaml +++ b/.github/workflows/deploy-fe-ci.yaml @@ -24,7 +24,7 @@ jobs: outputs: matrix: ${{ steps.setmatrix.outputs.matrix }} - steps: + steps: - name: Set Dynamic Env Matrix id: setmatrix run: | @@ -58,16 +58,16 @@ jobs: yarn lint yarn test:coverage if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then - export $(grep -v ^# .env.${{ github.event.inputs.environment }} | xargs) && yarn build + yarn build --mode ${{ github.event.inputs.environment }} else - export $(grep -v ^# .env.dev | xargs) && yarn build + yarn build --mode dev fi - name: Archive build artifacts uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 with: name: assets - path: src/oneid/oneid-ecs-core/src/main/webui/build - + path: src/oneid/oneid-ecs-core/src/main/webui/dist + deploy: runs-on: ubuntu-22.04 if: ${{ needs.setup.outputs.matrix != '' }} @@ -77,16 +77,16 @@ jobs: contents: read strategy: matrix: ${{ fromJson(needs.setup.outputs.matrix) }} - + continue-on-error: false environment: ${{ matrix.environment == 'prod' && format('{0}/{1}', matrix.environment, matrix.region) || matrix.environment }} - + steps: - name: Download build artifacts uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e with: name: assets - path: src/oneid/oneid-ecs-core/src/main/webui/build + path: src/oneid/oneid-ecs-core/src/main/webui/dist - name: Configure AWS Credentials @@ -94,8 +94,8 @@ jobs: with: role-to-assume: ${{ vars.IAM_ROLE_DEPLOY_FE }} aws-region: ${{ matrix.region }} - + - name: Copy to S3 run: | - aws s3 sync build s3://${{ vars.ASSETS_BUCKET_NAME }} + aws s3 sync dist s3://${{ vars.ASSETS_BUCKET_NAME }} working-directory: src/oneid/oneid-ecs-core/src/main/webui diff --git a/.gitignore b/.gitignore index 483af2899..bf0e6ed0f 100644 --- a/.gitignore +++ b/.gitignore @@ -81,7 +81,7 @@ gradle-app.setting # Frontend stuff src/oneid/oneid-ecs-core/src/main/webui/node_modules -src/oneid/oneid-ecs-core/src/main/webui/build +src/oneid/oneid-ecs-core/src/main/webui/dist src/oneid/oneid-ecs-core/src/main/webui/coverage src/oneid/oneid-ecs-core/.quinoa diff --git a/src/oneid/oneid-ecs-core/src/main/webui/.env.dev b/src/oneid/oneid-ecs-core/src/main/webui/.env.dev index d9b4af43c..f907eb78d 100644 --- a/src/oneid/oneid-ecs-core/src/main/webui/.env.dev +++ b/src/oneid/oneid-ecs-core/src/main/webui/.env.dev @@ -1,27 +1,27 @@ -REACT_APP_ENV=LOCAL_DEV +VITE_CURRENT_ENV=DEV -REACT_APP_ENABLE_ASSISTANCE=false -REACT_APP_URL_CDN=https://dev.oneid.pagopa.it/assets +VITE_ENABLE_ASSISTANCE=false +VITE_URL_CDN=https://dev.oneid.pagopa.it/assets -REACT_APP_LOGIN_SPID_ENABLED_TEMPORARY_SELECT=false -REACT_APP_SPID_TEST_ENV_ENABLED=true -REACT_APP_SPID_CIE_ENTITY_ID=https://preproduzione.idserver.servizicie.interno.gov.it/idp/profile/SAML2/POST/SSO -REACT_APP_LOGIN_ALERT_BANNER=https://dev.oneid.pagopa.it/assets/login-alert-message.json -REACT_APP_LOGIN_IDP_LIST=https://dev.oneid.pagopa.it/idps -REACT_APP_LOGIN_CLIENT_BASE_URL=https://dev.oneid.pagopa.it/client +VITE_LOGIN_SPID_ENABLED_TEMPORARY_SELECT=false +VITE_SPID_TEST_ENV_ENABLED=true +VITE_SPID_CIE_ENTITY_ID=https://collaudo.idserver.servizicie.interno.gov.it/idp/profile/SAML2/POST/SSO +VITE_LOGIN_ALERT_BANNER=https://dev.oneid.pagopa.it/assets/login-alert-message.json +VITE_LOGIN_IDP_LIST=https://dev.oneid.pagopa.it/idps +VITE_LOGIN_CLIENT_BASE_URL=https://dev.oneid.pagopa.it/client -REACT_APP_URL_API_LOGIN=https://dev.oneid.pagopa.it/login -REACT_APP_URL_API_AUTHORIZE=/oidc/authorize +VITE_URL_API_LOGIN=https://dev.oneid.pagopa.it/login +VITE_URL_API_AUTHORIZE=/oidc/authorize -REACT_APP_PAGOPA_HELP_EMAIL=assistenza@selfcare.it +VITE_PAGOPA_HELP_EMAIL=assistenza@selfcare.it -REACT_APP_URL_PRIVACY_DISCLAIMER=https://www.pagopa.it/it/informativa-privacy-area-riservata -REACT_APP_URL_TERMS_AND_CONDITIONS=https://www.pagopa.it/it/termini-condizioni-area-riservata +VITE_URL_PRIVACY_DISCLAIMER=https://www.pagopa.it/it/informativa-privacy-area-riservata +VITE_URL_TERMS_AND_CONDITIONS=https://www.pagopa.it/it/termini-condizioni-area-riservata -REACT_APP_ANALYTICS_ENABLE=true -REACT_APP_ANALYTICS_MOCK=true -REACT_APP_ANALYTICS_DEBUG=false -REACT_APP_SERVICE_EXAMPLE_TOKEN=DUMMY +VITE_ANALYTICS_ENABLE=true +VITE_ANALYTICS_MOCK=true +VITE_ANALYTICS_DEBUG=false +VITE_SERVICE_EXAMPLE_TOKEN=DUMMY -REACT_APP_HEADER_LINK_ROOTLINK="http://localhost" -REACT_APP_HEADER_LINK_PRODUCTURL="http://localhost" +VITE_HEADER_LINK_ROOTLINK="http://localhost" +VITE_HEADER_LINK_PRODUCTURL="http://localhost" diff --git a/src/oneid/oneid-ecs-core/src/main/webui/.env.development b/src/oneid/oneid-ecs-core/src/main/webui/.env.development new file mode 100644 index 000000000..7eb9bd7c2 --- /dev/null +++ b/src/oneid/oneid-ecs-core/src/main/webui/.env.development @@ -0,0 +1,30 @@ +# This env file is loaded by default when running `vite start` +# can be changed using the --mode flag, like --mode=uat + +VITE_CURRENT_ENV=LOCAL_DEV + +VITE_ENABLE_ASSISTANCE=false +VITE_URL_CDN=http://localhost:8080/assets + +VITE_LOGIN_SPID_ENABLED_TEMPORARY_SELECT=false +VITE_SPID_TEST_ENV_ENABLED=true +VITE_SPID_CIE_ENTITY_ID=https://preproduzione.idserver.servizicie.interno.gov.it/idp/profile/SAML2/POST/SSO +VITE_LOGIN_ALERT_BANNER=http://localhost:8080/assets/login-alert-message.json +VITE_LOGIN_IDP_LIST=http://localhost:8080/idps +VITE_LOGIN_CLIENT_BASE_URL=http://localhost:8080/client + +VITE_URL_API_LOGIN=http://localhost/login +VITE_URL_API_AUTHORIZE=/oidc/authorize + +VITE_PAGOPA_HELP_EMAIL=assistenza@selfcare.it + +VITE_URL_PRIVACY_DISCLAIMER=https://www.pagopa.it/it/informativa-privacy-area-riservata +VITE_URL_TERMS_AND_CONDITIONS=https://www.pagopa.it/it/termini-condizioni-area-riservata + +VITE_ANALYTICS_ENABLE=true +VITE_ANALYTICS_MOCK=true +VITE_ANALYTICS_DEBUG=false +VITE_SERVICE_EXAMPLE_TOKEN=DUMMY + +VITE_HEADER_LINK_ROOTLINK="http://localhost" +VITE_HEADER_LINK_PRODUCTURL="http://localhost" diff --git a/src/oneid/oneid-ecs-core/src/main/webui/.env.local b/src/oneid/oneid-ecs-core/src/main/webui/.env.local deleted file mode 100644 index 6d36af6d8..000000000 --- a/src/oneid/oneid-ecs-core/src/main/webui/.env.local +++ /dev/null @@ -1,27 +0,0 @@ -REACT_APP_ENV=LOCAL_DEV - -REACT_APP_ENABLE_ASSISTANCE=false -REACT_APP_URL_CDN=http://localhost:8080/assets - -REACT_APP_LOGIN_SPID_ENABLED_TEMPORARY_SELECT=false -REACT_APP_SPID_TEST_ENV_ENABLED=true -REACT_APP_SPID_CIE_ENTITY_ID=https://preproduzione.idserver.servizicie.interno.gov.it/idp/profile/SAML2/POST/SSO -REACT_APP_LOGIN_ALERT_BANNER=http://localhost:8080/assets/login-alert-message.json -REACT_APP_LOGIN_IDP_LIST=http://localhost:8080/idps -REACT_APP_LOGIN_CLIENT_BASE_URL=http://localhost:8080/client - -REACT_APP_URL_API_LOGIN=http://localhost/login -REACT_APP_URL_API_AUTHORIZE=/oidc/authorize - -REACT_APP_PAGOPA_HELP_EMAIL=assistenza@selfcare.it - -REACT_APP_URL_PRIVACY_DISCLAIMER=https://www.pagopa.it/it/informativa-privacy-area-riservata -REACT_APP_URL_TERMS_AND_CONDITIONS=https://www.pagopa.it/it/termini-condizioni-area-riservata - -REACT_APP_ANALYTICS_ENABLE=true -REACT_APP_ANALYTICS_MOCK=true -REACT_APP_ANALYTICS_DEBUG=false -REACT_APP_SERVICE_EXAMPLE_TOKEN=DUMMY - -REACT_APP_HEADER_LINK_ROOTLINK="http://localhost" -REACT_APP_HEADER_LINK_PRODUCTURL="http://localhost" diff --git a/src/oneid/oneid-ecs-core/src/main/webui/.env.prod b/src/oneid/oneid-ecs-core/src/main/webui/.env.prod index e9c636a6b..e6a2903a6 100644 --- a/src/oneid/oneid-ecs-core/src/main/webui/.env.prod +++ b/src/oneid/oneid-ecs-core/src/main/webui/.env.prod @@ -1,29 +1,30 @@ +VITE_CURRENT_ENV=PROD + INLINE_RUNTIME_CHUNK=false -REACT_APP_ENABLE_ASSISTANCE=true -REACT_APP_ENV=PROD +VITE_ENABLE_ASSISTANCE=true -REACT_APP_URL_CDN=https://oneid.pagopa.it/assets +VITE_URL_CDN=https://oneid.pagopa.it/assets -REACT_APP_LOGIN_SPID_ENABLED_TEMPORARY_SELECT=false -REACT_APP_SPID_TEST_ENV_ENABLED=false -REACT_APP_SPID_CIE_ENTITY_ID=https://idserver.servizicie.interno.gov.it/idp/profile/SAML2/POST/SSO -REACT_APP_LOGIN_ALERT_BANNER=https://oneid.pagopa.it/assets/login-alert-message.json -REACT_APP_LOGIN_IDP_LIST=https://oneid.pagopa.it/idps -REACT_APP_LOGIN_CLIENT_BASE_URL=https://oneid.pagopa.it/client +VITE_LOGIN_SPID_ENABLED_TEMPORARY_SELECT=false +VITE_SPID_TEST_ENV_ENABLED=false +VITE_SPID_CIE_ENTITY_ID=https://idserver.servizicie.interno.gov.it/idp/profile/SAML2/POST/SSO +VITE_LOGIN_ALERT_BANNER=https://oneid.pagopa.it/assets/login-alert-message.json +VITE_LOGIN_IDP_LIST=https://oneid.pagopa.it/idps +VITE_LOGIN_CLIENT_BASE_URL=https://oneid.pagopa.it/client -REACT_APP_URL_API_LOGIN=https://oneid.pagopa.it/login -REACT_APP_URL_API_AUTHORIZE=/oidc/authorize +VITE_URL_API_LOGIN=https://oneid.pagopa.it/login +VITE_URL_API_AUTHORIZE=/oidc/authorize -REACT_APP_PAGOPA_HELP_EMAIL=assistenza@selfcare.it +VITE_PAGOPA_HELP_EMAIL=assistenza@selfcare.it -REACT_APP_URL_PRIVACY_DISCLAIMER=https://www.pagopa.it/it/informativa-privacy-area-riservata -REACT_APP_URL_TERMS_AND_CONDITIONS=https://www.pagopa.it/it/termini-condizioni-area-riservata +VITE_URL_PRIVACY_DISCLAIMER=https://www.pagopa.it/it/informativa-privacy-area-riservata +VITE_URL_TERMS_AND_CONDITIONS=https://www.pagopa.it/it/termini-condizioni-area-riservata -REACT_APP_ANALYTICS_ENABLE=true -REACT_APP_ANALYTICS_MOCK=true -REACT_APP_ANALYTICS_DEBUG=false -REACT_APP_SERVICE_EXAMPLE_TOKEN=DUMMY +VITE_ANALYTICS_ENABLE=true +VITE_ANALYTICS_MOCK=true +VITE_ANALYTICS_DEBUG=false +VITE_SERVICE_EXAMPLE_TOKEN=DUMMY -REACT_APP_HEADER_LINK_ROOTLINK="http://localhost" -REACT_APP_HEADER_LINK_PRODUCTURL="http://localhost" +VITE_HEADER_LINK_ROOTLINK="http://localhost" +VITE_HEADER_LINK_PRODUCTURL="http://localhost" diff --git a/src/oneid/oneid-ecs-core/src/main/webui/.env.test b/src/oneid/oneid-ecs-core/src/main/webui/.env.test new file mode 100644 index 000000000..0f6975ffb --- /dev/null +++ b/src/oneid/oneid-ecs-core/src/main/webui/.env.test @@ -0,0 +1,29 @@ +VITE_ENV=TEST + +VITE_URL_CDN=https://dev.oneid.pagopa.it/assets + +VITE_ENABLE_ASSISTANCE=false +VITE_LOGIN_SPID_ENABLED_TEMPORARY_SELECT=true +VITE_SPID_TEST_ENV_ENABLED=true +VITE_SPID_CIE_ENTITY_ID=xx_servizicie_test +VITE_LOGIN_ALERT_BANNER=http://localhost:8080/login-alert-message.json +VITE_LOGIN_IDP_LIST=http://localhost:8080/idps +VITE_LOGIN_CLIENT_BASE_URL=http://localhost:8080/client + +VITE_URL_API_LOGIN=https://dev.oneid.pagopa.it/login +VITE_URL_API_AUTHORIZE=/oidc/authorize + +VITE_PAGOPA_HELP_EMAIL=assistenza@selfcare.it + +VITE_URL_PRIVACY_DISCLAIMER=https://www.pagopa.it/it/informativa-privacy-area-riservata +VITE_URL_TERMS_AND_CONDITIONS=https://www.pagopa.it/it/termini-condizioni-area-riservata + +VITE_ANALYTICS_ENABLE=true +VITE_ANALYTICS_MOCK=true +VITE_ANALYTICS_DEBUG=false +VITE_SERVICE_EXAMPLE_TOKEN=DUMMY + +VITE_HEADER_LINK_ROOTLINK="http://localhost" +VITE_HEADER_LINK_PRODUCTURL="http://localhost" + +VITE_TZ=UTC diff --git a/src/oneid/oneid-ecs-core/src/main/webui/.env.test.local b/src/oneid/oneid-ecs-core/src/main/webui/.env.test.local deleted file mode 100644 index 454976eff..000000000 --- a/src/oneid/oneid-ecs-core/src/main/webui/.env.test.local +++ /dev/null @@ -1,28 +0,0 @@ -REACT_APP_ENV=TEST -REACT_APP_URL_CDN=https://dev.oneid.pagopa.it/assets - -REACT_APP_ENABLE_ASSISTANCE=false -REACT_APP_LOGIN_SPID_ENABLED_TEMPORARY_SELECT=true -REACT_APP_SPID_TEST_ENV_ENABLED=true -REACT_APP_SPID_CIE_ENTITY_ID=xx_servizicie_test -REACT_APP_LOGIN_ALERT_BANNER=http://localhost:8080/login-alert-message.json -REACT_APP_LOGIN_IDP_LIST=http://localhost:8080/idps -REACT_APP_LOGIN_CLIENT_BASE_URL=http://localhost:8080/client - -REACT_APP_URL_API_LOGIN=https://dev.oneid.pagopa.it/login -REACT_APP_URL_API_AUTHORIZE=/oidc/authorize - -REACT_APP_PAGOPA_HELP_EMAIL=assistenza@selfcare.it - -REACT_APP_URL_PRIVACY_DISCLAIMER=https://www.pagopa.it/it/informativa-privacy-area-riservata -REACT_APP_URL_TERMS_AND_CONDITIONS=https://www.pagopa.it/it/termini-condizioni-area-riservata - -REACT_APP_ANALYTICS_ENABLE=true -REACT_APP_ANALYTICS_MOCK=true -REACT_APP_ANALYTICS_DEBUG=false -REACT_APP_SERVICE_EXAMPLE_TOKEN=DUMMY - -REACT_APP_HEADER_LINK_ROOTLINK="http://localhost" -REACT_APP_HEADER_LINK_PRODUCTURL="http://localhost" - -TZ=UTC diff --git a/src/oneid/oneid-ecs-core/src/main/webui/.env.uat b/src/oneid/oneid-ecs-core/src/main/webui/.env.uat index a308fa026..3a46fcf2f 100644 --- a/src/oneid/oneid-ecs-core/src/main/webui/.env.uat +++ b/src/oneid/oneid-ecs-core/src/main/webui/.env.uat @@ -1,27 +1,27 @@ -REACT_APP_ENV=UAT +VITE_CURRENT_ENV=UAT -REACT_APP_ENABLE_ASSISTANCE=true -REACT_APP_URL_CDN=https://uat.oneid.pagopa.it/assets +VITE_ENABLE_ASSISTANCE=true +VITE_URL_CDN=https://uat.oneid.pagopa.it/assets -REACT_APP_LOGIN_SPID_ENABLED_TEMPORARY_SELECT=false -REACT_APP_SPID_TEST_ENV_ENABLED=true -REACT_APP_SPID_CIE_ENTITY_ID=https://collaudo.idserver.servizicie.interno.gov.it/idp/profile/SAML2/POST/SSO -REACT_APP_LOGIN_ALERT_BANNER=https://uat.oneid.pagopa.it/assets/login-alert-message.json -REACT_APP_LOGIN_IDP_LIST=https://uat.oneid.pagopa.it/idps -REACT_APP_LOGIN_CLIENT_BASE_URL=https://uat.oneid.pagopa.it/client +VITE_LOGIN_SPID_ENABLED_TEMPORARY_SELECT=false +VITE_SPID_TEST_ENV_ENABLED=true +VITE_SPID_CIE_ENTITY_ID=https://collaudo.idserver.servizicie.interno.gov.it/idp/profile/SAML2/POST/SSO +VITE_LOGIN_ALERT_BANNER=https://uat.oneid.pagopa.it/assets/login-alert-message.json +VITE_LOGIN_IDP_LIST=https://uat.oneid.pagopa.it/idps +VITE_LOGIN_CLIENT_BASE_URL=https://uat.oneid.pagopa.it/client -REACT_APP_URL_API_LOGIN=https://uat.oneid.pagopa.it/login -REACT_APP_URL_API_AUTHORIZE=/oidc/authorize +VITE_URL_API_LOGIN=https://uat.oneid.pagopa.it/login +VITE_URL_API_AUTHORIZE=/oidc/authorize -REACT_APP_PAGOPA_HELP_EMAIL=assistenza@selfcare.it +VITE_PAGOPA_HELP_EMAIL=assistenza@selfcare.it -REACT_APP_URL_PRIVACY_DISCLAIMER=https://www.pagopa.it/it/informativa-privacy-area-riservata -REACT_APP_URL_TERMS_AND_CONDITIONS=https://www.pagopa.it/it/termini-condizioni-area-riservata +VITE_URL_PRIVACY_DISCLAIMER=https://www.pagopa.it/it/informativa-privacy-area-riservata +VITE_URL_TERMS_AND_CONDITIONS=https://www.pagopa.it/it/termini-condizioni-area-riservata -REACT_APP_ANALYTICS_ENABLE=true -REACT_APP_ANALYTICS_MOCK=true -REACT_APP_ANALYTICS_DEBUG=false -REACT_APP_SERVICE_EXAMPLE_TOKEN=DUMMY +VITE_ANALYTICS_ENABLE=true +VITE_ANALYTICS_MOCK=true +VITE_ANALYTICS_DEBUG=false +VITE_SERVICE_EXAMPLE_TOKEN=DUMMY -REACT_APP_HEADER_LINK_ROOTLINK="http://localhost" -REACT_APP_HEADER_LINK_PRODUCTURL="http://localhost" +VITE_HEADER_LINK_ROOTLINK="http://localhost" +VITE_HEADER_LINK_PRODUCTURL="http://localhost" diff --git a/src/oneid/oneid-ecs-core/src/main/webui/craco.config.js b/src/oneid/oneid-ecs-core/src/main/webui/craco.config.js deleted file mode 100644 index 827baba45..000000000 --- a/src/oneid/oneid-ecs-core/src/main/webui/craco.config.js +++ /dev/null @@ -1,21 +0,0 @@ -module.exports = { - webpack: { - configure: { - resolve: { - extensions: [".ts", ".js", ".mjs", ".json", ".tsx"], - enforceExtension: false - }, - module: { - rules: [ - { - test: /\.m?js/, - resolve: { - fullySpecified: false, - }, - }, - ], - }, - ignoreWarnings: [/Failed to parse source map/], - }, - }, -}; diff --git a/src/oneid/oneid-ecs-core/src/main/webui/eslint.config.mjs b/src/oneid/oneid-ecs-core/src/main/webui/eslint.config.mjs index f25b2c6e6..78b58407e 100644 --- a/src/oneid/oneid-ecs-core/src/main/webui/eslint.config.mjs +++ b/src/oneid/oneid-ecs-core/src/main/webui/eslint.config.mjs @@ -32,7 +32,6 @@ export default [ 'locales/locales.ts', '**/__tests__/**/*', 'eslint.config.mjs', - 'craco.config.js', 'definitions/*', 'src/react-app-env.d.ts', '**/Dangerfile.ts', diff --git a/src/oneid/oneid-ecs-core/src/main/webui/public/index.html b/src/oneid/oneid-ecs-core/src/main/webui/index.html similarity index 62% rename from src/oneid/oneid-ecs-core/src/main/webui/public/index.html rename to src/oneid/oneid-ecs-core/src/main/webui/index.html index 4063ef140..5ce3f0d2d 100644 --- a/src/oneid/oneid-ecs-core/src/main/webui/public/index.html +++ b/src/oneid/oneid-ecs-core/src/main/webui/index.html @@ -1,13 +1,10 @@ - - - @@ -15,21 +12,23 @@ PagoPA One Identity – Login + - - - - - - - + + + + + + + +
- + diff --git a/src/oneid/oneid-ecs-core/src/main/webui/package.json b/src/oneid/oneid-ecs-core/src/main/webui/package.json index e432a940b..a587cb1c3 100644 --- a/src/oneid/oneid-ecs-core/src/main/webui/package.json +++ b/src/oneid/oneid-ecs-core/src/main/webui/package.json @@ -29,11 +29,11 @@ "web-vitals": "^4.1.1" }, "scripts": { - "start": "craco start", - "build": "craco build", + "start": "vite", + "build": "tsc && vite build", + "serve": "vite preview", "test": "vitest", "test:coverage": "vitest --coverage", - "eject": "craco eject", "lint-autofix": "eslint --fix", "lint": "eslint", "prettify": "prettier --write \"./**/*.{ts,tsx}\"" @@ -61,29 +61,30 @@ ] }, "devDependencies": { - "@craco/craco": "^7.1.0", - "@eslint/compat": "^1.1.0", - "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "^9.5.0", - "@testing-library/dom": "^10.2.0", - "@testing-library/jest-dom": "^6.5.0", - "@testing-library/react": "^16.0.0", - "@testing-library/user-event": "^14.5.2", - "@types/history": "^5.0.0", - "@types/react-router": "^5.1.20", - "@typescript-eslint/eslint-plugin": "^7.14.1", - "@typescript-eslint/parser": "^7.14.1", - "@vitest/coverage-v8": "^2.1.1", "dotenv": "^16.4.5", "eslint": "9.5.0", + "@eslint/compat": "^1.1.0", "eslint-config-prettier": "^9.1.0", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "^9.5.0", "eslint-plugin-functional": "^6.6.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-react": "^7.34.2", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-sonarjs": "^1.0.3", "prettier": "^3.3.2", - "vitest": "^2.1.1" + "@testing-library/dom": "^10.2.0", + "@testing-library/jest-dom": "^6.5.0", + "@testing-library/react": "^16.0.0", + "@testing-library/user-event": "^14.5.2", + "@typescript-eslint/eslint-plugin": "^7.14.1", + "@typescript-eslint/parser": "^7.14.1", + "@types/history": "^5.0.0", + "@types/react-router": "^5.1.20", + "vite": "^5.4.9", + "@vitejs/plugin-react": "^4.3.2", + "vitest": "^2.1.1", + "@vitest/coverage-v8": "^2.1.1" }, "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } diff --git a/src/oneid/oneid-ecs-core/src/main/webui/src/index.tsx b/src/oneid/oneid-ecs-core/src/main/webui/src/index.tsx index a150fe904..c357939ad 100644 --- a/src/oneid/oneid-ecs-core/src/main/webui/src/index.tsx +++ b/src/oneid/oneid-ecs-core/src/main/webui/src/index.tsx @@ -1,11 +1,12 @@ import React from 'react'; -import ReactDOM from 'react-dom/client'; +import { createRoot } from 'react-dom/client'; import { ThemeProvider } from '@mui/material/styles'; import { theme } from '@pagopa/mui-italia'; import App from './App'; import './locale'; -const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement); +const root = createRoot(document.getElementById('root')!); + root.render( diff --git a/src/oneid/oneid-ecs-core/src/main/webui/src/utils/env.ts b/src/oneid/oneid-ecs-core/src/main/webui/src/utils/env.ts index 8a8ba1f96..73fcc724b 100644 --- a/src/oneid/oneid-ecs-core/src/main/webui/src/utils/env.ts +++ b/src/oneid/oneid-ecs-core/src/main/webui/src/utils/env.ts @@ -1,62 +1,62 @@ -import * as env from 'env-var'; - -const PUBLIC_URL: string = env.get('PUBLIC_URL').default('').asString(); -const currentEnv: string = env.get('REACT_APP_ENV').required().asString(); +const PUBLIC_URL: string = import.meta.env.VITE_PUBLIC_URL || ''; export const ENV = { - ENV: currentEnv, + CURRENT_ENV: import.meta.env.VITE_CURRENT_ENV as string, + // Corresponds to the .env.[mode] file loaded + // By default vite set mode to development when using vite dev + // and set to production when using vite build. + // Can be overriden using --mode option + // see https://vite.dev/guide/env-and-mode#modes + MODE: import.meta.env.MODE, PUBLIC_URL, - ENABLED_SPID_TEMPORARY_SELECT: env.get('REACT_APP_LOGIN_SPID_ENABLED_TEMPORARY_SELECT').required().asBool(), + ENABLED_SPID_TEMPORARY_SELECT: import.meta.env.VITE_LOGIN_SPID_ENABLED_TEMPORARY_SELECT === 'true', ASSISTANCE: { - ENABLE: env.get('REACT_APP_ENABLE_ASSISTANCE').required().asBool(), - EMAIL: env.get('REACT_APP_PAGOPA_HELP_EMAIL').required().asString(), + ENABLE: import.meta.env.VITE_ENABLE_ASSISTANCE , + EMAIL: import.meta.env.VITE_PAGOPA_HELP_EMAIL as string, }, JSON_URL: { - ALERT: env.get('REACT_APP_LOGIN_ALERT_BANNER').required().asString(), - IDP_LIST: env.get('REACT_APP_LOGIN_IDP_LIST').required().asString(), - CLIENT_BASE_URL: env.get('REACT_APP_LOGIN_CLIENT_BASE_URL').required().asString(), + ALERT: import.meta.env.VITE_LOGIN_ALERT_BANNER as string, + IDP_LIST: import.meta.env.VITE_LOGIN_IDP_LIST as string, + CLIENT_BASE_URL: import.meta.env.VITE_LOGIN_CLIENT_BASE_URL as string, }, URL_FE: { LOGIN: PUBLIC_URL + '/login', LOGOUT: PUBLIC_URL + '/logout', - ASSETS: env.get('REACT_APP_URL_CDN').required().asString(), + ASSETS: import.meta.env.VITE_URL_CDN as string, }, HEADER: { LINK: { - ROOTLINK: env.get('REACT_APP_HEADER_LINK_ROOTLINK').required().asString(), - PRODUCTURL: env.get('REACT_APP_HEADER_LINK_PRODUCTURL').required().asString(), + ROOTLINK: import.meta.env.VITE_HEADER_LINK_ROOTLINK as string, + PRODUCTURL: import.meta.env.VITE_HEADER_LINK_PRODUCTURL as string, }, }, - URL_DOCUMENTATION: ' https://docs.pagopa.it/area-riservata/', + URL_DOCUMENTATION: 'https://docs.pagopa.it/area-riservata/', URL_API: { - LOGIN: env.get('REACT_APP_URL_API_LOGIN').required().asString(), - AUTHORIZE: env.get('REACT_APP_URL_API_AUTHORIZE').required().asString(), + LOGIN: import.meta.env.VITE_URL_API_LOGIN as string, + AUTHORIZE: import.meta.env.VITE_URL_API_AUTHORIZE as string, }, URL_FOOTER: { - PRIVACY_DISCLAIMER: env.get('REACT_APP_URL_PRIVACY_DISCLAIMER').required().asString(), - TERMS_AND_CONDITIONS: env.get('REACT_APP_URL_TERMS_AND_CONDITIONS').required().asString(), + PRIVACY_DISCLAIMER: import.meta.env.VITE_URL_PRIVACY_DISCLAIMER as string, + TERMS_AND_CONDITIONS: import.meta.env.VITE_URL_TERMS_AND_CONDITIONS as string, }, - SPID_TEST_ENV_ENABLED: env.get('REACT_APP_SPID_TEST_ENV_ENABLED').required().asBool(), + SPID_TEST_ENV_ENABLED: import.meta.env.VITE_SPID_TEST_ENV_ENABLED === 'true', - SPID_CIE_ENTITY_ID: env.get('REACT_APP_SPID_CIE_ENTITY_ID').required().asString(), + SPID_CIE_ENTITY_ID: import.meta.env.VITE_SPID_CIE_ENTITY_ID as string, ANALYTCS: { - ENABLE: env.get('REACT_APP_ANALYTICS_ENABLE').default('false').asBool(), - MOCK: env.get('REACT_APP_ANALYTICS_MOCK').default('false').asBool(), - DEBUG: env.get('REACT_APP_ANALYTICS_DEBUG').default('false').asBool(), - TOKEN: env.get('REACT_APP_SERVICE_EXAMPLE_TOKEN').required().asString(), - API_HOST: env - .get('REACT_APP_SERVICE_EXAMPLE_API_HOST') - .default('https://examples.com') - .asString(), + ENABLE: import.meta.env.VITE_ANALYTICS_ENABLE === 'true', + MOCK: import.meta.env.VITE_ANALYTICS_MOCK === 'true', + DEBUG: import.meta.env.VITE_ANALYTICS_DEBUG === 'true', + TOKEN: import.meta.env.VITE_SERVICE_EXAMPLE_TOKEN as string, + API_HOST: import.meta.env.VITE_SERVICE_EXAMPLE_API_HOST, }, }; diff --git a/src/oneid/oneid-ecs-core/src/main/webui/tsconfig.json b/src/oneid/oneid-ecs-core/src/main/webui/tsconfig.json index 4dde2886f..695a3f161 100644 --- a/src/oneid/oneid-ecs-core/src/main/webui/tsconfig.json +++ b/src/oneid/oneid-ecs-core/src/main/webui/tsconfig.json @@ -7,29 +7,33 @@ "DOM", "es2022" ], - "jsx": "react-jsx", - "noEmit": true, - "strict": true, - "noImplicitAny": true, - "noUnusedLocals": true, - "noImplicitReturns": true, - "moduleResolution": "node", + "allowJs": false, + "allowSyntheticDefaultImports": true, "esModuleInterop": true, - "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "importHelpers": true, - "allowSyntheticDefaultImports": true, - "preserveConstEnums": true, - "allowJs": false, - "noUnusedParameters": true, - "strictFunctionTypes": true, "isolatedModules": true, + "jsx": "react-jsx", + "moduleResolution": "node", + "noEmit": true, "noFallthroughCasesInSwitch": true, + "noImplicitAny": true, + "noImplicitReturns": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "preserveConstEnums": true, "resolveJsonModule": true, - "types": ["vitest/globals"] + "skipLibCheck": true, + "strictFunctionTypes": true, + "strict": true, + "types": [ + "vitest/globals", + "vite/client" + ] }, "include": [ - "src/**/*", + "src", + "vite.config.mts", "vitest.config.mts", "vitest.setup.mts" ], diff --git a/src/oneid/oneid-ecs-core/src/main/webui/vite.config.mts b/src/oneid/oneid-ecs-core/src/main/webui/vite.config.mts new file mode 100644 index 000000000..e3dc81fed --- /dev/null +++ b/src/oneid/oneid-ecs-core/src/main/webui/vite.config.mts @@ -0,0 +1,13 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; + +export default defineConfig({ + plugins: [react()], + resolve: { + extensions: ['.ts', '.js', '.mjs', '.json', '.tsx'], + }, + esbuild: { + loader: 'tsx', + include: /\.(ts|tsx|js|mjs)$/, + }, +}); diff --git a/src/oneid/oneid-ecs-core/src/main/webui/vitest.config.mts b/src/oneid/oneid-ecs-core/src/main/webui/vitest.config.mts index 924c3ec45..888fa6c2a 100644 --- a/src/oneid/oneid-ecs-core/src/main/webui/vitest.config.mts +++ b/src/oneid/oneid-ecs-core/src/main/webui/vitest.config.mts @@ -24,10 +24,5 @@ export default defineConfig({ ...config({ path: './.env.test.local' }).parsed, }, include: ['**/*.test.ts?(x)'], - }, - resolve: { - alias: { - // Add all your absolute paths here - }, - }, + } }); diff --git a/src/oneid/oneid-ecs-core/src/main/webui/yarn.lock b/src/oneid/oneid-ecs-core/src/main/webui/yarn.lock index 805b9a336..fe89d713c 100644 --- a/src/oneid/oneid-ecs-core/src/main/webui/yarn.lock +++ b/src/oneid/oneid-ecs-core/src/main/webui/yarn.lock @@ -37,11 +37,24 @@ "@babel/highlight" "^7.24.7" picocolors "^1.0.0" +"@babel/code-frame@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.25.7.tgz#438f2c524071531d643c6f0188e1e28f130cebc7" + integrity sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g== + dependencies: + "@babel/highlight" "^7.25.7" + picocolors "^1.0.0" + "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.7.tgz#d23bbea508c3883ba8251fb4164982c36ea577ed" integrity sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw== +"@babel/compat-data@^7.25.7": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.8.tgz#0376e83df5ab0eb0da18885c0140041f0747a402" + integrity sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA== + "@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.7.tgz#b676450141e0b52a3d43bc91da86aa608f950ac4" @@ -63,6 +76,27 @@ json5 "^2.2.3" semver "^6.3.1" +"@babel/core@^7.25.2": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.8.tgz#a57137d2a51bbcffcfaeba43cb4dd33ae3e0e1c6" + integrity sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.25.7" + "@babel/generator" "^7.25.7" + "@babel/helper-compilation-targets" "^7.25.7" + "@babel/helper-module-transforms" "^7.25.7" + "@babel/helpers" "^7.25.7" + "@babel/parser" "^7.25.8" + "@babel/template" "^7.25.7" + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.8" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + "@babel/eslint-parser@^7.16.3": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.24.7.tgz#27ebab1a1ec21f48ae191a8aaac5b82baf80d9c7" @@ -82,6 +116,16 @@ "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" +"@babel/generator@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.7.tgz#de86acbeb975a3e11ee92dd52223e6b03b479c56" + integrity sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA== + dependencies: + "@babel/types" "^7.25.7" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^3.0.2" + "@babel/helper-annotate-as-pure@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz#5373c7bc8366b12a033b4be1ac13a206c6656aab" @@ -108,6 +152,17 @@ lru-cache "^5.1.1" semver "^6.3.1" +"@babel/helper-compilation-targets@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz#11260ac3322dda0ef53edfae6e97b961449f5fa4" + integrity sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A== + dependencies: + "@babel/compat-data" "^7.25.7" + "@babel/helper-validator-option" "^7.25.7" + browserslist "^4.24.0" + lru-cache "^5.1.1" + semver "^6.3.1" + "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz#2eaed36b3a1c11c53bdf80d53838b293c52f5b3b" @@ -181,6 +236,14 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" +"@babel/helper-module-imports@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz#dba00d9523539152906ba49263e36d7261040472" + integrity sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw== + dependencies: + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/helper-module-transforms@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz#31b6c9a2930679498db65b685b1698bfd6c7daf8" @@ -192,6 +255,16 @@ "@babel/helper-split-export-declaration" "^7.24.7" "@babel/helper-validator-identifier" "^7.24.7" +"@babel/helper-module-transforms@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz#2ac9372c5e001b19bc62f1fe7d96a18cb0901d1a" + integrity sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ== + dependencies: + "@babel/helper-module-imports" "^7.25.7" + "@babel/helper-simple-access" "^7.25.7" + "@babel/helper-validator-identifier" "^7.25.7" + "@babel/traverse" "^7.25.7" + "@babel/helper-optimise-call-expression@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz#8b0a0456c92f6b323d27cfd00d1d664e76692a0f" @@ -204,6 +277,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz#98c84fe6fe3d0d3ae7bfc3a5e166a46844feb2a0" integrity sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg== +"@babel/helper-plugin-utils@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz#8ec5b21812d992e1ef88a9b068260537b6f0e36c" + integrity sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw== + "@babel/helper-remap-async-to-generator@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz#b3f0f203628522713849d49403f1a414468be4c7" @@ -230,6 +308,14 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" +"@babel/helper-simple-access@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz#5eb9f6a60c5d6b2e0f76057004f8dacbddfae1c0" + integrity sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ== + dependencies: + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz#5f8fa83b69ed5c27adc56044f8be2b3ea96669d9" @@ -255,16 +341,31 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== +"@babel/helper-string-parser@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz#d50e8d37b1176207b4fe9acedec386c565a44a54" + integrity sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g== + "@babel/helper-validator-identifier@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== +"@babel/helper-validator-identifier@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz#77b7f60c40b15c97df735b38a66ba1d7c3e93da5" + integrity sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg== + "@babel/helper-validator-option@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz#24c3bb77c7a425d1742eec8fb433b5a1b38e62f6" integrity sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw== +"@babel/helper-validator-option@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz#97d1d684448228b30b506d90cace495d6f492729" + integrity sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ== + "@babel/helper-wrap-function@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz#52d893af7e42edca7c6d2c6764549826336aae1f" @@ -283,6 +384,14 @@ "@babel/template" "^7.24.7" "@babel/types" "^7.24.7" +"@babel/helpers@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.7.tgz#091b52cb697a171fe0136ab62e54e407211f09c2" + integrity sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA== + dependencies: + "@babel/template" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/highlight@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" @@ -293,6 +402,16 @@ js-tokens "^4.0.0" picocolors "^1.0.0" +"@babel/highlight@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.7.tgz#20383b5f442aa606e7b5e3043b0b1aafe9f37de5" + integrity sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw== + dependencies: + "@babel/helper-validator-identifier" "^7.25.7" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.7.tgz#9a5226f92f0c5c8ead550b750f5608e766c8ce85" @@ -305,6 +424,13 @@ dependencies: "@babel/types" "^7.25.6" +"@babel/parser@^7.25.7", "@babel/parser@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.8.tgz#f6aaf38e80c36129460c1657c0762db584c9d5e2" + integrity sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ== + dependencies: + "@babel/types" "^7.25.8" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz#fd059fd27b184ea2b4c7e646868a9a381bbc3055" @@ -888,6 +1014,20 @@ dependencies: "@babel/plugin-transform-react-jsx" "^7.24.7" +"@babel/plugin-transform-react-jsx-self@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.7.tgz#3d11df143131fd8f5486a1f7d3839890f88f8c85" + integrity sha512-JD9MUnLbPL0WdVK8AWC7F7tTG2OS6u/AKKnsK+NdRhUiVdnzyR1S3kKQCaRLOiaULvUiqK6Z4JQE635VgtCFeg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-react-jsx-source@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.7.tgz#a0d8372310d5ea5b0447dfa03a8485f960eff7be" + integrity sha512-S/JXG/KrbIY06iyJPKfxr0qRxnhNOdkNXYBl/rmwgDd72cQLH9tEGkDm/yJPGvcSIUoikzfjMios9i+xT/uv9w== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/plugin-transform-react-jsx@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.24.7.tgz#17cd06b75a9f0e2bd076503400e7c4b99beedac4" @@ -1151,6 +1291,15 @@ "@babel/parser" "^7.24.7" "@babel/types" "^7.24.7" +"@babel/template@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.7.tgz#27f69ce382855d915b14ab0fe5fb4cbf88fa0769" + integrity sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA== + dependencies: + "@babel/code-frame" "^7.25.7" + "@babel/parser" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/traverse@^7.24.7", "@babel/traverse@^7.7.2": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.7.tgz#de2b900163fa741721ba382163fe46a936c40cf5" @@ -1167,6 +1316,19 @@ debug "^4.3.1" globals "^11.1.0" +"@babel/traverse@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.7.tgz#83e367619be1cab8e4f2892ef30ba04c26a40fa8" + integrity sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg== + dependencies: + "@babel/code-frame" "^7.25.7" + "@babel/generator" "^7.25.7" + "@babel/parser" "^7.25.7" + "@babel/template" "^7.25.7" + "@babel/types" "^7.25.7" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.20.7", "@babel/types@^7.24.7", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.7.tgz#6027fe12bc1aa724cd32ab113fb7f1988f1f66f2" @@ -1185,31 +1347,20 @@ "@babel/helper-validator-identifier" "^7.24.7" to-fast-properties "^2.0.0" +"@babel/types@^7.25.7", "@babel/types@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.8.tgz#5cf6037258e8a9bcad533f4979025140cb9993e1" + integrity sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg== + dependencies: + "@babel/helper-string-parser" "^7.25.7" + "@babel/helper-validator-identifier" "^7.25.7" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@craco/craco@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@craco/craco/-/craco-7.1.0.tgz#12bd394c7f0334e214302e4d35a1768f68042fbb" - integrity sha512-oRAcPIKYrfPXp9rSzlsDNeOaVtDiKhoyqSXUoqiK24jCkHr4T8m/a2f74yXIzCbIheoUWDOIfWZyRgFgT+cpqA== - dependencies: - autoprefixer "^10.4.12" - cosmiconfig "^7.0.1" - cosmiconfig-typescript-loader "^1.0.0" - cross-spawn "^7.0.3" - lodash "^4.17.21" - semver "^7.3.7" - webpack-merge "^5.8.0" - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - "@csstools/normalize.css@*": version "12.1.1" resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-12.1.1.tgz#f0ad221b7280f3fc814689786fd9ee092776ef8f" @@ -1931,7 +2082,7 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.24" -"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": +"@jridgewell/resolve-uri@^3.1.0": version "3.1.2" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== @@ -1959,14 +2110,6 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.23", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" @@ -2454,32 +2597,12 @@ resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== -"@tsconfig/node10@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" - integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - "@types/aria-query@^5.0.1": version "5.0.4" resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14", "@types/babel__core@^7.20.5": version "7.20.5" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== @@ -3053,6 +3176,17 @@ resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== +"@vitejs/plugin-react@^4.3.2": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.3.2.tgz#1e13f666fe3135b477220d3c13b783704636b6e4" + integrity sha512-hieu+o05v4glEBucTcKMK3dlES0OeJlD9YVOAPraVMOInBCwzumaIFiUjr4bHK7NPgnAHgiskUoceKercrN8vg== + dependencies: + "@babel/core" "^7.25.2" + "@babel/plugin-transform-react-jsx-self" "^7.24.7" + "@babel/plugin-transform-react-jsx-source" "^7.24.7" + "@types/babel__core" "^7.20.5" + react-refresh "^0.14.2" + "@vitest/coverage-v8@^2.1.1": version "2.1.1" resolved "https://registry.yarnpkg.com/@vitest/coverage-v8/-/coverage-v8-2.1.1.tgz#a1f58cafe7d4306ec751c1054b58f1b60327693a" @@ -3297,19 +3431,12 @@ acorn-walk@^7.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== -acorn-walk@^8.1.1: - version "8.3.3" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.3.tgz#9caeac29eefaa0c41e3d4c65137de4d6f34df43e" - integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw== - dependencies: - acorn "^8.11.0" - acorn@^7.1.1: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.11.0, acorn@^8.12.0, acorn@^8.2.4, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: +acorn@^8.12.0, acorn@^8.2.4, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: version "8.12.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.0.tgz#1627bfa2e058148036133b8d9b51a700663c294c" integrity sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw== @@ -3437,11 +3564,6 @@ anymatch@^3.0.3, anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - arg@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" @@ -3623,7 +3745,7 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -autoprefixer@^10.4.12, autoprefixer@^10.4.13: +autoprefixer@^10.4.13: version "10.4.19" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.19.tgz#ad25a856e82ee9d7898c59583c1afeb3fa65f89f" integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew== @@ -3894,6 +4016,16 @@ browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^ node-releases "^2.0.14" update-browserslist-db "^1.0.16" +browserslist@^4.24.0: + version "4.24.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.0.tgz#a1325fe4bc80b64fda169629fc01b3d6cecd38d4" + integrity sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A== + dependencies: + caniuse-lite "^1.0.30001663" + electron-to-chromium "^1.5.28" + node-releases "^2.0.18" + update-browserslist-db "^1.1.0" + bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -3980,6 +4112,11 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001599, caniuse-lite@^1.0.30001629: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz#b15f52d2bdb95fad32c2f53c0b68032b85188a78" integrity sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg== +caniuse-lite@^1.0.30001663: + version "1.0.30001669" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz#fda8f1d29a8bfdc42de0c170d7f34a9cf19ed7a3" + integrity sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w== + case-sensitive-paths-webpack-plugin@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" @@ -4087,15 +4224,6 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - clsx@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" @@ -4285,14 +4413,6 @@ core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== -cosmiconfig-typescript-loader@^1.0.0: - version "1.0.9" - resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-1.0.9.tgz#69c523f7e8c3d9f27f563d02bbeadaf2f27212d3" - integrity sha512-tRuMRhxN4m1Y8hP9SNYfz7jRwt8lZdWxdjg/ohg5esKmsndJIn4yT96oJVcf5x0eA11taXl+sIp+ielu529k6g== - dependencies: - cosmiconfig "^7" - ts-node "^10.7.0" - cosmiconfig@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" @@ -4304,7 +4424,7 @@ cosmiconfig@^6.0.0: path-type "^4.0.0" yaml "^1.7.2" -cosmiconfig@^7, cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: +cosmiconfig@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== @@ -4315,11 +4435,6 @@ cosmiconfig@^7, cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: path-type "^4.0.0" yaml "^1.10.0" -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" @@ -4716,11 +4831,6 @@ diff-sequences@^27.5.1: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -4887,6 +4997,11 @@ electron-to-chromium@^1.4.796: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.805.tgz#1d526e384c20944a3c68f618f9774edc384c4733" integrity sha512-8W4UJwX/w9T0QSzINJckTKG6CYpAUTqsaWcWIsdud3I1FYJcMgW9QqT1/4CBff/pP/TihWh13OmiyY8neto6vw== +electron-to-chromium@^1.5.28: + version "1.5.41" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.41.tgz#eae1ba6c49a1a61d84cf8263351d3513b2bcc534" + integrity sha512-dfdv/2xNjX0P8Vzme4cfzHqnPm5xsZXwsolTYr0eyW18IUmNyG08vL+fttvinTfhKfIKdRoqkDIC9e9iWQCNYQ== + emittery@^0.10.2: version "0.10.2" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" @@ -5109,6 +5224,11 @@ escalade@^3.1.1, escalade@^3.1.2: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== +escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -5746,11 +5866,6 @@ flat-cache@^4.0.0: flatted "^3.2.9" keyv "^4.5.4" -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - flatted@^3.2.9: version "3.3.1" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" @@ -6569,13 +6684,6 @@ is-plain-obj@^3.0.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== -is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - is-potential-custom-element-name@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" @@ -6684,11 +6792,6 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0, istanbul-lib-coverage@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" @@ -7315,6 +7418,11 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== + jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" @@ -7619,11 +7727,6 @@ make-dir@^4.0.0: dependencies: semver "^7.5.3" -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - makeerror@1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" @@ -7839,6 +7942,11 @@ node-releases@^2.0.14: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +node-releases@^2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -9048,6 +9156,11 @@ react-refresh@^0.11.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046" integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A== +react-refresh@^0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9" + integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== + react-router-dom@^6.23.1: version "6.23.1" resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.23.1.tgz#30cbf266669693e9492aa4fc0dde2541ab02322f" @@ -9624,13 +9737,6 @@ setprototypeof@1.2.0: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -10337,25 +10443,6 @@ ts-interface-checker@^0.1.9: resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== -ts-node@^10.7.0: - version "10.9.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" - integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - tsconfig-paths@^3.15.0: version "3.15.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" @@ -10564,6 +10651,14 @@ update-browserslist-db@^1.0.16: escalade "^3.1.2" picocolors "^1.0.1" +update-browserslist-db@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" + integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.0" + uri-js@^4.2.2, uri-js@^4.4.1: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -10620,11 +10715,6 @@ uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - v8-to-istanbul@^8.1.0: version "8.1.1" resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" @@ -10660,6 +10750,17 @@ vite@^5.0.0: optionalDependencies: fsevents "~2.3.3" +vite@^5.4.9: + version "5.4.9" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.9.tgz#215c80cbebfd09ccbb9ceb8c0621391c9abdc19c" + integrity sha512-20OVpJHh0PAM0oSOELa5GaZNWeDjcAvQjGXy2Uyr+Tp+/D2/Hdz6NLgpJLsarPTA2QJ6v8mX2P1ZfbsSKvdMkg== + dependencies: + esbuild "^0.21.3" + postcss "^8.4.43" + rollup "^4.20.0" + optionalDependencies: + fsevents "~2.3.3" + vitest@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/vitest/-/vitest-2.1.1.tgz#24a6f6f5d894509f10685b82de008c507faacbb1" @@ -10801,15 +10902,6 @@ webpack-manifest-plugin@^4.0.2: tapable "^2.0.0" webpack-sources "^2.2.0" -webpack-merge@^5.8.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" - integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== - dependencies: - clone-deep "^4.0.1" - flat "^5.0.2" - wildcard "^2.0.0" - webpack-sources@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" @@ -10982,11 +11074,6 @@ why-is-node-running@^2.3.0: siginfo "^2.0.0" stackback "0.0.2" -wildcard@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" - integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== - word-wrap@^1.2.5, word-wrap@~1.2.3: version "1.2.5" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" @@ -11261,11 +11348,6 @@ yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"