diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 981b83d..0000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "type": "chrome", - "request": "launch", - "name": "Launch Chrome", - "url": "http://localhost:8085", - "webRoot": "${workspaceFolder}/frontend" - } - ] -} diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index ed77a4f..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "i18n-ally.localesPaths": ["frontend/src/assets/locales"], - "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.formatOnSave": true, - "typescript.enablePromptUseWorkspaceTsdk": true, - "typescript.tsdk": "frontend/node_modules/typescript/lib" -} diff --git a/README.md b/README.md index 49c1be6..895e537 100644 --- a/README.md +++ b/README.md @@ -12,13 +12,14 @@ The goal is to standardize how we build web projects in the company. ## Packages +- [React router v7 as a framework](https://reactrouter.com/start/framework/installation) using the `default` template and SPA mode - [Vite](https://vitejs.dev/) using the `react-ts` installation - [MUI](https://mui.com/material-ui/getting-started/) for our components library -- [React router](https://reactrouter.com/en/main) for the pages routing - [Axios](https://axios-http.com/docs/intro) for API calls +- [React query](https://tanstack.com/query/latest/docs/framework/react/overview) for server-state management +- [Zustand](https://docs.pmnd.rs/zustand/getting-started/introduction) for client-state management - [i18next](https://www.i18next.com/) for internationalization - [Yup](https://github.com/jquense/yup?tab=readme-ov-file) for schema validation -- [Zustand](https://docs.pmnd.rs/zustand/getting-started/introduction) for global store ## License diff --git a/azure-pipeline/build_frontend.yml b/azure-pipeline/build_frontend.yml index e17e212..0e5f724 100644 --- a/azure-pipeline/build_frontend.yml +++ b/azure-pipeline/build_frontend.yml @@ -28,15 +28,15 @@ jobs: - script: | cd frontend corepack enable - yarn set version stable + yarn set version 4.6 yarn yarn build - displayName: "Install and Build using Yarn" + displayName: "Install and Build using Yarn 4.6" - task: CopyFiles@2 displayName: "Copy files to build folder" inputs: - sourceFolder: "$(System.DefaultWorkingDirectory)/frontend/dist" + sourceFolder: "$(System.DefaultWorkingDirectory)/frontend/build/client" targetFolder: "$(Build.ArtifactStagingDirectory)" cleanTargetFolder: true diff --git a/doc/AzurePipelines.md b/docs/azure-pipelines.md similarity index 100% rename from doc/AzurePipelines.md rename to docs/azure-pipelines.md diff --git a/frontend/.dockerignore b/frontend/.dockerignore new file mode 100644 index 0000000..9b8d514 --- /dev/null +++ b/frontend/.dockerignore @@ -0,0 +1,4 @@ +.react-router +build +node_modules +README.md \ No newline at end of file diff --git a/frontend/.editorconfig b/frontend/.editorconfig old mode 100755 new mode 100644 index 4bfca33..1e63073 --- a/frontend/.editorconfig +++ b/frontend/.editorconfig @@ -1,9 +1,7 @@ -root = true - [*] +charset = utf-8 +end_of_line = lf indent_size = 2 indent_style = space -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true insert_final_newline = true +max_line_length = 80 \ No newline at end of file diff --git a/frontend/example.env b/frontend/.env.example old mode 100755 new mode 100644 similarity index 65% rename from frontend/example.env rename to frontend/.env.example index 1b52056..2439bd8 --- a/frontend/example.env +++ b/frontend/.env.example @@ -1,7 +1,6 @@ -VITE_PORT=8080 +VITE_PORT=8000 VITE_GENERATE_SOURCEMAP=true VITE_ENV=local VITE_VERSION_NUMBER=v0.0.1 -VITE_API_URL= VITE_GA_TRACKING_ID= -VITE_DOCKER=false +VITE_API_URL=https://dummyjson.com \ No newline at end of file diff --git a/frontend/.eslintrc.cjs b/frontend/.eslintrc.cjs deleted file mode 100644 index 4b3bed6..0000000 --- a/frontend/.eslintrc.cjs +++ /dev/null @@ -1,51 +0,0 @@ -const DISABLED = 0; -const WARNING = 1; -const ERROR = 2; - -module.exports = { - root: true, - env: { browser: true, es2020: true }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", - "plugin:react/jsx-runtime", - "plugin:react-hooks/recommended", - "plugin:@typescript-eslint/recommended-type-checked", - ], - ignorePatterns: ["dist", ".eslintrc.cjs"], - parser: "@typescript-eslint/parser", - plugins: ["@typescript-eslint", "react-hooks", "prettier", "react-refresh"], - rules: { - "react-refresh/only-export-components": [ - WARNING, - { allowConstantExport: true }, - ], - "react/react-in-jsx-scope": DISABLED, - "@typescript-eslint/camelcase": DISABLED, - "@typescript-eslint/no-unsafe-call": DISABLED, - "@typescript-eslint/no-unsafe-return": DISABLED, - "@typescript-eslint/no-unsafe-argument": DISABLED, - "@typescript-eslint/no-unsafe-member-access": DISABLED, - "@typescript-eslint/no-unsafe-assignment": DISABLED, - "no-unused-expressions": WARNING, - "@typescript-eslint/no-unused-vars": WARNING, - "react-hooks/exhaustive-deps": WARNING, - "react-hooks/rules-of-hooks": ERROR, - eqeqeq: ERROR, - "@typescript-eslint/array-type": [WARNING, { default: "array-simple" }], - // With Pigment CSS, the SX property is now available on html elements - "react/no-unknown-property": ["error", { ignore: ["sx"] }], - // "sort-keys": WARNING, - }, - settings: { - react: { - version: "detect", - }, - }, - parserOptions: { - ecmaVersion: "latest", - sourceType: "module", - project: ["./tsconfig.eslint.json", "./src/material-ui-pigment-css.d.ts"], - tsconfigRootDir: __dirname, - }, -}; diff --git a/frontend/.gitattributes b/frontend/.gitattributes new file mode 100644 index 0000000..13d40e6 --- /dev/null +++ b/frontend/.gitattributes @@ -0,0 +1,217 @@ +## GITATTRIBUTES FOR WEB PROJECTS +# +# These settings are for any web project. +# +# Details per file setting: +# text These files should be normalized (i.e. convert CRLF to LF). +# binary These files are binary and should be left untouched. +# +# Note that binary is a macro for -text -diff. +###################################################################### + +# Auto detect +## Handle line endings automatically for files detected as +## text and leave all files detected as binary untouched. +## This will handle all files NOT defined below. +* text=auto + +# Source code +*.bash text eol=lf +*.bat text eol=crlf +*.cmd text eol=crlf +*.coffee text +*.css text diff=css +*.htm text diff=html +*.html text diff=html +*.inc text +*.ini text +*.js text +*.mjs text +*.cjs text +*.json text +*.jsx text +*.less text +*.ls text +*.map text -diff +*.od text +*.onlydata text +*.php text diff=php +*.pl text +*.ps1 text eol=crlf +*.py text diff=python +*.rb text diff=ruby +*.sass text +*.scm text +*.scss text diff=css +*.sh text eol=lf +.husky/* text eol=lf +*.sql text +*.styl text +*.tag text +*.ts text +*.tsx text +*.xml text +*.xhtml text diff=html + +# Docker +Dockerfile text + +# Documentation +*.ipynb text eol=lf +*.markdown text diff=markdown +*.md text diff=markdown +*.mdwn text diff=markdown +*.mdown text diff=markdown +*.mkd text diff=markdown +*.mkdn text diff=markdown +*.mdtxt text +*.mdtext text +*.txt text +AUTHORS text +CHANGELOG text +CHANGES text +CONTRIBUTING text +COPYING text +copyright text +*COPYRIGHT* text +INSTALL text +license text +LICENSE text +NEWS text +readme text +*README* text +TODO text + +# Templates +*.dot text +*.ejs text +*.erb text +*.haml text +*.handlebars text +*.hbs text +*.hbt text +*.jade text +*.latte text +*.mustache text +*.njk text +*.phtml text +*.svelte text +*.tmpl text +*.tpl text +*.twig text +*.vue text + +# Configs +*.cnf text +*.conf text +*.config text +.editorconfig text +.env text +.gitattributes text +.gitconfig text +.htaccess text +*.lock text -diff +package.json text eol=lf +package-lock.json text eol=lf -diff +pnpm-lock.yaml text eol=lf -diff +.prettierrc text +yarn.lock text -diff +*.toml text +*.yaml text +*.yml text +browserslist text +Makefile text +makefile text +# Fixes syntax highlighting on GitHub to allow comments +tsconfig.json linguist-language=JSON-with-Comments + +# Heroku +Procfile text + +# Graphics +*.ai binary +*.bmp binary +*.eps binary +*.gif binary +*.gifv binary +*.ico binary +*.jng binary +*.jp2 binary +*.jpg binary +*.jpeg binary +*.jpx binary +*.jxr binary +*.pdf binary +*.png binary +*.psb binary +*.psd binary +# SVG treated as an asset (binary) by default. +*.svg text +# If you want to treat it as binary, +# use the following line instead. +# *.svg binary +*.svgz binary +*.tif binary +*.tiff binary +*.wbmp binary +*.webp binary + +# Audio +*.kar binary +*.m4a binary +*.mid binary +*.midi binary +*.mp3 binary +*.ogg binary +*.ra binary + +# Video +*.3gpp binary +*.3gp binary +*.as binary +*.asf binary +*.asx binary +*.avi binary +*.fla binary +*.flv binary +*.m4v binary +*.mng binary +*.mov binary +*.mp4 binary +*.mpeg binary +*.mpg binary +*.ogv binary +*.swc binary +*.swf binary +*.webm binary + +# Archives +*.7z binary +*.gz binary +*.jar binary +*.rar binary +*.tar binary +*.zip binary + +# Fonts +*.ttf binary +*.eot binary +*.otf binary +*.woff binary +*.woff2 binary + +# Executables +*.exe binary +*.pyc binary +# Prevents massive diffs caused by vendored, minified files +**/.yarn/releases/** binary +**/.yarn/plugins/** binary + +# RC files (like .babelrc or .eslintrc) +*.*rc text + +# Ignore files (like .npmignore or .gitignore) +*.*ignore text + +# Prevents massive diffs from built files +dist/* binary \ No newline at end of file diff --git a/frontend/.gitignore b/frontend/.gitignore index 98e16bb..6c46600 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -1,3 +1,10 @@ +.DS_Store +/node_modules/ + +# React Router +/.react-router/ +/build/ + # Logs logs *.log @@ -7,7 +14,6 @@ yarn-error.log* pnpm-debug.log* lerna-debug.log* -node_modules build dist dist-ssr @@ -17,7 +23,8 @@ dist-ssr # Editor directories and files .vscode/* !.vscode/extensions.json -.vscode/settings.json +!.vscode/settings.json +!.vscode/README.md .idea .DS_Store *.suo @@ -25,3 +32,12 @@ dist-ssr *.njsproj *.sln *.sw? + +# yarn related files when not using zero-installs feature +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions \ No newline at end of file diff --git a/frontend/.prettierignore b/frontend/.prettierignore new file mode 100644 index 0000000..93ceff3 --- /dev/null +++ b/frontend/.prettierignore @@ -0,0 +1,6 @@ +# By default prettier ignores files in version control systems directories (".git", ".jj", ".sl", ".svn" and ".hg") and node_modules +# Prettier will also follow rules specified in the ".gitignore" file if it exists in the same directory from which it is run. +dist +build +pnpm-lock.yaml +yarn.lock \ No newline at end of file diff --git a/frontend/.stylelintrc b/frontend/.stylelintrc deleted file mode 100755 index 969cef1..0000000 --- a/frontend/.stylelintrc +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": [ - "stylelint-config-prettier-scss", - "stylelint-config-standard-scss" - ], - "plugins": ["stylelint-prettier", "stylelint-scss"], - "customSyntax": "postcss-scss", - "rules": { - "value-keyword-case": null, - "at-rule-empty-line-before": null, - "scss/dollar-variable-empty-line-before": null, - "selector-pseudo-element-colon-notation": "single", - "selector-pseudo-class-no-unknown": null, - "color-no-hex": true, - "color-named": "never" - } -} diff --git a/.vscode/extensions.json b/frontend/.vscode/extensions.json similarity index 59% rename from .vscode/extensions.json rename to frontend/.vscode/extensions.json index 9281b2e..ffa870e 100644 --- a/.vscode/extensions.json +++ b/frontend/.vscode/extensions.json @@ -1,15 +1,11 @@ { "recommendations": [ - "steoates.autoimport", "aaron-bond.better-comments", "dbaeumer.vscode-eslint", "oderwat.indent-rainbow", "wix.vscode-import-cost", "christian-kohler.path-intellisense", "esbenp.prettier-vscode", - "rvest.vs-code-prettier-eslint", - "wayou.vscode-todo-highlight", - "lokalise.i18n-ally", - "arcanis.vscode-zipfs" + "wayou.vscode-todo-highlight" ] } diff --git a/frontend/.vscode/settings.json b/frontend/.vscode/settings.json new file mode 100644 index 0000000..0a6827a --- /dev/null +++ b/frontend/.vscode/settings.json @@ -0,0 +1,14 @@ +{ + "css.validate": false, + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "always", + "source.fixAll.stylelint": "always", + "source.organizeImports": "explicit", + "source.removeUnusedImports": "always" + }, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.formatOnSave": true, + "editor.linkedEditing": true, + "less.validate": false, + "scss.validate": false +} diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100644 index 0000000..207bf93 --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,22 @@ +FROM node:20-alpine AS development-dependencies-env +COPY . /app +WORKDIR /app +RUN npm ci + +FROM node:20-alpine AS production-dependencies-env +COPY ./package.json package-lock.json /app/ +WORKDIR /app +RUN npm ci --omit=dev + +FROM node:20-alpine AS build-env +COPY . /app/ +COPY --from=development-dependencies-env /app/node_modules /app/node_modules +WORKDIR /app +RUN npm run build + +FROM node:20-alpine +COPY ./package.json package-lock.json /app/ +COPY --from=production-dependencies-env /app/node_modules /app/node_modules +COPY --from=build-env /app/build /app/build +WORKDIR /app +CMD ["npm", "run", "start"] \ No newline at end of file diff --git a/frontend/README.md b/frontend/README.md index 4062b95..c90fade 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -1,53 +1,100 @@ -# Frontend - -Run `yarn install` and `yarn dev` in this directory to launch the react project in your browser - -## Windows - -To run on windows, use docker. - -1. Set VITE_DOCKER to true in .env -2. Run `docker compose up -d` -3. Navigate to http://localhost:8000/ - -Note: If you change your environment variables in .env, you will have to rebuild the container to see the changes using the `docker compose up --build -d` command. - -To see the logs directly in your console, you can remove the -d flag. Otherwise, you can view output in Docker Desktop. - -## Update locale files - -Pull key:value from google sheets to create json file. -`https://docs.google.com/spreadsheets/d/1Kk8OIOhXxzyMA3ZgyiIiQtdwJNBJvGaUTNsarYHcFsM/` - -> **IMPORTANT** Please create a new google sheet for each new project. Do not use this one for one of your projects - -Run `yarn sheet2i18n` to update your local keys with what is in the spreadsheet. - -## File Structure - - . - ├── ... - ├── public # Public root - ├── src - │ ├── app # Typescript app + sass files - │ │ ├── components - │ │ ├── containers - │ │ ├── enums - │ │ ├── forms - │ │ ├── hocs - │ │ ├── icons - │ │ ├── pages - │ │ ├── routes - │ │ ├── services - │ │ ├── shared - │ │ ├── stores - │ ├── assets # Static assets - │ │ ├── fonts - │ │ ├── images - │ │ ├── locales - │ └── styles # Global Sass files. - │ │ ├── mixins - │ │ ├── vendors - ├── example.env - ├── .env - └── ... +# Welcome to React Router! + +A modern, production-ready template for building full-stack React applications using React Router. + +[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/remix-run/react-router-templates/tree/main/default) + +## Features + +- 🚀 SPA mode +- ⚡️ Hot Module Replacement (HMR) +- 📦 Asset bundling and optimization +- 🔄 Data loading and mutations +- 🔒 TypeScript by default +- 🎉 MUI for styling +- 📖 [React Router docs](https://reactrouter.com/) + +## Getting Started + +### Installation + +Install the dependencies: + +```bash +npm install +``` + +### Development + +Start the development server with HMR: + +```bash +npm run dev +``` + +Your application will be available at `http://localhost:8000`. + +## Building for Production + +Create a production build: + +```bash +npm run build +``` + +## Deployment + +### Docker Deployment + +This template includes three Dockerfiles optimized for different package managers: + +- `Dockerfile` - for npm +- `Dockerfile.pnpm` - for pnpm +- `Dockerfile.bun` - for bun + +To build and run using Docker: + +```bash +# For npm +docker build -t my-app . + +# For pnpm +docker build -f Dockerfile.pnpm -t my-app . + +# For bun +docker build -f Dockerfile.bun -t my-app . + +# Run the container +docker run -p 3000:3000 my-app +``` + +The containerized application can be deployed to any platform that supports Docker, including: + +- AWS ECS +- Google Cloud Run +- Azure Container Apps +- Digital Ocean App Platform +- Fly.io +- Railway + +### DIY Deployment + +If you're familiar with deploying Node applications, the built-in app server is production-ready. + +Make sure to deploy the output of `npm run build` + +``` +├── package.json +├── package-lock.json (or pnpm-lock.yaml, or bun.lockb) +├── build/ +│ ├── client/ # Static assets +│ └── server/ # Server-side code +``` + +## Styling + +This template comes with [MUI](https://mui.com/material-ui/getting-started/installation/) already configured. + +--- + +Built with ❤️ using React Router. diff --git a/frontend/docker-compose.yml b/frontend/docker-compose.yml deleted file mode 100644 index c61faae..0000000 --- a/frontend/docker-compose.yml +++ /dev/null @@ -1,16 +0,0 @@ -version: "3.4" -services: - vite_docker: - image: node:20.11.1 - container_name: vite_docker - env_file: - - .env - entrypoint: /srv/app/entrypoint.sh - ports: - - 8000:8000 - working_dir: /srv/app - volumes: - - type: bind - source: ./ - target: /srv/app - tty: true diff --git a/frontend/docs/ComponentsAndContainers.md b/frontend/docs/ComponentsAndContainers.md deleted file mode 100644 index 26fb89e..0000000 --- a/frontend/docs/ComponentsAndContainers.md +++ /dev/null @@ -1,20 +0,0 @@ -# How to choose between Component or Container - -## Component - -- Manages how things look -- Has no dependencies on the rest of the app -- Doesn't specify how data is loaded or mutated -- Receives data and callbacks exclusively via props -- Rarely has own state (when it does, it’s UI state rather than data) -- Easy examples: Button, Table, Spinner, etc... - -## Container - -- Is often stateful, as it tends to serve as data sources. -- Is concerned with how things work -- May contain both presentational and container components inside but usually don’t have any DOM markup of their own except for some wrapping divs, and never have any styles. -- Provides the data and behavior to presentational or other container components. -- Examples: UserInfo, ShoppingCart, etc... - -> Don’t take the component VS container separation as a dogma. Sometimes it doesn’t matter or it’s hard to draw the line. If you feel unsure about whether a specific element should be a component or a container, it might be too early to decide. Don’t sweat it! diff --git a/frontend/docs/ReactStandards.md b/frontend/docs/ReactStandards.md deleted file mode 100644 index 67bb10d..0000000 --- a/frontend/docs/ReactStandards.md +++ /dev/null @@ -1,222 +0,0 @@ -# React Standards - -## Code formatting - -- Prettier is used to format all TypeScript code -- You should set your editor of choice to format on save using prettier. This will prevent code changes on formatting - -## Designs - -- UI designs should be followed as closely as possible. If it's not possible or costly to match the design, the designer and the developer need to plan a meeting to discuss options. -- Most design viewing tools have ways to inspect the design to see values like colors & spacing. Currently we use Figma which has an Inspector tab on the right which provides this functionality -- Sometimes a element may not be selectable with the inspector due to it being hidden under a different element, to access the element underneath use the panel on the left to find your element - -## Functions - -- Only use functions when needed. - - - For example: - -```ts -const showButton = (): boolean => { - return providerId === client.providerId; -}; -``` - -- Should be a constant variable - `const showButton = providerId === client.providerId;` -- Callbacks should be named after the event -- For example a `onClick` callback function name should always start with "onClick" - `onClick={onClickAmountOption}` - -- Functions that aren't React components should be camel case: `onChange` not `OnChange` -- Use arrow functions -- Use a normal function for react components. (The benefit of lexical scope of `this` is not present for components) - -## Interfaces and Types - -- We favor using `interface` most of the time, but `type` can be used in certain scenarios -- We avoid `any` or `unknown` as much as possible -- Use an `interface` to define an object - -```ts -interface User { - id: number; - name: string; - email: string; -} - -const user: User = { id: 1, name: "John Doe", email: "john.doe@gmail.com" }; -``` - -- Use an `interface` to extend another `interface` - -```ts -interface Admin extends User { - canDeleteUsers: boolean; -} - -const adminUser: Admin = { - id: 2, - name: "Jane Doe", - email: "jane.doe@gmail.com", - canDeleteUsers: true, -}; -``` - -Use `type` when defining a complex type - -```ts -type ID = number | string; -type UserResponse = User | null; -type Dictionary = { [key: string]: T }; -``` - -Use `type` when you want a simpler `enum` using a string union. -Results with easier type inference(intellisense can be easier with this than `enum`) -and can simplify usage for API endpoints return objects - -```ts -type Status = "success" | "info" | "warning" | "error"; -``` - -## Labels - -- Labels should always be passed between components as the translated value -- You should never see code like below where a property is being translated: - `` -- The translate function should be called in the parent component and the child just renders the property as is: - `` -- Use the built in [interpolation functionality](https://www.i18next.com/translation-function/interpolation) instead of `.replace()` for example: - -```ts -t("Plan_coMemberFee_label", { - CoMemberFee: formatCurrency(amount), - CoMemberFeeType: feeTypeLabel, -}); -``` - -## Plurals - -- Here is how you should manage translations with plurals. [Reference](https://www.i18next.com/translation-function/plurals) - -`component.tsx` - -```ts -t("asset__share_modal_title", { - count: assets.length, -}); -``` - -`en.json` - -```json -{ - "asset__share_modal_title": "Share asset", - "asset__share_modal_title_other": "Share assets" -} -``` - -- Do not do this in your `component.tsx` - -```ts -{ - assets.length === 1 - ? t("asset__share_modal_title") - : t("asset__share_modal_title_other"); -} -``` - -## State - -- When using useState, the set function should always be named `set[NameOfVariable]` - -```ts -const [hasModification, setHasModification] = useState(false); -``` - -## Skeletons - -[Mui Skeleton](https://mui.com/components/skeleton) - -- Skeletons should match the content about to be rendered as closely as possible -- Where possible use the same container elements for the skeletons as the content being rendered - -Ex: -Good - -```tsx -
- {isFetchingData ? ( - - ) : ( - - )} -
-``` - -Wrong - -```tsx -{ - isFetchingData ? ( -
- -
- ) : ( -
- -
- ); -} -``` - -## Styles - -- All styling that affects basic MUI components should be in the theme -- Styling for specific component or specific container should be in proper styled component or proper `.scss` file -- Avoid inline styles on components at all costs -- All colors should be in theme.palette -- Use the MaterialUI Typography component for re-usable font styles which are defined in the theme -- Avoid `!important` at all costs, if it must be used, it must have a comment explaining why -- All media queries should be below the other styles of the same level, separated by a blank line -- Avoid using selectors for internal Material UI elements as they can change on upgrades, try to find other properties on the elements that reference those elements instead -- All style names must be in camel case format starting with a lowercase letter, ex: `listItem: { display: block; }` - -## Responsiveness - -- Always test using different screen sizes to check for layout issues -- The MaterialUI layout components have properties built for responsiveness, see their [official documentation](https://mui.com/material-ui/guides/responsive-ui/) -- `useMediaQuery` should only be used when css media queries would be significantly more work, since `useMediaQuery` is less efficient (it uses JavaScript and requires the component to re-render) - -## Files - -- The `tsx` extension should only be used when needed, if the file doesn't use the React syntax, it should be a ts file -- File name & case should match their default export For example a file that has a default export of: - - A component called `AccessCard` should be called `AccessCard.tsx` - - A hook called `useCustomerInfo` should be called `useCustomerInfo.ts` - -## Order - -- Try to keep the order of content between similar files consistent where possible -- Basic order of React component file contents: - - Imports - - Interfaces, types & enums - - Variables - - Functions - - Styles - - Private components - - Public/exported components (typically only one) -- Basic order of React component content: - - Hooks - - Variables - - Functions - - Effects - - Return -- Within the groups use alphabetical sorting when possible - -## Misc - -- Never use `dangerouslySetInnerHTML` -- Only use functionnal components. -- Business logic should be in the API instead of the client when possible diff --git a/frontend/docs/Styling.md b/frontend/docs/Styling.md deleted file mode 100644 index c7e6933..0000000 --- a/frontend/docs/Styling.md +++ /dev/null @@ -1,73 +0,0 @@ -# Styling - -There is multiple ways to go about styling in a react project. -This will explain to you the standard we propose to your project. - -> If any of this does not fit the team working on the project, please feel free to change it and to update this file to reflect the standard in the project - -## .scss files - -The main way you will be styling your components, will be by creating a new `.scss` file in the same directory as your component. -For example, if you have an `Admin.tsx` component, you would create an `admin.scss` file and import it in your `.tsx` -Here is a short code snippet showing how it would look like: - -> Please follow the [BEM standards](https://getbem.com/naming/) for you class naming convention - -```tsx -import "./admin.scss"; - -export const Admin = () => { - return
...
; -}; -``` - -```scss -.admin { - display: flex; - flex-direction: column; - gap: get-spacing(xs); - background-color: get-color(primary, main); -} -``` - -We also created a couple of utility `.scss` classes that you would be able to use. -They are mainly meant to be used as spacing classes. -See them in the `/frontend/src/styles` directory. - -Here is the example from above but using the utility classes - -```tsx -import "./admin.scss"; - -export const Admin = () => { - return
...
; -}; -``` - -```scss -.admin { - background-color: get-color(primary, main); -} -``` - -> You are not forced to use any of the spacing classes, but with our experience, we find it usefull to be able to quickly align items using these - -## Styled components (MUI) - -When you want to change a component coming from MUI, we recommend that you create a styled component of it inside the components folder. -You should go look at the `Button.tsx` component to see an example. - -This allows us to have the same styling for every button in the app, without messing with MUI theme. -You can still go and change components everywhere by changing it in `createTheme`, but we found that in most cases, when the app grows, it can cause a lot of annoying bugs. - -## SX (MUI) - -You have probably done something similar in the past - -```tsx -export const Example = () => { - return ...; -}; -``` - -We do not recommend you using that, and would point you toward using a simple div and style it with our utility classes. diff --git a/frontend/docs/components-and-containers.md b/frontend/docs/components-and-containers.md new file mode 100644 index 0000000..37d6d63 --- /dev/null +++ b/frontend/docs/components-and-containers.md @@ -0,0 +1,20 @@ +# How to Choose Between a Component or a Container + +## Component + +- Manages how things look. +- Has no dependencies on the rest of the app. +- Doesn't specify how data is loaded or mutated. +- Receives data and callbacks exclusively via props. +- Rarely has its own state (when it does, it’s UI state rather than data). +- Easy examples: Button, Table, Spinner, etc. + +## Container + +- Is often stateful, as it tends to serve as a data source. +- Is concerned with how things work. +- May contain both presentational and container components inside but usually doesn’t have any DOM markup of its own except for some wrapping divs, and never has any styles. +- Provides the data and behavior to presentational or other container components. +- Examples: UserInfo, ShoppingCart, etc. + +> Don’t take the component vs. container separation as a dogma. Sometimes it doesn’t matter or it’s hard to draw the line. If you feel unsure about whether a specific element should be a component or a container, it might be too early to decide. Don’t sweat it! diff --git a/frontend/docs/data-fetching-strategies.md b/frontend/docs/data-fetching-strategies.md new file mode 100644 index 0000000..7b1d10d --- /dev/null +++ b/frontend/docs/data-fetching-strategies.md @@ -0,0 +1,99 @@ +# Data Fetching Strategies + +This project demonstrates the 2 different data fetching strategies using `react-query` and `react-router` loaders. Below is a high-level explanation of each strategy: + +## 1. Prefetching in loader + `useSuspenseQuery` + +```tsx +export const clientLoader = async () => { + queryClient.prefetchQuery(queryOptions()); + return {}; +}; + +export default function MyRoute() { + const { data: todos } = useSuspenseQuery(queryOptions()); + return ( +
+ {todos.map((todo) => ( +
{todo.todo}
+ ))} +
+ ); +} +``` + +In this approach, we use the loader to **prefetch** our data, but notice the loader does not return the data itself. +In the rendered component, we use the `useSuspenseQuery` hook to get the data (you can call the `useQuery` too, but will need to handle loading / pending states). +**`On the very first render`**, the `useSuspenseQuery` hook suspends the component until the query is resolved. +The `Suspense` component wrapping the component displays a fallback while the data is being fetched. +**`On subsequent renders`**, the `useSuspenseQuery` hook will return stale data while fetching any new data. + +- **Pros**: The `useSuspenseQuery` hook ensures the component only renders when data is available. +- **Pros**: The `useSuspenseQuery` returns stale data immediately (if available) while new data is fetched. +- **Cons**: Initial render of the whole page is blocked until data is fetched (which will be caugh by the Suspense compoenent wrapping this page). + +## 2. Prefetching in Loader + `useQuery().promise` + +```tsx +export const clientLoader = async () => { + queryClient.prefetchQuery(queryOptions()); + return {}; +}; + +export default function MyRoute() { + const query = useSuspenseQuery(queryOptions()).promise; + + return ( +
+

This will be rendered immediately

+ + }> + {(data) => } + +
+ ); +} +``` + +This strategy also prefetches data in the loader but uses the `useQuery().promise` hook within the component, allowing for . +The `experimental_prefetchInRender` flag in the `QueryClient` is enabled to allow this behavior. +The `Await` component is used to handle the promise resolution. + +- **Pros**: The query is tracked by `react-query`, allowing for better state management, caching and refetching. +- **Cons**: Requires enabling an experimental flag in `react-query`. + +## Warning: Fetching in loader + `Await` + +```tsx +export const clientLoader = async () => { + const query = queryClient.fetchQuery(postsQueryOptions()); + return { query }; +}; + +export default function MyRoute({ loaderData }: Route.ComponentProps) { + const { query } = loaderData; + return ( +
+

This will be rendered immediately

+ + }> + {(data) => } + +
+ ); +} + +const Posts = ({ data }) => ( +
+ {data.posts.map((post) => ( +
{post.title}
+ ))} +
+); +``` + +Here, the data is fetched in the loader **but is not awaited**. +The promise returned by the loader is passed to the component, and the `Await` component from `react-router` is used to handle the promise resolution. + +- **Pros**: Allows rendering parts of the page that do not depend on the data while the data is being fetched. +- **Cons**: The query is not tracked by `react-query` since no hook is called from inside the component. diff --git a/frontend/docs/react-router-7-routing.png b/frontend/docs/react-router-7-routing.png new file mode 100644 index 0000000..1c394f7 Binary files /dev/null and b/frontend/docs/react-router-7-routing.png differ diff --git a/frontend/docs/react-standards.md b/frontend/docs/react-standards.md new file mode 100644 index 0000000..b056739 --- /dev/null +++ b/frontend/docs/react-standards.md @@ -0,0 +1,189 @@ +# React Standards + +## Code Formatting + +- Use Prettier to format all TypeScript code. +- Configure your editor to format on save using Prettier (the VSCode settings provided in this template support this behavior). + +## Designs + +- Follow UI designs as closely as possible. If it's not feasible or too costly to match the design, the designer and developer should plan a meeting to discuss options. +- Most design tools have ways to inspect the design for values like colors and spacing. Currently, we use Figma, which has an Inspector tab on the right that provides this functionality. +- Sometimes an element may not be selectable with the inspector due to being hidden under another element. To access the element underneath, use the panel on the left to find your element. + +## Functions + +- Only use functions when necessary. For example: + +> ```ts +> const showButton = (): boolean => { +> return providerId === client.providerId; +> }; +> ``` + +- Should be a constant variable: `const showButton = providerId === client.providerId;` +- Name callbacks after the event. For example, an `onClick` callback function should always start with "onClick": `onClick={onClickAmountOption}` +- Functions that aren't React components should be camel case: `onChange` not `OnChange`. +- Use arrow functions. +- Use normal functions for React components. (The benefit of lexical scope of `this` is not present for components.) + +## Interfaces and Types + +- Avoid `any` or `unknown` as much as possible. +- Use both `interfaces` and `types`, depending on the situation. + +```ts +interface User { + id: number; + name: string; + email: string; +} + +const user: User = { id: 1, name: "John Doe", email: "john.doe@gmail.com" }; +``` + +- Use an `interface` to extend another `interface`: + +```ts +interface Admin extends User { + canDeleteUsers: boolean; +} + +const adminUser: Admin = { + id: 2, + name: "Jane Doe", + email: "jane.doe@gmail.com", + canDeleteUsers: true, +}; +``` + +- Use `type` when defining a complex type: + +```ts +type ID = number | string; +type UserResponse = User | null; +type Dictionary = { [key: string]: T }; +``` + +- Use `type` when you want a simple `enum` using a string union. This results in easier type inference and can simplify usage for API endpoint return objects: + +```ts +type Status = "success" | "info" | "warning" | "error"; +``` + +## Labels + +- Always pass labels between components as the translated value. +- Avoid code like the following where a property is being translated: `` +- The translate function should be called in the parent component, and the child should just render the property as is: `` +- Use the built-in [interpolation functionality](https://www.i18next.com/translation-function/interpolation) instead of `.replace()`. For example: + +```ts +t("Plan_coMemberFee_label", { + CoMemberFee: formatCurrency(amount), + CoMemberFeeType: feeTypeLabel, +}); +``` + +## Plurals + +- Manage translations with plurals as follows. [Reference](https://www.i18next.com/translation-function/plurals) + +`component.tsx` + +```ts +t("asset__share_modal_title", { + count: assets.length, +}); +``` + +`en.json` + +```json +{ + "asset__share_modal_title": "Share asset", + "asset__share_modal_title_other": "Share assets" +} +``` + +- Do not do this in your `component.tsx`: + +```ts +{ + assets.length === 1 + ? t("asset__share_modal_title") + : t("asset__share_modal_title_other"); +} +``` + +## State + +- When using `useState`, the set function should always be named `set[NameOfVariable]`: + +```ts +const [hasModification, setHasModification] = useState(false); +``` + +## Skeletons + +[MUI Skeleton](https://mui.com/components/skeleton) + +- Skeletons should match the content about to be rendered as closely as possible. +- Where possible, use the same container elements for the skeletons as the content being rendered. + +Example: +Good + +```tsx +
+ {isFetchingData ? : } +
+``` + +Wrong + +```tsx +{ + isFetchingData ? ( +
+ +
+ ) : ( +
+ +
+ ); +} +``` + +## Files + +- The `tsx` extension should only be used when needed. If the file doesn't use the React syntax, it should be a `.ts` file. +- File names and cases should match their default export. For example, a file that has a default export of: + - A component called `AccessCard` should be called `AccessCard.tsx`. + - A hook called `useCustomerInfo` should be called `useCustomerInfo.ts`. + +## Order + +- Try to keep the order of content between similar files consistent where possible. +- Basic order of React component file contents: + - Imports + - Interfaces, types, and enums + - Variables + - Functions + - Styles + - Private components + - Public/exported components (typically only one) +- Basic order of React component content: + - Hooks + - Variables + - Functions + - Effects + - Return +- Within the groups, use alphabetical sorting when possible. + +## Miscellaneous + +- Never use `dangerouslySetInnerHTML`. +- Only use functional components. +- Business logic should be in the API instead of the client when possible. diff --git a/frontend/docs/routing.md b/frontend/docs/routing.md new file mode 100644 index 0000000..985d139 --- /dev/null +++ b/frontend/docs/routing.md @@ -0,0 +1,73 @@ +# Project Routing and Auth Guard Overview + +Project Routing Diagram + +## Routing + +This project uses React Router v7 **as a framework** to manage the application's routing. The routes are defined in the `src/routes.ts` file and are organized into public and authenticated routes. + +### Public Routes + +Public routes are accessible without authentication and are defined under the `src/routes/public-routes` directory. These include: + +- **Home**: Accessible at `/en|fr/home`, defined in `src/routes/public-routes/home/home.tsx`. +- **Login**: Accessible at `/en|fr/login`, defined in `src/routes/public-routes/login/login.tsx`. + +The layout for public routes is defined in `src/routes/public-routes/layout.tsx`. + +### Authenticated Routes + +Authenticated routes require the user to be logged in and are defined under the `src/routes/authenticated-routes` directory. These include: + +- **Dashboard**: Accessible at `/en|fr/dashboard`, defined in `src/routes/authenticated-routes/dashboard/dashboard.tsx`. +- **Settings**: Accessible at `/en|fr/settings`, defined in `src/routes/authenticated-routes/settings/dashboard.tsx`. + +The layout for authenticated routes is defined in `src/routes/authenticated-routes/layout.tsx`. + +### Route Configuration + +The routing configuration is defined in `src/routes.ts` using the `@react-router/dev/routes` package. The routes are localized (but keep in mind, the language in the url is not a :param). + +### Route Internationalization + +Each route is defined inside a `route.ts` file (for example, `src/routes/authenticated-routes/dashboard/route.ts`). +These files have the localized paths and a path to the route module needed by react router. + +Note that the path to the locales in these files is different (`#assets` instead of the expcted `@assets`). +When using react router as a framework, the routes are built via a vite.js plugin, running in node.js (not in the browser). +The alias here is different than the one define in the tsconfig file. This alias comes from the `imports` property in the package.json file. + +## Auth Guard + +The auth guard ensures that only authenticated users can access certain routes. It is implemented in the `src/routes/auth-guard.ts` file. + +### How It Works + +1. **Check User Authentication**: The `clientLoaderAuthGuard` function checks if the user is authenticated by accessing the user state from the `useUserStore`. + +2. **Redirect if Not Authenticated**: If the user is not authenticated, the function redirects them to the login page. If `includeRedirectPath` is true, the current path is included as a redirect parameter so the user can be redirected back after logging in. + +3. **Resolve if Authenticated**: If the user is authenticated, the function resolves, allowing access to the protected route. + +### Usage + +In Remix.js or React Router v7, auth guards are implemented in the client loaders rather than as component-based guards. This ensures that the authentication check happens before the component is rendered, providing a smoother user experience. + +The `clientLoaderAuthGuard` function is used in the client loaders of authenticated routes to enforce authentication. For example: + +```typescript +// src/routes/authenticated-routes/layout.tsx +export const clientLoader = async ({ + params: _params, +}: ClientLoaderFunctionArgs) => { + await clientLoaderAuthGuard(false); + return {}; +}; +``` + +This ensures that the dashboard route is only accessible to authenticated users. + +At the moment, react rouvet v7 does not support middlewares (it is planned though). You have a couple of options as to **where** to use the `clientLoaderAuthGuard`: + +- You can add it to the loader functions inside each route (this could be useful for more granular, role based access rules) +- You can add it to the loader of a common layout (for example, `authenticated-routes/layout.tsx`), mimicking the behavior of component based auth guards (this could be useful for higher level access, like "is the user logged in?") diff --git a/frontend/docs/styling.md b/frontend/docs/styling.md new file mode 100644 index 0000000..f992150 --- /dev/null +++ b/frontend/docs/styling.md @@ -0,0 +1,39 @@ +# Styling + +There are multiple ways to go about styling in a React project. +This will explain the standard we propose for your project. + +> If any of this does not fit the team working on the project, please feel free to change it and update this file to reflect the standard in the project. + +## .module.css files + +We recommend using CSS modules as much as possible. CSS modules help in: + +- **Scoping**: CSS modules automatically scope CSS by generating unique class names. This prevents styles from leaking into other components and avoids naming conflicts. +- **Maintainability**: With scoped styles, it's easier to maintain and update styles without worrying about affecting other parts of the application. +- **Modularity**: CSS modules promote modularity, making it easier to reason about and manage styles for individual components. + +## Styles + +- All styling that affects basic MUI components should be in the theme. +- Styling for specific components or specific containers should be in proper styled components or proper `.module.css` files. +- Avoid inline styles on components at all costs. +- All colors should be in `theme.palette`. +- Use the MaterialUI Typography component for reusable font styles defined in the theme. +- Avoid `!important` at all costs. If it must be used, it must have a comment explaining why. +- All media queries should be below the other styles of the same level, separated by a blank line. +- MUI has been configured to expose its properties as CSS variables. Use them as much as possible. + +## Responsiveness + +- Always test using different screen sizes to check for layout issues. +- The MaterialUI layout components have properties built for responsiveness. See their [official documentation](https://mui.com/material-ui/guides/responsive-ui/). +- `useMediaQuery` should only be used when CSS media queries would be significantly more work, as `useMediaQuery` is less efficient (it uses JavaScript and requires the component to re-render). + +## Styled Components (MUI) + +When you want to change a component coming from MUI, we recommend that you create a styled component of it inside the components folder. +You should look at the `Button.tsx` component to see an example. + +This allows us to have the same styling for every button in the app, without messing with the MUI theme. +You can still change components everywhere by modifying them in `createTheme`, but we found that in most cases, when the app grows, it can cause a lot of annoying bugs. diff --git a/frontend/entrypoint.sh b/frontend/entrypoint.sh deleted file mode 100644 index ad61ba3..0000000 --- a/frontend/entrypoint.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -corepack enable -yarn install -yarn dev diff --git a/frontend/eslint.config.js b/frontend/eslint.config.js new file mode 100644 index 0000000..c2101cf --- /dev/null +++ b/frontend/eslint.config.js @@ -0,0 +1,57 @@ +import js from "@eslint/js"; +import eslintConfigPrettier from "eslint-config-prettier"; +import react from "eslint-plugin-react"; +import reactHooks from "eslint-plugin-react-hooks"; +import reactRefresh from "eslint-plugin-react-refresh"; +import globals from "globals"; +import tseslint from "typescript-eslint"; + +export default tseslint.config( + { ignores: ["dist", "build", ".react-router"] }, + { + extends: [js.configs.recommended, ...tseslint.configs.recommended], + files: ["**/*.{js,jsx,mjs,cjs,ts,tsx}"], + languageOptions: { + ecmaVersion: "latest", + globals: globals.browser, + parserOptions: { + ecmaFeatures: { + jsx: true, + }, + }, + }, + plugins: { + react: react, + "react-hooks": reactHooks, + "react-refresh": reactRefresh.configs.vite, + }, + rules: { + ...reactHooks.configs.recommended.rules, + "no-debugger": "warn", + eqeqeq: "error", + // allow unused variables that start with an underscore + "@typescript-eslint/no-unused-vars": [ + "error", + { + args: "all", + argsIgnorePattern: "^_", + caughtErrors: "all", + caughtErrorsIgnorePattern: "^_", + destructuredArrayIgnorePattern: "^_", + varsIgnorePattern: "^_", + ignoreRestSiblings: true, + }, + ], + }, + settings: { + react: { + version: "detect", + }, + env: { + node: true, + browser: true, + }, + }, + }, + eslintConfigPrettier, // turn off rules that conflict with Prettier +); diff --git a/frontend/index.html b/frontend/index.html deleted file mode 100644 index 8630eb2..0000000 --- a/frontend/index.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - React Template - - -
- - - diff --git a/frontend/package.json b/frontend/package.json index 5f6513c..52f626c 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,70 +1,74 @@ { - "name": "react-template-demo", + "name": "web-react-skeleton-react-router", "private": true, - "version": "0.0.0", "type": "module", "scripts": { - "dev": "vite", - "build": "tsc -b && vite build", - "sheet2i18n": "sheet2i18n src/sheet2i18n.config.cjs", - "lint": "yarn lint:scripts && yarn lint:styles && yarn lint:editor && yarn prettier --write .", - "lint:scripts": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", - "lint:styles": "stylelint \"./src/**/*.(scss)\"", - "lint:editor": "eclint check ./src/app", - "preview": "vite preview" + "build": "react-router build", + "dev": "react-router dev", + "start": "react-router-serve ./build/server/index.js", + "typecheck": "react-router typegen && tsc", + "lint": "yarn lint:scripts && yarn lint:styles && yarn prettier", + "lint:scripts": "eslint ./src", + "lint:styles": "stylelint '**/*.css'", + "prettier": "prettier --write ./src", + "sheet2i18n": "node ./sheet2i18n/index.cjs sheet2i18n.config.cjs" }, "dependencies": { - "@mui/icons-material": "^6.1.0", - "@mui/material": "^6.1.0", - "@mui/material-pigment-css": "^6.1.0", - "axios": "^1.7.4", - "classnames": "^2.5.1", - "dayjs": "^1.11.11", - "i18next": "^23.11.5", - "i18next-browser-languagedetector": "^8.0.0", - "prism-react-renderer": "^2.3.1", - "qs": "^6.12.2", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-ga4": "^2.1.0", - "react-helmet-async": "^2.0.5", - "react-i18next": "^14.1.2", - "react-router-dom": "^6.24.0", - "react-toastify": "^10.0.5", - "react-transition-group": "^4.4.5", - "yup": "^1.4.0", - "zustand": "^4.5.4" + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.0", + "@mui/icons-material": "^6.4.1", + "@mui/material": "^6.4.1", + "@react-router/node": "^7.1.3", + "@react-router/serve": "^7.1.3", + "@tanstack/react-query": "^5.64.2", + "@tanstack/react-query-devtools": "^5.64.2", + "axios": "^1.7.9", + "clsx": "^2.1.1", + "i18next": "^24.2.1", + "i18next-browser-languagedetector": "^8.0.2", + "isbot": "^5.1.17", + "prism-react-renderer": "^2.4.1", + "qs": "^6.14.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-i18next": "^15.4.0", + "react-router": "^7.1.3", + "react-toastify": "^11.0.3", + "yup": "^1.6.1", + "zustand": "^5.0.3" }, "devDependencies": { - "@pigment-css/vite-plugin": "^0.0.23", - "@types/classnames": "^2.3.1", - "@types/node": "^20.14.9", - "@types/qs": "^6.9.15", - "@types/react": "^18.3.3", - "@types/react-dom": "^18.3.0", - "@types/react-helmet": "^6.1.11", - "@types/react-router-dom": "^5.3.3", - "@types/sass": "^1.45.0", - "@typescript-eslint/eslint-plugin": "^7.13.1", - "@typescript-eslint/parser": "^7.13.1", - "@vitejs/plugin-react": "^4.3.1", - "eclint": "^2.8.1", - "eslint": "^8.57.0", - "eslint-plugin-prettier": "^5.1.3", - "eslint-plugin-react": "^7.34.3", - "eslint-plugin-react-hooks": "^4.6.2", - "eslint-plugin-react-refresh": "^0.4.7", - "postcss": "^8.4.29", - "prettier": "^3.3.2", - "sass": "^1.77.6", - "sheet2i18n": "^1.1.2", - "stylelint": "^16.6.1", - "stylelint-config-prettier-scss": "^1.0.0", - "stylelint-config-standard-scss": "^13.1.0", - "stylelint-prettier": "^5.0.0", - "stylelint-scss": "^6.3.2", - "typescript": "^5.2.2", - "vite": "^5.3.1" + "@eslint/js": "^9.18.0", + "@react-router/dev": "^7.1.3", + "@types/node": "^20", + "@types/qs": "^6", + "@types/react": "^19.0.1", + "@types/react-dom": "^19.0.1", + "autoprefixer": "^10.4.20", + "csv-parse": "^5.6.0", + "eslint": "^9.18.0", + "eslint-config-prettier": "^10.0.1", + "eslint-plugin-react": "^7.37.4", + "eslint-plugin-react-hooks": "^5.1.0", + "eslint-plugin-react-refresh": "^0.4.18", + "node-fetch": "^3.3.2", + "postcss": "^8.4.49", + "prettier": "^3.4.2", + "stylelint": "^16.13.2", + "stylelint-config-css-modules": "^4.4.0", + "stylelint-config-standard": "^37.0.0", + "stylelint-order": "^6.0.4", + "stylelint-prettier": "^5.0.2", + "typescript": "^5.7.2", + "typescript-eslint": "^8.21.0", + "vite": "^5.4.11", + "vite-tsconfig-paths": "^5.1.4" }, - "packageManager": "yarn@4.5.0" + "packageManager": "yarn@4.6.0+sha512.5383cc12567a95f1d668fbe762dfe0075c595b4bfff433be478dbbe24e05251a8e8c3eb992a986667c1d53b6c3a9c85b8398c35a960587fbd9fa3a0915406728", + "resolutions": { + "@babel/traverse/globals": "14.0.0" + }, + "imports": { + "#assets/*": "./src/assets/*" + } } diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico index e4b9196..5dbdfcd 100644 Binary files a/frontend/public/favicon.ico and b/frontend/public/favicon.ico differ diff --git a/frontend/public/robots.txt b/frontend/public/robots.txt deleted file mode 100644 index b21f088..0000000 --- a/frontend/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# https://www.robotstxt.org/robotstxt.html -User-agent: * -Disallow: / diff --git a/frontend/public/vite.svg b/frontend/public/vite.svg deleted file mode 100644 index e7b8dfb..0000000 --- a/frontend/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/frontend/react-router.config.ts b/frontend/react-router.config.ts new file mode 100644 index 0000000..a2ac6a2 --- /dev/null +++ b/frontend/react-router.config.ts @@ -0,0 +1,8 @@ +import type { Config } from "@react-router/dev/config"; + +export default { + // Config options... + // Server-side render by default, to enable SPA mode set this to `false` + ssr: false, + appDirectory: "src", +} satisfies Config; diff --git a/frontend/src/sheet2i18n.config.cjs b/frontend/sheet2i18n.config.cjs similarity index 80% rename from frontend/src/sheet2i18n.config.cjs rename to frontend/sheet2i18n.config.cjs index f673d21..24e483c 100644 --- a/frontend/src/sheet2i18n.config.cjs +++ b/frontend/sheet2i18n.config.cjs @@ -1,4 +1,3 @@ -// eslint-disable-next-line no-undef module.exports = { exportPath: "src/assets/locales", tabsUrl: [ @@ -18,6 +17,10 @@ module.exports = { "https://docs.google.com/spreadsheets/d/e/2PACX-1vQe6sBfW-7S3xGPlYVaOB8v39yfZHx0FqCOeGEChuWlkObw-F5EsuVag_olya-psWYyKOuCl9y8ZGcf/pub?gid=1136921178&single=true&output=csv", // Uikit "https://docs.google.com/spreadsheets/d/e/2PACX-1vQe6sBfW-7S3xGPlYVaOB8v39yfZHx0FqCOeGEChuWlkObw-F5EsuVag_olya-psWYyKOuCl9y8ZGcf/pub?gid=268501364&single=true&output=csv", + // Settings + "https://docs.google.com/spreadsheets/d/e/2PACX-1vQe6sBfW-7S3xGPlYVaOB8v39yfZHx0FqCOeGEChuWlkObw-F5EsuVag_olya-psWYyKOuCl9y8ZGcf/pub?gid=204236050&single=true&output=csv", + // Dashboard + "https://docs.google.com/spreadsheets/d/e/2PACX-1vQe6sBfW-7S3xGPlYVaOB8v39yfZHx0FqCOeGEChuWlkObw-F5EsuVag_olya-psWYyKOuCl9y8ZGcf/pub?gid=1298367712&single=true&output=csv", ], localesKey: ["en", "fr"], }; diff --git a/frontend/sheet2i18n/index.cjs b/frontend/sheet2i18n/index.cjs new file mode 100644 index 0000000..a51eae6 --- /dev/null +++ b/frontend/sheet2i18n/index.cjs @@ -0,0 +1,20 @@ +"use strict"; + +const path = require("path"); +const sheet2i18n = require("./sheet2i18n.cjs"); + +const [, , configPathArg] = process.argv; + +const configPath = configPathArg || "sheet2i18n.config"; +const currentDir = process.cwd(); +const resolvedConfigPath = path.resolve(currentDir, configPath); + +try { + sheet2i18n(resolvedConfigPath, currentDir); +} catch (error) { + console.error( + `Failed to execute sheet2i18n with config path: ${resolvedConfigPath}`, + ); + console.error(error); + process.exit(1); +} diff --git a/frontend/sheet2i18n/sheet2i18n.cjs b/frontend/sheet2i18n/sheet2i18n.cjs new file mode 100644 index 0000000..d378de9 --- /dev/null +++ b/frontend/sheet2i18n/sheet2i18n.cjs @@ -0,0 +1,102 @@ +const fs = require("fs").promises; +const path = require("path"); +const parseCSV = require("csv-parse/sync"); + +/** + * Load CSV files, parse them, and generate JSON files for localization. + * @param {string} configPath - Path to the configuration file. + * @param {string} currentDir - Path to the root folder. + */ +async function loadCsv(configPath, currentDir) { + const { exportPath, tabsUrl, localesKey } = require(configPath); + + console.log("[+] IMPORTING LOCALES"); + + try { + const fetch = (await import("node-fetch")).default; + + const responses = await Promise.all( + tabsUrl.map(async (urltab) => { + const response = await fetch(urltab); + return await response.text(); + }), + ); + + const resolvedExportPath = path.resolve(currentDir, exportPath); + + const rows = responses.flatMap((response) => getParsedCSV(response)); + await handleResponse(localesKey, rows, resolvedExportPath); + } catch (error) { + console.error("Error fetching or processing CSV files:", error); + } +} + +/** + * Parse a CSV string into an array of objects. + * @param {string} file - CSV file content as a string. + * @returns {Object[]} Parsed CSV data. + */ +function getParsedCSV(file) { + return parseCSV.parse(file, { + columns: (header) => header.map((col) => col.split(" ")[0].toLowerCase()), + }); +} + +/** + * Handle the parsed CSV data and generate JSON files for each locale. + * @param {string[]} localesKey - Array of locale keys. + * @param {Object[]} rows - Parsed CSV data. + * @param {string} exportPath - Path to export JSON files. + */ +async function handleResponse(localesKey, rows, exportPath) { + await localesKey.forEach(async (localeKey) => { + const content = writeTranslation(localesKey, rows, localeKey); + await createJson(exportPath, localeKey, `{\n${content}\n}\n`); + }); +} + +/** + * Write translation content for a specific locale. + * @param {string[]} localesKey - Array of locale keys. + * @param {Object[]} rows - Parsed CSV data. + * @param {string} locale - Current locale key. + * @returns {string} Translation content as a JSON string. + */ +function writeTranslation(localesKey, rows, locale) { + const fallback = + localesKey[(localesKey.indexOf(locale) + 1) % localesKey.length]; + + return rows + .map((row) => { + let { key } = row; + if (!key) return; + + key = key.replace(/\s+/g, ""); + + const newRow = + row[locale]?.replace(/"/g, "'").replace(/(?:\r\n|\r|\n)/g, "
") || + row[fallback]; + + return newRow ? ` "${key}": "${newRow}"` : undefined; + }) + .filter(Boolean) + .join(",\n"); +} + +/** + * Create a JSON file with the given content. + * @param {string} exportPath - Path to export JSON files. + * @param {string} locale - Locale key. + * @param {string} content - JSON content as a string. + */ +async function createJson(exportPath, locale, content) { + try { + const filePath = `${exportPath}/${locale}.json`; + await fs.writeFile(filePath, content); + console.log(`JSON in ${locale} is saved.`); + } catch (error) { + console.error(`Error saving JSON for ${locale}:`, error); + } +} + +module.exports = loadCsv; diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx deleted file mode 100644 index b6f9766..0000000 --- a/frontend/src/App.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import Loading from "@components/loading/Loading"; -import CookieConsent from "@containers/cookieConsent/CookieConsent"; -import { hasConsent } from "@containers/cookieConsent/cookieConsentHelper"; -import Router from "@routes/Router"; -import "@shared/i18n"; -import "@styles/index.scss"; -import { Suspense, useEffect } from "react"; -import ReactGA from "react-ga4"; -import { ToastContainer } from "react-toastify"; - -function App() { - useEffect(() => { - if (hasConsent("analytics")) - ReactGA.initialize([ - { - trackingId: __GA_TRACKING_ID__, - }, - ]); - }, []); - - return ( - }> - - - - - ); -} - -export default App; diff --git a/frontend/src/app.css b/frontend/src/app.css new file mode 100644 index 0000000..33160c7 --- /dev/null +++ b/frontend/src/app.css @@ -0,0 +1,7 @@ +@import url("./styles/toastify.css"); +@import url("./styles/fonts.css"); + +html, +body { + min-height: 100vh; +} diff --git a/frontend/src/app/components/accordion/Accordion.tsx b/frontend/src/app/components/accordion/Accordion.tsx index c357953..c5e8866 100644 --- a/frontend/src/app/components/accordion/Accordion.tsx +++ b/frontend/src/app/components/accordion/Accordion.tsx @@ -1,8 +1,11 @@ -import { AccordionProps, Accordion as MuiAccordion } from "@mui/material"; -import { styled } from "@mui/material-pigment-css"; +import { + type AccordionProps, + Accordion as MuiAccordion, + styled, +} from "@mui/material"; const StyledMuiAccordion = styled(MuiAccordion)(({ theme }) => ({ - border: `1px solid ${theme.palette.grey[300]}`, + boxShadow: theme.shadows[4], "&:not(:last-child)": { borderBottom: 0, }, diff --git a/frontend/src/app/components/accordionSummary/AccordionSummary.tsx b/frontend/src/app/components/accordionSummary/AccordionSummary.tsx index 4e91204..b648371 100644 --- a/frontend/src/app/components/accordionSummary/AccordionSummary.tsx +++ b/frontend/src/app/components/accordionSummary/AccordionSummary.tsx @@ -1,9 +1,9 @@ import CaretIcon from "@icons/CaretIcon"; import { - AccordionSummaryProps, + type AccordionSummaryProps, AccordionSummary as MuiAccordionSummary, + styled, } from "@mui/material"; -import { styled } from "@mui/material-pigment-css"; const StyledMuiAccordionSummary = styled(MuiAccordionSummary)(({ theme }) => ({ flexDirection: "row-reverse", diff --git a/frontend/src/app/components/button/Button.tsx b/frontend/src/app/components/button/Button.tsx index d7abae9..489b1d4 100644 --- a/frontend/src/app/components/button/Button.tsx +++ b/frontend/src/app/components/button/Button.tsx @@ -1,5 +1,4 @@ -import { ButtonProps, Button as MuiButton } from "@mui/material"; -import { styled } from "@mui/material-pigment-css"; +import { type ButtonProps, Button as MuiButton, styled } from "@mui/material"; const StyledMuiButton = styled(MuiButton)(({ theme }) => ({ borderRadius: theme.customProperties.borderRadius.xs, diff --git a/frontend/src/app/containers/cookieConsent/CookieConsent.tsx b/frontend/src/app/components/cookieConsent/CookieConsent.tsx similarity index 90% rename from frontend/src/app/containers/cookieConsent/CookieConsent.tsx rename to frontend/src/app/components/cookieConsent/CookieConsent.tsx index b8633bf..030431e 100644 --- a/frontend/src/app/containers/cookieConsent/CookieConsent.tsx +++ b/frontend/src/app/components/cookieConsent/CookieConsent.tsx @@ -1,13 +1,13 @@ -import cookieTypes from "@containers/cookieConsent/cookieConsent.config"; +import { useCallback, useEffect, useState } from "react"; +import CookieBanner from "./cookieBanner/CookieBanner"; +import cookieTypes from "./cookieConsent.config"; import { COOKIE_CONSENT_DURATION, getCookieConsentPreferences, setCookiePreferencesInStorage, -} from "@containers/cookieConsent/cookieConsentHelper"; -import ICookiePreferences from "@containers/cookieConsent/interfaces/ICookiePreferences"; -import { useCallback, useEffect, useState } from "react"; -import CookieBanner from "./cookieBanner/CookieBanner"; +} from "./cookieConsentHelper"; import CookieModal from "./cookieModal/CookieModal"; +import type ICookiePreferences from "./interfaces/ICookiePreferences"; const ALL_COOKIE_TYPES = cookieTypes.map((cookieType) => cookieType.id); @@ -53,6 +53,7 @@ export default function CookieConsent() { cookiePreferences={cookiePreferences} setCookiePreferences={setCookiePreferences} /> + { diff --git a/frontend/src/app/containers/cookieConsent/cookieBanner/CookieBanner.tsx b/frontend/src/app/components/cookieConsent/cookieBanner/CookieBanner.tsx similarity index 80% rename from frontend/src/app/containers/cookieConsent/cookieBanner/CookieBanner.tsx rename to frontend/src/app/components/cookieConsent/cookieBanner/CookieBanner.tsx index 35475e1..5281198 100644 --- a/frontend/src/app/containers/cookieConsent/cookieBanner/CookieBanner.tsx +++ b/frontend/src/app/components/cookieConsent/cookieBanner/CookieBanner.tsx @@ -1,11 +1,11 @@ import Button from "@components/button/Button"; import Link from "@components/link/Link"; import Slide from "@components/slide/Slide"; -import Typography from "@mui/material/Typography"; import CookieIcon from "@icons/CookieIcon"; +import { Box, styled } from "@mui/material"; +import Typography from "@mui/material/Typography"; import { useTranslation } from "react-i18next"; import classes from "./cookie-banner.module.css"; -import { styled } from "@mui/material-pigment-css"; interface ICookieBanner { handleAcceptAll: () => void; @@ -15,7 +15,6 @@ interface ICookieBanner { } const StyledContainer = styled("div")(({ theme }) => ({ - zIndex: theme.zIndex.cookieBanner, gap: theme.spacing(4), padding: theme.spacing(2), backgroundColor: theme.palette.background.default, @@ -58,12 +57,14 @@ export default function CookieBanner({ return ( -
({ bottom: theme.spacing(2) })} + sx={(theme) => ({ + bottom: theme.spacing(2), + })} > -
({ display: "flex", alignItems: "center", @@ -73,25 +74,29 @@ export default function CookieBanner({
-
- + + {t("cookie_banner__description")} -
- + + {t("cookie_consent__learn_more")} -
-
-
+ + + -
({ gap: theme.spacing(2), @@ -101,7 +106,7 @@ export default function CookieBanner({ }, })} > -
({ marginTop: theme.spacing(1), @@ -112,12 +117,12 @@ export default function CookieBanner({ }, })} > - openModal()}> +
+ +
+
-
+
); } diff --git a/frontend/src/app/containers/cookieConsent/cookieBanner/cookie-banner.module.css b/frontend/src/app/components/cookieConsent/cookieBanner/cookie-banner.module.css similarity index 75% rename from frontend/src/app/containers/cookieConsent/cookieBanner/cookie-banner.module.css rename to frontend/src/app/components/cookieConsent/cookieBanner/cookie-banner.module.css index 5390453..247dae9 100644 --- a/frontend/src/app/containers/cookieConsent/cookieBanner/cookie-banner.module.css +++ b/frontend/src/app/components/cookieConsent/cookieBanner/cookie-banner.module.css @@ -1,6 +1,8 @@ .cookie-banner { width: 100%; position: fixed; + /* stylelint-disable-next-line custom-property-pattern */ + z-index: calc(var(--mui-zIndex-drawer) + 2); } .container { diff --git a/frontend/src/app/containers/cookieConsent/cookieConsent.config.ts b/frontend/src/app/components/cookieConsent/cookieConsent.config.ts similarity index 97% rename from frontend/src/app/containers/cookieConsent/cookieConsent.config.ts rename to frontend/src/app/components/cookieConsent/cookieConsent.config.ts index a7fb3c8..8e58a1b 100644 --- a/frontend/src/app/containers/cookieConsent/cookieConsent.config.ts +++ b/frontend/src/app/components/cookieConsent/cookieConsent.config.ts @@ -1,4 +1,4 @@ -import ICookieSection from "@containers/cookieConsent/interfaces/ICookieSection"; +import type ICookieSection from "./interfaces/ICookieSection"; const cookieConsentConfig: ICookieSection[] = [ { diff --git a/frontend/src/app/containers/cookieConsent/cookieConsentHelper.ts b/frontend/src/app/components/cookieConsent/cookieConsentHelper.ts similarity index 88% rename from frontend/src/app/containers/cookieConsent/cookieConsentHelper.ts rename to frontend/src/app/components/cookieConsent/cookieConsentHelper.ts index b5f6a73..7a52f7c 100644 --- a/frontend/src/app/containers/cookieConsent/cookieConsentHelper.ts +++ b/frontend/src/app/components/cookieConsent/cookieConsentHelper.ts @@ -1,4 +1,4 @@ -import ICookiePreferences from "@containers/cookieConsent/interfaces/ICookiePreferences"; +import type ICookiePreferences from "./interfaces/ICookiePreferences"; export const COOKIE_PREFERENCES = "COOKIE_PREFERENCES"; export const COOKIE_CONSENT_DURATION = 1000 * 60 * 60 * 24 * 365; diff --git a/frontend/src/app/containers/cookieConsent/cookieModal/CookieModal.tsx b/frontend/src/app/components/cookieConsent/cookieModal/CookieModal.tsx similarity index 70% rename from frontend/src/app/containers/cookieConsent/cookieModal/CookieModal.tsx rename to frontend/src/app/components/cookieConsent/cookieModal/CookieModal.tsx index 89a3dd6..75aeb47 100644 --- a/frontend/src/app/containers/cookieConsent/cookieModal/CookieModal.tsx +++ b/frontend/src/app/components/cookieConsent/cookieModal/CookieModal.tsx @@ -7,18 +7,19 @@ import Link from "@components/link/Link"; import Switch from "@components/switch/Switch"; import Table from "@components/table/Table"; import TableRow from "@components/tableRow/TableRow"; -import Typography from "@mui/material/Typography"; -import ICookieSection from "@containers/cookieConsent/interfaces/ICookieSection"; import CloseIcon from "@icons/CloseIcon"; +import { Box } from "@mui/material"; +import Typography from "@mui/material/Typography"; import { - Dispatch, - MouseEvent, - SetStateAction, - SyntheticEvent, + type Dispatch, + type MouseEvent, + type SetStateAction, + type SyntheticEvent, useCallback, useState, } from "react"; import { useTranslation } from "react-i18next"; +import type ICookieSection from "../interfaces/ICookieSection"; interface ICookieModal { open: boolean; @@ -64,15 +65,28 @@ export default function CookieModal({ ); return ( - -
-
-
+ + ({ margin: theme.customProperties.spacing.lg })}> + ({ + display: "flex", + flexDirection: "column", + gap: theme.customProperties.spacing.md, + marginBottom: theme.customProperties.spacing.md, + })} + > + {t("cookie_modal__title")} -
+ {t("cookie_modal__description_1")} @@ -80,8 +94,8 @@ export default function CookieModal({ {t("cookie_modal__description_2")} ({ marginRight: theme.customProperties.spacing.a })} + to={t("cookie_consent_link")} underline="always" external > @@ -89,8 +103,15 @@ export default function CookieModal({ {t("cookie_consent__learn_more")} -
-
+ + + ({ + display: "flex", + flexDirection: "column", + gap: theme.customProperties.spacing.lg, + })} + > {t("cookie_modal__description_3")} @@ -103,7 +124,12 @@ export default function CookieModal({ onChange={handleExpand(index)} > - + ({ + marginRight: theme.customProperties.spacing.a, + })} + > {t(cookieType.title)} ({ + marginX: theme.customProperties.spacing.md, + marginBottom: theme.customProperties.spacing.md, + })} > {t(description)} ))} {cookieType.cookies && ( -
+ ({ + margin: theme.customProperties.spacing.md, + })} + > ))}
-
+
)} ))}
-
+ ({ + display: "flex", + flexDirection: "column", + gap: theme.customProperties.spacing.sm, + justifyContent: "center", + })} + > -
-
- + + +
); } diff --git a/frontend/src/app/containers/cookieConsent/interfaces/ICookieInfo.ts b/frontend/src/app/components/cookieConsent/interfaces/ICookieInfo.ts similarity index 100% rename from frontend/src/app/containers/cookieConsent/interfaces/ICookieInfo.ts rename to frontend/src/app/components/cookieConsent/interfaces/ICookieInfo.ts diff --git a/frontend/src/app/containers/cookieConsent/interfaces/ICookiePreferences.ts b/frontend/src/app/components/cookieConsent/interfaces/ICookiePreferences.ts similarity index 100% rename from frontend/src/app/containers/cookieConsent/interfaces/ICookiePreferences.ts rename to frontend/src/app/components/cookieConsent/interfaces/ICookiePreferences.ts diff --git a/frontend/src/app/containers/cookieConsent/interfaces/ICookieSection.ts b/frontend/src/app/components/cookieConsent/interfaces/ICookieSection.ts similarity index 66% rename from frontend/src/app/containers/cookieConsent/interfaces/ICookieSection.ts rename to frontend/src/app/components/cookieConsent/interfaces/ICookieSection.ts index 2d30f94..32d4771 100644 --- a/frontend/src/app/containers/cookieConsent/interfaces/ICookieSection.ts +++ b/frontend/src/app/components/cookieConsent/interfaces/ICookieSection.ts @@ -1,4 +1,4 @@ -import ICookieInfo from "@containers/cookieConsent/interfaces/ICookieInfo"; +import type ICookieInfo from "./ICookieInfo"; export default interface ICookieSection { id: string; diff --git a/frontend/src/app/containers/debugBanner/DebugBanner.tsx b/frontend/src/app/components/debugBanner/DebugBanner.tsx similarity index 50% rename from frontend/src/app/containers/debugBanner/DebugBanner.tsx rename to frontend/src/app/components/debugBanner/DebugBanner.tsx index 6598590..9c4753f 100644 --- a/frontend/src/app/containers/debugBanner/DebugBanner.tsx +++ b/frontend/src/app/components/debugBanner/DebugBanner.tsx @@ -1,31 +1,39 @@ import Button from "@components/button/Button"; -import homeRoute from "@pages/home/home.route"; -import uikitRoute from "@pages/uikit/uikit.route"; -import classNames from "classnames"; +import { Box } from "@mui/material"; +import { route as dashboardRoute } from "@routes/authenticated-routes/dashboard/route"; +import { route as homeRoute } from "@routes/public-routes/home/route"; +import { route as uikitRoute } from "@routes/public-routes/uikit/route"; +import i18next from "@shared/i18n"; +import clsx from "clsx"; import { useState } from "react"; import { useTranslation } from "react-i18next"; -import { Link } from "react-router-dom"; +import { Link } from "react-router"; import classes from "./debug-banner.module.css"; const HIDE_BANNER_UNTIL_KEY = "hideBannerUntil"; const FOUR_HOURS = 4 * 60 * 60 * 1000; +const env = import.meta.env.VITE_ENV; export default function DebugBanner() { const [t] = useTranslation(); - const hideBannerUntil = localStorage.getItem(HIDE_BANNER_UNTIL_KEY); + const hideBannerUntil = localStorage.getItem(HIDE_BANNER_UNTIL_KEY); const [isBannerOpen, setIsBannerOpen] = useState( hideBannerUntil ? Number(hideBannerUntil) < Date.now() : true, ); const pages = [ { - name: t(homeRoute.name), - to: homeRoute.paths[t("locale__key")], + name: t("home__page_title"), + to: homeRoute.paths[i18next.language], + }, + { + name: t("dashboard__page_title"), + to: dashboardRoute.paths[i18next.language], }, { - name: t(uikitRoute.name), - to: uikitRoute.paths[t("locale__key")], + name: t("uikit__page_title"), + to: uikitRoute.paths[i18next.language], }, ]; @@ -37,28 +45,29 @@ export default function DebugBanner() { ); }; - if (__ENV__ === "prod" || !isBannerOpen) { + if (env === "prod" || !isBannerOpen) { return null; } return ( -
-
+ ({ zIndex: theme.zIndex.debugBanner, })} - className={classNames(classes["content"], { - [classes["local"]]: __ENV__ === "local", - [classes["dev"]]: __ENV__ === "dev", - [classes["qa"]]: __ENV__ === "qa", - [classes["uat"]]: __ENV__ === "uat", - [classes["staging"]]: __ENV__ === "staging", + className={clsx(classes["content"], { + [classes["local"]]: env === "local", + [classes["dev"]]: env === "dev", + [classes["qa"]]: env === "qa", + [classes["uat"]]: env === "uat", + [classes["staging"]]: env === "staging", })} >
{pages.map((page, i) => ( - + ))}
@@ -66,7 +75,7 @@ export default function DebugBanner() { -
+
); } diff --git a/frontend/src/app/containers/debugBanner/debug-banner.module.css b/frontend/src/app/components/debugBanner/debug-banner.module.css similarity index 76% rename from frontend/src/app/containers/debugBanner/debug-banner.module.css rename to frontend/src/app/components/debugBanner/debug-banner.module.css index df5427b..44086a3 100644 --- a/frontend/src/app/containers/debugBanner/debug-banner.module.css +++ b/frontend/src/app/components/debugBanner/debug-banner.module.css @@ -2,6 +2,8 @@ position: fixed; width: 100%; bottom: 0; + /* stylelint-disable-next-line custom-property-pattern */ + z-index: calc(var(--mui-zIndex-drawer) + 1); } .content { diff --git a/frontend/src/app/components/dialog/Dialog.tsx b/frontend/src/app/components/dialog/Dialog.tsx index 0a20a88..117aecb 100644 --- a/frontend/src/app/components/dialog/Dialog.tsx +++ b/frontend/src/app/components/dialog/Dialog.tsx @@ -1,6 +1,4 @@ -import Slide from "@components/slide/Slide"; -import { DialogProps, Dialog as MuiDialog } from "@mui/material"; -import { styled } from "@mui/material-pigment-css"; +import { type DialogProps, Dialog as MuiDialog, styled } from "@mui/material"; const StyledMuiDialog = styled(MuiDialog)(({ theme }) => ({ "& .MuiDialog-paper": { @@ -10,14 +8,7 @@ const StyledMuiDialog = styled(MuiDialog)(({ theme }) => ({ export default function Dialog({ ...props }: DialogProps) { return ( - + {props.children} ); diff --git a/frontend/src/app/components/errorHelperText/ErrorHelperText.tsx b/frontend/src/app/components/errorHelperText/ErrorHelperText.tsx index c469b37..a43739e 100644 --- a/frontend/src/app/components/errorHelperText/ErrorHelperText.tsx +++ b/frontend/src/app/components/errorHelperText/ErrorHelperText.tsx @@ -1,53 +1,47 @@ +import { Box, useTheme } from "@mui/material"; import Typography from "@mui/material/Typography"; -import { RefObject, useEffect, useRef, useState } from "react"; +import { type RefObject, useEffect, useRef, useState } from "react"; import { CSSTransition, TransitionGroup } from "react-transition-group"; -import { css } from "@mui/material-pigment-css"; +import classes from "./errorHelperText.module.css"; interface IErrorBox { message: string; } -const enter = css` - opacity: 0; -`; - -const enterActive = css(({ theme }) => ({ - opacity: 1, - transition: `opacity ${theme.transitions.duration.short}ms ${theme.transitions.easing.easeIn}`, -})); - -const exit = css` - opacity: 0; -`; - -const exitActive = css(({ theme }) => ({ - opacity: 0, - transition: `opacity ${theme.transitions.duration.short}ms ${theme.transitions.easing.easeOut}`, -})); - export default function ErrorHelperText({ message }: IErrorBox) { + const theme = useTheme(); const [activeMessage, setActiveMessage] = useState( undefined, ); - const nodeRef: RefObject = useRef(null); + const nodeRef: RefObject = useRef(null); useEffect(() => setActiveMessage(message), [message]); return ( - + {activeMessage && ( -
({ marginTop: theme.spacing(0), @@ -56,7 +50,7 @@ export default function ErrorHelperText({ message }: IErrorBox) { })} > {activeMessage} -
+
)}
diff --git a/frontend/src/app/components/errorHelperText/errorHelperText.module.css b/frontend/src/app/components/errorHelperText/errorHelperText.module.css new file mode 100644 index 0000000..795faa3 --- /dev/null +++ b/frontend/src/app/components/errorHelperText/errorHelperText.module.css @@ -0,0 +1,17 @@ +.enter { + opacity: 0; +} + +.enter-active { + opacity: 1; + transition: opacity var(--transition-duration) var(--transition-easing-in); +} + +.exit { + opacity: 0; +} + +.exit-active { + opacity: 0; + transition: opacity var(--transition-duration) var(--transition-easing-out); +} diff --git a/frontend/src/app/components/fieldHelperText/FieldHelperText.tsx b/frontend/src/app/components/fieldHelperText/FieldHelperText.tsx index 73d2762..ebea487 100644 --- a/frontend/src/app/components/fieldHelperText/FieldHelperText.tsx +++ b/frontend/src/app/components/fieldHelperText/FieldHelperText.tsx @@ -44,7 +44,13 @@ export default function FieldHelperText({ } return ( - + ({ + marginTop: theme.customProperties.spacing.xxs, + marginLeft: theme.customProperties.spacing.md, + })} + > {helperText} ); diff --git a/frontend/src/app/components/iconButton/IconButton.tsx b/frontend/src/app/components/iconButton/IconButton.tsx index 74ffdf5..4e5f545 100644 --- a/frontend/src/app/components/iconButton/IconButton.tsx +++ b/frontend/src/app/components/iconButton/IconButton.tsx @@ -1,4 +1,7 @@ -import { IconButtonProps, IconButton as MuiIconButton } from "@mui/material"; +import { + type IconButtonProps, + IconButton as MuiIconButton, +} from "@mui/material"; export default function IconButton({ ...props }: IconButtonProps) { return ; diff --git a/frontend/src/app/components/layout/Layout.tsx b/frontend/src/app/components/layout/Layout.tsx deleted file mode 100644 index 377555e..0000000 --- a/frontend/src/app/components/layout/Layout.tsx +++ /dev/null @@ -1,80 +0,0 @@ -import { ReactNode } from "react"; -import { styled } from "@mui/material-pigment-css"; - -interface ILayout { - children: ReactNode; - className?: string; -} - -const LayoutContainer = styled("main")(({ theme }) => ({ - width: "100%", - display: "flex", - flexDirection: "column", - flexGrow: 1, - padding: theme.spacing(2), - alignItems: "center", - backgroundColor: "#fafafb", // TODO: get this from theme - - [theme.breakpoints.up("md")]: { - padding: theme.spacing(4), - }, - - [theme.breakpoints.up("lg")]: { - padding: theme.spacing(6), - }, - - [theme.breakpoints.up("xl")]: { - padding: theme.spacing(8), - }, - - "> .content": { - maxWidth: "82.5rem", - width: "100%", - }, -})); - -function Container({ children, className }: ILayout) { - return ( - -
{children}
-
- ); -} - -const LayoutAuth = styled("main")(({ theme }) => ({ - width: "100%", - display: "flex", - flexDirection: "column", - justifyContent: "center", - alignItems: "center", - backgroundColor: "#fafafb", // TODO: get this from theme - - [theme.breakpoints.up("xs")]: { - flex: "1 1 auto", - }, - - "> .content": { - maxWidth: "82.5rem", - width: "100%", - - [theme.breakpoints.up("xs")]: { - maxWidth: 442, - padding: theme.spacing(2), - }, - }, -})); - -function Auth({ children, className }: ILayout) { - return ( - -
{children}
-
- ); -} - -const Layout = { - Container, - Auth, -}; - -export default Layout; diff --git a/frontend/src/app/components/link/Link.tsx b/frontend/src/app/components/link/Link.tsx index f60faa7..ad49f5e 100644 --- a/frontend/src/app/components/link/Link.tsx +++ b/frontend/src/app/components/link/Link.tsx @@ -1,17 +1,11 @@ import ExternalLinkOutlined from "@icons/ExternalLinkOutlined"; -import { LinkProps, Link as MuiLink } from "@mui/material"; -import { styled } from "@mui/material-pigment-css"; +import { Link as MuiLink, type LinkProps as MuiLinkProps } from "@mui/material"; +import { Link as RRLink, type LinkProps as RRLinkProps } from "react-router"; -const StyledMuiLink = styled(MuiLink)(({ theme }) => ({ - display: "flex", - color: theme.palette.primary.main, - textDecorationColor: "unset", - cursor: "pointer", -})); - -interface ILink extends LinkProps { - external?: boolean; -} +type ILink = MuiLinkProps & + RRLinkProps & { + external?: boolean; + }; export default function Link({ children, @@ -22,14 +16,25 @@ export default function Link({ ...props }: ILink) { return ( - ({ + display: "inline-flex", + alignItems: "center", + color: theme.palette.primary.main, + textDecorationColor: "unset", + cursor: "pointer", + ".external-link": { + marginLeft: theme.customProperties.spacing.xxs, + }, + })} + component={RRLink} underline={underline} rel={rel || external ? "noreferrer" : undefined} target={target || external ? "_blank" : undefined} > {children} - {external && } - + {external && } + ); } diff --git a/frontend/src/app/components/loading/Loading.tsx b/frontend/src/app/components/loading/Loading.tsx index 5bc0f87..af78f07 100755 --- a/frontend/src/app/components/loading/Loading.tsx +++ b/frontend/src/app/components/loading/Loading.tsx @@ -1,40 +1,39 @@ -import Spinner from "@components/spinner/Spinner"; -import { RefObject, useRef } from "react"; +import { Box, CircularProgress, useTheme } from "@mui/material"; +import { type RefObject, useRef } from "react"; import { CSSTransition, TransitionGroup } from "react-transition-group"; import classes from "./loading.module.css"; -import { css } from "@mui/material-pigment-css"; - -const enterActive = css(({ theme }) => ({ - opacity: 1, - transition: `opacity ${theme.transitions.duration.standard}ms ${theme.transitions.easing.easeIn}`, -})); - -const exitActive = css(({ theme }) => ({ - opacity: 0, - transition: `opacity ${theme.transitions.duration.standard}ms ${theme.transitions.easing.easeOut}`, -})); interface ILoading { isLoading?: boolean; } export default function Loading({ isLoading = true }: ILoading) { - const nodeRef: RefObject = useRef(null); + const theme = useTheme(); + const nodeRef: RefObject = useRef(null); return ( - + {isLoading && ( -
({ @@ -43,9 +42,9 @@ export default function Loading({ isLoading = true }: ILoading) { })} >
- +
-
+
)}
diff --git a/frontend/src/app/components/loading/loading.module.css b/frontend/src/app/components/loading/loading.module.css index c180671..caac33a 100644 --- a/frontend/src/app/components/loading/loading.module.css +++ b/frontend/src/app/components/loading/loading.module.css @@ -1,20 +1,21 @@ .loading { - display: flex; - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; -} - -.spinner { - margin: auto; + display: block; } .enter { opacity: 0; } -.exit { +.enter-active { opacity: 1; + transition: opacity var(--transition-duration) var(--transition-easing-in); +} + +.exit { + opacity: 0; +} + +.exit-active { + opacity: 0; + transition: opacity var(--transition-duration) var(--transition-easing-out); } diff --git a/frontend/src/app/components/slide/Slide.tsx b/frontend/src/app/components/slide/Slide.tsx index 29eb63f..d4fde3a 100644 --- a/frontend/src/app/components/slide/Slide.tsx +++ b/frontend/src/app/components/slide/Slide.tsx @@ -1,5 +1,5 @@ -import { Slide as MuiSlide, SlideProps } from "@mui/material"; -import { forwardRef, Ref } from "react"; +import { Slide as MuiSlide, type SlideProps } from "@mui/material"; +import { forwardRef, type Ref } from "react"; const Slide = forwardRef(function Slide( { direction = "up", timeout = 500, ...props }: SlideProps, diff --git a/frontend/src/app/components/spinner/Spinner.tsx b/frontend/src/app/components/spinner/Spinner.tsx deleted file mode 100755 index 0ee64a0..0000000 --- a/frontend/src/app/components/spinner/Spinner.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import classes from "./spinner.module.css"; - -export default function Spinner() { - return ( - ({ - backgroundImage: `linear-gradient(${theme.palette.primary.dark} 16px,transparent 0), - linear-gradient(${theme.palette.primary.main} 16px, transparent 0), - linear-gradient(${theme.palette.primary.main} 16px, transparent 0), - linear-gradient(${theme.palette.primary.dark} 16px, transparent 0)`, - })} - className={classes["spinner"]} - /> - ); -} diff --git a/frontend/src/app/components/spinner/spinner.module.css b/frontend/src/app/components/spinner/spinner.module.css deleted file mode 100644 index d74fb71..0000000 --- a/frontend/src/app/components/spinner/spinner.module.css +++ /dev/null @@ -1,34 +0,0 @@ -@keyframes spinner-rotate { - 0% { - width: 64px; - height: 64px; - transform: rotate(0deg); - } - - 50% { - width: 30px; - height: 30px; - transform: rotate(180deg); - } - - 100% { - width: 64px; - height: 64px; - transform: rotate(360deg); - } -} - -.spinner { - width: 64px; - height: 64px; - display: block; - position: relative; - background-repeat: no-repeat; - background-size: 16px 16px; - background-position: - left top, - left bottom, - right top, - right bottom; - animation: spinner-rotate 1s linear infinite; -} diff --git a/frontend/src/app/components/switch/Switch.tsx b/frontend/src/app/components/switch/Switch.tsx index 0b66d26..178602e 100644 --- a/frontend/src/app/components/switch/Switch.tsx +++ b/frontend/src/app/components/switch/Switch.tsx @@ -1,5 +1,4 @@ -import { Switch as MuiSwitch, SwitchProps } from "@mui/material"; -import { styled } from "@mui/material-pigment-css"; +import { Switch as MuiSwitch, styled, type SwitchProps } from "@mui/material"; const StyledMuiSwitch = styled(MuiSwitch)(({ theme }) => ({ transform: "scale(1.125)", diff --git a/frontend/src/app/components/table/Table.tsx b/frontend/src/app/components/table/Table.tsx index bfb550e..eaf715e 100644 --- a/frontend/src/app/components/table/Table.tsx +++ b/frontend/src/app/components/table/Table.tsx @@ -4,7 +4,7 @@ import { TableCell, TableContainer, TableHead, - TableProps, + type TableProps, TableRow, } from "@mui/material"; diff --git a/frontend/src/app/components/tableRow/TableRow.tsx b/frontend/src/app/components/tableRow/TableRow.tsx index b1efec8..82dcb0d 100644 --- a/frontend/src/app/components/tableRow/TableRow.tsx +++ b/frontend/src/app/components/tableRow/TableRow.tsx @@ -1,9 +1,9 @@ import { TableRow as MuiTableRow, + styled, TableCell, - TableRowProps, + type TableRowProps, } from "@mui/material"; -import { styled } from "@mui/material-pigment-css"; interface ITableRow extends TableRowProps { columns: string[]; diff --git a/frontend/src/app/components/textField/TextField.tsx b/frontend/src/app/components/textField/TextField.tsx index a71e29f..eea64ba 100644 --- a/frontend/src/app/components/textField/TextField.tsx +++ b/frontend/src/app/components/textField/TextField.tsx @@ -1,6 +1,9 @@ -import { TextField as MuiTextField, TextFieldProps } from "@mui/material"; -import { styled } from "@mui/material-pigment-css"; -import { ChangeEvent } from "react"; +import { + TextField as MuiTextField, + styled, + type TextFieldProps, +} from "@mui/material"; +import { type ChangeEvent } from "react"; interface ITextField extends Omit { onChange: (value: string) => void; diff --git a/frontend/src/app/components/toast/Toast.tsx b/frontend/src/app/components/toast/Toast.tsx new file mode 100644 index 0000000..4206b25 --- /dev/null +++ b/frontend/src/app/components/toast/Toast.tsx @@ -0,0 +1,28 @@ +import { lazy, useEffect, useState } from "react"; +const ToastContainer = lazy(() => + import("react-toastify").then((module) => ({ + default: module.ToastContainer, + })), +); + +// We need to wrap react-toastify here to avoid the hydration issue on app startup. +export const Toast = () => { + const [isClient, setIsClient] = useState(false); + + useEffect(() => { + setIsClient(true); + }, []); + + return isClient ? ( + + ) : null; +}; diff --git a/frontend/src/app/components/uikit/uikitBlock/UikitBlock.tsx b/frontend/src/app/components/uikit/uikitBlock/UikitBlock.tsx index aabe4e4..135324b 100644 --- a/frontend/src/app/components/uikit/uikitBlock/UikitBlock.tsx +++ b/frontend/src/app/components/uikit/uikitBlock/UikitBlock.tsx @@ -1,9 +1,10 @@ -import { ReactNode } from "react"; -import { Highlight, themes } from "prism-react-renderer"; -import Typography from "@mui/material/Typography"; import Button from "@components/button/Button"; -import { toast } from "react-toastify"; +import { Box } from "@mui/material"; +import Typography from "@mui/material/Typography"; +import { Highlight, themes } from "prism-react-renderer"; +import { type ReactNode } from "react"; import { useTranslation } from "react-i18next"; +import { toast } from "react-toastify"; interface IUikitBlock { id: string; @@ -22,11 +23,12 @@ export default function UikitBlock({ const onClickCopyBtn = async (content: string) => { await navigator.clipboard.writeText(content); - toast.success(t("global__clipboard_copy")); + toast.success(t("uikit__clipboard_copy")); }; return ( -
- {title} + + {title} + {children} {codeBlock && ( {({ style, tokens, getLineProps, getTokenProps }) => ( -
 ({
                 borderRadius: theme.customProperties.borderRadius.sm,
@@ -57,7 +63,8 @@ export default function UikitBlock({
                 
))} -
({ top: theme.spacing(1), right: theme.spacing(1), @@ -71,11 +78,11 @@ export default function UikitBlock({ > Copy -
- + + )} )} - + ); } diff --git a/frontend/src/app/components/uikit/uikitColor/UikitColor.tsx b/frontend/src/app/components/uikit/uikitColor/UikitColor.tsx index 23adc9c..1fa1ae7 100644 --- a/frontend/src/app/components/uikit/uikitColor/UikitColor.tsx +++ b/frontend/src/app/components/uikit/uikitColor/UikitColor.tsx @@ -1,6 +1,5 @@ -import { Palette, PaletteColor } from "@mui/material"; +import { type Palette, type PaletteColor, useTheme } from "@mui/material"; import Grid from "@mui/material/Grid2"; -import { useTheme } from "@mui/material-pigment-css"; import { useCallback, useMemo } from "react"; interface IUikitColor { @@ -17,7 +16,11 @@ export default function UikitColor({ color }: IUikitColor) { const colorItem = useCallback((bgColor: string, label: string) => { return ( ({ display: "none", @@ -28,14 +30,21 @@ function UikitNav({ items }: IUikitNav) { })} > Components -
    + ({ + display: "flex", + flexDirection: "column", + gap: theme.customProperties.spacing.xs, + })} + > {items.map((item) => (
  • - {item.text} + {item.text}
  • ))} -
- + + ); } diff --git a/frontend/src/app/containers/authProvider/AuthProvider.tsx b/frontend/src/app/containers/authProvider/AuthProvider.tsx deleted file mode 100644 index 9968b6d..0000000 --- a/frontend/src/app/containers/authProvider/AuthProvider.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import Loading from "@components/loading/Loading"; -import EPermission from "@enums/EPermission"; -import loginRoute from "@pages/login/login.route"; -import { getMe } from "@services/users/userService"; -import { ACCESS_TOKEN } from "@shared/constants"; -import { useUserStore } from "@stores/userStore"; -import { ReactNode, useEffect } from "react"; -import { useTranslation } from "react-i18next"; -import { useNavigate } from "react-router-dom"; -import { toast } from "react-toastify"; - -export default function AuthProvider({ - children, - permission, -}: { - children: ReactNode; - permission: EPermission; -}) { - const [t] = useTranslation(); - const navigate = useNavigate(); - const { setUser, user } = useUserStore(); - - useEffect(() => { - const accessToken = localStorage.getItem(ACCESS_TOKEN); - if (!accessToken) { - navigate(loginRoute.paths[t("locale__key")], { replace: true }); - } else if (!user) { - getMe() - .then(({ data }) => { - setUser(data); - }) - .catch((error) => { - if (error.response?.status === 401) { - toast.error(t("errors__expired_session"), { - toastId: "expired-session", - }); - localStorage.removeItem(ACCESS_TOKEN); - } else { - toast.error(t("errors__generic"), { - toastId: "generic", - }); - } - navigate(loginRoute.paths[t("locale__key")], { replace: true }); - }); - } - - // TODO: validate permission - }, [navigate, permission, setUser, t, user]); - - return !user ? : children; -} diff --git a/frontend/src/app/forms/auth/loginForm/LoginForm.tsx b/frontend/src/app/forms/auth/loginForm/LoginForm.tsx deleted file mode 100644 index c088a0c..0000000 --- a/frontend/src/app/forms/auth/loginForm/LoginForm.tsx +++ /dev/null @@ -1,135 +0,0 @@ -import Button from "@components/button/Button"; -import FieldHelperText from "@components/fieldHelperText/FieldHelperText"; -import TextField from "@components/textField/TextField"; -import loginFormSchema from "@forms/auth/loginForm/loginForm.schema"; -import homeRoute from "@pages/home/home.route"; -import { postLogin } from "@services/auth/authService"; -import ILogin from "@services/auth/interfaces/ILogin"; -import { ACCESS_TOKEN, REFRESH_TOKEN } from "@shared/constants"; -import { useUserStore } from "@stores/userStore"; -import { - Dispatch, - FormEvent, - SetStateAction, - useCallback, - useState, -} from "react"; -import { useTranslation } from "react-i18next"; -import { useNavigate } from "react-router-dom"; -import { toast } from "react-toastify"; -import { ValidationError } from "yup"; - -interface ILoginForm { - setIsLoading: Dispatch>; -} - -export default function LoginForm({ setIsLoading }: ILoginForm) { - const { t } = useTranslation(); - const navigate = useNavigate(); - const { setUser } = useUserStore(); - const [loginForm, setLoginForm] = useState({ - username: "", - password: "", - }); - const [loginFormValidated, setLoginFormValidated] = useState(false); - const [formErrors, setFormErrors] = useState([]); - - const onSubmit = useCallback( - (event: FormEvent) => { - event.preventDefault(); - try { - setLoginFormValidated(true); - loginFormSchema.validateSync(loginForm, { - abortEarly: false, - }); - setFormErrors([]); - setIsLoading(true); - postLogin(loginForm) - .then(({ data }) => { - if (data.token && data.refreshToken) { - localStorage.setItem(ACCESS_TOKEN, data.token); - localStorage.setItem(REFRESH_TOKEN, data.refreshToken); - } - setUser(data); - navigate(homeRoute.paths[t("locale__key")]); - }) - .catch((error) => { - if (error.response?.data?.message === "Invalid credentials") { - toast.error(t("errors__invalid_credentials"), { - toastId: "invalid-credentials", - }); - } else { - toast.error(t("errors__generic"), { - toastId: "generic", - }); - } - }) - .finally(() => { - setIsLoading(false); - }); - } catch (error) { - if (error instanceof ValidationError) { - setFormErrors(error.inner); - } - } - }, - [loginForm, navigate, setIsLoading, setUser, t], - ); - - const onValidate = useCallback(() => { - try { - if (loginFormValidated) { - loginFormSchema.validateSync(loginForm, { - abortEarly: false, - }); - setFormErrors([]); - } - } catch (error) { - if (error instanceof ValidationError) { - setFormErrors(error.inner); - } - } - }, [loginForm, loginFormValidated]); - - return ( -
-
- - setLoginForm((prevState) => ({ - ...prevState, - username: value, - })) - } - label={t("login__username")} - /> - -
-
- - setLoginForm((prevState) => ({ - ...prevState, - password: value, - })) - } - label={t("login__password")} - /> - -
- -
- ); -} diff --git a/frontend/src/app/hocs/withAuth.tsx b/frontend/src/app/hocs/withAuth.tsx deleted file mode 100644 index 0f8d279..0000000 --- a/frontend/src/app/hocs/withAuth.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import AuthProvider from "@containers/authProvider/AuthProvider"; -import EPermission from "@enums/EPermission"; -import { ComponentType } from "react"; - -export default function withAuth( - WrappedComponent: ComponentType, - permission: EPermission, -) { - return function WrappedWithAuth() { - return ( - - - - ); - }; -} diff --git a/frontend/src/app/hooks/useChangeLanguage.ts b/frontend/src/app/hooks/useChangeLanguage.ts new file mode 100644 index 0000000..c8f0f56 --- /dev/null +++ b/frontend/src/app/hooks/useChangeLanguage.ts @@ -0,0 +1,19 @@ +import i18n from "@shared/i18n"; +import { useCallback } from "react"; +import { useTranslation } from "react-i18next"; +import { useNavigate } from "react-router"; +import { findRoute } from "src/routes"; + +export const useChangeLanguage = () => { + const navigate = useNavigate(); + const { t } = useTranslation(); + + const onChangeLanguage = useCallback(() => { + const { search } = location; + const newLocation = findRoute(location.pathname, t("locale__switch_key")); + navigate(newLocation + search, { replace: true }); + void i18n.changeLanguage(t("locale__switch_key")); + }, [navigate, t]); + + return { onChangeLanguage }; +}; diff --git a/frontend/src/app/icons/AddRounded.tsx b/frontend/src/app/icons/AddRounded.tsx index 75454b2..a25d57e 100644 --- a/frontend/src/app/icons/AddRounded.tsx +++ b/frontend/src/app/icons/AddRounded.tsx @@ -1,4 +1,5 @@ -import IIcon from "./IIcon"; +import { Box } from "@mui/material"; +import type IIcon from "./IIcon"; export default function AddRounded({ className, @@ -16,7 +17,8 @@ export default function AddRounded({ xmlns="http://www.w3.org/2000/svg" > {alt} - ({ fill: theme.palette.common.white, diff --git a/frontend/src/app/icons/CaretIcon.tsx b/frontend/src/app/icons/CaretIcon.tsx index 2abf125..2d0abed 100644 --- a/frontend/src/app/icons/CaretIcon.tsx +++ b/frontend/src/app/icons/CaretIcon.tsx @@ -1,4 +1,5 @@ -import IIcon from "./IIcon"; +import { Box } from "@mui/material"; +import type IIcon from "./IIcon"; export default function CaretIcon({ className, @@ -16,7 +17,8 @@ export default function CaretIcon({ xmlns="http://www.w3.org/2000/svg" > {alt} - ({ fill: theme.palette.grey[800], diff --git a/frontend/src/app/icons/CloseIcon.tsx b/frontend/src/app/icons/CloseIcon.tsx index f6fd101..8ee942f 100644 --- a/frontend/src/app/icons/CloseIcon.tsx +++ b/frontend/src/app/icons/CloseIcon.tsx @@ -1,4 +1,5 @@ -import IIcon from "./IIcon"; +import { Box } from "@mui/material"; +import type IIcon from "./IIcon"; export default function CloseIcon({ className, @@ -16,7 +17,8 @@ export default function CloseIcon({ xmlns="http://www.w3.org/2000/svg" > {alt} - ({ fill: theme.palette.grey[800], diff --git a/frontend/src/app/icons/CookieIcon.tsx b/frontend/src/app/icons/CookieIcon.tsx index e5258ca..58867c4 100644 --- a/frontend/src/app/icons/CookieIcon.tsx +++ b/frontend/src/app/icons/CookieIcon.tsx @@ -1,4 +1,5 @@ -import IIcon from "./IIcon"; +import { Box } from "@mui/material"; +import type IIcon from "./IIcon"; export default function CookieIcon({ className, @@ -7,7 +8,8 @@ export default function CookieIcon({ alt = "Cookie Icon", }: IIcon) { return ( - - + ); } diff --git a/frontend/src/app/icons/ExternalLinkOutlined.tsx b/frontend/src/app/icons/ExternalLinkOutlined.tsx index 1f9076a..df2f92b 100644 --- a/frontend/src/app/icons/ExternalLinkOutlined.tsx +++ b/frontend/src/app/icons/ExternalLinkOutlined.tsx @@ -1,4 +1,5 @@ -import IIcon from "./IIcon"; +import { Box } from "@mui/material"; +import type IIcon from "./IIcon"; export default function ExternalLinkOutlined({ className, @@ -16,7 +17,8 @@ export default function ExternalLinkOutlined({ xmlns="http://www.w3.org/2000/svg" > {alt} - ({ fill: theme.palette.primary.main, diff --git a/frontend/src/app/icons/LogoutRounded.tsx b/frontend/src/app/icons/LogoutRounded.tsx index 796094b..67d7d3e 100644 --- a/frontend/src/app/icons/LogoutRounded.tsx +++ b/frontend/src/app/icons/LogoutRounded.tsx @@ -1,4 +1,5 @@ -import IIcon from "./IIcon"; +import { Box } from "@mui/material"; +import type IIcon from "./IIcon"; export default function LogoutRounded({ className, @@ -16,13 +17,15 @@ export default function LogoutRounded({ xmlns="http://www.w3.org/2000/svg" > {alt} - ({ fill: theme.palette.common.white, })} /> - ({ fill: theme.palette.common.white, diff --git a/frontend/src/app/pages/dashbaord/Dashboard.tsx b/frontend/src/app/pages/dashbaord/Dashboard.tsx deleted file mode 100644 index a968fe7..0000000 --- a/frontend/src/app/pages/dashbaord/Dashboard.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import Layout from "@components/layout/Layout"; - -function Home() { - return DASHBOARD; -} - -export default Home; diff --git a/frontend/src/app/pages/dashbaord/dashboard.route.tsx b/frontend/src/app/pages/dashbaord/dashboard.route.tsx deleted file mode 100755 index 5bb90e7..0000000 --- a/frontend/src/app/pages/dashbaord/dashboard.route.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import en from "@assets/locales/en.json"; -import fr from "@assets/locales/fr.json"; -import { IRoute } from "@routes/interfaces/IRoute"; -import { lazy } from "react"; - -const dashboardRoute: IRoute = { - name: "dashboard__page_title", - component: lazy(() => import("./withAuthDashboard")), - paths: { - en: `/${en.locale__key}/${en.routes__dashboard}`, - fr: `/${fr.locale__key}/${fr.routes__dashboard}`, - }, -}; - -export default dashboardRoute; diff --git a/frontend/src/app/pages/dashbaord/withAuthDashboard.tsx b/frontend/src/app/pages/dashbaord/withAuthDashboard.tsx deleted file mode 100644 index 4cdd944..0000000 --- a/frontend/src/app/pages/dashbaord/withAuthDashboard.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import EPermission from "@enums/EPermission"; -import withAuth from "@hocs/withAuth"; -import Dashboard from "@pages/dashbaord/Dashboard"; - -const withAuthDashboard = withAuth(Dashboard, EPermission.DashboardRead); - -export default withAuthDashboard; diff --git a/frontend/src/app/pages/home/Home.tsx b/frontend/src/app/pages/home/Home.tsx deleted file mode 100644 index a968ac9..0000000 --- a/frontend/src/app/pages/home/Home.tsx +++ /dev/null @@ -1,93 +0,0 @@ -import logo from "@assets/images/logo.png"; -import reactLogo from "@assets/react.svg"; -import Button from "@components/button/Button"; -import Layout from "@components/layout/Layout"; -import Typography from "@mui/material/Typography"; -import AddRounded from "@icons/AddRounded"; -import LogoutRounded from "@icons/LogoutRounded"; -import loginRoute from "@pages/login/login.route"; -import { ACCESS_TOKEN, REFRESH_TOKEN } from "@shared/constants"; -import { useUserStore } from "@stores/userStore"; -import { useCallback, useState } from "react"; -import { useTranslation } from "react-i18next"; -import { useNavigate } from "react-router-dom"; -import viteLogo from "/vite.svg"; - -function Home() { - const { t } = useTranslation(); - const { user, setUser } = useUserStore(); - const navigate = useNavigate(); - const [count, setCount] = useState(0); - - const onLogout = useCallback(() => { - localStorage.removeItem(ACCESS_TOKEN); - localStorage.removeItem(REFRESH_TOKEN); - setUser(undefined); - navigate(loginRoute.paths[t("locale__key")]); - }, [navigate, setUser, t]); - - return ( - -
- -
- - -
- - {`${t("home__welcome")} ${user?.firstName} ${user?.lastName}`} - - - VERSION: {__VERSION_NUMBER__} - - - API_URL: {__API_URL__} - - -
- -
-
- -
-
-
- ); -} - -export default Home; diff --git a/frontend/src/app/pages/home/home.route.tsx b/frontend/src/app/pages/home/home.route.tsx deleted file mode 100755 index 973087a..0000000 --- a/frontend/src/app/pages/home/home.route.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import en from "@assets/locales/en.json"; -import fr from "@assets/locales/fr.json"; -import { IRoute } from "@routes/interfaces/IRoute"; -import { lazy } from "react"; - -const homeRoute: IRoute = { - name: "home__page_title", - component: lazy(() => import("./withAuthHome")), - paths: { - en: `/${en.locale__key}/${en.routes__home}`, - fr: `/${fr.locale__key}/${fr.routes__home}`, - }, -}; - -export default homeRoute; diff --git a/frontend/src/app/pages/home/withAuthHome.tsx b/frontend/src/app/pages/home/withAuthHome.tsx deleted file mode 100644 index ed0c377..0000000 --- a/frontend/src/app/pages/home/withAuthHome.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import EPermission from "@enums/EPermission"; -import withAuth from "@hocs/withAuth"; -import Home from "@pages/home/Home"; - -const withAuthHome = withAuth(Home, EPermission.HomeRead); - -export default withAuthHome; diff --git a/frontend/src/app/pages/login/Login.tsx b/frontend/src/app/pages/login/Login.tsx deleted file mode 100644 index 0837d47..0000000 --- a/frontend/src/app/pages/login/Login.tsx +++ /dev/null @@ -1,54 +0,0 @@ -import Link from "@components/link/Link"; -import Loading from "@components/loading/Loading"; -import Typography from "@mui/material/Typography"; -import LoginForm from "@forms/auth/loginForm/LoginForm"; -import findRoute from "@routes/findRoute"; -import i18n from "@shared/i18n"; -import { useCallback, useState } from "react"; -import { useTranslation } from "react-i18next"; -import { useNavigate } from "react-router-dom"; -import Layout from "@components/layout/Layout"; -// import Container from "@mui/material-pigment-css/Container"; - -export default function Login() { - const { t } = useTranslation(); - const navigate = useNavigate(); - const [isLoading, setIsLoading] = useState(false); - - const onChangeLanguage = useCallback(() => { - navigate(findRoute(location.pathname, t("locale__switch_key"))); - i18n.changeLanguage(t("locale__switch_key")); - }, [navigate, t]); - - return ( - <> - - - -
- - {t("login__page_title")} - - - User: oliviaw - - - Password: oliviawpass - - - {t("login__more_user")} - -
- -
- - {t("locale__switch")} - - - {`${t("global__version")}: ${__VERSION_NUMBER__}`} - -
-
- - ); -} diff --git a/frontend/src/app/pages/login/login.route.tsx b/frontend/src/app/pages/login/login.route.tsx deleted file mode 100755 index ee8b3f2..0000000 --- a/frontend/src/app/pages/login/login.route.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import en from "@assets/locales/en.json"; -import fr from "@assets/locales/fr.json"; -import { IRoute } from "@routes/interfaces/IRoute"; -import { lazy } from "react"; - -const loginRoute: IRoute = { - name: "login__page_title", - component: lazy(() => import("./Login")), - paths: { - en: `/${en.locale__key}/${en.routes__login}`, - fr: `/${fr.locale__key}/${fr.routes__login}`, - }, -}; - -export default loginRoute; diff --git a/frontend/src/app/pages/notFound/notFound.route.tsx b/frontend/src/app/pages/notFound/notFound.route.tsx deleted file mode 100755 index 08dc4af..0000000 --- a/frontend/src/app/pages/notFound/notFound.route.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import { IRoute } from "@routes/interfaces/IRoute"; -import { lazy } from "react"; - -const notFoundRoute: IRoute = { - name: "not_found__page_title", - component: lazy(() => import("./NotFound")), - paths: { - en: "*", - fr: "*", - }, -}; - -export default notFoundRoute; diff --git a/frontend/src/app/pages/uikit/UiKit.tsx b/frontend/src/app/pages/uikit/UiKit.tsx deleted file mode 100644 index c04d125..0000000 --- a/frontend/src/app/pages/uikit/UiKit.tsx +++ /dev/null @@ -1,193 +0,0 @@ -import Button from "@components/button/Button"; -import FieldHelperText from "@components/fieldHelperText/FieldHelperText"; -import Layout from "@components/layout/Layout"; -import Link from "@components/link/Link"; -import Loading from "@components/loading/Loading"; -import Spinner from "@components/spinner/Spinner"; -import Typography from "@mui/material/Typography"; -import UikitBlock from "@components/uikit/uikitBlock/UikitBlock"; -import UikitColor from "@components/uikit/uikitColor/UikitColor"; -import UikitNav, { INavItem } from "@components/uikit/uikitNav/UikitNav"; -import Grid from "@mui/material/Grid2"; -import { TextField } from "@mui/material"; -import { useCallback, useEffect, useState } from "react"; -import { useTranslation } from "react-i18next"; -import { ValidationError } from "yup"; - -export default function UiKit() { - const [t] = useTranslation(); - const [showLoading, setShowLoading] = useState(false); - const [navItems, setNavItems] = useState([]); - - // this is for mocking, yup will format the error correctly for you - const formErrors: ValidationError[] = [ - { - value: "", - path: "username", - type: "required", - params: { - value: "", - originalValue: "", - label: "login__username", - path: "username", - spec: { - strip: false, - strict: false, - abortEarly: true, - recursive: true, - disableStackTrace: false, - nullable: false, - optional: false, - coerce: true, - label: "login__username", - }, - disableStackTrace: false, - }, - errors: ["validations__required"], - inner: [], - name: "ValidationError", - message: "validations__required", - [Symbol.toStringTag]: "", - }, - ]; - - const onClickShowLoading = useCallback(() => { - setShowLoading(true); - - setTimeout(() => { - setShowLoading(false); - }, 3000); - }, []); - - useEffect(() => { - setNavItems( - Array.from(document.querySelectorAll(".uikit-block")).map( - (item, index) => { - return { - text: item.children[0].textContent || `Header ${index + 1}`, - id: item.id, - }; - }, - ), - ); - }, []); - - return ( - -
- -
- UiKit - - This is where you can display all your custom components/containers. - - - For all the Styled MUI components, please refer to - - MUI documentation - - - -
- - H1. Heading - H2. Heading - H3. Heading - H4. Heading - H5. Heading - H6. Heading - - subtitle1. Lorem ipsum dolor sit amet, consectetur adipisicing - elit. Quos blanditiis tenetur - - - subtitle2. Lorem ipsum dolor sit amet, consectetur adipisicing - elit. Quos blanditiis tenetur - - - body1. Lorem ipsum dolor sit amet, consectetur adipisicing elit. - Quos blanditiis tenetur unde suscipit, quam beatae rerum - inventore consectetur, neque doloribus, cupiditate numquam - dignissimos laborum fugiat deleniti? Eum quasi quidem quibusdam. - - - body2. Lorem ipsum dolor sit amet, consectetur adipisicing elit. - Quos blanditiis tenetur unde suscipit, quam beatae rerum - inventore consectetur, neque doloribus, cupiditate numquam - dignissimos laborum fugiat deleniti? Eum quasi quidem quibusdam. - - button text - caption text - overline text - - - - - - - - - - - - - - -`} - > - - - - - -`} - > - - - - - - {/* styling inline like this to prevent the spinner from changing the height of the page while spinning, do not style inline in projects */} -
- -
-
- - - - {showLoading && } - -
-
-
-
- ); -} diff --git a/frontend/src/app/pages/uikit/uikit.route.tsx b/frontend/src/app/pages/uikit/uikit.route.tsx deleted file mode 100755 index 63407b0..0000000 --- a/frontend/src/app/pages/uikit/uikit.route.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import en from "@assets/locales/en.json"; -import fr from "@assets/locales/fr.json"; -import { IRoute } from "@routes/interfaces/IRoute"; -import { lazy } from "react"; - -const uikitRoute: IRoute = { - name: "uikit__page_title", - component: lazy(() => import("./withAuthUikit")), - paths: { - en: `/${en.locale__key}/${en.routes__uikit}`, - fr: `/${fr.locale__key}/${fr.routes__uikit}`, - }, -}; - -export default uikitRoute; diff --git a/frontend/src/app/pages/uikit/withAuthUikit.tsx b/frontend/src/app/pages/uikit/withAuthUikit.tsx deleted file mode 100644 index 98af659..0000000 --- a/frontend/src/app/pages/uikit/withAuthUikit.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import EPermission from "@enums/EPermission"; -import withAuth from "@hocs/withAuth"; -import UiKit from "./UiKit"; - -const withAuthUikit = withAuth(UiKit, EPermission.UikitRead); - -export default withAuthUikit; diff --git a/frontend/src/app/routes/Router.tsx b/frontend/src/app/routes/Router.tsx deleted file mode 100755 index 89997e4..0000000 --- a/frontend/src/app/routes/Router.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import DebugBanner from "@containers/debugBanner/DebugBanner"; -import homeRoute from "@pages/home/home.route"; -import notFoundRoute from "@pages/notFound/notFound.route"; -import routes from "@routes/routes"; -import { useMemo } from "react"; -import { Helmet } from "react-helmet-async"; -import { useTranslation } from "react-i18next"; -import { - Navigate, - RouterProvider, - createBrowserRouter, -} from "react-router-dom"; - -export default function Router() { - const { t } = useTranslation(); - const localePath = t("locale__key"); - - const routesObj = useMemo( - () => - routes.flatMap((route) => - Object.values(route.paths).map((path) => ({ - path, - element: ( - <> - - - {t(route.name)} - {t("routes__page_title")} - - - - - - ), - })), - ), - [t, localePath], - ); - - const router = useMemo( - () => - createBrowserRouter([ - { - path: "/", - element: , - }, - ...routesObj, - { - path: notFoundRoute.paths[localePath], - element: , - }, - ]), - [routesObj, localePath], - ); - - return ; -} diff --git a/frontend/src/app/routes/findRoute.ts b/frontend/src/app/routes/findRoute.ts deleted file mode 100644 index 7857de3..0000000 --- a/frontend/src/app/routes/findRoute.ts +++ /dev/null @@ -1,39 +0,0 @@ -import routes from "@routes/routes"; - -const findRoute = (path: string, locale: string): string => { - let segmentValues: string[] = []; - let segmentNames: string[] = []; - - const route = routes.find((route) => { - return Object.values(route.paths).some((pattern) => { - segmentNames = (pattern.match(/:([^\s/]+)/g) || []).map((s) => - s.substring(1), - ); - - const regexPattern = pattern.replace(/:[^\s/]+/g, "([\\w-]+)"); - const regex = new RegExp(`^${regexPattern}$`); - - if (regex.test(path)) { - const match = path.match(regex); - if (match) { - segmentValues = match.slice(1); - } - return true; - } - return false; - }); - }); - - if (!route) { - return path; - } - - let newPath = route.paths[locale]; - segmentNames.forEach((segmentName, index) => { - newPath = newPath.replace(`:${segmentName}`, segmentValues[index] || ""); - }); - - return newPath; -}; - -export default findRoute; diff --git a/frontend/src/app/routes/interfaces/IRoute.ts b/frontend/src/app/routes/interfaces/IRoute.ts deleted file mode 100644 index 3ee19f2..0000000 --- a/frontend/src/app/routes/interfaces/IRoute.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { LazyExoticComponent } from "react"; - -export type IPaths = { - [key: string]: string; - en: string; - fr: string; -}; - -export interface IRoute { - name: string; - component: LazyExoticComponent<() => JSX.Element>; - paths: IPaths; - getPath?: (locale: string, id: string) => string; -} diff --git a/frontend/src/app/routes/routes.ts b/frontend/src/app/routes/routes.ts deleted file mode 100644 index f5ff3ac..0000000 --- a/frontend/src/app/routes/routes.ts +++ /dev/null @@ -1,12 +0,0 @@ -import dashboardRoute from "@pages/dashbaord/dashboard.route"; -import homeRoute from "@pages/home/home.route"; -import loginRoute from "@pages/login/login.route"; -import uikitRoute from "@pages/uikit/uikit.route"; - -const routes = [homeRoute, loginRoute, dashboardRoute]; - -if (__ENV__ !== "prod") { - routes.push(uikitRoute); -} - -export default routes; diff --git a/frontend/src/app/services/auth/authService.ts b/frontend/src/app/services/auth/authService.ts index b23641b..732543b 100644 --- a/frontend/src/app/services/auth/authService.ts +++ b/frontend/src/app/services/auth/authService.ts @@ -1,16 +1,16 @@ -import ILogin from "@services/auth/interfaces/ILogin"; +import type ILogin from "@services/auth/interfaces/ILogin"; import axiosInstance from "@services/axiosInstance"; -import IUser from "@services/users/interfaces/IUser"; -import { AxiosResponse, CancelToken } from "axios"; - -const AUTH_PREFIX = "/auth"; -const POST_LOGIN = `${AUTH_PREFIX}/login`; +import type IUser from "@services/users/interfaces/IUser"; +import { type AxiosResponse, type CancelToken } from "axios"; export async function postLogin( login: ILogin, cancelToken?: CancelToken, ): Promise> { - return await axiosInstance.post(POST_LOGIN, login, { + // Simulate a delay of 1.5s to show form behavior + await new Promise((resolve) => setTimeout(resolve, 1500)); + + return await axiosInstance.post("/auth/login", login, { cancelToken, }); } diff --git a/frontend/src/app/services/axiosInstance.ts b/frontend/src/app/services/axiosInstance.ts index 3009a02..5a55a17 100644 --- a/frontend/src/app/services/axiosInstance.ts +++ b/frontend/src/app/services/axiosInstance.ts @@ -3,7 +3,7 @@ import axios from "axios"; import qs from "qs"; const axiosInstance = axios.create({ - baseURL: __API_URL__, + baseURL: import.meta.env.VITE_API_URL, headers: { "Content-Type": "application/json", }, diff --git a/frontend/src/app/services/posts/interfaces/IPost.ts b/frontend/src/app/services/posts/interfaces/IPost.ts new file mode 100644 index 0000000..d31be2d --- /dev/null +++ b/frontend/src/app/services/posts/interfaces/IPost.ts @@ -0,0 +1,12 @@ +export default interface ITodo { + id: number; + title: string; + body: string; + tags: string[]; + reactions: { + likes: number; + dislikes: number; + }; + views: number; + userId: number; +} diff --git a/frontend/src/app/services/posts/interfaces/IPostsResponses.ts b/frontend/src/app/services/posts/interfaces/IPostsResponses.ts new file mode 100644 index 0000000..ac4bc89 --- /dev/null +++ b/frontend/src/app/services/posts/interfaces/IPostsResponses.ts @@ -0,0 +1,6 @@ +export interface IPostsResponse { + limit: number; + skip: number; + total: number; + posts: T[]; +} diff --git a/frontend/src/app/services/posts/postsQueries.ts b/frontend/src/app/services/posts/postsQueries.ts new file mode 100644 index 0000000..f958942 --- /dev/null +++ b/frontend/src/app/services/posts/postsQueries.ts @@ -0,0 +1,13 @@ +import { queryOptions } from "@tanstack/react-query"; +import { getPosts } from "./postsService"; + +export const postsQueryOptions = () => { + return queryOptions({ + queryKey: ["dummyjson:posts-untracked"], + queryFn: async () => { + // Simulate a delay of 4s to show behavior + await new Promise((resolve) => setTimeout(resolve, 4000)); + return await getPosts(); + }, + }); +}; diff --git a/frontend/src/app/services/posts/postsService.ts b/frontend/src/app/services/posts/postsService.ts new file mode 100644 index 0000000..e59bfb1 --- /dev/null +++ b/frontend/src/app/services/posts/postsService.ts @@ -0,0 +1,16 @@ +import axiosInstance from "@services/axiosInstance"; +import { type CancelToken } from "axios"; +import type IPost from "./interfaces/IPost"; +import type { IPostsResponse } from "./interfaces/IPostsResponses"; + +export async function getPosts( + cancelToken?: CancelToken, +): Promise> { + const response = await axiosInstance.get(`/posts`, { + params: { + limit: 3, + }, + cancelToken, + }); + return response.data; +} diff --git a/frontend/src/app/services/todos/interfaces/ITodo.ts b/frontend/src/app/services/todos/interfaces/ITodo.ts new file mode 100644 index 0000000..2dc195c --- /dev/null +++ b/frontend/src/app/services/todos/interfaces/ITodo.ts @@ -0,0 +1,6 @@ +export default interface ITodo { + id: number; + todo: string; + completed: string; + userId: number; +} diff --git a/frontend/src/app/services/todos/interfaces/ITodosResponses.ts b/frontend/src/app/services/todos/interfaces/ITodosResponses.ts new file mode 100644 index 0000000..80a39eb --- /dev/null +++ b/frontend/src/app/services/todos/interfaces/ITodosResponses.ts @@ -0,0 +1,6 @@ +export interface ITodosResponse { + limit: number; + skip: number; + total: number; + todos: T[]; +} diff --git a/frontend/src/app/services/todos/todosQueries.ts b/frontend/src/app/services/todos/todosQueries.ts new file mode 100644 index 0000000..a532ed4 --- /dev/null +++ b/frontend/src/app/services/todos/todosQueries.ts @@ -0,0 +1,13 @@ +import { queryOptions } from "@tanstack/react-query"; +import { getTodos } from "./todosService"; + +export const todosQueryOptions = () => { + return queryOptions({ + queryKey: ["dummyjson:todos"], + queryFn: async () => { + // Simulate a delay of 1.5s to show behavior + await new Promise((resolve) => setTimeout(resolve, 1500)); + return await getTodos(); + }, + }); +}; diff --git a/frontend/src/app/services/todos/todosService.ts b/frontend/src/app/services/todos/todosService.ts new file mode 100644 index 0000000..5515946 --- /dev/null +++ b/frontend/src/app/services/todos/todosService.ts @@ -0,0 +1,16 @@ +import axiosInstance from "@services/axiosInstance"; +import { type CancelToken } from "axios"; +import type ITodo from "./interfaces/ITodo"; +import type { ITodosResponse } from "./interfaces/ITodosResponses"; + +export async function getTodos( + cancelToken?: CancelToken, +): Promise> { + const response = await axiosInstance.get(`/todos`, { + params: { + limit: 5, + }, + cancelToken, + }); + return response.data; +} diff --git a/frontend/src/app/services/users/interfaces/IUser.ts b/frontend/src/app/services/users/interfaces/IUser.ts index 0b2228a..9a0fba9 100644 --- a/frontend/src/app/services/users/interfaces/IUser.ts +++ b/frontend/src/app/services/users/interfaces/IUser.ts @@ -5,6 +5,6 @@ export default interface IUser { lastName: string; gender: string; image: string; - token?: string; + accessToken?: string; refreshToken?: string; } diff --git a/frontend/src/app/services/users/userService.ts b/frontend/src/app/services/users/userService.ts index 6561459..6df1026 100644 --- a/frontend/src/app/services/users/userService.ts +++ b/frontend/src/app/services/users/userService.ts @@ -1,14 +1,15 @@ import axiosInstance from "@services/axiosInstance"; -import IUser from "@services/users/interfaces/IUser"; -import { AxiosResponse, CancelToken } from "axios"; - -const USER_PREFIX = "/user"; -const GET_ME = `${USER_PREFIX}/me`; +import type IUser from "@services/users/interfaces/IUser"; +import { type AxiosResponse, type CancelToken } from "axios"; +/** + * the ACCESS_TOKEN is automatically added to the request headers (see axiosInstance.ts) + * However, the token is not automatically refreshed when it expires. + */ export async function getMe( cancelToken?: CancelToken, ): Promise> { - return await axiosInstance.get(GET_ME, { + return await axiosInstance.get("/user/me", { cancelToken, }); } diff --git a/frontend/src/app/shared/queryClient.ts b/frontend/src/app/shared/queryClient.ts new file mode 100644 index 0000000..9a9633e --- /dev/null +++ b/frontend/src/app/shared/queryClient.ts @@ -0,0 +1,10 @@ +import { QueryClient } from "@tanstack/react-query"; + +export const queryClient = new QueryClient({ + defaultOptions: { + queries: { + experimental_prefetchInRender: true, + staleTime: 1000 * 60 * 10, + }, + }, +}); diff --git a/frontend/src/app/stores/userStore.ts b/frontend/src/app/stores/userStore.ts index 3d5757d..45d5d91 100644 --- a/frontend/src/app/stores/userStore.ts +++ b/frontend/src/app/stores/userStore.ts @@ -1,4 +1,4 @@ -import IUser from "@services/users/interfaces/IUser"; +import type IUser from "@services/users/interfaces/IUser"; import { create } from "zustand"; interface IUserStore { diff --git a/frontend/src/assets/images/loading.gif b/frontend/src/assets/images/loading.gif new file mode 100644 index 0000000..5f10c15 Binary files /dev/null and b/frontend/src/assets/images/loading.gif differ diff --git a/frontend/src/assets/images/logo.png b/frontend/src/assets/images/logo.png deleted file mode 100644 index f2ab57c..0000000 Binary files a/frontend/src/assets/images/logo.png and /dev/null differ diff --git a/frontend/src/assets/locales/en.json b/frontend/src/assets/locales/en.json index eada460..1c6efce 100644 --- a/frontend/src/assets/locales/en.json +++ b/frontend/src/assets/locales/en.json @@ -8,12 +8,12 @@ "global__version": "Version", "global__hide": "Hide", "global__close": "Close", - "global__clipboard_copy": "Copied to clipboard", "not_found__page_title": "Page not found", "not_found__title": "We're sorry, but the page you are looking for cannot be found.", "not_found__description": "Error code 404", "not_found__description_secondary": "The URL may be spelled incorrectly or the page you are looking for may no longer exist.", "not_found__go_to_home_page": "Go to the home page", + "global__logout": "Logout", "cookie_consent_link": "https://nventive.com/en/privacy-policy/", "cookie_consent__learn_more": "Learn more about privacy policy", "cookie_banner__description": "This website uses cookies to ensure you get the best experience on our website.", @@ -39,25 +39,33 @@ "routes__page_title": "React Template", "routes__login": "login", "routes__home": "home", - "routes__uikit": "uikit", "routes__dashboard": "dashboard", + "routes__settings": "settings", + "routes__uikit": "uikit", "routes__not_found": "not-found", "validations__required": "{{ field }} is required.", "validations__max_characters": "{{ field }} can have a maximum of {{ max }} characters.", "validations__min_characters": "{{ field }} must have a minimum of {{ min }} characters.", "errors__generic": "An error has occured.", - "errors__form_validation": "Please make sure to correct any errors before submitting the form.", "errors__invalid_credentials": "Invalid credentials. Please try again.", "errors__expired_session": "The session has expired.", "home__page_title": "Home", "home__welcome": "Welcome", - "home__count": "Count is at", - "home__logout": "Logout", + "home__login_here": "Click here to login", + "home__dashboard_here": "Click here to go to the dashboard", "login__page_title": "Log in", "login__username": "Username", "login__password": "Password", "login__sign_in": "Sign in", "login__more_user": "More user", "uikit__page_title": "Uikit", - "dashboard__page_title": "Dashboard" + "uikit__clipboard_copy": "Copied to clipboard", + "settings__page_title": "Settings", + "dashboard__page_title": "Dashboard", + "dashboard__welcome": "Welcome", + "dashboard__five_todos": "Five todos", + "dashboard__three_posts": "Three posts", + "dashboard__loading_strategy_one": "Inside the component, we are using useSuspenseQuery(). Until that is resolved, the rendering is blocked by the component.", + "dashboard__loading_strategy_two": "Using a promise returned by the loader. This query is not tracked by react-query (since no hook is called from the componend)", + "dashboard__loading_strategy_three": "This approach used the experimental_prefetchInRender flag in the QueryClient. The query is prefectehd in the loader and called again from the component, which allows react-query to track it." } diff --git a/frontend/src/assets/locales/fr.json b/frontend/src/assets/locales/fr.json index 194d920..da30da4 100644 --- a/frontend/src/assets/locales/fr.json +++ b/frontend/src/assets/locales/fr.json @@ -8,12 +8,12 @@ "global__version": "Version", "global__hide": "Cacher", "global__close": "Fermer", - "global__clipboard_copy": "Copié dans le presse-papiers", "not_found__page_title": "Page non trouvée", "not_found__title": "Nous sommes désolés, mais la page que vous recherchez semble introuvable.", "not_found__description": "Code d’erreur 404", "not_found__description_secondary": "Il est possible que l'URL soit incorrectement orthographiée ou que la page que vous cherchez n'existe plus.", "not_found__go_to_home_page": "Aller à la page d’accueil", + "global__logout": "Se déconnecter", "cookie_consent_link": "https://nventive.com/fr/politique-confidentialite/", "cookie_consent__learn_more": "En savoir plus sur la politique de confidentialité", "cookie_banner__description": "Ce site Web utilise des cookies pour vous garantir la meilleure expérience sur notre site.", @@ -39,25 +39,33 @@ "routes__page_title": "React Template", "routes__login": "connexion", "routes__home": "accueil", + "routes__dashboard": "tableau-de-bord", + "routes__settings": "paramètres", "routes__uikit": "uikit", - "routes__dashboard": "dashboard", "routes__not_found": "page-introuvable", "validations__required": "{{ field }} est obligatoire.", "validations__max_characters": "{{ field }} peut avoir un maximum de {{ max }} caractères.", "validations__min_characters": "{{ field }} doit avoir un minimum de {{ min }} caractères.", "errors__generic": "Une erreur est survenue.", - "errors__form_validation": "Veuillez vous assurer de corriger toute erreur avant de soumettre le formulaire.", - "errors__invalid_credentials": "Les informations d'identification invalides. Veuillez réessayer.", - "errors__expired_session": "La session est expirée.", + "errors__invalid_credentials": "Les informations d'identification sont invalides. Veuillez réessayer.", + "errors__expired_session": "La session a expirée.", "home__page_title": "Accueil", "home__welcome": "Bienvenue", - "home__count": "Le comte est à", - "home__logout": "Se déconnecter", + "home__login_here": "Cliquez ici pour vous connecter", + "home__dashboard_here": "Cliquez ici pour accéder au tableau de bord", "login__page_title": "Connectez-vous", "login__username": "Nom d'utilisateur", "login__password": "Mot de passe", "login__sign_in": "Se connecter", "login__more_user": "Plus d'utilisateur", "uikit__page_title": "Uikit", - "dashboard__page_title": "Dashboard" + "uikit__clipboard_copy": "Copié dans le presse-papiers", + "settings__page_title": "Paramètres", + "dashboard__page_title": "Tableau de bord", + "dashboard__welcome": "Bienvenue", + "dashboard__five_todos": "Cinq tâches", + "dashboard__three_posts": "Trois messages", + "dashboard__loading_strategy_one": "Dans le composant , nous utilisons useSuspenseQuery(). Jusqu'à ce que cela soit résolu, le rendu est bloqué par le composant .", + "dashboard__loading_strategy_two": "Utilisation d'une promesse renvoyée par le chargeur. Cette requête n'est pas suivie par React-Query (puisqu'aucun hook n'est appelé depuis le composant)", + "dashboard__loading_strategy_three": "Cette approche utilisait l'indicateur experimental_prefetchInRender dans QueryClient. La requête est prédéfinie dans le chargeur et appelée à nouveau depuis le composant, ce qui permet à React-Query de la suivre." } diff --git a/frontend/src/assets/react.svg b/frontend/src/assets/react.svg deleted file mode 100644 index 6c87de9..0000000 --- a/frontend/src/assets/react.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx deleted file mode 100644 index c337e85..0000000 --- a/frontend/src/main.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { StrictMode } from "react"; -import * as ReactDOM from "react-dom/client"; -import { HelmetProvider } from "react-helmet-async"; -import App from "./App"; - -import "@mui/material-pigment-css/styles.css"; - -ReactDOM.createRoot( - document.getElementById("root") as ReactDOM.Container, -).render( - - - - - , -); diff --git a/frontend/src/root.tsx b/frontend/src/root.tsx new file mode 100644 index 0000000..6e13e10 --- /dev/null +++ b/frontend/src/root.tsx @@ -0,0 +1,89 @@ +import CookieConsent from "@components/cookieConsent/CookieConsent"; +import DebugBanner from "@components/debugBanner/DebugBanner"; +import { Toast } from "@components/toast/Toast"; +import { CssBaseline, ThemeProvider } from "@mui/material"; +import i18next from "@shared/i18n"; +import { queryClient } from "@shared/queryClient"; +import { QueryClientProvider } from "@tanstack/react-query"; +import { StrictMode } from "react"; +import { I18nextProvider } from "react-i18next"; +import { + isRouteErrorResponse, + Links, + Meta, + Outlet, + Scripts, + ScrollRestoration, +} from "react-router"; +import type { Route } from "./+types/root"; +import stylesheet from "./app.css?url"; +import theme from "./theme/theme"; + +export const links: Route.LinksFunction = () => [ + { rel: "stylesheet", href: stylesheet }, +]; + +export function Layout({ children }: { children: React.ReactNode }) { + return ( + + + + + + + + + {children} + + + + + ); +} + +export default function App() { + return ( + + + + + + + + + + + + + + ); +} + +export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) { + let message = "Oops!"; + let details = "An unexpected error occurred."; + let stack: string | undefined; + + if (isRouteErrorResponse(error)) { + message = error.status === 404 ? "404" : "Error"; + details = + error.status === 404 + ? "The requested page could not be found." + : error.statusText || details; + } else if (import.meta.env.DEV && error && error instanceof Error) { + details = error.message; + stack = error.stack; + } + + return ( +
+

{message}

+

{details}

+ {stack && ( +
+          {stack}
+        
+ )} +
+ ); +} diff --git a/frontend/src/routes.ts b/frontend/src/routes.ts new file mode 100644 index 0000000..c190e23 --- /dev/null +++ b/frontend/src/routes.ts @@ -0,0 +1,85 @@ +import { + type RouteConfig, + index, + layout, + route, +} from "@react-router/dev/routes"; +import { route as dashboardRoute } from "./routes/authenticated-routes/dashboard/route"; +import { route as settingsRoute } from "./routes/authenticated-routes/settings/route"; +import { route as homeRoute } from "./routes/public-routes/home/route"; +import { route as loginRoute } from "./routes/public-routes/login/route"; +import { route as uikitRoute } from "./routes/public-routes/uikit/route"; + +const PUBLIC_ROUTES_PREFIX = "./routes/public-routes"; +const AUTHENTICATED_ROUTES_PREFIX = "./routes/authenticated-routes"; + +export interface IRoute { + paths: { + [key: string]: string; + }; + file: string; +} + +const PUBLIC_ROUTES: IRoute[] = [homeRoute, loginRoute]; +const AUTHENTICATED_ROUTES: IRoute[] = [dashboardRoute, settingsRoute]; +const ROUTES = [...PUBLIC_ROUTES, ...AUTHENTICATED_ROUTES]; + +const buildRoute = ({ paths, file }: IRoute) => { + const keys = Object.keys(paths); + return keys.map((key) => { + return route(paths[key], file, { id: paths[key] }); + }); +}; + +export default [ + index("./routes/index.tsx"), + + layout( + `${PUBLIC_ROUTES_PREFIX}/layout.tsx`, + PUBLIC_ROUTES.map(buildRoute).flat(), + ), + + layout( + `${AUTHENTICATED_ROUTES_PREFIX}/layout.tsx`, + AUTHENTICATED_ROUTES.map(buildRoute).flat(), + ), + + route("uikit", uikitRoute.file), + route("*", "./routes/not-found/not-found.route.tsx"), +] satisfies RouteConfig; + +export const findRoute = (path: string, locale: string): string => { + let segmentValues: string[] = []; + let segmentNames: string[] = []; + + const route = ROUTES.find((route) => { + return Object.values(route.paths).some((pattern) => { + segmentNames = (pattern.match(/:([^\s/]+)/g) || []).map((s) => + s.substring(1), + ); + + const regexPattern = pattern.replace(/:[^\s/]+/g, "([\\w-]+)"); + const regex = new RegExp(`^${regexPattern}$`); + + if (regex.test(path)) { + const match = path.match(regex); + if (match) { + segmentValues = match.slice(1); + } + return true; + } + return false; + }); + }); + + if (!route) { + return path; + } + + let newPath = route.paths[locale as keyof IRoute["paths"]]; + segmentNames.forEach((segmentName, index) => { + newPath = newPath.replace(`:${segmentName}`, segmentValues[index] || ""); + }); + + return newPath; +}; diff --git a/frontend/src/routes/auth-guard.ts b/frontend/src/routes/auth-guard.ts new file mode 100644 index 0000000..b06ded4 --- /dev/null +++ b/frontend/src/routes/auth-guard.ts @@ -0,0 +1,34 @@ +import { route as loginRoute } from "@routes/public-routes/login/route"; +import i18next from "@shared/i18n"; +import { useUserStore } from "@stores/userStore"; +import { createSearchParams, redirectDocument } from "react-router"; + +export const clientLoaderAuthGuard = ( + includeRedirectPath?: boolean, +): Promise => { + return new Promise((resolve, reject) => { + const { user } = useUserStore.getState(); + + if (user) { + resolve(); + return; + } + + if (!includeRedirectPath) { + reject(redirectDocument(loginRoute.paths[i18next.language])); + return; + } + + if (includeRedirectPath) { + // adds redirect search param to the url so, once logged in, user is redirected to the page they were trying to access + const url = new URL(window.location.href); + const redirectUrl = url.pathname; + const parsedRedirectUrl = createSearchParams(url.search); + parsedRedirectUrl.delete("redirect"); + parsedRedirectUrl.set("redirect", redirectUrl); + const loginUrlWithRedirect = `${loginRoute.paths[i18next.language]}?${parsedRedirectUrl.toString()}`; + + reject(redirectDocument(loginUrlWithRedirect)); + } + }); +}; diff --git a/frontend/src/routes/authenticated-routes/dashboard/components/posts.tsx b/frontend/src/routes/authenticated-routes/dashboard/components/posts.tsx new file mode 100644 index 0000000..71be9b7 --- /dev/null +++ b/frontend/src/routes/authenticated-routes/dashboard/components/posts.tsx @@ -0,0 +1,23 @@ +import { Box, Paper, Typography } from "@mui/material"; +import type IPost from "@services/posts/interfaces/IPost"; +import type { IPostsResponse } from "@services/posts/interfaces/IPostsResponses"; + +export const Posts = ({ data }: { data: IPostsResponse }) => { + return ( + + {data.posts.map((post) => ( + + {post.title} + {post.body} + + ))} + + ); +}; + +export default Posts; diff --git a/frontend/src/routes/authenticated-routes/dashboard/components/todos.tsx b/frontend/src/routes/authenticated-routes/dashboard/components/todos.tsx new file mode 100644 index 0000000..1ad7f91 --- /dev/null +++ b/frontend/src/routes/authenticated-routes/dashboard/components/todos.tsx @@ -0,0 +1,24 @@ +import { Box, Typography } from "@mui/material"; +import { todosQueryOptions } from "@services/todos/todosQueries"; +import { useSuspenseQuery } from "@tanstack/react-query"; + +export const Todos = () => { + // Here, we are using the useSuspenseQuery hook to fetch the todos (that were prefetched on the loader) + // By using this hook instead of useQuery(), the first time this component is rendered, it will suspend + // until the query is resolved. The component wrapping this component will display the fallback + const { data: todos } = useSuspenseQuery(todosQueryOptions()); + + // NOTE: the useSuspenseQuery call, after the initial render, will return STALE data + // while the query is being refetched. This is the expected behavior. Keep this in mind when + // designing your UI (UX pattern Stale-While-Revalidate) + + return ( + + {todos?.todos?.map((todo) => ( + {todo.todo} + ))} + + ); +}; + +export default Todos; diff --git a/frontend/src/routes/authenticated-routes/dashboard/dashboard.tsx b/frontend/src/routes/authenticated-routes/dashboard/dashboard.tsx new file mode 100644 index 0000000..b479bfd --- /dev/null +++ b/frontend/src/routes/authenticated-routes/dashboard/dashboard.tsx @@ -0,0 +1,80 @@ +import Loading from "@components/loading/Loading"; +import { Grid2 as Grid, Typography } from "@mui/material"; +import { postsQueryOptions } from "@services/posts/postsQueries"; +import { todosQueryOptions } from "@services/todos/todosQueries"; +import i18next from "@shared/i18n"; +import { queryClient } from "@shared/queryClient"; +import { useUserStore } from "@stores/userStore"; +import { useQuery } from "@tanstack/react-query"; +import { lazy, Suspense } from "react"; +import { useTranslation } from "react-i18next"; +import { Await } from "react-router"; +import type { Route } from "./+types/dashboard"; +import { Todos } from "./components/todos"; + +const Posts = lazy(() => import("./components/posts")); + +export const clientLoader = async ({ + params: _params, +}: Route.ClientLoaderArgs) => { + const { user } = useUserStore.getState(); + + if (user) { + queryClient.prefetchQuery(todosQueryOptions()); + queryClient.prefetchQuery(postsQueryOptions()); + } + + return {}; +}; + +export const meta = () => { + const t = i18next.getFixedT(i18next.language); + const title = t("dashboard__page_title"); + + return [{ title }]; +}; + +export default function Home() { + const { t } = useTranslation(); + const { user } = useUserStore(); + + // For this approach, we are using useQuery().promise and the component from react-router + // Keep in mind that this is only possible by enabling the experimental_prefetchInRender flag in the QueryClient + // Since we a calling the useQuery hook from the component, react-query will track this query + const postsWithBigDelay = useQuery(postsQueryOptions()).promise; + + return ( +
+ {`${t("dashboard__welcome")} ${user?.firstName} ${user?.lastName}`} + + + + {t("dashboard__five_todos")} + + {t("dashboard__loading_strategy_one")} + + + + + + + {t("dashboard__three_posts")} + + {t("dashboard__loading_strategy_three")} + + + }> + {postsWithBigDelay && ( + + {(data) => } + + )} + + + +
+ ); +} diff --git a/frontend/src/routes/authenticated-routes/dashboard/route.ts b/frontend/src/routes/authenticated-routes/dashboard/route.ts new file mode 100644 index 0000000..4d4cc3d --- /dev/null +++ b/frontend/src/routes/authenticated-routes/dashboard/route.ts @@ -0,0 +1,11 @@ +import en from "#assets/locales/en.json"; +import fr from "#assets/locales/fr.json"; +import type { IRoute } from "src/routes"; + +export const route: IRoute = { + paths: { + en: `/${en.locale__key}/${en.routes__dashboard}`, + fr: `/${fr.locale__key}/${fr.routes__dashboard}`, + }, + file: `./routes/authenticated-routes/dashboard/dashboard.tsx`, +}; diff --git a/frontend/src/routes/authenticated-routes/layout.tsx b/frontend/src/routes/authenticated-routes/layout.tsx new file mode 100644 index 0000000..cc98f1b --- /dev/null +++ b/frontend/src/routes/authenticated-routes/layout.tsx @@ -0,0 +1,202 @@ +import Loading from "@components/loading/Loading"; +import MailIcon from "@mui/icons-material/Mail"; +import MenuIcon from "@mui/icons-material/Menu"; +import InboxIcon from "@mui/icons-material/MoveToInbox"; +import { Box } from "@mui/material"; +import AppBar from "@mui/material/AppBar"; +import Divider from "@mui/material/Divider"; +import Drawer from "@mui/material/Drawer"; +import IconButton from "@mui/material/IconButton"; +import List from "@mui/material/List"; +import ListItem from "@mui/material/ListItem"; +import ListItemButton from "@mui/material/ListItemButton"; +import ListItemIcon from "@mui/material/ListItemIcon"; +import ListItemText from "@mui/material/ListItemText"; +import Toolbar from "@mui/material/Toolbar"; +import Typography from "@mui/material/Typography"; +import { route as dashboardRoute } from "@routes/authenticated-routes/dashboard/route"; +import { route as settingsRoute } from "@routes/authenticated-routes/settings/route"; +import i18next from "@shared/i18n"; +import { useUserStore } from "@stores/userStore"; +import React, { lazy, Suspense, useState } from "react"; +import { useTranslation } from "react-i18next"; +import { Link, Outlet, type ClientLoaderFunctionArgs } from "react-router"; +import { clientLoaderAuthGuard } from "../auth-guard"; + +const ReactQueryDevtools = lazy(() => + import("@tanstack/react-query-devtools").then((module) => ({ + default: module.ReactQueryDevtools, + })), +); + +const drawerWidth = 250; + +const ListItems: React.FC = () => { + const { t } = useTranslation(); + + return [ + { + text: t("dashboard__page_title"), + to: dashboardRoute.paths[i18next.language], + }, + { + text: t("settings__page_title"), + to: settingsRoute.paths[i18next.language], + }, + ].map(({ text, to }, index) => ( + + + + {index % 2 === 0 ? : } + + + + + )); +}; + +const DrawerContent: React.FC = () => { + return ( +
+ + + + + +
+ ); +}; + +export const clientLoader = async ({ + params: _params, +}: ClientLoaderFunctionArgs) => { + await clientLoaderAuthGuard(true); + return {}; +}; + +export default function Layout() { + const { user } = useUserStore(); + const [mobileOpen, setMobileOpen] = useState(false); + const [isClosing, setIsClosing] = useState(false); + + const handleDrawerClose = () => { + setIsClosing(true); + setMobileOpen(false); + }; + + const handleDrawerTransitionEnd = () => { + setIsClosing(false); + }; + + const handleDrawerToggle = () => { + if (!isClosing) { + setMobileOpen(!mobileOpen); + } + }; + + const container = + window !== undefined ? () => window.document.body : undefined; + + if (!user) { + return ; + } + + return ( + + + + + + + + + nventive + + + + + + {/* The implementation can be swapped with js to avoid SEO duplication of links. */} + + + + + + + + + + + + + }> + + + +
+ + VERSION: {import.meta.env.VITE_VERSION_NUMBER} + + + API_URL: {import.meta.env.VITE_API_URL} + +
+ + +
+
+ ); +} diff --git a/frontend/src/routes/authenticated-routes/settings/route.ts b/frontend/src/routes/authenticated-routes/settings/route.ts new file mode 100644 index 0000000..b668004 --- /dev/null +++ b/frontend/src/routes/authenticated-routes/settings/route.ts @@ -0,0 +1,11 @@ +import en from "#assets/locales/en.json"; +import fr from "#assets/locales/fr.json"; +import type { IRoute } from "src/routes"; + +export const route: IRoute = { + paths: { + en: `/${en.locale__key}/${en.routes__settings}`, + fr: `/${fr.locale__key}/${fr.routes__settings}`, + }, + file: `./routes/authenticated-routes/settings/settings.tsx`, +}; diff --git a/frontend/src/routes/authenticated-routes/settings/settings.tsx b/frontend/src/routes/authenticated-routes/settings/settings.tsx new file mode 100644 index 0000000..da2446e --- /dev/null +++ b/frontend/src/routes/authenticated-routes/settings/settings.tsx @@ -0,0 +1,60 @@ +import Button from "@components/button/Button"; +import LogoutRounded from "@icons/LogoutRounded"; +import { Box, Typography } from "@mui/material"; +import { route as loginRoute } from "@routes/public-routes/login/route"; +import { ACCESS_TOKEN, REFRESH_TOKEN } from "@shared/constants"; +import { default as i18next } from "@shared/i18n"; +import { useUserStore } from "@stores/userStore"; +import { useTranslation } from "react-i18next"; +import { useNavigate } from "react-router"; +import { useChangeLanguage } from "src/app/hooks/useChangeLanguage"; +import type { Route } from "./+types/settings"; + +export const clientLoader = async ({ + params: _params, +}: Route.ClientLoaderArgs) => { + return {}; +}; + +export const meta = () => { + const t = i18next.getFixedT(i18next.language); + const title = t("dashboard__page_title"); + + return [{ title }]; +}; + +export default function Settings() { + const { t } = useTranslation(); + const navigate = useNavigate(); + const { setUser } = useUserStore(); + const { onChangeLanguage } = useChangeLanguage(); + + const onLogout = () => { + localStorage.removeItem(ACCESS_TOKEN); + localStorage.removeItem(REFRESH_TOKEN); + setUser(undefined); + navigate(loginRoute.paths[i18next.language]); + }; + + return ( +
+

My Account

+ + ({ + display: "flex", + gap: theme.customProperties.spacing.md, + })} + > + + + + +
+ ); +} diff --git a/frontend/src/routes/index.tsx b/frontend/src/routes/index.tsx new file mode 100644 index 0000000..1d21fd3 --- /dev/null +++ b/frontend/src/routes/index.tsx @@ -0,0 +1,29 @@ +import Loading from "@components/loading/Loading"; +import { route as dashboardRoute } from "@routes/authenticated-routes/dashboard/route"; +import { route as homeRoute } from "@routes/public-routes/home/route"; +import i18next from "@shared/i18n"; +import { useUserStore } from "@stores/userStore"; +import { type MetaFunction, redirect } from "react-router"; +import type { Route } from "./+types"; + +export const clientLoader = ({ + params: _params, + request: _request, +}: Route.ClientLoaderArgs) => { + const { user } = useUserStore.getState(); + if (user) { + return redirect(dashboardRoute.paths[i18next.language]); + } else { + return redirect(homeRoute.paths[i18next.language]); + } +}; + +export const meta: MetaFunction = ({ + params: _params, +}) => { + return [{ title: "..." }]; +}; + +export default function Home() { + return ; +} diff --git a/frontend/src/app/pages/notFound/not-found.module.css b/frontend/src/routes/not-found/not-found.module.css similarity index 100% rename from frontend/src/app/pages/notFound/not-found.module.css rename to frontend/src/routes/not-found/not-found.module.css diff --git a/frontend/src/app/pages/notFound/NotFound.tsx b/frontend/src/routes/not-found/not-found.route.tsx similarity index 55% rename from frontend/src/app/pages/notFound/NotFound.tsx rename to frontend/src/routes/not-found/not-found.route.tsx index 0da0742..b2391a8 100644 --- a/frontend/src/app/pages/notFound/NotFound.tsx +++ b/frontend/src/routes/not-found/not-found.route.tsx @@ -1,8 +1,10 @@ import Button from "@components/button/Button"; +import { Box } from "@mui/material"; import Typography from "@mui/material/Typography"; -import homeRoute from "@pages/home/home.route"; +import { route as homeRoute } from "@routes/public-routes/home/route"; +import i18next from "@shared/i18n"; import { useTranslation } from "react-i18next"; -import { useNavigate } from "react-router-dom"; +import { useNavigate } from "react-router"; import classes from "./not-found.module.css"; export default function NotFound() { @@ -10,33 +12,42 @@ export default function NotFound() { const navigate = useNavigate(); return ( -
({ padding: theme.spacing(4), })} className={classes["not-found"]} >
- + {t("not_found__title")} - + + ({ + marginBottom: theme.customProperties.spacing.xl, + })} + > {t("not_found__description")} - + + ({ + marginBottom: theme.customProperties.spacing.lg, + })} + > {t("not_found__description_secondary")} +
-
+ ); } diff --git a/frontend/src/routes/public-routes/home/home.tsx b/frontend/src/routes/public-routes/home/home.tsx new file mode 100644 index 0000000..0f356fe --- /dev/null +++ b/frontend/src/routes/public-routes/home/home.tsx @@ -0,0 +1,70 @@ +import Button from "@components/button/Button"; +import Link from "@components/link/Link"; +import { Box, Typography } from "@mui/material"; +import { route as dashboardRoute } from "@routes/authenticated-routes/dashboard/route"; +import { route as loginRoute } from "@routes/public-routes/login/route"; +import { default as i18next } from "@shared/i18n"; +import { useUserStore } from "@stores/userStore"; +import { useTranslation } from "react-i18next"; +import { useChangeLanguage } from "src/app/hooks/useChangeLanguage"; + +const UserLoggedIn: React.FC = () => { + const { user } = useUserStore(); + const { t } = useTranslation(); + + if (!user) { + return ( + + + {t("home__login_here")} + + + ); + } + + return ( + <> + + {`${t("home__welcome")} ${user?.firstName} ${user?.lastName}`} + + + + + {t("home__dashboard_here")} + + + + ); +}; + +export default function Home() { + const { t } = useTranslation(); + const { onChangeLanguage } = useChangeLanguage(); + + return ( + +

{t("home__page_title")}

+ + + + + + + {`${t("global__version")}: ${import.meta.env.VITE_VERSION_NUMBER}`} + +
+ ); +} diff --git a/frontend/src/routes/public-routes/home/route.ts b/frontend/src/routes/public-routes/home/route.ts new file mode 100644 index 0000000..7157705 --- /dev/null +++ b/frontend/src/routes/public-routes/home/route.ts @@ -0,0 +1,11 @@ +import en from "#assets/locales/en.json"; +import fr from "#assets/locales/fr.json"; +import type { IRoute } from "src/routes"; + +export const route: IRoute = { + paths: { + en: `/${en.locale__key}/${en.routes__home}`, + fr: `/${fr.locale__key}/${fr.routes__home}`, + }, + file: `./routes/public-routes/home/home.tsx`, +}; diff --git a/frontend/src/routes/public-routes/layout.tsx b/frontend/src/routes/public-routes/layout.tsx new file mode 100644 index 0000000..3a2c0c9 --- /dev/null +++ b/frontend/src/routes/public-routes/layout.tsx @@ -0,0 +1,34 @@ +import { styled } from "@mui/material"; +import { Outlet } from "react-router"; + +const Layout = styled("main")(({ theme }) => ({ + width: "100%", + display: "flex", + flexDirection: "column", + justifyContent: "center", + alignItems: "center", + padding: theme.spacing(2), + + [theme.breakpoints.up("xs")]: { + flex: "1 1 auto", + }, + + "> .content": { + maxWidth: 442, + width: "100%", + + [theme.breakpoints.up("sm")]: { + maxWidth: 442, + }, + }, +})); + +export default function Centered() { + return ( + +
+ +
+
+ ); +} diff --git a/frontend/src/routes/public-routes/login/login.tsx b/frontend/src/routes/public-routes/login/login.tsx new file mode 100644 index 0000000..16f292a --- /dev/null +++ b/frontend/src/routes/public-routes/login/login.tsx @@ -0,0 +1,178 @@ +import Button from "@components/button/Button"; +import Link from "@components/link/Link"; +import { Box } from "@mui/material"; +import Typography from "@mui/material/Typography"; +import type ILogin from "@services/auth/interfaces/ILogin"; +import { getMe } from "@services/users/userService"; +import { ACCESS_TOKEN } from "@shared/constants"; +import { default as i18next } from "@shared/i18n"; +import { useUserStore } from "@stores/userStore"; +import axios from "axios"; +import { useEffect } from "react"; +import { useTranslation } from "react-i18next"; +import { useFetcher, type MetaFunction } from "react-router"; +import { toast } from "react-toastify"; +import { useChangeLanguage } from "src/app/hooks/useChangeLanguage"; +import type { Route } from "./+types/login"; +import LoginForm from "./loginForm/LoginForm"; +import { handleRedirect } from "./submissionHelpers/handleRedirect"; +import { validateCredentials } from "./submissionHelpers/validateCredentials"; + +/** + * Exceptionnaly, for this loader, we will check if the user's access token + * is present in the localStorage. If it is, we will call the getMe function + * and set the user in the store. We will redirect the user to the home page + * or whatever route the user was trying to access. + */ +export const clientLoader = async () => { + const accessToken = localStorage.getItem(ACCESS_TOKEN); + + if (!accessToken) { + return {}; + } + + try { + const { data } = await getMe(); + const { setUser } = useUserStore.getState(); + setUser(data); + + return handleRedirect(); + } catch (_error) { + localStorage.removeItem(ACCESS_TOKEN); + } + + return {}; +}; + +export const meta: MetaFunction = () => { + const t = i18next.getFixedT(i18next.language); + const title = t("login__page_title"); + + return [{ title }]; +}; + +export const clientAction = async ({ request }: Route.ClientActionArgs) => { + const t = i18next.getFixedT(i18next.language); + const { setUser } = useUserStore.getState(); + const form = (await request.json()) as ILogin; + + try { + const data = await validateCredentials(form); + setUser(data); + + return handleRedirect(); + } catch (error) { + if (axios.isAxiosError(error)) { + if (error.response?.data?.message === "Invalid credentials") { + /** + * The tutorials in the react router website suggest using the data() function to return errors here. + * However, the data returned by this function is not typed properly. For now, we will return an object. + * https://github.com/remix-run/react-router/issues/12919 + */ + return { + message: t("errors__invalid_credentials"), + toastId: "invalid-credentials", + status: 400, + }; + } + } + + return { + message: t("errors__generic"), + toastId: "generic", + status: 400, + }; + } +}; + +export default function Login() { + const { t } = useTranslation(); + const { onChangeLanguage } = useChangeLanguage(); + const fetcher = useFetcher(); + + /** + * It is possible to set a key to the fetcher - useful when the fetcher is used across multiple components or files. + * For that approach to work properly, everytime this component is mounted, we will generate a new key for the fetcher. + * This allows us to reset the fetcher state when the user navigates to another page. + * (since a fetcher.reset() function is not available https://github.com/remix-run/remix/discussions/2749 ) + * When using useFetcher() without a key, the fetcher state resets when the user navigates to another page. + */ + // const [fetcherKey] = useState(`login-${Date.now()}`); + // const fetcher = useFetcher({ key: fetcherKey }); + + useEffect(() => { + if (fetcher.state !== "idle") return; + + const status = fetcher.data?.status; + if (status && status >= 400 && status < 600) { + const { message, toastId } = fetcher.data ?? {}; + toast.error(message, { + toastId: toastId, + }); + } + }, [fetcher.state, fetcher.data, t]); + + const submit = (loginForm: ILogin) => { + const { username, password } = loginForm; + fetcher.submit( + { username, password }, + { method: "POST", encType: "application/json" }, + ); + }; + + return ( + <> + ({ + display: "flex", + flexDirection: "column", + marginTop: theme.customProperties.spacing.lg, + marginBottom: theme.customProperties.spacing.lg, + })} + > + ({ + marginBottom: theme.customProperties.spacing.md, + })} + > + {t("login__page_title")} + + {t("login__username")}: oliviaw + ({ + marginBottom: theme.customProperties.spacing.xxs, + })} + > + {t("login__password")}: oliviawpass + + + {t("login__more_user")} + + + + + + + + + {`${t("global__version")}: ${import.meta.env.VITE_VERSION_NUMBER}`} + + + + ); +} diff --git a/frontend/src/routes/public-routes/login/loginForm/LoginForm.tsx b/frontend/src/routes/public-routes/login/loginForm/LoginForm.tsx new file mode 100644 index 0000000..f100898 --- /dev/null +++ b/frontend/src/routes/public-routes/login/loginForm/LoginForm.tsx @@ -0,0 +1,79 @@ +import Button from "@components/button/Button"; +import FieldHelperText from "@components/fieldHelperText/FieldHelperText"; +import TextField from "@components/textField/TextField"; +import { useFormValidation } from "@routes/public-routes/login/loginForm/useFormValidation"; +import type ILogin from "@services/auth/interfaces/ILogin"; +import { useState } from "react"; +import { useTranslation } from "react-i18next"; +import { type FetcherWithComponents } from "react-router"; +import classes from "./loginForm.module.css"; + +type LoginFormProps = { + submit: (form: ILogin) => void; + fetcher: FetcherWithComponents; +}; + +export default function LoginForm({ submit, fetcher }: LoginFormProps) { + const { t } = useTranslation(); + const [loginForm, setLoginForm] = useState({ + username: "", + password: "", + }); + + const { onSubmit, onValidate, formErrors } = useFormValidation(loginForm); + const isLoading = fetcher.state !== "idle"; + + return ( + +
+ + setLoginForm((prevState) => ({ + ...prevState, + username: value, + })) + } + label={t("login__username")} + /> + +
+ +
+ + setLoginForm((prevState) => ({ + ...prevState, + password: value, + })) + } + label={t("login__password")} + /> + +
+ + +
+ ); +} diff --git a/frontend/src/routes/public-routes/login/loginForm/loginForm.module.css b/frontend/src/routes/public-routes/login/loginForm/loginForm.module.css new file mode 100644 index 0000000..d44c3a2 --- /dev/null +++ b/frontend/src/routes/public-routes/login/loginForm/loginForm.module.css @@ -0,0 +1,5 @@ +.container { + display: flex; + flex-direction: column; + gap: var(--mui-customProperties-spacing-xl); +} diff --git a/frontend/src/app/forms/auth/loginForm/loginForm.schema.ts b/frontend/src/routes/public-routes/login/loginForm/loginForm.schema.ts similarity index 100% rename from frontend/src/app/forms/auth/loginForm/loginForm.schema.ts rename to frontend/src/routes/public-routes/login/loginForm/loginForm.schema.ts diff --git a/frontend/src/routes/public-routes/login/loginForm/useFormValidation.ts b/frontend/src/routes/public-routes/login/loginForm/useFormValidation.ts new file mode 100644 index 0000000..bae15ad --- /dev/null +++ b/frontend/src/routes/public-routes/login/loginForm/useFormValidation.ts @@ -0,0 +1,59 @@ +import type ILogin from "@services/auth/interfaces/ILogin"; +import { t } from "i18next"; +import { useState, type FormEvent } from "react"; +import { toast } from "react-toastify"; +import { ValidationError } from "yup"; +import loginFormSchema from "./loginForm.schema"; + +export const useFormValidation = (loginForm: ILogin) => { + const [formErrors, setFormErrors] = useState([]); + + const onSubmit = (submit: (form: ILogin) => void) => { + return async (event: FormEvent) => { + event.preventDefault(); + + const errors = validateForm(loginForm); + if (errors === null) return; + if (errors.length > 0) return; + + submit(loginForm); + }; + }; + + const onValidate = () => { + try { + loginFormSchema.validateSync(loginForm, { + abortEarly: false, + }); + setFormErrors([]); + } catch (error) { + if (error instanceof ValidationError) { + setFormErrors(error.inner); + } + } + }; + + const validateForm = (loginForm: ILogin) => { + try { + loginFormSchema.validateSync(loginForm, { + abortEarly: false, + }); + return []; + } catch (error) { + if (error instanceof ValidationError) { + return error.inner; + } else { + toast.error(t("errors__generic"), { + toastId: "generic", + }); + return null; + } + } + }; + + return { + onSubmit, + onValidate, + formErrors, + }; +}; diff --git a/frontend/src/routes/public-routes/login/route.ts b/frontend/src/routes/public-routes/login/route.ts new file mode 100644 index 0000000..97f5194 --- /dev/null +++ b/frontend/src/routes/public-routes/login/route.ts @@ -0,0 +1,11 @@ +import en from "#assets/locales/en.json"; +import fr from "#assets/locales/fr.json"; +import type { IRoute } from "src/routes"; + +export const route: IRoute = { + paths: { + en: `/${en.locale__key}/${en.routes__login}`, + fr: `/${fr.locale__key}/${fr.routes__login}`, + }, + file: `./routes/public-routes/login/login.tsx`, +}; diff --git a/frontend/src/routes/public-routes/login/submissionHelpers/handleRedirect.ts b/frontend/src/routes/public-routes/login/submissionHelpers/handleRedirect.ts new file mode 100644 index 0000000..5366ca8 --- /dev/null +++ b/frontend/src/routes/public-routes/login/submissionHelpers/handleRedirect.ts @@ -0,0 +1,33 @@ +import { route as dashboardRoute } from "@routes/authenticated-routes/dashboard/route"; +import i18next from "@shared/i18n"; +import { redirect, useNavigate } from "react-router"; +import { findRoute } from "src/routes"; + +// the redirect url could have a language param different from the current language +const getRedirectUrl = () => { + const url = new URL(window.location.href); + const urlSearchParams = new URLSearchParams(url.search); + const redirectUrl = urlSearchParams.get("redirect"); + + if (redirectUrl) { + const localizedRoute = findRoute(redirectUrl, i18next.language); + urlSearchParams.delete("redirect"); + return `${localizedRoute}?${urlSearchParams.toString()}`; + } else { + return dashboardRoute.paths[i18next.language]; + } +}; + +// To be used inside loaders +export const handleRedirect = () => { + const redirectUrl = getRedirectUrl(); + return redirect(redirectUrl); +}; + +// To be used inside components +export const useHandleRedirect = () => { + const navigate = useNavigate(); + return () => { + return navigate(getRedirectUrl(), { replace: true }); + }; +}; diff --git a/frontend/src/routes/public-routes/login/submissionHelpers/validateCredentials.ts b/frontend/src/routes/public-routes/login/submissionHelpers/validateCredentials.ts new file mode 100644 index 0000000..f47c7fc --- /dev/null +++ b/frontend/src/routes/public-routes/login/submissionHelpers/validateCredentials.ts @@ -0,0 +1,12 @@ +import { postLogin } from "@services/auth/authService"; +import type ILogin from "@services/auth/interfaces/ILogin"; +import { ACCESS_TOKEN, REFRESH_TOKEN } from "@shared/constants"; + +export const validateCredentials = async (loginForm: ILogin) => { + const { data } = await postLogin(loginForm); + if (data.accessToken && data.refreshToken) { + localStorage.setItem(ACCESS_TOKEN, data.accessToken); + localStorage.setItem(REFRESH_TOKEN, data.refreshToken); + return data; + } +}; diff --git a/frontend/src/routes/public-routes/uikit/UiKit.tsx b/frontend/src/routes/public-routes/uikit/UiKit.tsx new file mode 100644 index 0000000..417349c --- /dev/null +++ b/frontend/src/routes/public-routes/uikit/UiKit.tsx @@ -0,0 +1,194 @@ +import Button from "@components/button/Button"; +import FieldHelperText from "@components/fieldHelperText/FieldHelperText"; +import Link from "@components/link/Link"; +import Loading from "@components/loading/Loading"; +import UikitBlock from "@components/uikit/uikitBlock/UikitBlock"; +import UikitColor from "@components/uikit/uikitColor/UikitColor"; +import UikitNav, { type INavItem } from "@components/uikit/uikitNav/UikitNav"; +import { Box, TextField } from "@mui/material"; +import Grid from "@mui/material/Grid2"; +import Typography from "@mui/material/Typography"; +import { useCallback, useEffect, useState } from "react"; +import { useTranslation } from "react-i18next"; +import { ValidationError } from "yup"; + +export default function UiKit() { + const [t] = useTranslation(); + const [showLoading, setShowLoading] = useState(false); + const [navItems, setNavItems] = useState([]); + + // this is for mocking, yup will format the error correctly for you + const formErrors: ValidationError[] = [ + { + value: "", + path: "username", + type: "required", + params: { + value: "", + originalValue: "", + label: "login__username", + path: "username", + spec: { + strip: false, + strict: false, + abortEarly: true, + recursive: true, + disableStackTrace: false, + nullable: false, + optional: false, + coerce: true, + label: "login__username", + }, + disableStackTrace: false, + }, + errors: ["validations__required"], + inner: [], + name: "ValidationError", + message: "validations__required", + [Symbol.toStringTag]: "", + }, + ]; + + const onClickShowLoading = useCallback(() => { + setShowLoading(true); + + setTimeout(() => { + setShowLoading(false); + }, 3000); + }, []); + + useEffect(() => { + setNavItems( + Array.from(document.querySelectorAll(".uikit-block")).map( + (item, index) => { + return { + text: item.children[0].textContent || `Header ${index + 1}`, + id: item.id, + }; + }, + ), + ); + }, []); + + return ( + ({ + display: "flex", + gap: theme.customProperties.spacing.xl, + position: "relative", + padding: theme.customProperties.spacing.xl, + })} + > + + +
+ UiKit + + This is where you can display all your custom components/containers. + + ({ + display: "flex", + gap: theme.customProperties.spacing.md, + })} + > + For all the Styled MUI components, please refer to + + MUI documentation + + + + ({ + display: "flex", + flexDirection: "column", + gap: theme.customProperties.spacing.xs, + })} + > + + H1. Heading + H2. Heading + H3. Heading + H4. Heading + H5. Heading + H6. Heading + + subtitle1. Lorem ipsum dolor sit amet, consectetur adipisicing + elit. Quos blanditiis tenetur + + + subtitle2. Lorem ipsum dolor sit amet, consectetur adipisicing + elit. Quos blanditiis tenetur + + + body1. Lorem ipsum dolor sit amet, consectetur adipisicing elit. + Quos blanditiis tenetur unde suscipit, quam beatae rerum inventore + consectetur, neque doloribus, cupiditate numquam dignissimos + laborum fugiat deleniti? Eum quasi quidem quibusdam. + + + body2. Lorem ipsum dolor sit amet, consectetur adipisicing elit. + Quos blanditiis tenetur unde suscipit, quam beatae rerum inventore + consectetur, neque doloribus, cupiditate numquam dignissimos + laborum fugiat deleniti? Eum quasi quidem quibusdam. + + button text + caption text + overline text + + + + + + + + + + + + + + +`} + > + + + + + +`} + > + + + + + + + {showLoading && } + + +
+
+ ); +} diff --git a/frontend/src/routes/public-routes/uikit/route.ts b/frontend/src/routes/public-routes/uikit/route.ts new file mode 100644 index 0000000..c892a03 --- /dev/null +++ b/frontend/src/routes/public-routes/uikit/route.ts @@ -0,0 +1,11 @@ +import en from "#assets/locales/en.json"; +import fr from "#assets/locales/fr.json"; +import type { IRoute } from "src/routes"; + +export const route: IRoute = { + paths: { + en: `${en.routes__uikit}`, + fr: `${fr.routes__uikit}`, + }, + file: `./routes/public-routes/uikit/uikit.tsx`, +}; diff --git a/frontend/src/styles/_export.scss b/frontend/src/styles/_export.scss deleted file mode 100755 index 95b0e83..0000000 --- a/frontend/src/styles/_export.scss +++ /dev/null @@ -1,49 +0,0 @@ -@use "variables" as v; - -/* ============================================ -= Exports = -============================================ */ - -$_property: (gap); - -$_property-with-direction: ( - m: margin, - p: padding, -); - -$_position: (top, bottom, left, right); - -// Property-spacing (eg: gap-xs -> gap: get-spacing(xs)) -@each $propertyKey in $_property { - @each $spacingKey, $spacingValue in v.$spacing { - #body .#{$propertyKey}-#{$spacingKey} { - #{$propertyKey}: $spacingValue; - } - } -} - -// Property with direction-spacing (eg: mr-xs -> margin-right: get-spacing(xs)) -@each $propertyKey, $propertyValue in $_property-with-direction { - @each $spacingKey, $spacingValue in v.$spacing { - @each $directionKey, $directionValues in v.$direction { - #body .#{$propertyKey}#{$directionKey}-#{$spacingKey} { - @if $directionValues == all { - #{$propertyValue}: $spacingValue; - } @else { - @each $directionValue in $directionValues { - #{$propertyValue}-#{$directionValue}: $spacingValue; - } - } - } - } - } -} - -// Position-spacing (eg: top-xs -> top: get-spacing(xs)) -@each $positionKey in $_position { - @each $spacingKey, $spacingValue in v.$spacing { - #body .#{$positionKey}-#{$spacingKey} { - #{$positionKey}: $spacingValue; - } - } -} diff --git a/frontend/src/styles/_fonts.scss b/frontend/src/styles/_fonts.scss deleted file mode 100644 index 2ba2fc0..0000000 --- a/frontend/src/styles/_fonts.scss +++ /dev/null @@ -1,39 +0,0 @@ -@font-face { - font-family: InterTight; - font-style: normal; - font-weight: 400; - font-display: swap; - src: - url("@assets/fonts/InterTight/InterTight-Regular.woff2") format("woff2"), - url("@assets/fonts/InterTight/InterTight-Regular.ttf") format("truetype"); -} - -@font-face { - font-family: InterTight; - font-style: normal; - font-weight: 500; - font-display: swap; - src: - url("@assets/fonts/InterTight/InterTight-Medium.woff2") format("woff2"), - url("@assets/fonts/InterTight/InterTight-Medium.ttf") format("truetype"); -} - -@font-face { - font-family: InterTight; - font-style: normal; - font-weight: 600; - font-display: swap; - src: - url("@assets/fonts/InterTight/InterTight-SemiBold.woff2") format("woff2"), - url("@assets/fonts/InterTight/InterTight-SemiBold.ttf") format("truetype"); -} - -@font-face { - font-family: InterTight; - font-style: normal; - font-weight: 700; - font-display: swap; - src: - url("@assets/fonts/InterTight/InterTight-Bold.woff2") format("woff2"), - url("@assets/fonts/InterTight/InterTight-Bold.ttf") format("truetype"); -} diff --git a/frontend/src/styles/_globals.scss b/frontend/src/styles/_globals.scss deleted file mode 100755 index 68755fe..0000000 --- a/frontend/src/styles/_globals.scss +++ /dev/null @@ -1,85 +0,0 @@ -/* ============================================ -= Globals = -============================================ */ - -html { - height: 100%; - width: 100%; -} - -body { - display: flex; - flex-direction: column; - min-height: 100%; - width: 100%; - overflow-y: scroll; -} - -#root { - display: flex; - flex-direction: column; - flex: 1 1 auto; - height: 100%; - width: 100%; -} - -.flex { - display: flex; - - &-column { - display: flex; - flex-direction: column; - } - - &-1 { - flex: 1; - } - - &-grow { - flex-grow: 1; - } -} - -.align-center { - align-items: center; -} - -.justify { - &-center { - justify-content: center; - } - - &-between { - justify-content: space-between; - } - - &-start { - justify-content: flex-start; - } - - &-end { - justify-content: flex-end; - } -} - -.text-center { - text-align: center; -} - -.position { - &-absolute { - position: absolute; - } - - &-fixed { - position: fixed; - } - - &-relative { - position: relative; - } - - &-sticky { - position: sticky; - } -} diff --git a/frontend/src/styles/_variables.scss b/frontend/src/styles/_variables.scss deleted file mode 100755 index 7440938..0000000 --- a/frontend/src/styles/_variables.scss +++ /dev/null @@ -1,25 +0,0 @@ -/* ============================================ -= Variables = -============================================ */ - -// Allow utility classes to use the same spacing properties defined in the MUI theme -$spacing: ( - a: var(--mui-customProperties-spacing-a), - xxs: var(--mui-customProperties-spacing-xxs), - xs: var(--mui-customProperties-spacing-xs), - sm: var(--mui-customProperties-spacing-sm), - md: var(--mui-customProperties-spacing-md), - lg: var(--mui-customProperties-spacing-lg), - xl: var(--mui-customProperties-spacing-xl), - xxl: var(--mui-customProperties-spacing-xxl), -); - -$direction: ( - "": all, - l: left, - r: right, - t: top, - b: bottom, - x: left right, - y: top bottom, -); diff --git a/frontend/src/styles/fonts.css b/frontend/src/styles/fonts.css new file mode 100644 index 0000000..3541b2c --- /dev/null +++ b/frontend/src/styles/fonts.css @@ -0,0 +1,39 @@ +@font-face { + font-family: InterTight; + font-style: normal; + font-weight: 400; + font-display: swap; + src: + url("../assets/fonts/InterTight/InterTight-Regular.woff2") format("woff2"), + url("../assets/fonts/InterTight/InterTight-Regular.ttf") format("truetype"); +} + +@font-face { + font-family: InterTight; + font-style: normal; + font-weight: 500; + font-display: swap; + src: + url("../assets/fonts/InterTight/InterTight-Medium.woff2") format("woff2"), + url("../assets/fonts/InterTight/InterTight-Medium.ttf") format("truetype"); +} + +@font-face { + font-family: InterTight; + font-style: normal; + font-weight: 600; + font-display: swap; + src: + url("../assets/fonts/InterTight/InterTight-SemiBold.woff2") format("woff2"), + url("../assets/fonts/InterTight/InterTight-SemiBold.ttf") format("truetype"); +} + +@font-face { + font-family: InterTight; + font-style: normal; + font-weight: 700; + font-display: swap; + src: + url("../assets/fonts/InterTight/InterTight-Bold.woff2") format("woff2"), + url("../assets/fonts/InterTight/InterTight-Bold.ttf") format("truetype"); +} diff --git a/frontend/src/styles/index.scss b/frontend/src/styles/index.scss deleted file mode 100755 index bc3e9f4..0000000 --- a/frontend/src/styles/index.scss +++ /dev/null @@ -1,9 +0,0 @@ -@forward "mixins/normalize"; - -@forward "vendors/toastify.css"; - -@forward "export"; - -@forward "fonts"; - -@forward "globals"; diff --git a/frontend/src/styles/mixins/_generics.scss b/frontend/src/styles/mixins/_generics.scss deleted file mode 100755 index 54706df..0000000 --- a/frontend/src/styles/mixins/_generics.scss +++ /dev/null @@ -1,17 +0,0 @@ -/* ============================================ -= Generics = -============================================ */ -/* stylelint-disable scss/no-global-function-names */ - -$_font-base-size: 16; - -@function rem($sizeInPx) { - @return calc($sizeInPx / $_font-base-size) * 1rem; -} - -@function get($map, $key) { - @if map-has-key($map, $key) { - @return map-get($map, $key); - } - @error 'Invalid key: `#{$key}` for map `#{$map}`'; -} diff --git a/frontend/src/styles/mixins/_media-queries.scss b/frontend/src/styles/mixins/_media-queries.scss deleted file mode 100644 index d413eab..0000000 --- a/frontend/src/styles/mixins/_media-queries.scss +++ /dev/null @@ -1,32 +0,0 @@ -@use "../variables" as v; - -/* ============================================ -= Media queries = -Use these mixins like this: -.example-class{ - display: flex; - flex-direction: row; - - @include media-min(xs){ - flex-direction: column; - } -} -============================================ */ - -@mixin media-min($breakpoint) { - @media (min-width: v.get-media($breakpoint)) { - @content; - } -} - -@mixin media-max($breakpoint) { - @media (max-width: (v.get-media($breakpoint) - 1)) { - @content; - } -} - -@mixin media-range($breakpoint-start, $breakpoint-end) { - @media (min-width: v.get-media($breakpoint-start)) and (max-width: (v.get-media($breakpoint-end) - 1)) { - @content; - } -} diff --git a/frontend/src/styles/mixins/_normalize.scss b/frontend/src/styles/mixins/_normalize.scss deleted file mode 100755 index 4d3159e..0000000 --- a/frontend/src/styles/mixins/_normalize.scss +++ /dev/null @@ -1,61 +0,0 @@ -/* ============================================ -= Normalize = -============================================ */ - -*, -*:before, -*:after { - box-sizing: border-box; -} - -ul { - list-style: none; - margin: 0; - padding: 0; -} - -a, -a:active, -a:hover, -a:visited { - text-decoration: none; -} - -h1, -h2, -h3, -h4, -h5, -h6, -p { - margin: 0; -} - -html, -body { - margin: 0; -} - -button { - background: none; - color: inherit; - border: none; - padding: 0; - outline: inherit; - appearance: none; - cursor: pointer; -} - -::-ms-reveal { - display: none; -} - -input::-webkit-outer-spin-button, -input::-webkit-inner-spin-button { - appearance: none; - margin: 0; -} - -input[type="number"] { - appearance: textfield; -} diff --git a/frontend/src/styles/vendors/toastify.css b/frontend/src/styles/toastify.css similarity index 100% rename from frontend/src/styles/vendors/toastify.css rename to frontend/src/styles/toastify.css diff --git a/frontend/src/material-ui-pigment-css.d.ts b/frontend/src/theme/material-ui.d.ts similarity index 52% rename from frontend/src/material-ui-pigment-css.d.ts rename to frontend/src/theme/material-ui.d.ts index d8ccce6..3de9804 100644 --- a/frontend/src/material-ui-pigment-css.d.ts +++ b/frontend/src/theme/material-ui.d.ts @@ -1,37 +1,33 @@ -import { Theme, SxProps } from "@mui/material/styles"; +import "@mui/material/styles"; import {} from "@mui/material/themeCssVarsAugmentation"; -// Extend the Pigment CSS theme types with Material UI Theme -declare module "@mui/material-pigment-css" { - interface ThemeArgs { - theme: Theme; - } -} - declare module "@mui/material/styles" { // Named like this to augment the existing ZIndex theme type interface ZIndex { debugBanner: number; - cookieBanner: number; loading: number; } interface CustomSpacing { a: string; - xxs: string; - xs: string; - sm: string; - md: string; - lg: string; - xl: string; - xxl: string; + xxs: number; + xs: number; + sm: number; + md: number; + lg: number; + xl: number; + xxl: number; } interface CustomBorderRadius { - xs: string; - sm: string; - md: string; - lg: string; + xxs: number; + xs: number; + sm: number; + md: number; + lg: number; + xl: number; + xxl: number; + xxxl: number; } interface Theme { @@ -39,6 +35,7 @@ declare module "@mui/material/styles" { customProperties: { spacing: CustomSpacing; borderRadius: CustomBorderRadius; + bottomNavigationHeight: number; }; } @@ -48,18 +45,7 @@ declare module "@mui/material/styles" { customProperties?: { spacing?: Partial; borderRadius?: Partial; + bottomNavigationHeight?: number; }; } } - -// Allows typescript to recognize sx prop on HTML elements -declare global { - namespace React { - interface HTMLAttributes { - sx?: SxProps; - } - interface SVGProps { - sx?: SxProps; - } - } -} diff --git a/frontend/src/theme/palette.ts b/frontend/src/theme/palette.ts new file mode 100644 index 0000000..7e94bee --- /dev/null +++ b/frontend/src/theme/palette.ts @@ -0,0 +1,5 @@ +import type { PaletteOptions } from "@mui/material/styles"; + +export default function getPalette(): PaletteOptions { + return {}; +} diff --git a/frontend/src/themes/theme.ts b/frontend/src/theme/theme.ts similarity index 64% rename from frontend/src/themes/theme.ts rename to frontend/src/theme/theme.ts index 93bf7c4..fca38b8 100644 --- a/frontend/src/themes/theme.ts +++ b/frontend/src/theme/theme.ts @@ -1,16 +1,22 @@ import { createTheme } from "@mui/material/styles"; import palette from "./palette"; import typography from "./typography"; -import { breakpoints, zIndex, spacingValues, borderRadius } from "./variables"; +import { borderRadius, breakpoints, spacingValues, zIndex } from "./variables"; const theme = createTheme({ cssVariables: true, // creates css variables for theme values breakpoints: { values: breakpoints, }, + shape: { + // Resetting the default multiplier of 4 for borderRadius + // We can use fixed values from the variables.ts file + borderRadius: 1, + }, zIndex: zIndex, palette: palette(), typography, + // You can use the spacingValues from the variables.ts file or numbers (used as multiplier values) spacing: (value: number | keyof typeof spacingValues) => { if (typeof value === "number") { return `${0.25 * value}rem`; @@ -22,6 +28,10 @@ const theme = createTheme({ customProperties: { spacing: spacingValues, borderRadius: borderRadius, + bottomNavigationHeight: 76, + }, + components: { + MuiCssBaseline: {}, }, }); diff --git a/frontend/src/themes/typography.ts b/frontend/src/theme/typography.ts similarity index 81% rename from frontend/src/themes/typography.ts rename to frontend/src/theme/typography.ts index 831eb47..dd34012 100644 --- a/frontend/src/themes/typography.ts +++ b/frontend/src/theme/typography.ts @@ -1,4 +1,4 @@ -import { TypographyOptions } from "@mui/material/styles/createTypography"; +import type { TypographyOptions } from "@mui/material/styles/createTypography"; const typography: TypographyOptions = { fontFamily: "InterTight", @@ -15,16 +15,16 @@ const typography: TypographyOptions = { fontWeight: 600, }, h4: { - fontSize: "1.5rem", - fontWeight: 600, + fontSize: "2.125rem", + fontWeight: 500, }, h5: { fontSize: "1.25rem", fontWeight: 600, }, h6: { - fontSize: "1rem", - fontWeight: 600, + fontSize: "1.25rem", + fontWeight: 500, }, subtitle1: { fontSize: "1rem", @@ -32,7 +32,7 @@ const typography: TypographyOptions = { }, subtitle2: { fontSize: "0.875rem", - fontWeight: 400, + fontWeight: 500, }, body1: { fontSize: "1rem", diff --git a/frontend/src/theme/variables.ts b/frontend/src/theme/variables.ts new file mode 100644 index 0000000..2ea9568 --- /dev/null +++ b/frontend/src/theme/variables.ts @@ -0,0 +1,41 @@ +import type { CustomBorderRadius, CustomSpacing } from "@mui/material"; +import type { BreakpointsOptions, ZIndex } from "@mui/material/styles"; + +export const breakpoints: BreakpointsOptions["values"] = { + xs: 0, + sm: 444, + md: 900, + lg: 1200, + xl: 1440, +}; + +export const zIndex: Partial = { + appBar: 9, + /** + * You can define z-index values for your custom components here. For example, you can define the following: + * debugBanner: 100, + * and this will be available as a css variable like so: --mui-zIndex-debugBanner + */ +}; + +export const spacingValues: CustomSpacing = { + a: "auto", + xxs: 1, + xs: 2, + sm: 4, + md: 8, + lg: 12, + xl: 16, + xxl: 20, +}; + +export const borderRadius: CustomBorderRadius = { + xxs: 2, + xs: 4, + sm: 8, + md: 16, + lg: 24, + xl: 32, + xxl: 40, + xxxl: 50, +}; diff --git a/frontend/src/themes/palette.ts b/frontend/src/themes/palette.ts deleted file mode 100644 index ececd60..0000000 --- a/frontend/src/themes/palette.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { PaletteOptions } from "@mui/material/styles"; -// this is an example - colors can come from any other place -import colors from "@mui/material/colors"; - -export default function getPalette(): PaletteOptions { - const { blue, red, orange, cyan, green, grey } = colors; - - const contrastText = "#fff"; - - return { - common: { - black: "#000", - white: "#fff", - }, - primary: { - 100: blue[100], - 200: blue[200], - light: blue[300], - 400: blue[400], - main: blue[500], - 600: blue[600], - 700: blue[700], - dark: blue[900], - contrastText, - }, - secondary: { - 100: grey[100], - 200: grey[200], - light: grey[300], - 400: grey[400], - main: grey[500], - 600: grey[600], - dark: grey[700], - 800: grey[800], - A100: grey.A100, - A200: grey.A400, - A400: grey.A700, - contrastText, - }, - error: { - light: red[200], - main: red[400], - dark: red[700], - contrastText, - }, - warning: { - light: orange[300], - main: orange[500], - dark: orange[700], - contrastText: grey[100], - }, - info: { - light: cyan[300], - main: cyan[500], - dark: cyan[700], - contrastText, - }, - success: { - light: green[300], - main: green[500], - dark: green[700], - contrastText, - }, - grey, - }; -} diff --git a/frontend/src/themes/variables.ts b/frontend/src/themes/variables.ts deleted file mode 100644 index 2f4a658..0000000 --- a/frontend/src/themes/variables.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { CustomBorderRadius, CustomSpacing } from "@mui/material"; -import { BreakpointsOptions, ZIndex } from "@mui/material/styles"; - -export const breakpoints: BreakpointsOptions["values"] = { - xs: 640, - sm: 768, - md: 1024, - lg: 1280, - xl: 1440, -}; - -export const zIndex: Partial = { - debugBanner: 100, - cookieBanner: 200, - loading: 1000, -}; - -export const spacingValues: CustomSpacing = { - a: "auto", - xxs: "0.25rem", - xs: "0.5rem", - sm: "0.75rem", - md: "1rem", - lg: "1.5rem", - xl: "2rem", - xxl: "3rem", -}; - -export const borderRadius: CustomBorderRadius = { - xs: "4px", - sm: "8px", - md: "16px", - lg: "24px", -}; diff --git a/frontend/src/vite-env.d.ts b/frontend/src/vite-env.d.ts index cb73a4b..84f700b 100644 --- a/frontend/src/vite-env.d.ts +++ b/frontend/src/vite-env.d.ts @@ -1,6 +1,14 @@ /// -declare const __ENV__: string; -declare const __API_URL__: string; -declare const __VERSION_NUMBER__: string; -declare const __GA_TRACKING_ID__: string; +interface ImportMetaEnv { + readonly VITE_PORT: string; + readonly VITE_ENV: string; + readonly VITE_GENERATE_SOURCEMAP: string; + readonly VITE_VERSION_NUMBER: string; + readonly VITE_GA_TRACKING_ID: string; + readonly VITE_API_URL: string; +} + +interface ImportMeta { + readonly env: ImportMetaEnv; +} diff --git a/frontend/stylelint.config.js b/frontend/stylelint.config.js new file mode 100755 index 0000000..5165f63 --- /dev/null +++ b/frontend/stylelint.config.js @@ -0,0 +1,10 @@ +/** @type {import('stylelint').Config} */ +export default { + ignoreFiles: ["dist/**", "build/**", "node_modules/**"], + extends: [ + "stylelint-config-standard", + "stylelint-config-css-modules", + "stylelint-prettier/recommended", + ], + plugins: ["stylelint-order"], +}; diff --git a/frontend/tsconfig.app.json b/frontend/tsconfig.app.json deleted file mode 100644 index 06efcac..0000000 --- a/frontend/tsconfig.app.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", - "target": "ES2020", - "useDefineForClassFields": true, - "lib": ["ES2020", "DOM", "DOM.Iterable"], - "module": "ESNext", - "skipLibCheck": true, - - /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, - "moduleDetection": "force", - "noEmit": true, - "jsx": "react-jsx", - - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, - - /* Project */ - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "baseUrl": ".", - "paths": { - "@assets/*": ["src/assets/*"], - "@components/*": ["src/app/components/*"], - "@containers/*": ["src/app/containers/*"], - "@enums/*": ["src/app/enums/*"], - "@forms/*": ["src/app/forms/*"], - "@hocs/*": ["src/app/hocs/*"], - "@icons/*": ["src/app/icons/*"], - "@pages/*": ["src/app/pages/*"], - "@routes/*": ["src/app/routes/*"], - "@services/*": ["src/app/services/*"], - "@shared/*": ["src/app/shared/*"], - "@stores/*": ["src/app/stores/*"], - "@styles/*": ["src/styles/*"] - } - }, - "include": ["src"] -} diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index ea9d0cd..15c7f38 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -1,11 +1,37 @@ { - "files": [], - "references": [ - { - "path": "./tsconfig.app.json" + "compilerOptions": { + "baseUrl": ".", + "esModuleInterop": true, + "jsx": "react-jsx", + "lib": ["DOM", "DOM.Iterable", "ES2022"], + "module": "ES2022", + "moduleResolution": "bundler", + "noEmit": true, + "paths": { + "@assets/*": ["src/assets/*"], + "@components/*": ["src/app/components/*"], + "@containers/*": ["src/app/containers/*"], + "@enums/*": ["src/app/enums/*"], + "@forms/*": ["src/app/forms/*"], + "@hocs/*": ["src/app/hocs/*"], + "@icons/*": ["src/app/icons/*"], + "@routes/*": ["src/routes/*"], + "@services/*": ["src/app/services/*"], + "@shared/*": ["src/app/shared/*"], + "@stores/*": ["src/app/stores/*"] }, - { - "path": "./tsconfig.node.json" - } + "resolveJsonModule": true, + "rootDirs": [".", "./.react-router/types"], + "skipLibCheck": true, + "strict": true, + "target": "ES2022", + "types": ["node", "vite/client"], + "verbatimModuleSyntax": true + }, + "include": [ + "**/*", + "**/.server/**/*", + "**/.client/**/*", + ".react-router/types/**/*" ] } diff --git a/frontend/tsconfig.node.json b/frontend/tsconfig.node.json deleted file mode 100644 index 7dac597..0000000 --- a/frontend/tsconfig.node.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", - "skipLibCheck": true, - "module": "ESNext", - "moduleResolution": "bundler", - "allowSyntheticDefaultImports": true, - "strict": true, - "noEmit": true - }, - "include": [ - "vite.config.ts", - "src/material-ui-pigment-css.d.ts", - "src/themes/**/*.ts" - ] -} diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 90e7bf6..9b188ce 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -1,54 +1,34 @@ -import { defineConfig, loadEnv, ServerOptions } from "vite"; -import react from "@vitejs/plugin-react"; -import { pigment } from "@pigment-css/vite-plugin"; -import theme from "./src/themes/theme"; -import path from "path"; +import { reactRouter } from "@react-router/dev/vite"; +import autoprefixer from "autoprefixer"; +import { defineConfig, loadEnv } from "vite"; +import tsconfigPaths from "vite-tsconfig-paths"; -export default ({ mode }: { mode: string }) => { - process.env = { ...process.env, ...loadEnv(mode, process.cwd()) }; +export default defineConfig(({ mode }) => { + const env = { ...process.env, ...loadEnv(mode, process.cwd()) }; - const serverOptions: ServerOptions = { - port: Number(process.env.VITE_PORT), - }; - if (process.env.VITE_DOCKER === "true") { - serverOptions.host = true; - serverOptions.watch = { usePolling: true }; - } - - return defineConfig({ - plugins: [ - react(), - pigment({ - theme, - transformLibraries: ["@mui/material"], - }), - ], + return { + css: { + postcss: { + plugins: [autoprefixer], + }, + }, + ssr: { + noExternal: [ + "@mui/*", // fix material-ui ES modules imported error. + ], + }, + plugins: [reactRouter(), tsconfigPaths()], build: { - sourcemap: process.env.VITE_GENERATE_SOURCEMAP === "true", + sourcemap: + env.VITE_GENERATE_SOURCEMAP === "true" && mode !== "production", }, - server: serverOptions, - define: { - __ENV__: JSON.stringify(process.env.VITE_ENV), - __API_URL__: JSON.stringify(process.env.VITE_API_URL), - __VERSION_NUMBER__: JSON.stringify(process.env.VITE_VERSION_NUMBER), - __GA_TRACKING_ID__: JSON.stringify(process.env.VITE_GA_TRACKING_ID), + server: { + port: Number(env.VITE_PORT), }, - resolve: { - alias: { - "@assets": path.resolve(__dirname, "src/assets"), - "@components": path.resolve(__dirname, "src/app/components"), - "@containers": path.resolve(__dirname, "src/app/containers"), - "@enums": path.resolve(__dirname, "src/app/enums"), - "@forms": path.resolve(__dirname, "src/app/forms"), - "@hocs": path.resolve(__dirname, "src/app/hocs"), - "@icons": path.resolve(__dirname, "src/app/icons"), - "@pages": path.resolve(__dirname, "src/app/pages"), - "@routes": path.resolve(__dirname, "src/app/routes"), - "@services": path.resolve(__dirname, "src/app/services"), - "@shared": path.resolve(__dirname, "src/app/shared"), - "@stores": path.resolve(__dirname, "src/app/stores"), - "@styles": path.resolve(__dirname, "src/styles"), - }, + optimizeDeps: { + // this fixes a bug where the app crashes on the first load while optimizing dependencies + // https://github.com/remix-run/remix/issues/10156 + entries: ["src/**/*.tsx", "src/**/*.ts"], }, - }); -}; + }; +}); diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 3785c81..e1b6e9b 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -15,620 +15,365 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/code-frame@npm:7.24.7" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.2": + version: 7.26.2 + resolution: "@babel/code-frame@npm:7.26.2" dependencies: - "@babel/highlight": "npm:^7.24.7" + "@babel/helper-validator-identifier": "npm:^7.25.9" + js-tokens: "npm:^4.0.0" picocolors: "npm:^1.0.0" - checksum: 10c0/ab0af539473a9f5aeaac7047e377cb4f4edd255a81d84a76058595f8540784cc3fbe8acf73f1e073981104562490aabfb23008cd66dc677a456a4ed5390fdde6 - languageName: node - linkType: hard - -"@babel/compat-data@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/compat-data@npm:7.24.7" - checksum: 10c0/dcd93a5632b04536498fbe2be5af1057f635fd7f7090483d8e797878559037e5130b26862ceb359acbae93ed27e076d395ddb4663db6b28a665756ffd02d324f + checksum: 10c0/7d79621a6849183c415486af99b1a20b84737e8c11cd55b6544f688c51ce1fd710e6d869c3dd21232023da272a79b91efb3e83b5bc2dc65c1187c5fcd1b72ea8 languageName: node linkType: hard -"@babel/compat-data@npm:^7.25.2": - version: 7.25.4 - resolution: "@babel/compat-data@npm:7.25.4" - checksum: 10c0/50d79734d584a28c69d6f5b99adfaa064d0f41609a378aef04eb06accc5b44f8520e68549eba3a082478180957b7d5783f1bfb1672e4ae8574e797ce8bae79fa - languageName: node - linkType: hard - -"@babel/core@npm:^7.23.5, @babel/core@npm:^7.24.4": - version: 7.25.2 - resolution: "@babel/core@npm:7.25.2" - dependencies: - "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.24.7" - "@babel/generator": "npm:^7.25.0" - "@babel/helper-compilation-targets": "npm:^7.25.2" - "@babel/helper-module-transforms": "npm:^7.25.2" - "@babel/helpers": "npm:^7.25.0" - "@babel/parser": "npm:^7.25.0" - "@babel/template": "npm:^7.25.0" - "@babel/traverse": "npm:^7.25.2" - "@babel/types": "npm:^7.25.2" - convert-source-map: "npm:^2.0.0" - debug: "npm:^4.1.0" - gensync: "npm:^1.0.0-beta.2" - json5: "npm:^2.2.3" - semver: "npm:^6.3.1" - checksum: 10c0/a425fa40e73cb72b6464063a57c478bc2de9dbcc19c280f1b55a3d88b35d572e87e8594e7d7b4880331addb6faef641bbeb701b91b41b8806cd4deae5d74f401 +"@babel/compat-data@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/compat-data@npm:7.26.5" + checksum: 10c0/9d2b41f0948c3dfc5de44d9f789d2208c2ea1fd7eb896dfbb297fe955e696728d6f363c600cd211e7f58ccbc2d834fe516bb1e4cf883bbabed8a32b038afc1a0 languageName: node linkType: hard -"@babel/core@npm:^7.24.5": - version: 7.24.7 - resolution: "@babel/core@npm:7.24.7" +"@babel/core@npm:^7.21.8, @babel/core@npm:^7.23.7": + version: 7.26.7 + resolution: "@babel/core@npm:7.26.7" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.24.7" - "@babel/generator": "npm:^7.24.7" - "@babel/helper-compilation-targets": "npm:^7.24.7" - "@babel/helper-module-transforms": "npm:^7.24.7" - "@babel/helpers": "npm:^7.24.7" - "@babel/parser": "npm:^7.24.7" - "@babel/template": "npm:^7.24.7" - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" + "@babel/code-frame": "npm:^7.26.2" + "@babel/generator": "npm:^7.26.5" + "@babel/helper-compilation-targets": "npm:^7.26.5" + "@babel/helper-module-transforms": "npm:^7.26.0" + "@babel/helpers": "npm:^7.26.7" + "@babel/parser": "npm:^7.26.7" + "@babel/template": "npm:^7.25.9" + "@babel/traverse": "npm:^7.26.7" + "@babel/types": "npm:^7.26.7" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/4004ba454d3c20a46ea66264e06c15b82e9f6bdc35f88819907d24620da70dbf896abac1cb4cc4b6bb8642969e45f4d808497c9054a1388a386cf8c12e9b9e0d - languageName: node - linkType: hard - -"@babel/generator@npm:^7.23.5, @babel/generator@npm:^7.25.0, @babel/generator@npm:^7.25.6": - version: 7.25.6 - resolution: "@babel/generator@npm:7.25.6" - dependencies: - "@babel/types": "npm:^7.25.6" - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.25" - jsesc: "npm:^2.5.1" - checksum: 10c0/f89282cce4ddc63654470b98086994d219407d025497f483eb03ba102086e11e2b685b27122f6ff2e1d93b5b5fa0c3a6b7e974fbf2e4a75b685041a746a4291e + checksum: 10c0/fbd2cd9fc23280bdcaca556e558f715c0a42d940b9913c52582e8e3d24e391d269cb8a9cd6589172593983569021c379e28bba6b19ea2ee08674f6068c210a9d languageName: node linkType: hard -"@babel/generator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/generator@npm:7.24.7" +"@babel/generator@npm:^7.21.5, @babel/generator@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/generator@npm:7.26.5" dependencies: - "@babel/types": "npm:^7.24.7" + "@babel/parser": "npm:^7.26.5" + "@babel/types": "npm:^7.26.5" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" - jsesc: "npm:^2.5.1" - checksum: 10c0/06b1f3350baf527a3309e50ffd7065f7aee04dd06e1e7db794ddfde7fe9d81f28df64edd587173f8f9295496a7ddb74b9a185d4bf4de7bb619e6d4ec45c8fd35 - languageName: node - linkType: hard - -"@babel/helper-annotate-as-pure@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-annotate-as-pure@npm:7.24.7" - dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/4679f7df4dffd5b3e26083ae65228116c3da34c3fff2c11ae11b259a61baec440f51e30fd236f7a0435b9d471acd93d0bc5a95df8213cbf02b1e083503d81b9a + jsesc: "npm:^3.0.2" + checksum: 10c0/3be79e0aa03f38858a465d12ee2e468320b9122dc44fc85984713e32f16f4d77ce34a16a1a9505972782590e0b8d847b6f373621f9c6fafa1906d90f31416cb0 languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-compilation-targets@npm:7.24.7" +"@babel/helper-annotate-as-pure@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" dependencies: - "@babel/compat-data": "npm:^7.24.7" - "@babel/helper-validator-option": "npm:^7.24.7" - browserslist: "npm:^4.22.2" - lru-cache: "npm:^5.1.1" - semver: "npm:^6.3.1" - checksum: 10c0/1d580a9bcacefe65e6bf02ba1dafd7ab278269fef45b5e281d8354d95c53031e019890464e7f9351898c01502dd2e633184eb0bcda49ed2ecd538675ce310f51 + "@babel/types": "npm:^7.25.9" + checksum: 10c0/095b6ba50489d797733abebc4596a81918316a99e3632755c9f02508882912b00c2ae5e468532a25a5c2108d109ddbe9b7da78333ee7cc13817fc50c00cf06fe languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/helper-compilation-targets@npm:7.25.2" +"@babel/helper-compilation-targets@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/helper-compilation-targets@npm:7.26.5" dependencies: - "@babel/compat-data": "npm:^7.25.2" - "@babel/helper-validator-option": "npm:^7.24.8" - browserslist: "npm:^4.23.1" + "@babel/compat-data": "npm:^7.26.5" + "@babel/helper-validator-option": "npm:^7.25.9" + browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10c0/de10e986b5322c9f807350467dc845ec59df9e596a5926a3b5edbb4710d8e3b8009d4396690e70b88c3844fe8ec4042d61436dd4b92d1f5f75655cf43ab07e99 + checksum: 10c0/9da5c77e5722f1a2fcb3e893049a01d414124522bbf51323bb1a0c9dcd326f15279836450fc36f83c9e8a846f3c40e88be032ed939c5a9840922bed6073edfb4 languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.25.0": - version: 7.25.4 - resolution: "@babel/helper-create-class-features-plugin@npm:7.25.4" +"@babel/helper-create-class-features-plugin@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-create-class-features-plugin@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-member-expression-to-functions": "npm:^7.24.8" - "@babel/helper-optimise-call-expression": "npm:^7.24.7" - "@babel/helper-replace-supers": "npm:^7.25.0" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/traverse": "npm:^7.25.4" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/a765d9e0482e13cf96642fa8aa28e6f7d4d7d39f37840d6246e5e10a7c47f47c52d52522edd3073f229449d17ec0db6f9b7b5e398bff6bb0b4994d65957a164c - languageName: node - linkType: hard - -"@babel/helper-environment-visitor@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-environment-visitor@npm:7.24.7" - dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/36ece78882b5960e2d26abf13cf15ff5689bf7c325b10a2895a74a499e712de0d305f8d78bb382dd3c05cfba7e47ec98fe28aab5674243e0625cd38438dd0b2d - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-function-name@npm:7.24.7" - dependencies: - "@babel/template": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/e5e41e6cf86bd0f8bf272cbb6e7c5ee0f3e9660414174435a46653efba4f2479ce03ce04abff2aa2ef9359cf057c79c06cb7b134a565ad9c0e8a50dcdc3b43c4 - languageName: node - linkType: hard - -"@babel/helper-hoist-variables@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-hoist-variables@npm:7.24.7" - dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/19ee37563bbd1219f9d98991ad0e9abef77803ee5945fd85aa7aa62a67c69efca9a801696a1b58dda27f211e878b3327789e6fd2a6f6c725ccefe36774b5ce95 - languageName: node - linkType: hard - -"@babel/helper-member-expression-to-functions@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-member-expression-to-functions@npm:7.24.8" - dependencies: - "@babel/traverse": "npm:^7.24.8" - "@babel/types": "npm:^7.24.8" - checksum: 10c0/7e14a5acc91f6cd26305a4441b82eb6f616bd70b096a4d2099a968f16b26d50207eec0b9ebfc466fefd62bd91587ac3be878117cdfec819b7151911183cb0e5a + checksum: 10c0/b2bdd39f38056a76b9ba00ec5b209dd84f5c5ebd998d0f4033cf0e73d5f2c357fbb49d1ce52db77a2709fb29ee22321f84a5734dc9914849bdfee9ad12ce8caf languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.22.15, @babel/helper-module-imports@npm:^7.24.3, @babel/helper-module-imports@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-module-imports@npm:7.24.7" +"@babel/helper-member-expression-to-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/97c57db6c3eeaea31564286e328a9fb52b0313c5cfcc7eee4bc226aebcf0418ea5b6fe78673c0e4a774512ec6c86e309d0f326e99d2b37bfc16a25a032498af0 + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/e08c7616f111e1fb56f398365e78858e26e466d4ac46dff25921adc5ccae9b232f66e952a2f4162bbe336627ba336c7fd9eca4835b6548935973d3380d77eaff languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-module-transforms@npm:7.24.7" +"@babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-module-imports@npm:7.25.9" dependencies: - "@babel/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-module-imports": "npm:^7.24.7" - "@babel/helper-simple-access": "npm:^7.24.7" - "@babel/helper-split-export-declaration": "npm:^7.24.7" - "@babel/helper-validator-identifier": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/4f311755fcc3b4cbdb689386309cdb349cf0575a938f0b9ab5d678e1a81bbb265aa34ad93174838245f2ac7ff6d5ddbd0104638a75e4e961958ed514355687b6 + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/078d3c2b45d1f97ffe6bb47f61961be4785d2342a4156d8b42c92ee4e1b7b9e365655dd6cb25329e8fe1a675c91eeac7e3d04f0c518b67e417e29d6e27b6aa70 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.24.8, @babel/helper-module-transforms@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/helper-module-transforms@npm:7.25.2" +"@babel/helper-module-transforms@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/helper-module-transforms@npm:7.26.0" dependencies: - "@babel/helper-module-imports": "npm:^7.24.7" - "@babel/helper-simple-access": "npm:^7.24.7" - "@babel/helper-validator-identifier": "npm:^7.24.7" - "@babel/traverse": "npm:^7.25.2" + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/adaa15970ace0aee5934b5a633789b5795b6229c6a9cf3e09a7e80aa33e478675eee807006a862aa9aa517935d81f88a6db8a9f5936e3a2a40ec75f8062bc329 + checksum: 10c0/ee111b68a5933481d76633dad9cdab30c41df4479f0e5e1cc4756dc9447c1afd2c9473b5ba006362e35b17f4ebddd5fca090233bef8dfc84dca9d9127e56ec3a languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-optimise-call-expression@npm:7.24.7" +"@babel/helper-optimise-call-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/ca6a9884705dea5c95a8b3ce132d1e3f2ae951ff74987d400d1d9c215dae9c0f9e29924d8f8e131e116533d182675bc261927be72f6a9a2968eaeeaa51eb1d0f + "@babel/types": "npm:^7.25.9" + checksum: 10c0/90203e6607edeadd2a154940803fd616c0ed92c1013d6774c4b8eb491f1a5a3448b68faae6268141caa5c456e55e3ee49a4ed2bd7ddaf2365daea321c435914c languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.24.0, @babel/helper-plugin-utils@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-plugin-utils@npm:7.24.8" - checksum: 10c0/0376037f94a3bfe6b820a39f81220ac04f243eaee7193774b983e956c1750883ff236b30785795abbcda43fac3ece74750566830c2daa4d6e3870bb0dff34c2d +"@babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/helper-plugin-utils@npm:7.26.5" + checksum: 10c0/cdaba71d4b891aa6a8dfbe5bac2f94effb13e5fa4c2c487667fdbaa04eae059b78b28d85a885071f45f7205aeb56d16759e1bed9c118b94b16e4720ef1ab0f65 languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-plugin-utils@npm:7.24.7" - checksum: 10c0/c3d38cd9b3520757bb4a279255cc3f956fc0ac1c193964bd0816ebd5c86e30710be8e35252227e0c9d9e0f4f56d9b5f916537f2bc588084b0988b4787a967d31 - languageName: node - linkType: hard - -"@babel/helper-replace-supers@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/helper-replace-supers@npm:7.25.0" +"@babel/helper-replace-supers@npm:^7.25.9": + version: 7.26.5 + resolution: "@babel/helper-replace-supers@npm:7.26.5" dependencies: - "@babel/helper-member-expression-to-functions": "npm:^7.24.8" - "@babel/helper-optimise-call-expression": "npm:^7.24.7" - "@babel/traverse": "npm:^7.25.0" + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/traverse": "npm:^7.26.5" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/b4b6650ab3d56c39a259367cd97f8df2f21c9cebb3716fea7bca40a150f8847bfb82f481e98927c7c6579b48a977b5a8f77318a1c6aeb497f41ecd6dbc3fdfef - languageName: node - linkType: hard - -"@babel/helper-simple-access@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-simple-access@npm:7.24.7" - dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/7230e419d59a85f93153415100a5faff23c133d7442c19e0cd070da1784d13cd29096ee6c5a5761065c44e8164f9f80e3a518c41a0256df39e38f7ad6744fed7 - languageName: node - linkType: hard - -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.24.7" - dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/e3a9b8ac9c262ac976a1bcb5fe59694db5e6f0b4f9e7bdba5c7693b8b5e28113c23bdaa60fe8d3ec32a337091b67720b2053bcb3d5655f5406536c3d0584242b + checksum: 10c0/b19b1245caf835207aaaaac3a494f03a16069ae55e76a2e1350b5acd560e6a820026997a8160e8ebab82ae873e8208759aa008eb8422a67a775df41f0a4633d4 languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-split-export-declaration@npm:7.24.7" +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/0254577d7086bf09b01bbde98f731d4fcf4b7c3fa9634fdb87929801307c1f6202a1352e3faa5492450fa8da4420542d44de604daf540704ff349594a78184f6 - languageName: node - linkType: hard - -"@babel/helper-string-parser@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-string-parser@npm:7.24.7" - checksum: 10c0/47840c7004e735f3dc93939c77b099bb41a64bf3dda0cae62f60e6f74a5ff80b63e9b7cf77b5ec25a324516381fc994e1f62f922533236a8e3a6af57decb5e1e - languageName: node - linkType: hard - -"@babel/helper-string-parser@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-string-parser@npm:7.24.8" - checksum: 10c0/6361f72076c17fabf305e252bf6d580106429014b3ab3c1f5c4eb3e6d465536ea6b670cc0e9a637a77a9ad40454d3e41361a2909e70e305116a23d68ce094c08 - languageName: node - linkType: hard - -"@babel/helper-string-parser@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-string-parser@npm:7.25.7" - checksum: 10c0/73ef2ceb81f8294678a0afe8ab0103729c0370cac2e830e0d5128b03be5f6a2635838af31d391d763e3c5a4460ed96f42fd7c9b552130670d525be665913bc4c + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/09ace0c6156961624ac9524329ce7f45350bab94bbe24335cbe0da7dfaa1448e658771831983cb83fe91cf6635b15d0a3cab57c03b92657480bfb49fb56dd184 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-validator-identifier@npm:7.24.7" - checksum: 10c0/87ad608694c9477814093ed5b5c080c2e06d44cb1924ae8320474a74415241223cc2a725eea2640dd783ff1e3390e5f95eede978bc540e870053152e58f1d651 +"@babel/helper-string-parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-string-parser@npm:7.25.9" + checksum: 10c0/7244b45d8e65f6b4338a6a68a8556f2cb161b782343e97281a5f2b9b93e420cad0d9f5773a59d79f61d0c448913d06f6a2358a87f2e203cf112e3c5b53522ee6 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-validator-identifier@npm:7.25.7" - checksum: 10c0/07438e5bf01ab2882a15027fdf39ac3b0ba1b251774a5130917907014684e2f70fef8fd620137ca062c4c4eedc388508d2ea7a3a7d9936a32785f4fe116c68c0 +"@babel/helper-validator-identifier@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-identifier@npm:7.25.9" + checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-validator-option@npm:7.24.7" - checksum: 10c0/21aea2b7bc5cc8ddfb828741d5c8116a84cbc35b4a3184ec53124f08e09746f1f67a6f9217850188995ca86059a7942e36d8965a6730784901def777b7e8a436 +"@babel/helper-validator-option@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-option@npm:7.25.9" + checksum: 10c0/27fb195d14c7dcb07f14e58fe77c44eea19a6a40a74472ec05c441478fa0bb49fa1c32b2d64be7a38870ee48ef6601bdebe98d512f0253aea0b39756c4014f3e languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-validator-option@npm:7.24.8" - checksum: 10c0/73db93a34ae89201351288bee7623eed81a54000779462a986105b54ffe82069e764afd15171a428b82e7c7a9b5fec10b5d5603b216317a414062edf5c67a21f - languageName: node - linkType: hard - -"@babel/helpers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helpers@npm:7.24.7" - dependencies: - "@babel/template": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/aa8e230f6668773e17e141dbcab63e935c514b4b0bf1fed04d2eaefda17df68e16b61a56573f7f1d4d1e605ce6cc162b5f7e9fdf159fde1fd9b77c920ae47d27 - languageName: node - linkType: hard - -"@babel/helpers@npm:^7.25.0": - version: 7.25.6 - resolution: "@babel/helpers@npm:7.25.6" - dependencies: - "@babel/template": "npm:^7.25.0" - "@babel/types": "npm:^7.25.6" - checksum: 10c0/448c1cdabccca42fd97a252f73f1e4bcd93776dbf24044f3b4f49b756bf2ece73ee6df05177473bb74ea7456dddd18d6f481e4d96d2cc7839d078900d48c696c - languageName: node - linkType: hard - -"@babel/highlight@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/highlight@npm:7.24.7" +"@babel/helpers@npm:^7.26.7": + version: 7.26.7 + resolution: "@babel/helpers@npm:7.26.7" dependencies: - "@babel/helper-validator-identifier": "npm:^7.24.7" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10c0/674334c571d2bb9d1c89bdd87566383f59231e16bcdcf5bb7835babdf03c9ae585ca0887a7b25bdf78f303984af028df52831c7989fecebb5101cc132da9393a - languageName: node - linkType: hard - -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/parser@npm:7.24.7" - bin: - parser: ./bin/babel-parser.js - checksum: 10c0/8b244756872185a1c6f14b979b3535e682ff08cb5a2a5fd97cc36c017c7ef431ba76439e95e419d43000c5b07720495b00cf29a7f0d9a483643d08802b58819b + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.26.7" + checksum: 10c0/37fec398e53a2dbbf24bc2a025c4d571b2556cef18d8116d05d04b153f13ef659cdfbaab96c8eed875e629d39bdf9b3ea5d099ccf80544537de224e2d94f9b11 languageName: node linkType: hard -"@babel/parser@npm:^7.24.4, @babel/parser@npm:^7.25.0, @babel/parser@npm:^7.25.6": - version: 7.25.6 - resolution: "@babel/parser@npm:7.25.6" +"@babel/parser@npm:^7.21.8, @babel/parser@npm:^7.23.6, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.5, @babel/parser@npm:^7.26.7": + version: 7.26.7 + resolution: "@babel/parser@npm:7.26.7" dependencies: - "@babel/types": "npm:^7.25.6" + "@babel/types": "npm:^7.26.7" bin: parser: ./bin/babel-parser.js - checksum: 10c0/f88a0e895dbb096fd37c4527ea97d12b5fc013720602580a941ac3a339698872f0c911e318c292b184c36b5fbe23b612f05aff9d24071bc847c7b1c21552c41d - languageName: node - linkType: hard - -"@babel/plugin-syntax-jsx@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-jsx@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/f44d927a9ae8d5ef016ff5b450e1671e56629ddc12e56b938e41fd46e141170d9dfc9a53d6cb2b9a20a7dd266a938885e6a3981c60c052a2e1daed602ac80e51 + checksum: 10c0/dcb08a4f2878ece33caffefe43b71488d753324bae7ca58d64bca3bc4af34dcfa1b58abdf9972516d76af760fceb25bb9294ca33461d56b31c5059ccfe32001f languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.24.7": - version: 7.25.4 - resolution: "@babel/plugin-syntax-typescript@npm:7.25.4" +"@babel/plugin-syntax-decorators@npm:^7.22.10": + version: 7.25.9 + resolution: "@babel/plugin-syntax-decorators@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/199919d44c73e5edee9ffd311cf638f88d26a810189e32d338c46c7600441fd5c4a2e431f9be377707cbf318410895304e90b83bf8d9011d205150fa7f260e63 + checksum: 10c0/47e44a7d61b76dac4f18fd61edc186012e084eb8f1fe253c483b0fe90b73366b4ebd2b0b03728e000fd1fdedc8af3aa6e93246caf97183a8d9d42a0eb57ecfcc languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.23.3, @babel/plugin-transform-modules-commonjs@npm:^7.24.7": - version: 7.24.8 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.8" +"@babel/plugin-syntax-jsx@npm:^7.21.4, @babel/plugin-syntax-jsx@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-jsx@npm:7.25.9" dependencies: - "@babel/helper-module-transforms": "npm:^7.24.8" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-simple-access": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f1cf552307ebfced20d3907c1dd8be941b277f0364aa655e2b5fee828c84c54065745183104dae86f1f93ea0406db970a463ef7ceaaed897623748e99640e5a7 + checksum: 10c0/d56597aff4df39d3decda50193b6dfbe596ca53f437ff2934622ce19a743bf7f43492d3fb3308b0289f5cee2b825d99ceb56526a2b9e7b68bf04901546c5618c languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-self@npm:^7.24.5": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-jsx-self@npm:7.24.7" +"@babel/plugin-syntax-typescript@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-typescript@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/dcf3b732401f47f06bb29d6016e48066f66de00029a0ded98ddd9983c770a00a109d91cd04d2700d15ee0bcec3ae3027a5f12d69e15ec56efc0bcbfac65e92cb + checksum: 10c0/5192ebe11bd46aea68b7a60fd9555465c59af7e279e71126788e59121b86e00b505816685ab4782abe159232b0f73854e804b54449820b0d950b397ee158caa2 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-source@npm:^7.24.1": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-jsx-source@npm:7.24.7" +"@babel/plugin-transform-modules-commonjs@npm:^7.25.9": + version: 7.26.3 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.26.3" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-module-transforms": "npm:^7.26.0" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/970ef1264c7c6c416ab11610665d5309aec2bd2b9086ae394e1132e65138d97b060a7dc9d31054e050d6dc475b5a213938c9707c0202a5022d55dcb4c5abe28f + checksum: 10c0/82e59708f19f36da29531a64a7a94eabbf6ff46a615e0f5d9b49f3f59e8ef10e2bac607d749091508d3fa655146c9e5647c3ffeca781060cdabedb4c7a33c6f2 languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.24.7": - version: 7.25.2 - resolution: "@babel/plugin-transform-typescript@npm:7.25.2" +"@babel/plugin-transform-typescript@npm:^7.25.9": + version: 7.26.7 + resolution: "@babel/plugin-transform-typescript@npm:7.26.7" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-create-class-features-plugin": "npm:^7.25.0" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/plugin-syntax-typescript": "npm:^7.24.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/plugin-syntax-typescript": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b3c941da39ee7ecf72df1b78a01d4108160438245f2ab61befe182f51d17fd0034733c6d079b7efad81e03a66438aa3881a671cd68c5eb0fc775df86b88df996 + checksum: 10c0/4cb3a1939cd585563f56b7860f88c3154869189bcf555840486bd0402bf2bddac40d8fa897321295a911f4b8ec71b690b09eaa241e69fc5f8f7f4718a3d971fd languageName: node linkType: hard -"@babel/preset-typescript@npm:^7.24.1": - version: 7.24.7 - resolution: "@babel/preset-typescript@npm:7.24.7" +"@babel/preset-typescript@npm:^7.21.5": + version: 7.26.0 + resolution: "@babel/preset-typescript@npm:7.26.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-validator-option": "npm:^7.24.7" - "@babel/plugin-syntax-jsx": "npm:^7.24.7" - "@babel/plugin-transform-modules-commonjs": "npm:^7.24.7" - "@babel/plugin-transform-typescript": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-syntax-jsx": "npm:^7.25.9" + "@babel/plugin-transform-modules-commonjs": "npm:^7.25.9" + "@babel/plugin-transform-typescript": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/986bc0978eedb4da33aba8e1e13a3426dd1829515313b7e8f4ba5d8c18aff1663b468939d471814e7acf4045d326ae6cff37239878d169ac3fe53a8fde71f8ee + checksum: 10c0/20d86bc45d2bbfde2f84fc7d7b38746fa6481d4bde6643039ad4b1ff0b804c6d210ee43e6830effd8571f2ff43fa7ffd27369f42f2b3a2518bb92dc86c780c61 languageName: node linkType: hard -"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.23.9, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7": - version: 7.24.7 - resolution: "@babel/runtime@npm:7.24.7" +"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.26.0, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7": + version: 7.26.7 + resolution: "@babel/runtime@npm:7.26.7" dependencies: regenerator-runtime: "npm:^0.14.0" - checksum: 10c0/b6fa3ec61a53402f3c1d75f4d808f48b35e0dfae0ec8e2bb5c6fc79fb95935da75766e0ca534d0f1c84871f6ae0d2ebdd950727cfadb745a2cdbef13faef5513 - languageName: node - linkType: hard - -"@babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.25.6": - version: 7.25.6 - resolution: "@babel/runtime@npm:7.25.6" - dependencies: - regenerator-runtime: "npm:^0.14.0" - checksum: 10c0/d6143adf5aa1ce79ed374e33fdfd74fa975055a80bc6e479672ab1eadc4e4bfd7484444e17dd063a1d180e051f3ec62b357c7a2b817e7657687b47313158c3d2 - languageName: node - linkType: hard - -"@babel/template@npm:^7.22.15, @babel/template@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/template@npm:7.25.0" - dependencies: - "@babel/code-frame": "npm:^7.24.7" - "@babel/parser": "npm:^7.25.0" - "@babel/types": "npm:^7.25.0" - checksum: 10c0/4e31afd873215744c016e02b04f43b9fa23205d6d0766fb2e93eb4091c60c1b88897936adb895fb04e3c23de98dfdcbe31bc98daaa1a4e0133f78bb948e1209b - languageName: node - linkType: hard - -"@babel/template@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/template@npm:7.24.7" - dependencies: - "@babel/code-frame": "npm:^7.24.7" - "@babel/parser": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/95b0b3ee80fcef685b7f4426f5713a855ea2cd5ac4da829b213f8fb5afe48a2a14683c2ea04d446dbc7f711c33c5cd4a965ef34dcbe5bc387c9e966b67877ae3 + checksum: 10c0/60199c049f90e5e41c687687430052a370aca60bac7859ff4ee761c5c1739b8ba1604d391d01588c22dc0e93828cbadb8ada742578ad1b1df240746bce98729a languageName: node linkType: hard -"@babel/traverse@npm:^7.23.5, @babel/traverse@npm:^7.24.8, @babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.2, @babel/traverse@npm:^7.25.4": - version: 7.25.6 - resolution: "@babel/traverse@npm:7.25.6" +"@babel/template@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/template@npm:7.25.9" dependencies: - "@babel/code-frame": "npm:^7.24.7" - "@babel/generator": "npm:^7.25.6" - "@babel/parser": "npm:^7.25.6" - "@babel/template": "npm:^7.25.0" - "@babel/types": "npm:^7.25.6" - debug: "npm:^4.3.1" - globals: "npm:^11.1.0" - checksum: 10c0/964304c6fa46bd705428ba380bf73177eeb481c3f26d82ea3d0661242b59e0dd4329d23886035e9ca9a4ceb565c03a76fd615109830687a27bcd350059d6377e + "@babel/code-frame": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/ebe677273f96a36c92cc15b7aa7b11cc8bc8a3bb7a01d55b2125baca8f19cae94ff3ce15f1b1880fb8437f3a690d9f89d4e91f16fc1dc4d3eb66226d128983ab languageName: node linkType: hard -"@babel/traverse@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/traverse@npm:7.24.7" +"@babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.23.7, @babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.26.5, @babel/traverse@npm:^7.26.7": + version: 7.26.7 + resolution: "@babel/traverse@npm:7.26.7" dependencies: - "@babel/code-frame": "npm:^7.24.7" - "@babel/generator": "npm:^7.24.7" - "@babel/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-function-name": "npm:^7.24.7" - "@babel/helper-hoist-variables": "npm:^7.24.7" - "@babel/helper-split-export-declaration": "npm:^7.24.7" - "@babel/parser": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" + "@babel/code-frame": "npm:^7.26.2" + "@babel/generator": "npm:^7.26.5" + "@babel/parser": "npm:^7.26.7" + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.26.7" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10c0/a5135e589c3f1972b8877805f50a084a04865ccb1d68e5e1f3b94a8841b3485da4142e33413d8fd76bc0e6444531d3adf1f59f359c11ffac452b743d835068ab - languageName: node - linkType: hard - -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/types@npm:7.24.7" - dependencies: - "@babel/helper-string-parser": "npm:^7.24.7" - "@babel/helper-validator-identifier": "npm:^7.24.7" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/d9ecbfc3eb2b05fb1e6eeea546836ac30d990f395ef3fe3f75ced777a222c3cfc4489492f72e0ce3d9a5a28860a1ce5f81e66b88cf5088909068b3ff4fab72c1 - languageName: node - linkType: hard - -"@babel/types@npm:^7.23.5, @babel/types@npm:^7.24.0, @babel/types@npm:^7.24.8, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.6": - version: 7.25.6 - resolution: "@babel/types@npm:7.25.6" - dependencies: - "@babel/helper-string-parser": "npm:^7.24.8" - "@babel/helper-validator-identifier": "npm:^7.24.7" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/89d45fbee24e27a05dca2d08300a26b905bd384a480448823f6723c72d3a30327c517476389b7280ce8cb9a2c48ef8f47da7f9f6d326faf6f53fd6b68237bdc4 + checksum: 10c0/b23a36ce40d2e4970741431c45d4f92e3f4c2895c0a421456516b2729bd9e17278846e01ee3d9039b0adf5fc5a071768061c17fcad040e74a5c3e39517449d5b languageName: node linkType: hard -"@babel/types@npm:^7.8.3": - version: 7.25.7 - resolution: "@babel/types@npm:7.25.7" +"@babel/types@npm:^7.22.5, @babel/types@npm:^7.23.6, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.5, @babel/types@npm:^7.26.7": + version: 7.26.7 + resolution: "@babel/types@npm:7.26.7" dependencies: - "@babel/helper-string-parser": "npm:^7.25.7" - "@babel/helper-validator-identifier": "npm:^7.25.7" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/e03e1e2e08600fa1e8eb90632ac9c253dd748176c8d670d85f85b0dc83a0573b26ae748a1cbcb81f401903a3d95f43c3f4f8d516a5ed779929db27de56289633 + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10c0/7810a2bca97b13c253f07a0863a628d33dbe76ee3c163367f24be93bfaf4c8c0a325f73208abaaa050a6b36059efc2950c2e4b71fb109c0f07fa62221d8473d4 languageName: node linkType: hard -"@csstools/css-parser-algorithms@npm:^2.6.3": - version: 2.7.1 - resolution: "@csstools/css-parser-algorithms@npm:2.7.1" +"@csstools/css-parser-algorithms@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/css-parser-algorithms@npm:3.0.4" peerDependencies: - "@csstools/css-tokenizer": ^2.4.1 - checksum: 10c0/7d29bef6f5790ddb67d922ad232253bf910e4fa5293f5e4a5ed8b920ae9bd4e8171942df7d8943af23b42fd4e9fb460181394d20c97da9562e6ce98a875e8c47 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/d411f07765e14eede17bccc6bd4f90ff303694df09aabfede3fd104b2dfacfd4fe3697cd25ddad14684c850328f3f9420ebfa9f78380892492974db24ae47dbd languageName: node linkType: hard -"@csstools/css-tokenizer@npm:^2.3.1": - version: 2.4.1 - resolution: "@csstools/css-tokenizer@npm:2.4.1" - checksum: 10c0/fe71cee85ec7372da07083d088b6a704f43e5d3d2d8071c4b8a86fae60408b559a218a43f8625bf2f0be5c7f90c8f3ad20a1aae1921119a1c02b51c310cc2b6b +"@csstools/css-tokenizer@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/css-tokenizer@npm:3.0.3" + checksum: 10c0/c31bf410e1244b942e71798e37c54639d040cb59e0121b21712b40015fced2b0fb1ffe588434c5f8923c9cd0017cfc1c1c8f3921abc94c96edf471aac2eba5e5 languageName: node linkType: hard -"@csstools/media-query-list-parser@npm:^2.1.11": - version: 2.1.13 - resolution: "@csstools/media-query-list-parser@npm:2.1.13" +"@csstools/media-query-list-parser@npm:^4.0.2": + version: 4.0.2 + resolution: "@csstools/media-query-list-parser@npm:4.0.2" peerDependencies: - "@csstools/css-parser-algorithms": ^2.7.1 - "@csstools/css-tokenizer": ^2.4.1 - checksum: 10c0/8bf72342c15581b8f658633436d83c26a214056f6b960ff121b940271f4b1b5b07e9cc3990a73e684fb72319592f0c392408b4f0e08bbe242b2065aa456e2733 + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/5d008a70f5d4fd96224066a433f5cdefa76cfd78a74416a20d6d5b2bb1bc8282b140e8373015d807d4dadb91daf3deb73eb13f853ec4e0479d0cb92e80c6f20d languageName: node linkType: hard -"@csstools/selector-specificity@npm:^3.1.1": - version: 3.1.1 - resolution: "@csstools/selector-specificity@npm:3.1.1" +"@csstools/selector-specificity@npm:^5.0.0": + version: 5.0.0 + resolution: "@csstools/selector-specificity@npm:5.0.0" peerDependencies: - postcss-selector-parser: ^6.0.13 - checksum: 10c0/1d4a3f8015904d6aeb3203afe0e1f6db09b191d9c1557520e3e960c9204ad852df9db4cbde848643f78a26f6ea09101b4e528dbb9193052db28258dbcc8a6e1d + postcss-selector-parser: ^7.0.0 + checksum: 10c0/186b444cabcdcdeb553bfe021f80c58bfe9ef38dcc444f2b1f34a5aab9be063ab4e753022b2d5792049c041c28cfbb78e4b707ec398459300e402030d35c07eb languageName: node linkType: hard @@ -639,48 +384,35 @@ __metadata: languageName: node linkType: hard -"@emotion/babel-plugin@npm:^11.12.0": - version: 11.12.0 - resolution: "@emotion/babel-plugin@npm:11.12.0" +"@emotion/babel-plugin@npm:^11.13.5": + version: 11.13.5 + resolution: "@emotion/babel-plugin@npm:11.13.5" dependencies: "@babel/helper-module-imports": "npm:^7.16.7" "@babel/runtime": "npm:^7.18.3" "@emotion/hash": "npm:^0.9.2" "@emotion/memoize": "npm:^0.9.0" - "@emotion/serialize": "npm:^1.2.0" + "@emotion/serialize": "npm:^1.3.3" babel-plugin-macros: "npm:^3.1.0" convert-source-map: "npm:^1.5.0" escape-string-regexp: "npm:^4.0.0" find-root: "npm:^1.1.0" source-map: "npm:^0.5.7" stylis: "npm:4.2.0" - checksum: 10c0/930ff6f8768b0c24d05896ad696be20e1c65f32ed61fb5c1488f571120a947ef0a2cf69187b17114cc76e7886f771fac150876ed7b5341324fec2377185d6573 + checksum: 10c0/8ccbfec7defd0e513cb8a1568fa179eac1e20c35fda18aed767f6c59ea7314363ebf2de3e9d2df66c8ad78928dc3dceeded84e6fa8059087cae5c280090aeeeb languageName: node linkType: hard -"@emotion/cache@npm:^11.13.0, @emotion/cache@npm:^11.13.1": - version: 11.13.1 - resolution: "@emotion/cache@npm:11.13.1" +"@emotion/cache@npm:^11.13.5, @emotion/cache@npm:^11.14.0": + version: 11.14.0 + resolution: "@emotion/cache@npm:11.14.0" dependencies: "@emotion/memoize": "npm:^0.9.0" "@emotion/sheet": "npm:^1.4.0" - "@emotion/utils": "npm:^1.4.0" + "@emotion/utils": "npm:^1.4.2" "@emotion/weak-memoize": "npm:^0.4.0" stylis: "npm:4.2.0" - checksum: 10c0/321e97d8980885737de13b47e41fd4febfbd83086f10c620f865fcbddb29b8fe198adec7e1c69cc7b137638ea9242d7c475c57f954f7ca229157fa92e368f473 - languageName: node - linkType: hard - -"@emotion/css@npm:^11.11.2": - version: 11.13.0 - resolution: "@emotion/css@npm:11.13.0" - dependencies: - "@emotion/babel-plugin": "npm:^11.12.0" - "@emotion/cache": "npm:^11.13.0" - "@emotion/serialize": "npm:^1.3.0" - "@emotion/sheet": "npm:^1.4.0" - "@emotion/utils": "npm:^1.4.0" - checksum: 10c0/45ab5d3c9c3f0a6febf965c801c5e1112889bfb3ead532372c56076e778cd20552d2e5ad5782eeb4577c6dbbd0eaa400e4dbf503026e1258a1b143e8824c05c9 + checksum: 10c0/3fa3e7a431ab6f8a47c67132a00ac8358f428c1b6c8421d4b20de9df7c18e95eec04a5a6ff5a68908f98d3280044f247b4965ac63df8302d2c94dba718769724 languageName: node linkType: hard @@ -691,12 +423,12 @@ __metadata: languageName: node linkType: hard -"@emotion/is-prop-valid@npm:^1.2.2, @emotion/is-prop-valid@npm:^1.3.0": - version: 1.3.0 - resolution: "@emotion/is-prop-valid@npm:1.3.0" +"@emotion/is-prop-valid@npm:^1.3.0": + version: 1.3.1 + resolution: "@emotion/is-prop-valid@npm:1.3.1" dependencies: "@emotion/memoize": "npm:^0.9.0" - checksum: 10c0/4620b62aaca4b3b610202513652872756d7f4a8b84b2cea6b798dd6e8ccdfe43944b956c6a6a8cb5da0b0fe61bef6caca273d198ba32b5c658df22a6c7371b1b + checksum: 10c0/123215540c816ff510737ec68dcc499c53ea4deb0bb6c2c27c03ed21046e2e69f6ad07a7a174d271c6cfcbcc9ea44e1763e0cf3875c92192f7689216174803cd languageName: node linkType: hard @@ -707,16 +439,16 @@ __metadata: languageName: node linkType: hard -"@emotion/react@npm:^11.11.4": - version: 11.13.3 - resolution: "@emotion/react@npm:11.13.3" +"@emotion/react@npm:^11.14.0": + version: 11.14.0 + resolution: "@emotion/react@npm:11.14.0" dependencies: "@babel/runtime": "npm:^7.18.3" - "@emotion/babel-plugin": "npm:^11.12.0" - "@emotion/cache": "npm:^11.13.0" - "@emotion/serialize": "npm:^1.3.1" - "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.1.0" - "@emotion/utils": "npm:^1.4.0" + "@emotion/babel-plugin": "npm:^11.13.5" + "@emotion/cache": "npm:^11.14.0" + "@emotion/serialize": "npm:^1.3.3" + "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.2.0" + "@emotion/utils": "npm:^1.4.2" "@emotion/weak-memoize": "npm:^0.4.0" hoist-non-react-statics: "npm:^3.3.1" peerDependencies: @@ -724,20 +456,20 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/a55e770b9ea35de5d35db05a7ad40a4a3f442809fa8e4fabaf56da63ac9444f09aaf691c4e75a1455dc388991ab0c0ab4e253ce67c5836f27513e45ebd01b673 + checksum: 10c0/d0864f571a9f99ec643420ef31fde09e2006d3943a6aba079980e4d5f6e9f9fecbcc54b8f617fe003c00092ff9d5241179149ffff2810cb05cf72b4620cfc031 languageName: node linkType: hard -"@emotion/serialize@npm:^1.1.4, @emotion/serialize@npm:^1.2.0, @emotion/serialize@npm:^1.3.0, @emotion/serialize@npm:^1.3.1": - version: 1.3.1 - resolution: "@emotion/serialize@npm:1.3.1" +"@emotion/serialize@npm:^1.3.3": + version: 1.3.3 + resolution: "@emotion/serialize@npm:1.3.3" dependencies: "@emotion/hash": "npm:^0.9.2" "@emotion/memoize": "npm:^0.9.0" "@emotion/unitless": "npm:^0.10.0" - "@emotion/utils": "npm:^1.4.0" + "@emotion/utils": "npm:^1.4.2" csstype: "npm:^3.0.2" - checksum: 10c0/ac7158e2881b5f3f9ca1e4d865186d38623f997de888675297e0928b202d16273e43b0a19aa021c0b706edefae31118bc97c5fab095820109d09d502dbcf2092 + checksum: 10c0/b28cb7de59de382021de2b26c0c94ebbfb16967a1b969a56fdb6408465a8993df243bfbd66430badaa6800e1834724e84895f5a6a9d97d0d224de3d77852acb4 languageName: node linkType: hard @@ -748,23 +480,23 @@ __metadata: languageName: node linkType: hard -"@emotion/styled@npm:^11.11.5": - version: 11.13.0 - resolution: "@emotion/styled@npm:11.13.0" +"@emotion/styled@npm:^11.14.0": + version: 11.14.0 + resolution: "@emotion/styled@npm:11.14.0" dependencies: "@babel/runtime": "npm:^7.18.3" - "@emotion/babel-plugin": "npm:^11.12.0" + "@emotion/babel-plugin": "npm:^11.13.5" "@emotion/is-prop-valid": "npm:^1.3.0" - "@emotion/serialize": "npm:^1.3.0" - "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.1.0" - "@emotion/utils": "npm:^1.4.0" + "@emotion/serialize": "npm:^1.3.3" + "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.2.0" + "@emotion/utils": "npm:^1.4.2" peerDependencies: "@emotion/react": ^11.0.0-rc.0 react: ">=16.8.0" peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/5e2cc85c8a2f6e7bd012731cf0b6da3aef5906225e87e8d4a5c19da50572e24d9aaf92615aa36aa863f0fe6b62a121033356e1cad62617c48bfdaa2c3cf0d8a4 + checksum: 10c0/20aa5c488e4edecf63659212fc5ba1ccff2d3a66593fc8461de7cd5fe9192a741db357ffcd270a455bd61898d7f37cd5c84b4fd2b7974dade712badf7860ca9c languageName: node linkType: hard @@ -775,19 +507,19 @@ __metadata: languageName: node linkType: hard -"@emotion/use-insertion-effect-with-fallbacks@npm:^1.1.0": - version: 1.1.0 - resolution: "@emotion/use-insertion-effect-with-fallbacks@npm:1.1.0" +"@emotion/use-insertion-effect-with-fallbacks@npm:^1.2.0": + version: 1.2.0 + resolution: "@emotion/use-insertion-effect-with-fallbacks@npm:1.2.0" peerDependencies: react: ">=16.8.0" - checksum: 10c0/a883480f3a7139fb4a43e71d3114ca57e2b7ae5ff204e05cd9e59251a113773b8f64eb75d3997726250aca85eb73447638c8f51930734bdd16b96762b65e58c3 + checksum: 10c0/074dbc92b96bdc09209871070076e3b0351b6b47efefa849a7d9c37ab142130767609ca1831da0055988974e3b895c1de7606e4c421fecaa27c3e56a2afd3b08 languageName: node linkType: hard -"@emotion/utils@npm:^1.4.0": - version: 1.4.0 - resolution: "@emotion/utils@npm:1.4.0" - checksum: 10c0/b2ae698d6e935f4961a8349286b5b0a6117a16e179459cbf9c8d97d5daa7d96c99876b950f09b1a793d6b295713b2c8f89544bd8c3f26b8e4db60a218a0d4c42 +"@emotion/utils@npm:^1.4.2": + version: 1.4.2 + resolution: "@emotion/utils@npm:1.4.2" + checksum: 10c0/7d0010bf60a2a8c1a033b6431469de4c80e47aeb8fd856a17c1d1f76bbc3a03161a34aeaa78803566e29681ca551e7bf9994b68e9c5f5c796159923e44f78d9a languageName: node linkType: hard @@ -805,6 +537,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/aix-ppc64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/aix-ppc64@npm:0.24.2" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/android-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/android-arm64@npm:0.21.5" @@ -812,6 +551,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/android-arm64@npm:0.24.2" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/android-arm@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/android-arm@npm:0.21.5" @@ -819,6 +565,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/android-arm@npm:0.24.2" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + "@esbuild/android-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/android-x64@npm:0.21.5" @@ -826,6 +579,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/android-x64@npm:0.24.2" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + "@esbuild/darwin-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/darwin-arm64@npm:0.21.5" @@ -833,6 +593,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/darwin-arm64@npm:0.24.2" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/darwin-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/darwin-x64@npm:0.21.5" @@ -840,6 +607,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/darwin-x64@npm:0.24.2" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@esbuild/freebsd-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/freebsd-arm64@npm:0.21.5" @@ -847,6 +621,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/freebsd-arm64@npm:0.24.2" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/freebsd-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/freebsd-x64@npm:0.21.5" @@ -854,6 +635,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/freebsd-x64@npm:0.24.2" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/linux-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-arm64@npm:0.21.5" @@ -861,6 +649,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-arm64@npm:0.24.2" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/linux-arm@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-arm@npm:0.21.5" @@ -868,6 +663,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-arm@npm:0.24.2" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@esbuild/linux-ia32@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-ia32@npm:0.21.5" @@ -875,6 +677,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ia32@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-ia32@npm:0.24.2" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/linux-loong64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-loong64@npm:0.21.5" @@ -882,6 +691,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-loong64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-loong64@npm:0.24.2" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + "@esbuild/linux-mips64el@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-mips64el@npm:0.21.5" @@ -889,6 +705,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-mips64el@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-mips64el@npm:0.24.2" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + "@esbuild/linux-ppc64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-ppc64@npm:0.21.5" @@ -896,6 +719,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ppc64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-ppc64@npm:0.24.2" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/linux-riscv64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-riscv64@npm:0.21.5" @@ -903,6 +733,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-riscv64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-riscv64@npm:0.24.2" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + "@esbuild/linux-s390x@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-s390x@npm:0.21.5" @@ -910,6 +747,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-s390x@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-s390x@npm:0.24.2" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + "@esbuild/linux-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-x64@npm:0.21.5" @@ -917,6 +761,20 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-x64@npm:0.24.2" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/netbsd-arm64@npm:0.24.2" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/netbsd-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/netbsd-x64@npm:0.21.5" @@ -924,6 +782,20 @@ __metadata: languageName: node linkType: hard +"@esbuild/netbsd-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/netbsd-x64@npm:0.24.2" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/openbsd-arm64@npm:0.24.2" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/openbsd-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/openbsd-x64@npm:0.21.5" @@ -931,6 +803,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openbsd-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/openbsd-x64@npm:0.24.2" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/sunos-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/sunos-x64@npm:0.21.5" @@ -938,6 +817,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/sunos-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/sunos-x64@npm:0.24.2" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + "@esbuild/win32-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/win32-arm64@npm:0.21.5" @@ -945,6 +831,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/win32-arm64@npm:0.24.2" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/win32-ia32@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/win32-ia32@npm:0.21.5" @@ -952,6 +845,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-ia32@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/win32-ia32@npm:0.24.2" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/win32-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/win32-x64@npm:0.21.5" @@ -959,56 +859,106 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/win32-x64@npm:0.24.2" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": - version: 4.4.0 - resolution: "@eslint-community/eslint-utils@npm:4.4.0" + version: 4.4.1 + resolution: "@eslint-community/eslint-utils@npm:4.4.1" dependencies: - eslint-visitor-keys: "npm:^3.3.0" + eslint-visitor-keys: "npm:^3.4.3" peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10c0/7e559c4ce59cd3a06b1b5a517b593912e680a7f981ae7affab0d01d709e99cd5647019be8fafa38c350305bc32f1f7d42c7073edde2ab536c745e365f37b607e + checksum: 10c0/2aa0ac2fc50ff3f234408b10900ed4f1a0b19352f21346ad4cc3d83a1271481bdda11097baa45d484dd564c895e0762a27a8240be7a256b3ad47129e96528252 + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1": + version: 4.12.1 + resolution: "@eslint-community/regexpp@npm:4.12.1" + checksum: 10c0/a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6 + languageName: node + linkType: hard + +"@eslint/config-array@npm:^0.19.0": + version: 0.19.2 + resolution: "@eslint/config-array@npm:0.19.2" + dependencies: + "@eslint/object-schema": "npm:^2.1.6" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10c0/dd68da9abb32d336233ac4fe0db1e15a0a8d794b6e69abb9e57545d746a97f6f542496ff9db0d7e27fab1438546250d810d90b1904ac67677215b8d8e7573f3d languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1": - version: 4.11.0 - resolution: "@eslint-community/regexpp@npm:4.11.0" - checksum: 10c0/0f6328869b2741e2794da4ad80beac55cba7de2d3b44f796a60955b0586212ec75e6b0253291fd4aad2100ad471d1480d8895f2b54f1605439ba4c875e05e523 +"@eslint/core@npm:^0.10.0": + version: 0.10.0 + resolution: "@eslint/core@npm:0.10.0" + dependencies: + "@types/json-schema": "npm:^7.0.15" + checksum: 10c0/074018075079b3ed1f14fab9d116f11a8824cdfae3e822badf7ad546962fafe717a31e61459bad8cc59cf7070dc413ea9064ddb75c114f05b05921029cde0a64 languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" +"@eslint/eslintrc@npm:^3.2.0": + version: 3.2.0 + resolution: "@eslint/eslintrc@npm:3.2.0" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" ignore: "npm:^5.2.0" import-fresh: "npm:^3.2.1" js-yaml: "npm:^4.1.0" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 + checksum: 10c0/43867a07ff9884d895d9855edba41acf325ef7664a8df41d957135a81a477ff4df4196f5f74dc3382627e5cc8b7ad6b815c2cea1b58f04a75aced7c43414ab8b + languageName: node + linkType: hard + +"@eslint/js@npm:9.19.0, @eslint/js@npm:^9.18.0": + version: 9.19.0 + resolution: "@eslint/js@npm:9.19.0" + checksum: 10c0/45dc544c8803984f80a438b47a8e578fae4f6e15bc8478a703827aaf05e21380b42a43560374ce4dad0d5cb6349e17430fc9ce1686fed2efe5d1ff117939ff90 languageName: node linkType: hard -"@eslint/js@npm:8.57.0": - version: 8.57.0 - resolution: "@eslint/js@npm:8.57.0" - checksum: 10c0/9a518bb8625ba3350613903a6d8c622352ab0c6557a59fe6ff6178bf882bf57123f9d92aa826ee8ac3ee74b9c6203fe630e9ee00efb03d753962dcf65ee4bd94 +"@eslint/object-schema@npm:^2.1.6": + version: 2.1.6 + resolution: "@eslint/object-schema@npm:2.1.6" + checksum: 10c0/b8cdb7edea5bc5f6a96173f8d768d3554a628327af536da2fc6967a93b040f2557114d98dbcdbf389d5a7b290985ad6a9ce5babc547f36fc1fde42e674d11a56 languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.14": - version: 0.11.14 - resolution: "@humanwhocodes/config-array@npm:0.11.14" +"@eslint/plugin-kit@npm:^0.2.5": + version: 0.2.5 + resolution: "@eslint/plugin-kit@npm:0.2.5" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.2" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10c0/66f725b4ee5fdd8322c737cb5013e19fac72d4d69c8bf4b7feb192fcb83442b035b92186f8e9497c220e58b2d51a080f28a73f7899bc1ab288c3be172c467541 + "@eslint/core": "npm:^0.10.0" + levn: "npm:^0.4.1" + checksum: 10c0/ba9832b8409af618cf61791805fe201dd62f3c82c783adfcec0f5cd391e68b40beaecb47b9a3209e926dbcab65135f410cae405b69a559197795793399f61176 + languageName: node + linkType: hard + +"@humanfs/core@npm:^0.19.1": + version: 0.19.1 + resolution: "@humanfs/core@npm:0.19.1" + checksum: 10c0/aa4e0152171c07879b458d0e8a704b8c3a89a8c0541726c6b65b81e84fd8b7564b5d6c633feadc6598307d34564bd53294b533491424e8e313d7ab6c7bc5dc67 + languageName: node + linkType: hard + +"@humanfs/node@npm:^0.16.6": + version: 0.16.6 + resolution: "@humanfs/node@npm:0.16.6" + dependencies: + "@humanfs/core": "npm:^0.19.1" + "@humanwhocodes/retry": "npm:^0.3.0" + checksum: 10c0/8356359c9f60108ec204cbd249ecd0356667359b2524886b357617c4a7c3b6aace0fd5a369f63747b926a762a88f8a25bc066fa1778508d110195ce7686243e1 languageName: node linkType: hard @@ -1019,10 +969,17 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.2": - version: 2.0.3 - resolution: "@humanwhocodes/object-schema@npm:2.0.3" - checksum: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c +"@humanwhocodes/retry@npm:^0.3.0": + version: 0.3.1 + resolution: "@humanwhocodes/retry@npm:0.3.1" + checksum: 10c0/f0da1282dfb45e8120480b9e2e275e2ac9bbe1cf016d046fdad8e27cc1285c45bb9e711681237944445157b430093412b4446c1ab3fc4bb037861b5904101d3b + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.4.1": + version: 0.4.1 + resolution: "@humanwhocodes/retry@npm:0.4.1" + checksum: 10c0/be7bb6841c4c01d0b767d9bb1ec1c9359ee61421ce8ba66c249d035c5acdfd080f32d55a5c9e859cdd7868788b8935774f65b2caf24ec0b7bd7bf333791f063b languageName: node linkType: hard @@ -1040,14 +997,23 @@ __metadata: languageName: node linkType: hard +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + "@jridgewell/gen-mapping@npm:^0.3.5": - version: 0.3.5 - resolution: "@jridgewell/gen-mapping@npm:0.3.5" + version: 0.3.8 + resolution: "@jridgewell/gen-mapping@npm:0.3.8" dependencies: "@jridgewell/set-array": "npm:^1.2.1" "@jridgewell/sourcemap-codec": "npm:^1.4.10" "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10c0/1be4fd4a6b0f41337c4f5fdf4afc3bd19e39c3691924817108b82ffcb9c9e609c273f936932b9fba4b3a298ce2eb06d9bff4eb1cc3bd81c4f4ee1b4917e25feb + checksum: 10c0/c668feaf86c501d7c804904a61c23c67447b2137b813b9ce03eca82cb9d65ac7006d766c218685d76e3d72828279b6ee26c347aa1119dab23fbaf36aed51585a languageName: node linkType: hard @@ -1082,60 +1048,65 @@ __metadata: languageName: node linkType: hard -"@mui/core-downloads-tracker@npm:^6.1.0": - version: 6.1.0 - resolution: "@mui/core-downloads-tracker@npm:6.1.0" - checksum: 10c0/9cf0470456567b51450fe1e60b53aac7fb95bdb47ba3400153d29ae3c78c737f9fd1019df24ca553a6127154b92c7ab68547981ab3539ecc9a34a6e2135aac56 +"@keyv/serialize@npm:^1.0.2": + version: 1.0.2 + resolution: "@keyv/serialize@npm:1.0.2" + dependencies: + buffer: "npm:^6.0.3" + checksum: 10c0/31c5cb0938d22ce890314befc4d00c248c4c9be9664885978d6449b1787993dbc91999041076d53437888bb5f4280233276fbc4c72f97955d111d7a6ccd4cd67 languageName: node linkType: hard -"@mui/icons-material@npm:^6.1.0": - version: 6.1.0 - resolution: "@mui/icons-material@npm:6.1.0" +"@mjackson/node-fetch-server@npm:^0.2.0": + version: 0.2.0 + resolution: "@mjackson/node-fetch-server@npm:0.2.0" + checksum: 10c0/f22eb4cd50801f07eb187df666d0987a7bd5662caaf005faf62e035e00d7b92d6236852f69e9331dabe7737c0f69eabe967ef2d695f3d2e844d439f4489d6f36 + languageName: node + linkType: hard + +"@mui/core-downloads-tracker@npm:^6.4.2": + version: 6.4.2 + resolution: "@mui/core-downloads-tracker@npm:6.4.2" + checksum: 10c0/7df1784d2b79fc90b808b0f02c1f2f2f5ab58f7b4967c11703571202a5ab0cf9ebc20708d2c6c7b09c3bf6d03669ffa32ad7e47246439fbe2642f51a85744069 + languageName: node + linkType: hard + +"@mui/icons-material@npm:^6.4.1": + version: 6.4.2 + resolution: "@mui/icons-material@npm:6.4.2" dependencies: - "@babel/runtime": "npm:^7.25.6" + "@babel/runtime": "npm:^7.26.0" peerDependencies: - "@mui/material": ^6.1.0 + "@mui/material": ^6.4.2 "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/4ca4cc1e39c9a09ab5d9589bb795f57e28aa99a7bd9a1715b4e86c501788a05e28db24c78eecf621698ebfc4b6fb316ea1f6257380948f8c8d36a1ea267a7703 - languageName: node - linkType: hard - -"@mui/material-pigment-css@npm:^6.1.0": - version: 6.1.0 - resolution: "@mui/material-pigment-css@npm:6.1.0" - dependencies: - "@babel/runtime": "npm:^7.25.6" - "@mui/system": "npm:6.1.0" - "@pigment-css/react": "npm:0.0.22" - checksum: 10c0/f8d67ef601d31f50a2cf39ec257ff7b0ddcbc71222fd78593ca8d475d44a4e9d92af11fa18e2a1ce3a7dcba0a6ef8bf1c944ba50c8a8f06456b85fc36f9f9be3 + checksum: 10c0/b182f0ba58fd400852a4b7e3497f0ad5e6d3051f7a6d1b442e823d04c14f3e1d65958bfe41782573622cb77c4628078fd1f30d262642597c6aa2dca95e1554d7 languageName: node linkType: hard -"@mui/material@npm:^6.1.0": - version: 6.1.0 - resolution: "@mui/material@npm:6.1.0" +"@mui/material@npm:^6.4.1": + version: 6.4.2 + resolution: "@mui/material@npm:6.4.2" dependencies: - "@babel/runtime": "npm:^7.25.6" - "@mui/core-downloads-tracker": "npm:^6.1.0" - "@mui/system": "npm:^6.1.0" - "@mui/types": "npm:^7.2.16" - "@mui/utils": "npm:^6.1.0" + "@babel/runtime": "npm:^7.26.0" + "@mui/core-downloads-tracker": "npm:^6.4.2" + "@mui/system": "npm:^6.4.2" + "@mui/types": "npm:^7.2.21" + "@mui/utils": "npm:^6.4.2" "@popperjs/core": "npm:^2.11.8" - "@types/react-transition-group": "npm:^4.4.11" + "@types/react-transition-group": "npm:^4.4.12" clsx: "npm:^2.1.1" csstype: "npm:^3.1.3" prop-types: "npm:^15.8.1" - react-is: "npm:^18.3.1" + react-is: "npm:^19.0.0" react-transition-group: "npm:^4.4.5" peerDependencies: "@emotion/react": ^11.5.0 "@emotion/styled": ^11.3.0 - "@mui/material-pigment-css": ^6.1.0 + "@mui/material-pigment-css": ^6.4.2 "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -1148,33 +1119,16 @@ __metadata: optional: true "@types/react": optional: true - checksum: 10c0/fcfd1f0ebbda77e5d1afcf6883becd52965840b61c55e3e73f18b28b67c9211ffd371055697992d886b371ca3cd8860c3e55aa22a84512b36f8bd5f4fabb43a8 - languageName: node - linkType: hard - -"@mui/private-theming@npm:^6.0.2": - version: 6.0.2 - resolution: "@mui/private-theming@npm:6.0.2" - dependencies: - "@babel/runtime": "npm:^7.25.0" - "@mui/utils": "npm:^6.0.2" - prop-types: "npm:^15.8.1" - peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/981bef131b755256d2942f92c7ca22a1baf11ef19f76824e44751d0eca0dc0ff62361b744d46efc5746c82816415597ec5e6248307619ccd79f79d70e98938d7 + checksum: 10c0/e77604a7f83a5f8526077a9b7394e644d919dee5661f676d8b60ec6a7b9ae6a11eb5cf6656e9383d45467b7eb8e6d7e559f942df494f0bec908ff018874b97ae languageName: node linkType: hard -"@mui/private-theming@npm:^6.1.0": - version: 6.1.0 - resolution: "@mui/private-theming@npm:6.1.0" +"@mui/private-theming@npm:^6.4.2": + version: 6.4.2 + resolution: "@mui/private-theming@npm:6.4.2" dependencies: - "@babel/runtime": "npm:^7.25.6" - "@mui/utils": "npm:^6.1.0" + "@babel/runtime": "npm:^7.26.0" + "@mui/utils": "npm:^6.4.2" prop-types: "npm:^15.8.1" peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -1182,37 +1136,17 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/b5ca8cd192bb2979dabb5af91faeb3873f652f4129661eee2feb3473b54a08b78140756154f1128d9b4c1a1d048d97bd186f7c353e6551428b64912dae47a549 - languageName: node - linkType: hard - -"@mui/styled-engine@npm:^6.0.2": - version: 6.0.2 - resolution: "@mui/styled-engine@npm:6.0.2" - dependencies: - "@babel/runtime": "npm:^7.25.0" - "@emotion/cache": "npm:^11.13.1" - csstype: "npm:^3.1.3" - prop-types: "npm:^15.8.1" - peerDependencies: - "@emotion/react": ^11.4.1 - "@emotion/styled": ^11.3.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@emotion/react": - optional: true - "@emotion/styled": - optional: true - checksum: 10c0/36eb8298805e005dec6e564c83e63313f2f654bdac61d31b99785178478f5a9673660f67796633a0beeacc3c66e4bc3b2f33ec473d2cce400dfca707c8e10b37 + checksum: 10c0/23d5a51a91db3ff6849e3511d95c7726969c888ff67a06b9f1d91a6aa322d37f9376baaf9ac53a21fa1ec200c7be2a7c7eb6205bf3f20042460da19d52a6d83d languageName: node linkType: hard -"@mui/styled-engine@npm:^6.1.0": - version: 6.1.0 - resolution: "@mui/styled-engine@npm:6.1.0" +"@mui/styled-engine@npm:^6.4.2": + version: 6.4.2 + resolution: "@mui/styled-engine@npm:6.4.2" dependencies: - "@babel/runtime": "npm:^7.25.6" - "@emotion/cache": "npm:^11.13.1" + "@babel/runtime": "npm:^7.26.0" + "@emotion/cache": "npm:^11.13.5" + "@emotion/serialize": "npm:^1.3.3" "@emotion/sheet": "npm:^1.4.0" csstype: "npm:^3.1.3" prop-types: "npm:^15.8.1" @@ -1225,47 +1159,19 @@ __metadata: optional: true "@emotion/styled": optional: true - checksum: 10c0/2466bb2d990ae05c29a3643d0d9687dc901e396e12b352ddf8278698c5cc1b6fa565fc38620e04e436f17f0d340cf999cf51b3beb1779f7188e4e9099a4fe5ab - languageName: node - linkType: hard - -"@mui/system@npm:6.1.0, @mui/system@npm:^6.1.0": - version: 6.1.0 - resolution: "@mui/system@npm:6.1.0" - dependencies: - "@babel/runtime": "npm:^7.25.6" - "@mui/private-theming": "npm:^6.1.0" - "@mui/styled-engine": "npm:^6.1.0" - "@mui/types": "npm:^7.2.16" - "@mui/utils": "npm:^6.1.0" - clsx: "npm:^2.1.1" - csstype: "npm:^3.1.3" - prop-types: "npm:^15.8.1" - peerDependencies: - "@emotion/react": ^11.5.0 - "@emotion/styled": ^11.3.0 - "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@emotion/react": - optional: true - "@emotion/styled": - optional: true - "@types/react": - optional: true - checksum: 10c0/8c545e828404532f4e2ae7b54d934ff32d3722322997415e2b5de21250b86174a8ca799fc8103e96ddab8875f866f74dfffd360633f8c49d89712ac56663899d + checksum: 10c0/c60622d11d2f039d48c182674206b6117df8399dfe3f28a7b5ac21bc6f838ee3b6d2c637243c7bb39b067f042097d3ebf87e410c959435d419aaf8f9d78b366c languageName: node linkType: hard -"@mui/system@npm:^6.0.0-alpha.6": - version: 6.0.2 - resolution: "@mui/system@npm:6.0.2" +"@mui/system@npm:^6.4.2": + version: 6.4.2 + resolution: "@mui/system@npm:6.4.2" dependencies: - "@babel/runtime": "npm:^7.25.0" - "@mui/private-theming": "npm:^6.0.2" - "@mui/styled-engine": "npm:^6.0.2" - "@mui/types": "npm:^7.2.16" - "@mui/utils": "npm:^6.0.2" + "@babel/runtime": "npm:^7.26.0" + "@mui/private-theming": "npm:^6.4.2" + "@mui/styled-engine": "npm:^6.4.2" + "@mui/types": "npm:^7.2.21" + "@mui/utils": "npm:^6.4.2" clsx: "npm:^2.1.1" csstype: "npm:^3.1.3" prop-types: "npm:^15.8.1" @@ -1281,59 +1187,39 @@ __metadata: optional: true "@types/react": optional: true - checksum: 10c0/bcb77617467f2b6ad22dd7d5c384f8e1a86511065f4384d7d45d4e2ca34db383454556f59a97f44fbd82bbe38ee0f45fb25e22fb39536e7f42d99c3ee88dcdb2 + checksum: 10c0/4a298140eb354b4842bcb00c45da0a8803fd41a2c7fa3ef9fa1218c9931e6ba3bb3fcf44b92e628042b5420ff4979ae089d9327da89d3bfb0c67b38d8a432d64 languageName: node linkType: hard -"@mui/types@npm:^7.2.16": - version: 7.2.16 - resolution: "@mui/types@npm:7.2.16" +"@mui/types@npm:^7.2.21": + version: 7.2.21 + resolution: "@mui/types@npm:7.2.21" peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/e51189d464e4217616a0d2bf45468b949c5b660b154fa03f1153456e4ef1422157454ed442dc9bde6a247166c8db7de6c405c629829525e3ca500ee9cf48f507 + checksum: 10c0/c0038ae402a3cfb2805a19167362fb5ac2ca1403f0ef3dad688d1e2276afe757b69d5fb1e3af4cd0e985b9221d287fd863c5b00f29fd07a276c7de9e3423a0f3 languageName: node linkType: hard -"@mui/utils@npm:^6.0.0-alpha.6, @mui/utils@npm:^6.0.2": - version: 6.0.2 - resolution: "@mui/utils@npm:6.0.2" - dependencies: - "@babel/runtime": "npm:^7.25.0" - "@mui/types": "npm:^7.2.16" - "@types/prop-types": "npm:^15.7.12" - clsx: "npm:^2.1.1" - prop-types: "npm:^15.8.1" - react-is: "npm:^18.3.1" - peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/7a7d45878727bb154cd2bed4b8bbe536f24cda9431688e64a87f82dfe313e82cb948865cacc3c416588a3988d5715f3546c636e2b341c6fa0f5409bbe287a133 - languageName: node - linkType: hard - -"@mui/utils@npm:^6.1.0": - version: 6.1.0 - resolution: "@mui/utils@npm:6.1.0" +"@mui/utils@npm:^6.4.2": + version: 6.4.2 + resolution: "@mui/utils@npm:6.4.2" dependencies: - "@babel/runtime": "npm:^7.25.6" - "@mui/types": "npm:^7.2.16" - "@types/prop-types": "npm:^15.7.12" + "@babel/runtime": "npm:^7.26.0" + "@mui/types": "npm:^7.2.21" + "@types/prop-types": "npm:^15.7.14" clsx: "npm:^2.1.1" prop-types: "npm:^15.8.1" - react-is: "npm:^18.3.1" + react-is: "npm:^19.0.0" peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/a20120b8ee2ebbc0774ab54bd92d513aefc35f4f1caafe7fe4bb7aec49389e553033cb74f4b8adc8292b84485cce7965f6570dc902b8195306a64a97cff9a8fd + checksum: 10c0/981a267c87d4ed9e9880dd98e31a16b8ff9e268295d4bcc7d185bf5e19a0d7b0afe14e9e37263acb054694f4520a8c5bf6d8ced6f6df1cbef4e8163d44a52da4 languageName: node linkType: hard @@ -1354,7 +1240,7 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": +"@nodelib/fs.walk@npm:^1.2.3": version: 1.2.8 resolution: "@nodelib/fs.walk@npm:1.2.8" dependencies: @@ -1364,103 +1250,65 @@ __metadata: languageName: node linkType: hard -"@npmcli/agent@npm:^2.0.0": - version: 2.2.2 - resolution: "@npmcli/agent@npm:2.2.2" +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" dependencies: agent-base: "npm:^7.1.0" http-proxy-agent: "npm:^7.0.0" https-proxy-agent: "npm:^7.0.1" lru-cache: "npm:^10.0.1" socks-proxy-agent: "npm:^8.0.3" - checksum: 10c0/325e0db7b287d4154ecd164c0815c08007abfb07653cc57bceded17bb7fd240998a3cbdbe87d700e30bef494885eccc725ab73b668020811d56623d145b524ae + checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 languageName: node linkType: hard -"@npmcli/fs@npm:^3.1.0": - version: 3.1.1 - resolution: "@npmcli/fs@npm:3.1.1" +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" dependencies: semver: "npm:^7.3.5" - checksum: 10c0/c37a5b4842bfdece3d14dfdb054f73fe15ed2d3da61b34ff76629fb5b1731647c49166fd2a8bf8b56fcfa51200382385ea8909a3cbecdad612310c114d3f6c99 - languageName: node - linkType: hard - -"@pigment-css/react@npm:0.0.22": - version: 0.0.22 - resolution: "@pigment-css/react@npm:0.0.22" - dependencies: - "@babel/core": "npm:^7.24.4" - "@babel/helper-module-imports": "npm:^7.24.3" - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/parser": "npm:^7.24.4" - "@babel/types": "npm:^7.24.0" - "@emotion/css": "npm:^11.11.2" - "@emotion/is-prop-valid": "npm:^1.2.2" - "@emotion/react": "npm:^11.11.4" - "@emotion/serialize": "npm:^1.1.4" - "@emotion/styled": "npm:^11.11.5" - "@mui/system": "npm:^6.0.0-alpha.6" - "@mui/utils": "npm:^6.0.0-alpha.6" - "@wyw-in-js/processor-utils": "npm:^0.5.4" - "@wyw-in-js/shared": "npm:^0.5.4" - "@wyw-in-js/transform": "npm:^0.5.4" - clsx: "npm:^2.1.0" - cssesc: "npm:^3.0.0" - csstype: "npm:^3.1.3" - lodash: "npm:^4.17.21" - stylis: "npm:^4.3.1" - stylis-plugin-rtl: "npm:^2.1.1" - peerDependencies: - react: ^17.0.0 || ^18.0.0 - checksum: 10c0/3348cc91f0e50bf568f37acadcbf5fdeabb7788d2d244ee5c8c9e8bbdd6a3159c1562b5e6f46588a80e65abc6afa329d3543a8f2d9251d7e901552ad852508ca - languageName: node - linkType: hard - -"@pigment-css/react@npm:^0.0.23": - version: 0.0.23 - resolution: "@pigment-css/react@npm:0.0.23" - dependencies: - "@babel/core": "npm:^7.24.4" - "@babel/helper-module-imports": "npm:^7.24.3" - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/parser": "npm:^7.24.4" - "@babel/types": "npm:^7.24.0" - "@emotion/css": "npm:^11.11.2" - "@emotion/is-prop-valid": "npm:^1.2.2" - "@emotion/react": "npm:^11.11.4" - "@emotion/serialize": "npm:^1.1.4" - "@emotion/styled": "npm:^11.11.5" - "@mui/system": "npm:^6.0.0-alpha.6" - "@mui/utils": "npm:^6.0.0-alpha.6" - "@wyw-in-js/processor-utils": "npm:^0.5.4" - "@wyw-in-js/shared": "npm:^0.5.4" - "@wyw-in-js/transform": "npm:^0.5.4" - clsx: "npm:^2.1.0" - cssesc: "npm:^3.0.0" - csstype: "npm:^3.1.3" - lodash: "npm:^4.17.21" - stylis: "npm:^4.3.1" - stylis-plugin-rtl: "npm:^2.1.1" - peerDependencies: - react: ^17.0.0 || ^18.0.0 - checksum: 10c0/561fb2476ca4b50635c2c81c7fe613546278abe359aeb585ffcfe1bde6e50f7bed7fd1ee5676cbb5cbc29a37780bc7249d4106ce3a225171c68b0f0fa9221fd8 + checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 languageName: node linkType: hard -"@pigment-css/vite-plugin@npm:^0.0.23": - version: 0.0.23 - resolution: "@pigment-css/vite-plugin@npm:0.0.23" +"@npmcli/git@npm:^4.1.0": + version: 4.1.0 + resolution: "@npmcli/git@npm:4.1.0" dependencies: - "@babel/core": "npm:^7.24.4" - "@babel/preset-typescript": "npm:^7.24.1" - "@pigment-css/react": "npm:^0.0.23" - "@wyw-in-js/shared": "npm:^0.5.4" - "@wyw-in-js/transform": "npm:^0.5.4" - babel-plugin-define-var: "npm:^0.1.0" - peerDependencies: - vite: ^4.0.0 || ^5.0.0 - checksum: 10c0/bfcb82faa5ce097da9c7b91c07ece901418f716fea5e7eacd8dec0ce21b6397694cbaf59e2876df42a2f8812e3604b7cd99eb606706b295db53b82026cf1685e + "@npmcli/promise-spawn": "npm:^6.0.0" + lru-cache: "npm:^7.4.4" + npm-pick-manifest: "npm:^8.0.0" + proc-log: "npm:^3.0.0" + promise-inflight: "npm:^1.0.1" + promise-retry: "npm:^2.0.1" + semver: "npm:^7.3.5" + which: "npm:^3.0.0" + checksum: 10c0/78591ba8f03de3954a5b5b83533455696635a8f8140c74038685fec4ee28674783a5b34a3d43840b2c5f9aa37fd0dce57eaf4ef136b52a8ec2ee183af2e40724 + languageName: node + linkType: hard + +"@npmcli/package-json@npm:^4.0.1": + version: 4.0.1 + resolution: "@npmcli/package-json@npm:4.0.1" + dependencies: + "@npmcli/git": "npm:^4.1.0" + glob: "npm:^10.2.2" + hosted-git-info: "npm:^6.1.1" + json-parse-even-better-errors: "npm:^3.0.0" + normalize-package-data: "npm:^5.0.0" + proc-log: "npm:^3.0.0" + semver: "npm:^7.5.3" + checksum: 10c0/61adec288372827e482d4c6bda8186e239b1419a6f018552a0444520720022fb2903d08438f32881fe2eccabb8cf29dcb1c5c5c62c4fc970d79ad71fe9a41e46 + languageName: node + linkType: hard + +"@npmcli/promise-spawn@npm:^6.0.0": + version: 6.0.2 + resolution: "@npmcli/promise-spawn@npm:6.0.2" + dependencies: + which: "npm:^3.0.0" + checksum: 10c0/d0696b8d9f7e16562cd1e520e4919000164be042b5c9998a45b4e87d41d9619fcecf2a343621c6fa85ed2671cbe87ab07e381a7faea4e5132c371dbb05893f31 languageName: node linkType: hard @@ -1471,13 +1319,6 @@ __metadata: languageName: node linkType: hard -"@pkgr/core@npm:^0.1.0": - version: 0.1.1 - resolution: "@pkgr/core@npm:0.1.1" - checksum: 10c0/3f7536bc7f57320ab2cf96f8973664bef624710c403357429fbf680a5c3b4843c1dbd389bb43daa6b1f6f1f007bb082f5abcb76bb2b5dc9f421647743b71d3d8 - languageName: node - linkType: hard - "@popperjs/core@npm:^2.11.8": version: 2.11.8 resolution: "@popperjs/core@npm:2.11.8" @@ -1485,195 +1326,308 @@ __metadata: languageName: node linkType: hard -"@remix-run/router@npm:1.17.1": - version: 1.17.1 - resolution: "@remix-run/router@npm:1.17.1" - checksum: 10c0/bee1631feb03975b64e1c7b574da432a05095dda2ff0f164c737e4952841a58d7b9861de87bd13a977fd970c74dcf8c558fc2d26c6ec01a9ae9041b1b4430869 +"@react-router/dev@npm:^7.1.3": + version: 7.1.5 + resolution: "@react-router/dev@npm:7.1.5" + dependencies: + "@babel/core": "npm:^7.21.8" + "@babel/generator": "npm:^7.21.5" + "@babel/parser": "npm:^7.21.8" + "@babel/plugin-syntax-decorators": "npm:^7.22.10" + "@babel/plugin-syntax-jsx": "npm:^7.21.4" + "@babel/preset-typescript": "npm:^7.21.5" + "@babel/traverse": "npm:^7.23.2" + "@babel/types": "npm:^7.22.5" + "@npmcli/package-json": "npm:^4.0.1" + "@react-router/node": "npm:7.1.5" + arg: "npm:^5.0.1" + babel-dead-code-elimination: "npm:^1.0.6" + chokidar: "npm:^4.0.0" + dedent: "npm:^1.5.3" + es-module-lexer: "npm:^1.3.1" + exit-hook: "npm:2.2.1" + fs-extra: "npm:^10.0.0" + gunzip-maybe: "npm:^1.4.2" + jsesc: "npm:3.0.2" + lodash: "npm:^4.17.21" + pathe: "npm:^1.1.2" + picocolors: "npm:^1.1.1" + picomatch: "npm:^2.3.1" + prettier: "npm:^2.7.1" + react-refresh: "npm:^0.14.0" + semver: "npm:^7.3.7" + set-cookie-parser: "npm:^2.6.0" + valibot: "npm:^0.41.0" + vite-node: "npm:3.0.0-beta.2" + peerDependencies: + "@react-router/serve": ^7.1.5 + react-router: ^7.1.5 + typescript: ^5.1.0 + vite: ^5.1.0 || ^6.0.0 + wrangler: ^3.28.2 + peerDependenciesMeta: + "@react-router/serve": + optional: true + typescript: + optional: true + wrangler: + optional: true + bin: + react-router: bin.js + checksum: 10c0/32a35b73dddffba789eacf2ed15e65c693c87f9e0fbca03ca15999faeef68ab5c2a2da6c2f205e5100557fcf907e81f79e3b34c3c49c98b4489c34f5a20dd83a + languageName: node + linkType: hard + +"@react-router/express@npm:7.1.5": + version: 7.1.5 + resolution: "@react-router/express@npm:7.1.5" + dependencies: + "@react-router/node": "npm:7.1.5" + peerDependencies: + express: ^4.17.1 + react-router: 7.1.5 + typescript: ^5.1.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/db026b322aa14dca227ca255e41c09332d5e6f1c1bc789805ceffc154f9e597b54ae368b1b0e93790cb749ba6988b682ebe2f029b6851f32e16dbb4c168d4e62 + languageName: node + linkType: hard + +"@react-router/node@npm:7.1.5, @react-router/node@npm:^7.1.3": + version: 7.1.5 + resolution: "@react-router/node@npm:7.1.5" + dependencies: + "@mjackson/node-fetch-server": "npm:^0.2.0" + source-map-support: "npm:^0.5.21" + stream-slice: "npm:^0.1.2" + undici: "npm:^6.19.2" + peerDependencies: + react-router: 7.1.5 + typescript: ^5.1.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/44dafd5f426f874c959c24480d504468f2ba69ca655783cf4428615f2d0f9eb8385546580465e145684181bdb69d7e730dba01720798f05a238dcf84143ae3da + languageName: node + linkType: hard + +"@react-router/serve@npm:^7.1.3": + version: 7.1.5 + resolution: "@react-router/serve@npm:7.1.5" + dependencies: + "@react-router/express": "npm:7.1.5" + "@react-router/node": "npm:7.1.5" + compression: "npm:^1.7.4" + express: "npm:^4.19.2" + get-port: "npm:5.1.1" + morgan: "npm:^1.10.0" + source-map-support: "npm:^0.5.21" + peerDependencies: + react-router: 7.1.5 + bin: + react-router-serve: bin.js + checksum: 10c0/8b2f04ef6c1d4f761376a25a12a8727b9527064380bf2721bc09dce863a9a13d139bcdede89878c96602d0fc3824c5891f64148b03dd518b26d3922707efa89c languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.18.1": - version: 4.18.1 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.18.1" +"@rollup/rollup-android-arm-eabi@npm:4.32.1": + version: 4.32.1 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.32.1" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.18.1": - version: 4.18.1 - resolution: "@rollup/rollup-android-arm64@npm:4.18.1" +"@rollup/rollup-android-arm64@npm:4.32.1": + version: 4.32.1 + resolution: "@rollup/rollup-android-arm64@npm:4.32.1" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.18.1": - version: 4.18.1 - resolution: "@rollup/rollup-darwin-arm64@npm:4.18.1" +"@rollup/rollup-darwin-arm64@npm:4.32.1": + version: 4.32.1 + resolution: "@rollup/rollup-darwin-arm64@npm:4.32.1" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.18.1": - version: 4.18.1 - resolution: "@rollup/rollup-darwin-x64@npm:4.18.1" +"@rollup/rollup-darwin-x64@npm:4.32.1": + version: 4.32.1 + resolution: "@rollup/rollup-darwin-x64@npm:4.32.1" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.18.1": - version: 4.18.1 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.18.1" +"@rollup/rollup-freebsd-arm64@npm:4.32.1": + version: 4.32.1 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.32.1" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-x64@npm:4.32.1": + version: 4.32.1 + resolution: "@rollup/rollup-freebsd-x64@npm:4.32.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.32.1": + version: 4.32.1 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.32.1" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.18.1": - version: 4.18.1 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.18.1" +"@rollup/rollup-linux-arm-musleabihf@npm:4.32.1": + version: 4.32.1 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.32.1" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.18.1": - version: 4.18.1 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.18.1" +"@rollup/rollup-linux-arm64-gnu@npm:4.32.1": + version: 4.32.1 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.32.1" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.18.1": - version: 4.18.1 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.18.1" +"@rollup/rollup-linux-arm64-musl@npm:4.32.1": + version: 4.32.1 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.32.1" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.18.1": - version: 4.18.1 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.18.1" +"@rollup/rollup-linux-loongarch64-gnu@npm:4.32.1": + version: 4.32.1 + resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.32.1" + conditions: os=linux & cpu=loong64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.32.1": + version: 4.32.1 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.32.1" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.18.1": - version: 4.18.1 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.18.1" +"@rollup/rollup-linux-riscv64-gnu@npm:4.32.1": + version: 4.32.1 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.32.1" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.18.1": - version: 4.18.1 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.18.1" +"@rollup/rollup-linux-s390x-gnu@npm:4.32.1": + version: 4.32.1 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.32.1" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.18.1": - version: 4.18.1 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.18.1" +"@rollup/rollup-linux-x64-gnu@npm:4.32.1": + version: 4.32.1 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.32.1" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.18.1": - version: 4.18.1 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.18.1" +"@rollup/rollup-linux-x64-musl@npm:4.32.1": + version: 4.32.1 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.32.1" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.18.1": - version: 4.18.1 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.18.1" +"@rollup/rollup-win32-arm64-msvc@npm:4.32.1": + version: 4.32.1 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.32.1" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.18.1": - version: 4.18.1 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.18.1" +"@rollup/rollup-win32-ia32-msvc@npm:4.32.1": + version: 4.32.1 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.32.1" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.18.1": - version: 4.18.1 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.18.1" +"@rollup/rollup-win32-x64-msvc@npm:4.32.1": + version: 4.32.1 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.32.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@types/babel__core@npm:^7.20.5": - version: 7.20.5 - resolution: "@types/babel__core@npm:7.20.5" - dependencies: - "@babel/parser": "npm:^7.20.7" - "@babel/types": "npm:^7.20.7" - "@types/babel__generator": "npm:*" - "@types/babel__template": "npm:*" - "@types/babel__traverse": "npm:*" - checksum: 10c0/bdee3bb69951e833a4b811b8ee9356b69a61ed5b7a23e1a081ec9249769117fa83aaaf023bb06562a038eb5845155ff663e2d5c75dd95c1d5ccc91db012868ff +"@tanstack/query-core@npm:5.66.0": + version: 5.66.0 + resolution: "@tanstack/query-core@npm:5.66.0" + checksum: 10c0/a03afcb3a075f1923ce3d03dcb16662bb35159280bf87598b9d446366cfd47f5c736be41fb90938c4e6848633c036087d7019f0dbb95f2f2450a9fea4764adbb languageName: node linkType: hard -"@types/babel__generator@npm:*": - version: 7.6.8 - resolution: "@types/babel__generator@npm:7.6.8" - dependencies: - "@babel/types": "npm:^7.0.0" - checksum: 10c0/f0ba105e7d2296bf367d6e055bb22996886c114261e2cb70bf9359556d0076c7a57239d019dee42bb063f565bade5ccb46009bce2044b2952d964bf9a454d6d2 +"@tanstack/query-devtools@npm:5.65.0": + version: 5.65.0 + resolution: "@tanstack/query-devtools@npm:5.65.0" + checksum: 10c0/7d223e267d7d807d8d597edf08403dbd08e033079fe235e1a37e1449a9922a00cf68d4d1feeb2852f99e2efe386d0c3242856cb0568da0f574778a3187e67a38 languageName: node linkType: hard -"@types/babel__template@npm:*": - version: 7.4.4 - resolution: "@types/babel__template@npm:7.4.4" +"@tanstack/react-query-devtools@npm:^5.64.2": + version: 5.66.0 + resolution: "@tanstack/react-query-devtools@npm:5.66.0" dependencies: - "@babel/parser": "npm:^7.1.0" - "@babel/types": "npm:^7.0.0" - checksum: 10c0/cc84f6c6ab1eab1427e90dd2b76ccee65ce940b778a9a67be2c8c39e1994e6f5bbc8efa309f6cea8dc6754994524cd4d2896558df76d92e7a1f46ecffee7112b + "@tanstack/query-devtools": "npm:5.65.0" + peerDependencies: + "@tanstack/react-query": ^5.66.0 + react: ^18 || ^19 + checksum: 10c0/2b4781d21a33fb3d412cd448a227ff7ec8eb8774db573cf27e9192ab649ae9298e975dc418920effd468f3fe310fd8e8bd3c8091c1c2299963a5f889b5d6c061 languageName: node linkType: hard -"@types/babel__traverse@npm:*": - version: 7.20.6 - resolution: "@types/babel__traverse@npm:7.20.6" +"@tanstack/react-query@npm:^5.64.2": + version: 5.66.0 + resolution: "@tanstack/react-query@npm:5.66.0" dependencies: - "@babel/types": "npm:^7.20.7" - checksum: 10c0/7ba7db61a53e28cac955aa99af280d2600f15a8c056619c05b6fc911cbe02c61aa4f2823299221b23ce0cce00b294c0e5f618ec772aa3f247523c2e48cf7b888 + "@tanstack/query-core": "npm:5.66.0" + peerDependencies: + react: ^18 || ^19 + checksum: 10c0/60e1a3fd7f2f8b2038d70954b51eeb84c31273d09a68537babdc2ac3d8c200968a1f7865a8e189ffd63be0c30387985b4b4eaf1d9065990bd3699ac5872b7523 languageName: node linkType: hard -"@types/classnames@npm:^2.3.1": - version: 2.3.1 - resolution: "@types/classnames@npm:2.3.1" - dependencies: - classnames: "npm:*" - checksum: 10c0/6b71e5220aa3f04dbe1eba910f7755b880a2c6e3ba0ebf71fe73db99d58628022de06340a029c97db093e31d7981bc695b6c2ce65b2a58492d245e2cbe44a47d +"@types/cookie@npm:^0.6.0": + version: 0.6.0 + resolution: "@types/cookie@npm:0.6.0" + checksum: 10c0/5b326bd0188120fb32c0be086b141b1481fec9941b76ad537f9110e10d61ee2636beac145463319c71e4be67a17e85b81ca9e13ceb6e3bb63b93d16824d6c149 languageName: node linkType: hard -"@types/estree@npm:1.0.5": - version: 1.0.5 - resolution: "@types/estree@npm:1.0.5" - checksum: 10c0/b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d +"@types/estree@npm:1.0.6, @types/estree@npm:^1.0.6": + version: 1.0.6 + resolution: "@types/estree@npm:1.0.6" + checksum: 10c0/cdfd751f6f9065442cd40957c07fd80361c962869aa853c1c2fd03e101af8b9389d8ff4955a43a6fcfa223dd387a089937f95be0f3eec21ca527039fd2d9859a languageName: node linkType: hard -"@types/history@npm:^4.7.11": - version: 4.7.11 - resolution: "@types/history@npm:4.7.11" - checksum: 10c0/3facf37c2493d1f92b2e93a22cac7ea70b06351c2ab9aaceaa3c56aa6099fb63516f6c4ec1616deb5c56b4093c026a043ea2d3373e6c0644d55710364d02c934 +"@types/json-schema@npm:^7.0.15": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db languageName: node linkType: hard -"@types/node@npm:^20.14.9": - version: 20.14.10 - resolution: "@types/node@npm:20.14.10" +"@types/node@npm:^20": + version: 20.17.16 + resolution: "@types/node@npm:20.17.16" dependencies: - undici-types: "npm:~5.26.4" - checksum: 10c0/0b06cff14365c2d0085dc16cc8cbea5c40ec09cfc1fea966be9eeecf35562760bfde8f88e86de6edfaf394501236e229d9c1084fad04fb4dec472ae245d8ae69 + undici-types: "npm:~6.19.2" + checksum: 10c0/50c589dd6a377238bc51b6fb5b8fc60ff6d688df0bde621d4a9fc59f480eb956cdf6d46052e1cb9536f150bc62e9194ddc733aa78b65e812155b4d3a32717de2 languageName: node linkType: hard @@ -1685,281 +1639,179 @@ __metadata: linkType: hard "@types/prismjs@npm:^1.26.0": - version: 1.26.4 - resolution: "@types/prismjs@npm:1.26.4" - checksum: 10c0/996be7d119779c4cbe66e58342115a12d35a02226dae3aaa4a744c9652d5a3939c93c26182e18156965ac4f93575ebb309c3469c36f52e60ee5c0f8f27e874df - languageName: node - linkType: hard - -"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.12": - version: 15.7.12 - resolution: "@types/prop-types@npm:15.7.12" - checksum: 10c0/1babcc7db6a1177779f8fde0ccc78d64d459906e6ef69a4ed4dd6339c920c2e05b074ee5a92120fe4e9d9f1a01c952f843ebd550bee2332fc2ef81d1706878f8 - languageName: node - linkType: hard - -"@types/qs@npm:^6.9.15": - version: 6.9.15 - resolution: "@types/qs@npm:6.9.15" - checksum: 10c0/49c5ff75ca3adb18a1939310042d273c9fc55920861bd8e5100c8a923b3cda90d759e1a95e18334092da1c8f7b820084687770c83a1ccef04fb2c6908117c823 - languageName: node - linkType: hard - -"@types/react-dom@npm:^18.3.0": - version: 18.3.0 - resolution: "@types/react-dom@npm:18.3.0" - dependencies: - "@types/react": "npm:*" - checksum: 10c0/6c90d2ed72c5a0e440d2c75d99287e4b5df3e7b011838cdc03ae5cd518ab52164d86990e73246b9d812eaf02ec351d74e3b4f5bd325bf341e13bf980392fd53b + version: 1.26.5 + resolution: "@types/prismjs@npm:1.26.5" + checksum: 10c0/5619cb449e0d8df098c8759d6f47bf8fdd510abf5dbdfa999e55c6a2545efbd1e209cc85a33d8d9f4ff2898089a1a6d9a70737c9baffaae635c46852c40d384a languageName: node linkType: hard -"@types/react-helmet@npm:^6.1.11": - version: 6.1.11 - resolution: "@types/react-helmet@npm:6.1.11" - dependencies: - "@types/react": "npm:*" - checksum: 10c0/f7b3bb2151d992a108ae46fed876fb9c8119108397d9a01d150c5642782997542c8b3c52e742b56e8689b7dbfa62ca9cfc76aa7e05dec4e60c652f7ef53fa783 +"@types/prop-types@npm:^15.7.14": + version: 15.7.14 + resolution: "@types/prop-types@npm:15.7.14" + checksum: 10c0/1ec775160bfab90b67a782d735952158c7e702ca4502968aa82565bd8e452c2de8601c8dfe349733073c31179116cf7340710160d3836aa8a1ef76d1532893b1 languageName: node linkType: hard -"@types/react-router-dom@npm:^5.3.3": - version: 5.3.3 - resolution: "@types/react-router-dom@npm:5.3.3" - dependencies: - "@types/history": "npm:^4.7.11" - "@types/react": "npm:*" - "@types/react-router": "npm:*" - checksum: 10c0/a9231a16afb9ed5142678147eafec9d48582809295754fb60946e29fcd3757a4c7a3180fa94b45763e4c7f6e3f02379e2fcb8dd986db479dcab40eff5fc62a91 +"@types/qs@npm:^6": + version: 6.9.18 + resolution: "@types/qs@npm:6.9.18" + checksum: 10c0/790b9091348e06dde2c8e4118b5771ab386a8c22a952139a2eb0675360a2070d0b155663bf6f75b23f258fd0a1f7ffc0ba0f059d99a719332c03c40d9e9cd63b languageName: node linkType: hard -"@types/react-router@npm:*": - version: 5.1.20 - resolution: "@types/react-router@npm:5.1.20" - dependencies: - "@types/history": "npm:^4.7.11" - "@types/react": "npm:*" - checksum: 10c0/1f7eee61981d2f807fa01a34a0ef98ebc0774023832b6611a69c7f28fdff01de5a38cabf399f32e376bf8099dcb7afaf724775bea9d38870224492bea4cb5737 +"@types/react-dom@npm:^19.0.1": + version: 19.0.3 + resolution: "@types/react-dom@npm:19.0.3" + peerDependencies: + "@types/react": ^19.0.0 + checksum: 10c0/3867427b333cbe8cbba496d7cc20ec9676d32c25ae44f4d1263a4129d42e57cf4adf0039ad263432f1215b88075c27d326e7eb4ed646128235d01a76e661d48f languageName: node linkType: hard -"@types/react-transition-group@npm:^4.4.11": - version: 4.4.11 - resolution: "@types/react-transition-group@npm:4.4.11" - dependencies: - "@types/react": "npm:*" - checksum: 10c0/8fbf0dcc1b81985cdcebe3c59d769fe2ea3f4525f12c3a10a7429a59f93e303c82b2abb744d21cb762879f4514969d70a7ab11b9bf486f92213e8fe70e04098d +"@types/react-transition-group@npm:^4.4.12": + version: 4.4.12 + resolution: "@types/react-transition-group@npm:4.4.12" + peerDependencies: + "@types/react": "*" + checksum: 10c0/0441b8b47c69312c89ec0760ba477ba1a0808a10ceef8dc1c64b1013ed78517332c30f18681b0ec0b53542731f1ed015169fed1d127cc91222638ed955478ec7 languageName: node linkType: hard -"@types/react@npm:*, @types/react@npm:^18.3.3": - version: 18.3.3 - resolution: "@types/react@npm:18.3.3" +"@types/react@npm:^19.0.1": + version: 19.0.8 + resolution: "@types/react@npm:19.0.8" dependencies: - "@types/prop-types": "npm:*" csstype: "npm:^3.0.2" - checksum: 10c0/fe455f805c5da13b89964c3d68060cebd43e73ec15001a68b34634604a78140e6fc202f3f61679b9d809dde6d7a7c2cb3ed51e0fd1462557911db09879b55114 - languageName: node - linkType: hard - -"@types/sass@npm:^1.45.0": - version: 1.45.0 - resolution: "@types/sass@npm:1.45.0" - dependencies: - sass: "npm:*" - checksum: 10c0/e2628516d16f9232226a693ff5e512ef64445df3b675a17b84c7af865f68a1c1156b5d0e2b6b9341c571348f719b705ac8a622caa304ea5700755cb7019a0071 + checksum: 10c0/5fa7236356b1476de03519c66ef65d4fd904826956105619e2ad60cb0b55ae7b251dd5fff02234076225b5e15333d0d936bf9dbe1d461406f8a2ba01c197ddcd languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^7.13.1": - version: 7.16.0 - resolution: "@typescript-eslint/eslint-plugin@npm:7.16.0" +"@typescript-eslint/eslint-plugin@npm:8.22.0": + version: 8.22.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.22.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:7.16.0" - "@typescript-eslint/type-utils": "npm:7.16.0" - "@typescript-eslint/utils": "npm:7.16.0" - "@typescript-eslint/visitor-keys": "npm:7.16.0" + "@typescript-eslint/scope-manager": "npm:8.22.0" + "@typescript-eslint/type-utils": "npm:8.22.0" + "@typescript-eslint/utils": "npm:8.22.0" + "@typescript-eslint/visitor-keys": "npm:8.22.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^1.3.0" + ts-api-utils: "npm:^2.0.0" peerDependencies: - "@typescript-eslint/parser": ^7.0.0 - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/a6c4c93bd7ec1604079018b95416d8ac28af3345d50620f815ffd36e705c4964d88edc434e710ef8722690497f1eeab1e9a0f48faa6d448405980f5d05c888b7 + "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 10c0/eecc23e05287cc99a43855d64c0f0898f690ee14b8c31b60ba92ce9732443f6b0c9695514b276fb2ecd27e64c15d4c38cd28b570779115525b4dfdbba60e81ca languageName: node linkType: hard -"@typescript-eslint/parser@npm:^7.13.1": - version: 7.16.0 - resolution: "@typescript-eslint/parser@npm:7.16.0" +"@typescript-eslint/parser@npm:8.22.0": + version: 8.22.0 + resolution: "@typescript-eslint/parser@npm:8.22.0" dependencies: - "@typescript-eslint/scope-manager": "npm:7.16.0" - "@typescript-eslint/types": "npm:7.16.0" - "@typescript-eslint/typescript-estree": "npm:7.16.0" - "@typescript-eslint/visitor-keys": "npm:7.16.0" + "@typescript-eslint/scope-manager": "npm:8.22.0" + "@typescript-eslint/types": "npm:8.22.0" + "@typescript-eslint/typescript-estree": "npm:8.22.0" + "@typescript-eslint/visitor-keys": "npm:8.22.0" debug: "npm:^4.3.4" peerDependencies: - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/bf809c5a59dddc72fc2f11a5d10c78825fa2ffbec72a711e3f783b022d77266a1b709ad450912ebbff24ca9ac20c6baae1d12477735e00aafce662fdbdfa66ef + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 10c0/6575684d4724aa908b0d6a29db5d5054b9277804844ee4179c77371f8b8b84534b9b7e4df0e282c5f39729ae6f0019208a6b83f0ca5d0f06f9da5a06d8ddb4fd languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:7.16.0": - version: 7.16.0 - resolution: "@typescript-eslint/scope-manager@npm:7.16.0" +"@typescript-eslint/scope-manager@npm:8.22.0": + version: 8.22.0 + resolution: "@typescript-eslint/scope-manager@npm:8.22.0" dependencies: - "@typescript-eslint/types": "npm:7.16.0" - "@typescript-eslint/visitor-keys": "npm:7.16.0" - checksum: 10c0/e00f57908a1b30fb93ae0e35c46a798669782428e98f927a4d39ef3b1e7d5ad4a48e4e121bd136ed9732c2d1c09cf0b99e4029b1a1a11aadf6f2b92e1003f41c + "@typescript-eslint/types": "npm:8.22.0" + "@typescript-eslint/visitor-keys": "npm:8.22.0" + checksum: 10c0/f393ab32086f4b095fcd77169abb5200ad94f282860944d164cec8c9b70090c36235f49b066ba24dfd953201b7730e48200a254e5950a9a3565acdacbbc0fd64 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:7.16.0": - version: 7.16.0 - resolution: "@typescript-eslint/type-utils@npm:7.16.0" +"@typescript-eslint/type-utils@npm:8.22.0": + version: 8.22.0 + resolution: "@typescript-eslint/type-utils@npm:8.22.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:7.16.0" - "@typescript-eslint/utils": "npm:7.16.0" + "@typescript-eslint/typescript-estree": "npm:8.22.0" + "@typescript-eslint/utils": "npm:8.22.0" debug: "npm:^4.3.4" - ts-api-utils: "npm:^1.3.0" + ts-api-utils: "npm:^2.0.0" peerDependencies: - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/91ef86e173d2d86487d669ddda7a0f754485e82a671a64cfbf7790639dfb4c691f6f002ae19d4d82a90e4cca9cd7563e38100c1dfabab461632b0da1eac2b39b + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 10c0/dc457d9184dc2156eda225c63de03b1052d75464d6393edaf0f1728eecf64170f73e19bc9b9d4a4a029870ce25015b59bd6705e1e18b731ca4fcecac4398bfb7 languageName: node linkType: hard -"@typescript-eslint/types@npm:7.16.0": - version: 7.16.0 - resolution: "@typescript-eslint/types@npm:7.16.0" - checksum: 10c0/5d7080991241232072c50c1e1be35976631f764fe0f4fd43cf1026a2722aab772a14906dfaa322183b040c6ca8ae4494a78f653dd3b22bcdbdfe063a301240b0 +"@typescript-eslint/types@npm:8.22.0": + version: 8.22.0 + resolution: "@typescript-eslint/types@npm:8.22.0" + checksum: 10c0/6357d0937e2b84ddb00763d05053fe50f2270fa428aa11f1ad6a1293827cf54da7e6d4d20b00b9d4f633b6982a2eb0e494f05285daa1279d8a3493f0d8abae18 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:7.16.0": - version: 7.16.0 - resolution: "@typescript-eslint/typescript-estree@npm:7.16.0" +"@typescript-eslint/typescript-estree@npm:8.22.0": + version: 8.22.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.22.0" dependencies: - "@typescript-eslint/types": "npm:7.16.0" - "@typescript-eslint/visitor-keys": "npm:7.16.0" + "@typescript-eslint/types": "npm:8.22.0" + "@typescript-eslint/visitor-keys": "npm:8.22.0" debug: "npm:^4.3.4" - globby: "npm:^11.1.0" + fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" minimatch: "npm:^9.0.4" semver: "npm:^7.6.0" - ts-api-utils: "npm:^1.3.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/2b4e7cbdb1b43d937d1dde057ab18111e0f2bb16cb2d3f48a60c5611ff81d0b64455b325475bcce6213c54653b6c4d3b475526f7ffcf8f74014ab9b64a3d6d92 + ts-api-utils: "npm:^2.0.0" + peerDependencies: + typescript: ">=4.8.4 <5.8.0" + checksum: 10c0/0a9d77fbadfb1e54c06abde424e461103576595c70e50ae8a15a3d7c07f125f253f505208e1ea5cc483b9073d95fc10ce0c4ddfe0fe08ec2aceda6314c341e0d languageName: node linkType: hard -"@typescript-eslint/utils@npm:7.16.0": - version: 7.16.0 - resolution: "@typescript-eslint/utils@npm:7.16.0" +"@typescript-eslint/utils@npm:8.22.0": + version: 8.22.0 + resolution: "@typescript-eslint/utils@npm:8.22.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:7.16.0" - "@typescript-eslint/types": "npm:7.16.0" - "@typescript-eslint/typescript-estree": "npm:7.16.0" + "@typescript-eslint/scope-manager": "npm:8.22.0" + "@typescript-eslint/types": "npm:8.22.0" + "@typescript-eslint/typescript-estree": "npm:8.22.0" peerDependencies: - eslint: ^8.56.0 - checksum: 10c0/1b835cbd243a4266a84655bcfcd08a14003e9740efbb032d60ab4403f03838280e7ad759b1f362d88939beaee08d7a1752fa6b049aad8d33793758853469fe76 - languageName: node - linkType: hard - -"@typescript-eslint/visitor-keys@npm:7.16.0": - version: 7.16.0 - resolution: "@typescript-eslint/visitor-keys@npm:7.16.0" - dependencies: - "@typescript-eslint/types": "npm:7.16.0" - eslint-visitor-keys: "npm:^3.4.3" - checksum: 10c0/a3c614cdc2e9c37e007e15e1ee169a9ad040fac189d0abd2b840f78910b499b362493bbf0019c5979785567ae30839a799b4dd219f70a668bac930fd79fdc5d3 - languageName: node - linkType: hard - -"@ungap/structured-clone@npm:^1.2.0": - version: 1.2.0 - resolution: "@ungap/structured-clone@npm:1.2.0" - checksum: 10c0/8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 10c0/6f1e3f9c0fb865c8cef4fdca04679cea7357ed011338b54d80550e9ad5369a3f24cbe4b0985d293192fe351fa133e5f4ea401f47af90bb46c21903bfe087b398 languageName: node linkType: hard -"@vitejs/plugin-react@npm:^4.3.1": - version: 4.3.1 - resolution: "@vitejs/plugin-react@npm:4.3.1" +"@typescript-eslint/visitor-keys@npm:8.22.0": + version: 8.22.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.22.0" dependencies: - "@babel/core": "npm:^7.24.5" - "@babel/plugin-transform-react-jsx-self": "npm:^7.24.5" - "@babel/plugin-transform-react-jsx-source": "npm:^7.24.1" - "@types/babel__core": "npm:^7.20.5" - react-refresh: "npm:^0.14.2" - peerDependencies: - vite: ^4.2.0 || ^5.0.0 - checksum: 10c0/39a027feddfd6b3e307121d79631462ef1aae05714ba7a2f9a73d240d0f89c2bf281132568eb27b55d6ddaf08d86ad1bd8b0066090240e570de8c6320eb9a903 + "@typescript-eslint/types": "npm:8.22.0" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10c0/fd83d2feadaf79950427fbbc3d23ca01cf4646ce7e0dd515a9c881d31ec1cc768e7b8898d3af065e31df39452501a3345092581cbfccac89e89d293519540557 languageName: node linkType: hard -"@wyw-in-js/processor-utils@npm:0.5.4, @wyw-in-js/processor-utils@npm:^0.5.4": - version: 0.5.4 - resolution: "@wyw-in-js/processor-utils@npm:0.5.4" - dependencies: - "@babel/generator": "npm:^7.23.5" - "@wyw-in-js/shared": "npm:0.5.4" - checksum: 10c0/f6f34f780d116bc5fc976f7fa550d297795cef9447d8c531323886fa33e4bac6e1a80db1115e63f928b9fb0e677fdb28e00228c1a13631572341dbffbf9aecd0 +"abbrev@npm:^3.0.0": + version: 3.0.0 + resolution: "abbrev@npm:3.0.0" + checksum: 10c0/049704186396f571650eb7b22ed3627b77a5aedf98bb83caf2eac81ca2a3e25e795394b0464cfb2d6076df3db6a5312139eac5b6a126ca296ac53c5008069c28 languageName: node linkType: hard -"@wyw-in-js/shared@npm:0.5.4, @wyw-in-js/shared@npm:^0.5.4": - version: 0.5.4 - resolution: "@wyw-in-js/shared@npm:0.5.4" +"accepts@npm:~1.3.8": + version: 1.3.8 + resolution: "accepts@npm:1.3.8" dependencies: - debug: "npm:^4.3.4" - find-up: "npm:^5.0.0" - minimatch: "npm:^9.0.3" - checksum: 10c0/47ec8bf5196679c42bdd1fa0f9831171fd8d8727031bbf7dcafbdbe19ee658660343405249d77ab2b9e7c1004ff30e4e6eaa4790784f223118089812020d0d4b - languageName: node - linkType: hard - -"@wyw-in-js/transform@npm:^0.5.4": - version: 0.5.4 - resolution: "@wyw-in-js/transform@npm:0.5.4" - dependencies: - "@babel/core": "npm:^7.23.5" - "@babel/generator": "npm:^7.23.5" - "@babel/helper-module-imports": "npm:^7.22.15" - "@babel/plugin-transform-modules-commonjs": "npm:^7.23.3" - "@babel/template": "npm:^7.22.15" - "@babel/traverse": "npm:^7.23.5" - "@babel/types": "npm:^7.23.5" - "@wyw-in-js/processor-utils": "npm:0.5.4" - "@wyw-in-js/shared": "npm:0.5.4" - babel-merge: "npm:^3.0.0" - cosmiconfig: "npm:^8.0.0" - happy-dom: "npm:^12.5.0" - source-map: "npm:^0.7.4" - stylis: "npm:^4.3.0" - ts-invariant: "npm:^0.10.3" - checksum: 10c0/ec083911264f0e607f3b29afe3d8b661efa69b4563580786ac47fe425ee32679293930fa0e78dc5269948035fb25dc0c1a4c2c8b0963c5fd396e406b1110f79b - languageName: node - linkType: hard - -"abbrev@npm:^2.0.0": - version: 2.0.0 - resolution: "abbrev@npm:2.0.0" - checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 + mime-types: "npm:~2.1.34" + negotiator: "npm:0.6.3" + checksum: 10c0/3a35c5f5586cfb9a21163ca47a5f77ac34fa8ceb5d17d2fa2c0d81f41cbd7f8c6fa52c77e2c039acc0f4d09e71abdc51144246900f6bef5e3c4b333f77d89362 languageName: node linkType: hard @@ -1972,31 +1824,19 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.9.0": - version: 8.12.1 - resolution: "acorn@npm:8.12.1" +"acorn@npm:^8.14.0": + version: 8.14.0 + resolution: "acorn@npm:8.14.0" bin: acorn: bin/acorn - checksum: 10c0/51fb26cd678f914e13287e886da2d7021f8c2bc0ccc95e03d3e0447ee278dd3b40b9c57dc222acd5881adcf26f3edc40901a4953403232129e3876793cd17386 - languageName: node - linkType: hard - -"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": - version: 7.1.1 - resolution: "agent-base@npm:7.1.1" - dependencies: - debug: "npm:^4.3.4" - checksum: 10c0/e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50 + checksum: 10c0/6d4ee461a7734b2f48836ee0fbb752903606e576cc100eb49340295129ca0b452f3ba91ddd4424a1d4406a98adfb2ebb6bd0ff4c49d7a0930c10e462719bbfd7 languageName: node linkType: hard -"aggregate-error@npm:^3.0.0": - version: 3.1.0 - resolution: "aggregate-error@npm:3.1.0" - dependencies: - clean-stack: "npm:^2.0.0" - indent-string: "npm:^4.0.0" - checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": + version: 7.1.3 + resolution: "agent-base@npm:7.1.3" + checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 languageName: node linkType: hard @@ -2013,110 +1853,37 @@ __metadata: linkType: hard "ajv@npm:^8.0.1": - version: 8.16.0 - resolution: "ajv@npm:8.16.0" + version: 8.17.1 + resolution: "ajv@npm:8.17.1" dependencies: fast-deep-equal: "npm:^3.1.3" + fast-uri: "npm:^3.0.1" json-schema-traverse: "npm:^1.0.0" require-from-string: "npm:^2.0.2" - uri-js: "npm:^4.4.1" - checksum: 10c0/6fc38aa8fd4fbfaa7096ac049e48c0cb440db36b76fef2d7d5b7d92b102735670d055d412d19176c08c9d48eaa9d06661b67e59f04943dc71ab1551e0484f88c + checksum: 10c0/ec3ba10a573c6b60f94639ffc53526275917a2df6810e4ab5a6b959d87459f9ef3f00d5e7865b82677cb7d21590355b34da14d1d0b9c32d75f95a187e76fff35 languageName: node linkType: hard -"ansi-colors@npm:^1.0.1": - version: 1.1.0 - resolution: "ansi-colors@npm:1.1.0" - dependencies: - ansi-wrap: "npm:^0.1.0" - checksum: 10c0/c5f3ae4710ed564ca173cd2cf3e85a3bf8dabb7b20688f84299caaf0a4af01e6b7825b32739336c9437492058d3b07d90ef42e3e6223fbba3dc9d52f63e29056 +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 languageName: node linkType: hard -"ansi-cyan@npm:^0.1.1": - version: 0.1.1 - resolution: "ansi-cyan@npm:0.1.1" - dependencies: - ansi-wrap: "npm:0.1.0" - checksum: 10c0/194a33c4234a9b5150efa22f66d9820bcb44a0aa394767d2203bb49751064a52d5547ff878ec7cfaaa02543490172b405914e0a8647954be29f05474ad0c452f +"ansi-regex@npm:^6.0.1": + version: 6.1.0 + resolution: "ansi-regex@npm:6.1.0" + checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc languageName: node linkType: hard -"ansi-escapes@npm:^3.1.0": - version: 3.2.0 - resolution: "ansi-escapes@npm:3.2.0" - checksum: 10c0/084e1ce38139ad2406f18a8e7efe2b850ddd06ce3c00f633392d1ce67756dab44fe290e573d09ef3c9a0cb13c12881e0e35a8f77a017d39a0a4ab85ae2fae04f - languageName: node - linkType: hard - -"ansi-gray@npm:^0.1.1": - version: 0.1.1 - resolution: "ansi-gray@npm:0.1.1" - dependencies: - ansi-wrap: "npm:0.1.0" - checksum: 10c0/f15a0c069f81a343afe2af5e111624603ce9e6059996d44a0338d7e44b88171a05dc975debdf4df01a86e62395027ae0615499a1e4adfefbebd417061b506079 - languageName: node - linkType: hard - -"ansi-red@npm:^0.1.1": - version: 0.1.1 - resolution: "ansi-red@npm:0.1.1" - dependencies: - ansi-wrap: "npm:0.1.0" - checksum: 10c0/e7f1ae80770d190d5aa0f2169cebd5caae0fa1e5cf20945d843d4bbb98428194e2fa062e285eb8807820612d30453573e89eb2c5c6a4aba257b725d37852bb11 - languageName: node - linkType: hard - -"ansi-regex@npm:^2.0.0": - version: 2.1.1 - resolution: "ansi-regex@npm:2.1.1" - checksum: 10c0/78cebaf50bce2cb96341a7230adf28d804611da3ce6bf338efa7b72f06cc6ff648e29f80cd95e582617ba58d5fdbec38abfeed3500a98bce8381a9daec7c548b - languageName: node - linkType: hard - -"ansi-regex@npm:^3.0.0": - version: 3.0.1 - resolution: "ansi-regex@npm:3.0.1" - checksum: 10c0/d108a7498b8568caf4a46eea4f1784ab4e0dfb2e3f3938c697dee21443d622d765c958f2b7e2b9f6b9e55e2e2af0584eaa9915d51782b89a841c28e744e7a167 - languageName: node - linkType: hard - -"ansi-regex@npm:^4.1.0": - version: 4.1.1 - resolution: "ansi-regex@npm:4.1.1" - checksum: 10c0/d36d34234d077e8770169d980fed7b2f3724bfa2a01da150ccd75ef9707c80e883d27cdf7a0eac2f145ac1d10a785a8a855cffd05b85f778629a0db62e7033da - languageName: node - linkType: hard - -"ansi-regex@npm:^5.0.1": - version: 5.0.1 - resolution: "ansi-regex@npm:5.0.1" - checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 - languageName: node - linkType: hard - -"ansi-regex@npm:^6.0.1": - version: 6.0.1 - resolution: "ansi-regex@npm:6.0.1" - checksum: 10c0/cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08 - languageName: node - linkType: hard - -"ansi-styles@npm:^3.2.1": - version: 3.2.1 - resolution: "ansi-styles@npm:3.2.1" - dependencies: - color-convert: "npm:^1.9.0" - checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b - languageName: node - linkType: hard - -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": - version: 4.3.0 - resolution: "ansi-styles@npm:4.3.0" - dependencies: - color-convert: "npm:^2.0.1" - checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 languageName: node linkType: hard @@ -2127,38 +1894,10 @@ __metadata: languageName: node linkType: hard -"ansi-wrap@npm:0.1.0, ansi-wrap@npm:^0.1.0": - version: 0.1.0 - resolution: "ansi-wrap@npm:0.1.0" - checksum: 10c0/1e0a53ae0d1a3fc5ceeb5d1868cb5b0a61543a1ff11f3efc51bab7923cc01fe8180db1f9250ce5003b425c53f568bcf3c2dea9d90b5c1cd0a1dae13f76c601dd - languageName: node - linkType: hard - -"anymatch@npm:~3.1.2": - version: 3.1.3 - resolution: "anymatch@npm:3.1.3" - dependencies: - normalize-path: "npm:^3.0.0" - picomatch: "npm:^2.0.4" - checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac - languageName: node - linkType: hard - -"append-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "append-buffer@npm:1.0.2" - dependencies: - buffer-equal: "npm:^1.0.0" - checksum: 10c0/909c34059ddd418ddd7c5a050b2891f971eafd17ffdcf4b39411fcb6ecb780db3e147a17dd8c4482381ee2c3a3447689d6e2ef5529dd9c1f9bb630b763a5aab5 - languageName: node - linkType: hard - -"argparse@npm:^1.0.7": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" - dependencies: - sprintf-js: "npm:~1.0.2" - checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de +"arg@npm:^5.0.1": + version: 5.0.2 + resolution: "arg@npm:5.0.2" + checksum: 10c0/ccaf86f4e05d342af6666c569f844bec426595c567d32a8289715087825c2ca7edd8a3d204e4d2fb2aa4602e09a57d0c13ea8c9eea75aac3dbb4af5514e6800e languageName: node linkType: hard @@ -2169,58 +1908,20 @@ __metadata: languageName: node linkType: hard -"arr-diff@npm:^1.0.1": - version: 1.1.0 - resolution: "arr-diff@npm:1.1.0" - dependencies: - arr-flatten: "npm:^1.0.1" - array-slice: "npm:^0.2.3" - checksum: 10c0/72e93f94b39b0edc792ffd0c09658ddbecc1ec19ac50411408f720a6aab833cbf1df3947a7c9d5a6aea5fa4861ea508b6a04419a95b85bf9b256c8d65cc64388 - languageName: node - linkType: hard - -"arr-diff@npm:^4.0.0": - version: 4.0.0 - resolution: "arr-diff@npm:4.0.0" - checksum: 10c0/67b80067137f70c89953b95f5c6279ad379c3ee39f7143578e13bd51580a40066ee2a55da066e22d498dce10f68c2d70056d7823f972fab99dfbf4c78d0bc0f7 - languageName: node - linkType: hard - -"arr-flatten@npm:^1.0.1": - version: 1.1.0 - resolution: "arr-flatten@npm:1.1.0" - checksum: 10c0/bef53be02ed3bc58f202b3861a5b1eb6e1ae4fecf39c3ad4d15b1e0433f941077d16e019a33312d820844b0661777322acbb7d0c447b04d9bdf7d6f9c532548a - languageName: node - linkType: hard - -"arr-union@npm:^2.0.1": - version: 2.1.0 - resolution: "arr-union@npm:2.1.0" - checksum: 10c0/27d270a77ebbccf1fb7b8544ebdcca3fcf1bcf10b3d01bbef127466b1bd1c877ead79f607f3404de21880e675582b453f7fefbe48b6818516be3f075f46c5172 - languageName: node - linkType: hard - -"arr-union@npm:^3.1.0": - version: 3.1.0 - resolution: "arr-union@npm:3.1.0" - checksum: 10c0/7d5aa05894e54aa93c77c5726c1dd5d8e8d3afe4f77983c0aa8a14a8a5cbe8b18f0cf4ecaa4ac8c908ef5f744d2cbbdaa83fd6e96724d15fea56cfa7f5efdd51 - languageName: node - linkType: hard - -"array-buffer-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "array-buffer-byte-length@npm:1.0.1" +"array-buffer-byte-length@npm:^1.0.1, array-buffer-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "array-buffer-byte-length@npm:1.0.2" dependencies: - call-bind: "npm:^1.0.5" - is-array-buffer: "npm:^3.0.4" - checksum: 10c0/f5cdf54527cd18a3d2852ddf73df79efec03829e7373a8322ef5df2b4ef546fb365c19c71d6b42d641cb6bfe0f1a2f19bc0ece5b533295f86d7c3d522f228917 + call-bound: "npm:^1.0.3" + is-array-buffer: "npm:^3.0.5" + checksum: 10c0/74e1d2d996941c7a1badda9cabb7caab8c449db9086407cad8a1b71d2604cc8abf105db8ca4e02c04579ec58b7be40279ddb09aea4784832984485499f48432d languageName: node linkType: hard -"array-differ@npm:^1.0.0": - version: 1.0.0 - resolution: "array-differ@npm:1.0.0" - checksum: 10c0/8782c01cfe58555416fbf63ceb30d8e17076297f067357a5a9eff9b4cc9aa02731aa27c06966758d09a18b1740f9643e1ff563f1a7040428ba1c796e2ad75050 +"array-flatten@npm:1.1.1": + version: 1.1.1 + resolution: "array-flatten@npm:1.1.1" + checksum: 10c0/806966c8abb2f858b08f5324d9d18d7737480610f3bd5d3498aaae6eb5efdc501a884ba019c9b4a8f02ff67002058749d05548fd42fa8643f02c9c7f22198b91 languageName: node linkType: hard @@ -2238,22 +1939,6 @@ __metadata: languageName: node linkType: hard -"array-slice@npm:^0.2.3": - version: 0.2.3 - resolution: "array-slice@npm:0.2.3" - checksum: 10c0/aba296c769a8a6f772e26261510d33ae0be231e0f3acb2eb7da5c65becf0769e0f339d722739af49fea429941c19d23ce85a4ba2fc475df645a4d4d1289d65c3 - languageName: node - linkType: hard - -"array-union@npm:^1.0.1": - version: 1.0.2 - resolution: "array-union@npm:1.0.2" - dependencies: - array-uniq: "npm:^1.0.1" - checksum: 10c0/18686767c0cfdae8dc4acf5ac119b0f0eacad82b7fcc0aa62cc41f93c5ad406d494b6a6e53d85e52e8f0349b67a4fec815feeb537e95c02510d747bc9a4157c7 - languageName: node - linkType: hard - "array-union@npm:^2.1.0": version: 2.1.0 resolution: "array-union@npm:2.1.0" @@ -2261,13 +1946,6 @@ __metadata: languageName: node linkType: hard -"array-uniq@npm:^1.0.1": - version: 1.0.3 - resolution: "array-uniq@npm:1.0.3" - checksum: 10c0/3acbaf9e6d5faeb1010e2db04ab171b8d265889e46c61762e502979bdc5e55656013726e9a61507de3c82d329a0dc1e8072630a3454b4f2b881cb19ba7fd8aa6 - languageName: node - linkType: hard - "array.prototype.findlast@npm:^1.2.5": version: 1.2.5 resolution: "array.prototype.findlast@npm:1.2.5" @@ -2283,38 +1961,26 @@ __metadata: linkType: hard "array.prototype.flat@npm:^1.3.1": - version: 1.3.2 - resolution: "array.prototype.flat@npm:1.3.2" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - es-shim-unscopables: "npm:^1.0.0" - checksum: 10c0/a578ed836a786efbb6c2db0899ae80781b476200617f65a44846cb1ed8bd8b24c8821b83703375d8af639c689497b7b07277060024b9919db94ac3e10dc8a49b - languageName: node - linkType: hard - -"array.prototype.flatmap@npm:^1.3.2": - version: 1.3.2 - resolution: "array.prototype.flatmap@npm:1.3.2" + version: 1.3.3 + resolution: "array.prototype.flat@npm:1.3.3" dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - es-shim-unscopables: "npm:^1.0.0" - checksum: 10c0/67b3f1d602bb73713265145853128b1ad77cc0f9b833c7e1e056b323fbeac41a4ff1c9c99c7b9445903caea924d9ca2450578d9011913191aa88cc3c3a4b54f4 + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/d90e04dfbc43bb96b3d2248576753d1fb2298d2d972e29ca7ad5ec621f0d9e16ff8074dae647eac4f31f4fb7d3f561a7ac005fb01a71f51705a13b5af06a7d8a languageName: node linkType: hard -"array.prototype.toreversed@npm:^1.1.2": - version: 1.1.2 - resolution: "array.prototype.toreversed@npm:1.1.2" +"array.prototype.flatmap@npm:^1.3.3": + version: 1.3.3 + resolution: "array.prototype.flatmap@npm:1.3.3" dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - es-shim-unscopables: "npm:^1.0.0" - checksum: 10c0/2b7627ea85eae1e80ecce665a500cc0f3355ac83ee4a1a727562c7c2a1d5f1c0b4dd7b65c468ec6867207e452ba01256910a2c0b41486bfdd11acf875a7a3435 + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/ba899ea22b9dc9bf276e773e98ac84638ed5e0236de06f13d63a90b18ca9e0ec7c97d622d899796e3773930b946cd2413d098656c0c5d8cc58c6f25c21e6bd54 languageName: node linkType: hard @@ -2331,33 +1997,18 @@ __metadata: languageName: node linkType: hard -"arraybuffer.prototype.slice@npm:^1.0.3": - version: 1.0.3 - resolution: "arraybuffer.prototype.slice@npm:1.0.3" +"arraybuffer.prototype.slice@npm:^1.0.4": + version: 1.0.4 + resolution: "arraybuffer.prototype.slice@npm:1.0.4" dependencies: array-buffer-byte-length: "npm:^1.0.1" - call-bind: "npm:^1.0.5" + call-bind: "npm:^1.0.8" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.22.3" - es-errors: "npm:^1.2.1" - get-intrinsic: "npm:^1.2.3" + es-abstract: "npm:^1.23.5" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" is-array-buffer: "npm:^3.0.4" - is-shared-array-buffer: "npm:^1.0.2" - checksum: 10c0/d32754045bcb2294ade881d45140a5e52bda2321b9e98fa514797b7f0d252c4c5ab0d1edb34112652c62fa6a9398def568da63a4d7544672229afea283358c36 - languageName: node - linkType: hard - -"arrify@npm:^1.0.0": - version: 1.0.1 - resolution: "arrify@npm:1.0.1" - checksum: 10c0/c35c8d1a81bcd5474c0c57fe3f4bad1a4d46a5fa353cedcff7a54da315df60db71829e69104b859dff96c5d68af46bd2be259fe5e50dc6aa9df3b36bea0383ab - languageName: node - linkType: hard - -"assign-symbols@npm:^1.0.0": - version: 1.0.0 - resolution: "assign-symbols@npm:1.0.0" - checksum: 10c0/29a654b8a6da6889a190d0d0efef4b1bfb5948fa06cbc245054aef05139f889f2f7c75b989917e3fde853fc4093b88048e4de8578a73a76f113d41bfd66e5775 + checksum: 10c0/2f2459caa06ae0f7f615003f9104b01f6435cc803e11bd2a655107d52a1781dc040532dc44d93026b694cc18793993246237423e13a5337e86b43ed604932c06 languageName: node linkType: hard @@ -2368,6 +2019,13 @@ __metadata: languageName: node linkType: hard +"async-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-function@npm:1.0.0" + checksum: 10c0/669a32c2cb7e45091330c680e92eaeb791bc1d4132d827591e499cd1f776ff5a873e77e5f92d0ce795a8d60f10761dec9ddfe7225a5de680f5d357f67b1aac73 + languageName: node + linkType: hard + "asynckit@npm:^0.4.0": version: 0.4.0 resolution: "asynckit@npm:0.4.0" @@ -2375,6 +2033,24 @@ __metadata: languageName: node linkType: hard +"autoprefixer@npm:^10.4.20": + version: 10.4.20 + resolution: "autoprefixer@npm:10.4.20" + dependencies: + browserslist: "npm:^4.23.3" + caniuse-lite: "npm:^1.0.30001646" + fraction.js: "npm:^4.3.7" + normalize-range: "npm:^0.1.2" + picocolors: "npm:^1.0.1" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.1.0 + bin: + autoprefixer: bin/autoprefixer + checksum: 10c0/e1f00978a26e7c5b54ab12036d8c13833fad7222828fc90914771b1263f51b28c7ddb5803049de4e77696cbd02bb25cfc3634e80533025bb26c26aacdf938940 + languageName: node + linkType: hard + "available-typed-arrays@npm:^1.0.7": version: 1.0.7 resolution: "available-typed-arrays@npm:1.0.7" @@ -2384,43 +2060,26 @@ __metadata: languageName: node linkType: hard -"axios@npm:^0.18.0": - version: 0.18.1 - resolution: "axios@npm:0.18.1" - dependencies: - follow-redirects: "npm:1.5.10" - is-buffer: "npm:^2.0.2" - checksum: 10c0/13d86542ad3e1de286a6262213b1cd62654307d89617bef5015e82aad389408c6f66bafa1e467b80af971cfe5ac5ed0b40a250f682f46ab9a1487060f0b6b661 - languageName: node - linkType: hard - -"axios@npm:^1.7.4": - version: 1.7.4 - resolution: "axios@npm:1.7.4" +"axios@npm:^1.7.9": + version: 1.7.9 + resolution: "axios@npm:1.7.9" dependencies: follow-redirects: "npm:^1.15.6" form-data: "npm:^4.0.0" proxy-from-env: "npm:^1.1.0" - checksum: 10c0/5ea1a93140ca1d49db25ef8e1bd8cfc59da6f9220159a944168860ad15a2743ea21c5df2967795acb15cbe81362f5b157fdebbea39d53117ca27658bab9f7f17 + checksum: 10c0/b7a41e24b59fee5f0f26c1fc844b45b17442832eb3a0fb42dd4f1430eb4abc571fe168e67913e8a1d91c993232bd1d1ab03e20e4d1fee8c6147649b576fc1b0b languageName: node linkType: hard -"babel-merge@npm:^3.0.0": - version: 3.0.0 - resolution: "babel-merge@npm:3.0.0" +"babel-dead-code-elimination@npm:^1.0.6": + version: 1.0.8 + resolution: "babel-dead-code-elimination@npm:1.0.8" dependencies: - deepmerge: "npm:^2.2.1" - object.omit: "npm:^3.0.0" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/8337358ba69553305ba0ee6ddfdeb79b58d37012d5c99953d87e608eb22299a565501a854e451c2daa8f7b2310d1a52c66ed92f17e18a9858153e9fd9f3090e5 - languageName: node - linkType: hard - -"babel-plugin-define-var@npm:^0.1.0": - version: 0.1.0 - resolution: "babel-plugin-define-var@npm:0.1.0" - checksum: 10c0/4377d5f2f020ed4b053a304a186b59b26aae512eb3d55beb41aee26ddba5ac00a9633bd0f4e689b9e4dd53453c86b4009978b5c4e965fae773d3502d956a477c + "@babel/core": "npm:^7.23.7" + "@babel/parser": "npm:^7.23.6" + "@babel/traverse": "npm:^7.23.7" + "@babel/types": "npm:^7.23.6" + checksum: 10c0/ad6333c70ec483a8373a379221efcf619aa8259a13e1d2570ee07fd6eb75d9b4355533cc300d7d36d397cd8fd2d2a34a32482772e7f9fe0c414dce8e3d484b77 languageName: node linkType: hard @@ -2449,17 +2108,39 @@ __metadata: languageName: node linkType: hard -"bignumber.js@npm:^2.4.0": - version: 2.4.0 - resolution: "bignumber.js@npm:2.4.0" - checksum: 10c0/254648de38df34ca2dbeb6eb8a61d19b74c59afec4918455fc2e3de7e5327d9018ccfaa1825c27d0df12daa1c98e12b6fa679dfcf7acd0287016c4586a04a68a +"base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf languageName: node linkType: hard -"binary-extensions@npm:^2.0.0": - version: 2.3.0 - resolution: "binary-extensions@npm:2.3.0" - checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 +"basic-auth@npm:~2.0.1": + version: 2.0.1 + resolution: "basic-auth@npm:2.0.1" + dependencies: + safe-buffer: "npm:5.1.2" + checksum: 10c0/05f56db3a0fc31c89c86b605231e32ee143fb6ae38dc60616bc0970ae6a0f034172def99e69d3aed0e2c9e7cac84e2d63bc51a0b5ff6ab5fc8808cc8b29923c1 + languageName: node + linkType: hard + +"body-parser@npm:1.20.3": + version: 1.20.3 + resolution: "body-parser@npm:1.20.3" + dependencies: + bytes: "npm:3.1.2" + content-type: "npm:~1.0.5" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + on-finished: "npm:2.4.1" + qs: "npm:6.13.0" + raw-body: "npm:2.5.2" + type-is: "npm:~1.6.18" + unpipe: "npm:1.0.0" + checksum: 10c0/0a9a93b7518f222885498dcecaad528cf010dd109b071bf471c93def4bfe30958b83e03496eb9c1ad4896db543d999bb62be1a3087294162a88cfa1b42c16310 languageName: node linkType: hard @@ -2482,7 +2163,7 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.3, braces@npm:~3.0.2": +"braces@npm:^3.0.3": version: 3.0.3 resolution: "braces@npm:3.0.3" dependencies: @@ -2491,71 +2172,65 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.22.2": - version: 4.23.2 - resolution: "browserslist@npm:4.23.2" +"browserify-zlib@npm:^0.1.4": + version: 0.1.4 + resolution: "browserify-zlib@npm:0.1.4" dependencies: - caniuse-lite: "npm:^1.0.30001640" - electron-to-chromium: "npm:^1.4.820" - node-releases: "npm:^2.0.14" - update-browserslist-db: "npm:^1.1.0" - bin: - browserslist: cli.js - checksum: 10c0/0217d23c69ed61cdd2530c7019bf7c822cd74c51f8baab18dd62457fed3129f52499f8d3a6f809ae1fb7bb3050aa70caa9a529cc36c7478427966dbf429723a5 + pako: "npm:~0.2.0" + checksum: 10c0/0cde7ca5d33d43125649330fd75c056397e53731956a2593c4a2529f4e609a8e6abdb2b8e1921683abf5645375b92cfb2a21baa42fe3c9fc3e2556d32043af93 languageName: node linkType: hard -"browserslist@npm:^4.23.1": - version: 4.23.3 - resolution: "browserslist@npm:4.23.3" +"browserslist@npm:^4.23.3, browserslist@npm:^4.24.0": + version: 4.24.4 + resolution: "browserslist@npm:4.24.4" dependencies: - caniuse-lite: "npm:^1.0.30001646" - electron-to-chromium: "npm:^1.5.4" - node-releases: "npm:^2.0.18" - update-browserslist-db: "npm:^1.1.0" + caniuse-lite: "npm:^1.0.30001688" + electron-to-chromium: "npm:^1.5.73" + node-releases: "npm:^2.0.19" + update-browserslist-db: "npm:^1.1.1" bin: browserslist: cli.js - checksum: 10c0/3063bfdf812815346447f4796c8f04601bf5d62003374305fd323c2a463e42776475bcc5309264e39bcf9a8605851e53560695991a623be988138b3ff8c66642 + checksum: 10c0/db7ebc1733cf471e0b490b4f47e3e2ea2947ce417192c9246644e92c667dd56a71406cc58f62ca7587caf828364892e9952904a02b7aead752bc65b62a37cfe9 languageName: node linkType: hard -"buffer-equal@npm:^1.0.0": - version: 1.0.1 - resolution: "buffer-equal@npm:1.0.1" - checksum: 10c0/578f03cc9458f9151f68478ab80ebee99a4203de0647a47b491aa3d5fb821938cb4139119a2dae1a1ef9ed5506e0eee4d6a37178efbf2e2e0ee3a9886898fffd +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 languageName: node linkType: hard -"buffer-equals@npm:^1.0.4": - version: 1.0.4 - resolution: "buffer-equals@npm:1.0.4" - checksum: 10c0/ea79e067167e9df058f97960848aed1d3ce4507ae1162925a89c9e1e01b380e74579f10891bc34ade9f9ff013a8cf129956bad1e5818bb71888b8174d05d867b +"buffer@npm:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.2.1" + checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 languageName: node linkType: hard -"buffered-spawn@npm:^3.3.2": - version: 3.3.2 - resolution: "buffered-spawn@npm:3.3.2" - dependencies: - cross-spawn: "npm:^4.0.0" - checksum: 10c0/867c57e615c6905172e12dc4e3a08f29778e573d4a04a3dcd0dbef92010737720a2c8ffc8c3efbc9b3e7b97b60680bdb4ecef4520b2a2838e3688f9d1689704e +"bytes@npm:3.1.2": + version: 3.1.2 + resolution: "bytes@npm:3.1.2" + checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e languageName: node linkType: hard -"bufferstreams@npm:^2.0.1": - version: 2.0.1 - resolution: "bufferstreams@npm:2.0.1" - dependencies: - readable-stream: "npm:^2.3.6" - checksum: 10c0/a28f81deea6897309f454e0d7cb3afd1cf0ba3df4e8987379f7a0a90a7c0e52277688c389953af85d6175e6aefb8734f2fa41d967de703b3b9cbb71f8465be61 +"cac@npm:^6.7.14": + version: 6.7.14 + resolution: "cac@npm:6.7.14" + checksum: 10c0/4ee06aaa7bab8981f0d54e5f5f9d4adcd64058e9697563ce336d8a3878ed018ee18ebe5359b2430eceae87e0758e62ea2019c3f52ae6e211b1bd2e133856cd10 languageName: node linkType: hard -"cacache@npm:^18.0.0": - version: 18.0.4 - resolution: "cacache@npm:18.0.4" +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" dependencies: - "@npmcli/fs": "npm:^3.1.0" + "@npmcli/fs": "npm:^4.0.0" fs-minipass: "npm:^3.0.0" glob: "npm:^10.2.2" lru-cache: "npm:^10.0.1" @@ -2563,63 +2238,67 @@ __metadata: minipass-collect: "npm:^2.0.1" minipass-flush: "npm:^1.0.5" minipass-pipeline: "npm:^1.2.4" - p-map: "npm:^4.0.0" - ssri: "npm:^10.0.0" - tar: "npm:^6.1.11" - unique-filename: "npm:^3.0.0" - checksum: 10c0/6c055bafed9de4f3dcc64ac3dc7dd24e863210902b7c470eb9ce55a806309b3efff78033e3d8b4f7dcc5d467f2db43c6a2857aaaf26f0094b8a351d44c42179f + p-map: "npm:^7.0.2" + ssri: "npm:^12.0.0" + tar: "npm:^7.4.3" + unique-filename: "npm:^4.0.0" + checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c languageName: node linkType: hard -"call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": - version: 1.0.7 - resolution: "call-bind@npm:1.0.7" +"cacheable@npm:^1.8.8": + version: 1.8.8 + resolution: "cacheable@npm:1.8.8" dependencies: - es-define-property: "npm:^1.0.0" - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.4" - set-function-length: "npm:^1.2.1" - checksum: 10c0/a3ded2e423b8e2a265983dba81c27e125b48eefb2655e7dfab6be597088da3d47c47976c24bc51b8fd9af1061f8f87b4ab78a314f3c77784b2ae2ba535ad8b8d + hookified: "npm:^1.7.0" + keyv: "npm:^5.2.3" + checksum: 10c0/24e0f93782015be75b1ec9fe3fb151b2921f61c282091b873f78a0efeb141e95a21d8aa5f4c6bd99a8acb0b485deb5801aa32b4ecf4b666efa7446739368588b languageName: node linkType: hard -"callsites@npm:^3.0.0": - version: 3.1.0 - resolution: "callsites@npm:3.1.0" - checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 +"call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1": + version: 1.0.1 + resolution: "call-bind-apply-helpers@npm:1.0.1" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + checksum: 10c0/acb2ab68bf2718e68a3e895f0d0b73ccc9e45b9b6f210f163512ba76f91dab409eb8792f6dae188356f9095747512a3101646b3dea9d37fb8c7c6bf37796d18c languageName: node linkType: hard -"camelcase@npm:^5.0.0": - version: 5.3.1 - resolution: "camelcase@npm:5.3.1" - checksum: 10c0/92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23 +"call-bind@npm:^1.0.7, call-bind@npm:^1.0.8": + version: 1.0.8 + resolution: "call-bind@npm:1.0.8" + dependencies: + call-bind-apply-helpers: "npm:^1.0.0" + es-define-property: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.4" + set-function-length: "npm:^1.2.2" + checksum: 10c0/a13819be0681d915144467741b69875ae5f4eba8961eb0bf322aab63ec87f8250eb6d6b0dcbb2e1349876412a56129ca338592b3829ef4343527f5f18a0752d4 languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001640": - version: 1.0.30001641 - resolution: "caniuse-lite@npm:1.0.30001641" - checksum: 10c0/a065b641cfcc84b36955ee909bfd7313ad103d6a299f0fd261e0e4160e8f1cec79d685c5a9f11097a77687cf47154eddb8133163f2a34bcb8d73c45033a014d2 +"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3": + version: 1.0.3 + resolution: "call-bound@npm:1.0.3" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/45257b8e7621067304b30dbd638e856cac913d31e8e00a80d6cf172911acd057846572d0b256b45e652d515db6601e2974a1b1a040e91b4fc36fb3dd86fa69cf languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001646": - version: 1.0.30001658 - resolution: "caniuse-lite@npm:1.0.30001658" - checksum: 10c0/e01f19ac72f056d2b4b680ff2e83d1abf99c0ce0863593bc6abbc40c53589a5c1697b4605b0937a3a431addb2145615e941b91c10d6b63475b7292500339406f +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 languageName: node linkType: hard -"chalk@npm:^2.4.0, chalk@npm:^2.4.1, chalk@npm:^2.4.2": - version: 2.4.2 - resolution: "chalk@npm:2.4.2" - dependencies: - ansi-styles: "npm:^3.2.1" - escape-string-regexp: "npm:^1.0.5" - supports-color: "npm:^5.3.0" - checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 +"caniuse-lite@npm:^1.0.30001646, caniuse-lite@npm:^1.0.30001688": + version: 1.0.30001696 + resolution: "caniuse-lite@npm:1.0.30001696" + checksum: 10c0/8060584c612b2bc232995a6e31153432de7946b5417d3b3505a3ab76e632e5568ccc7bae38f1a977f21d4fc214f9e64be829213f810694172c9109e258cb5be8 languageName: node linkType: hard @@ -2633,138 +2312,29 @@ __metadata: languageName: node linkType: hard -"checkstyle-formatter@npm:^1.1.0": - version: 1.1.0 - resolution: "checkstyle-formatter@npm:1.1.0" - dependencies: - xml-escape: "npm:^1.0.0" - checksum: 10c0/85e63d281eabb13b12f54db09ca0082800c2fce67a42fdd36b8233d298e48b09bf5888ffd82d8262f0b75daf8fa404c2e6323aec02481fbc21a37c8d6a8a2d1a - languageName: node - linkType: hard - -"chokidar@npm:>=3.0.0 <4.0.0": - version: 3.6.0 - resolution: "chokidar@npm:3.6.0" - dependencies: - anymatch: "npm:~3.1.2" - braces: "npm:~3.0.2" - fsevents: "npm:~2.3.2" - glob-parent: "npm:~5.1.2" - is-binary-path: "npm:~2.1.0" - is-glob: "npm:~4.0.1" - normalize-path: "npm:~3.0.0" - readdirp: "npm:~3.6.0" - dependenciesMeta: - fsevents: - optional: true - checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 - languageName: node - linkType: hard - -"chownr@npm:^2.0.0": - version: 2.0.0 - resolution: "chownr@npm:2.0.0" - checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 - languageName: node - linkType: hard - -"ci-info@npm:^2.0.0": - version: 2.0.0 - resolution: "ci-info@npm:2.0.0" - checksum: 10c0/8c5fa3830a2bcee2b53c2e5018226f0141db9ec9f7b1e27a5c57db5512332cde8a0beb769bcbaf0d8775a78afbf2bb841928feca4ea6219638a5b088f9884b46 - languageName: node - linkType: hard - -"classnames@npm:*, classnames@npm:^2.5.1": - version: 2.5.1 - resolution: "classnames@npm:2.5.1" - checksum: 10c0/afff4f77e62cea2d79c39962980bf316bacb0d7c49e13a21adaadb9221e1c6b9d3cdb829d8bb1b23c406f4e740507f37e1dcf506f7e3b7113d17c5bab787aa69 - languageName: node - linkType: hard - -"clean-stack@npm:^2.0.0": - version: 2.2.0 - resolution: "clean-stack@npm:2.2.0" - checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 - languageName: node - linkType: hard - -"cli-truncate@npm:^1.1.0": - version: 1.1.0 - resolution: "cli-truncate@npm:1.1.0" - dependencies: - slice-ansi: "npm:^1.0.0" - string-width: "npm:^2.0.0" - checksum: 10c0/1083425d2c0d88dfec49b621973d5e79e59acdca33c26498c53d6ca4b854646c906c15b0bb4e2ac88fb7f1e8eaa306a586002b0f50d3e87d0ce608dce1ee8222 - languageName: node - linkType: hard - -"cliui@npm:^4.0.0": - version: 4.1.0 - resolution: "cliui@npm:4.1.0" +"chokidar@npm:^4.0.0": + version: 4.0.3 + resolution: "chokidar@npm:4.0.3" dependencies: - string-width: "npm:^2.1.1" - strip-ansi: "npm:^4.0.0" - wrap-ansi: "npm:^2.0.0" - checksum: 10c0/5cee4720850655365014f158407f65f92e22e6a46be17d4844889d2173bd9327fabf41d08b309016e825a3888a558b606f1a89c7d2f805720b24902235bae4e5 - languageName: node - linkType: hard - -"clone-buffer@npm:^1.0.0": - version: 1.0.0 - resolution: "clone-buffer@npm:1.0.0" - checksum: 10c0/d813f4d12651bc4951d5e4869e2076d34ccfc3b23d0aae4e2e20e5a5e97bc7edbba84038356d222c54b25e3a83b5f45e8b637c18c6bd1794b2f1b49114122c50 - languageName: node - linkType: hard - -"clone-stats@npm:^1.0.0": - version: 1.0.0 - resolution: "clone-stats@npm:1.0.0" - checksum: 10c0/bb1e05991e034e1eb104173c25bb652ea5b2b4dad5a49057a857e00f8d1da39de3bd689128a25bab8cbdfbea8ae8f6066030d106ed5c299a7d92be7967c50217 + readdirp: "npm:^4.0.1" + checksum: 10c0/a58b9df05bb452f7d105d9e7229ac82fa873741c0c40ddcc7bb82f8a909fbe3f7814c9ebe9bc9a2bef9b737c0ec6e2d699d179048ef06ad3ec46315df0ebe6ad languageName: node linkType: hard -"clone@npm:^2.1.1": - version: 2.1.2 - resolution: "clone@npm:2.1.2" - checksum: 10c0/ed0601cd0b1606bc7d82ee7175b97e68d1dd9b91fd1250a3617b38d34a095f8ee0431d40a1a611122dcccb4f93295b4fdb94942aa763392b5fe44effa50c2d5e - languageName: node - linkType: hard - -"cloneable-readable@npm:^1.0.0": - version: 1.1.3 - resolution: "cloneable-readable@npm:1.1.3" - dependencies: - inherits: "npm:^2.0.1" - process-nextick-args: "npm:^2.0.0" - readable-stream: "npm:^2.3.5" - checksum: 10c0/52db2904dcfcd117e4e9605b69607167096c954352eff0fcded0a16132c9cfc187b36b5db020bee2dc1b3a968ca354f8b30aef3d8b4ea74e3ea83a81d43e47bb +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 languageName: node linkType: hard -"clsx@npm:^2.0.0, clsx@npm:^2.1.0, clsx@npm:^2.1.1": +"clsx@npm:^2.0.0, clsx@npm:^2.1.1": version: 2.1.1 resolution: "clsx@npm:2.1.1" checksum: 10c0/c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839 languageName: node linkType: hard -"code-point-at@npm:^1.0.0": - version: 1.1.0 - resolution: "code-point-at@npm:1.1.0" - checksum: 10c0/33f6b234084e46e6e369b6f0b07949392651b4dde70fc6a592a8d3dafa08d5bb32e3981a02f31f6fc323a26bc03a4c063a9d56834848695bda7611c2417ea2e6 - languageName: node - linkType: hard - -"color-convert@npm:^1.9.0": - version: 1.9.3 - resolution: "color-convert@npm:1.9.3" - dependencies: - color-name: "npm:1.1.3" - checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c - languageName: node - linkType: hard - "color-convert@npm:^2.0.1": version: 2.0.1 resolution: "color-convert@npm:2.0.1" @@ -2774,13 +2344,6 @@ __metadata: languageName: node linkType: hard -"color-name@npm:1.1.3": - version: 1.1.3 - resolution: "color-name@npm:1.1.3" - checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 - languageName: node - linkType: hard - "color-name@npm:~1.1.4": version: 1.1.4 resolution: "color-name@npm:1.1.4" @@ -2788,15 +2351,6 @@ __metadata: languageName: node linkType: hard -"color-support@npm:^1.1.3": - version: 1.1.3 - resolution: "color-support@npm:1.1.3" - bin: - color-support: bin.js - checksum: 10c0/8ffeaa270a784dc382f62d9be0a98581db43e11eee301af14734a6d089bd456478b1a8b3e7db7ca7dc5b18a75f828f775c44074020b51c05fc00e6d0992b1cc6 - languageName: node - linkType: hard - "colord@npm:^2.9.3": version: 2.9.3 resolution: "colord@npm:2.9.3" @@ -2813,10 +2367,27 @@ __metadata: languageName: node linkType: hard -"commander@npm:^2.19.0": - version: 2.20.3 - resolution: "commander@npm:2.20.3" - checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 +"compressible@npm:~2.0.18": + version: 2.0.18 + resolution: "compressible@npm:2.0.18" + dependencies: + mime-db: "npm:>= 1.43.0 < 2" + checksum: 10c0/8a03712bc9f5b9fe530cc5a79e164e665550d5171a64575d7dcf3e0395d7b4afa2d79ab176c61b5b596e28228b350dd07c1a2a6ead12fd81d1b6cd632af2fef7 + languageName: node + linkType: hard + +"compression@npm:^1.7.4": + version: 1.7.5 + resolution: "compression@npm:1.7.5" + dependencies: + bytes: "npm:3.1.2" + compressible: "npm:~2.0.18" + debug: "npm:2.6.9" + negotiator: "npm:~0.6.4" + on-headers: "npm:~1.0.2" + safe-buffer: "npm:5.2.1" + vary: "npm:~1.1.2" + checksum: 10c0/35c9d2d57c86d8107eab5e637f2146fcefec8475a2ff3e162f5eb0982ff856d385fb5d8c9823c3d50e075f2d9304bc622dac3df27bfef0355309c0a5307861c5 languageName: node linkType: hard @@ -2827,6 +2398,22 @@ __metadata: languageName: node linkType: hard +"content-disposition@npm:0.5.4": + version: 0.5.4 + resolution: "content-disposition@npm:0.5.4" + dependencies: + safe-buffer: "npm:5.2.1" + checksum: 10c0/bac0316ebfeacb8f381b38285dc691c9939bf0a78b0b7c2d5758acadad242d04783cee5337ba7d12a565a19075af1b3c11c728e1e4946de73c6ff7ce45f3f1bb + languageName: node + linkType: hard + +"content-type@npm:~1.0.4, content-type@npm:~1.0.5": + version: 1.0.5 + resolution: "content-type@npm:1.0.5" + checksum: 10c0/b76ebed15c000aee4678c3707e0860cb6abd4e680a598c0a26e17f0bfae723ec9cc2802f0ff1bc6e4d80603719010431d2231018373d4dde10f9ccff9dadf5af + languageName: node + linkType: hard + "convert-source-map@npm:^1.5.0": version: 1.9.0 resolution: "convert-source-map@npm:1.9.0" @@ -2841,6 +2428,27 @@ __metadata: languageName: node linkType: hard +"cookie-signature@npm:1.0.6": + version: 1.0.6 + resolution: "cookie-signature@npm:1.0.6" + checksum: 10c0/b36fd0d4e3fef8456915fcf7742e58fbfcc12a17a018e0eb9501c9d5ef6893b596466f03b0564b81af29ff2538fd0aa4b9d54fe5ccbfb4c90ea50ad29fe2d221 + languageName: node + linkType: hard + +"cookie@npm:0.7.1": + version: 0.7.1 + resolution: "cookie@npm:0.7.1" + checksum: 10c0/5de60c67a410e7c8dc8a46a4b72eb0fe925871d057c9a5d2c0e8145c4270a4f81076de83410c4d397179744b478e33cd80ccbcc457abf40a9409ad27dcd21dde + languageName: node + linkType: hard + +"cookie@npm:^1.0.1": + version: 1.0.2 + resolution: "cookie@npm:1.0.2" + checksum: 10c0/fd25fe79e8fbcfcaf6aa61cd081c55d144eeeba755206c058682257cb38c4bd6795c6620de3f064c740695bb65b7949ebb1db7a95e4636efb8357a335ad3f54b + languageName: node + linkType: hard + "core-util-is@npm:~1.0.0": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" @@ -2861,23 +2469,6 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:^8.0.0": - version: 8.3.6 - resolution: "cosmiconfig@npm:8.3.6" - dependencies: - import-fresh: "npm:^3.3.0" - js-yaml: "npm:^4.1.0" - parse-json: "npm:^5.2.0" - path-type: "npm:^4.0.0" - peerDependencies: - typescript: ">=4.9.5" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/0382a9ed13208f8bfc22ca2f62b364855207dffdb73dc26e150ade78c3093f1cf56172df2dd460c8caf2afa91c0ed4ec8a88c62f8f9cd1cf423d26506aa8797a - languageName: node - linkType: hard - "cosmiconfig@npm:^9.0.0": version: 9.0.0 resolution: "cosmiconfig@npm:9.0.0" @@ -2895,72 +2486,31 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^4.0.0": - version: 4.0.2 - resolution: "cross-spawn@npm:4.0.2" - dependencies: - lru-cache: "npm:^4.0.1" - which: "npm:^1.2.9" - checksum: 10c0/4de7254653b658776be8e1050473349723d2ac8bc10b912fbeb159ad32d06c7fa2135b04b896b7cbe0141d274dae9d7543cc6e5c9c919e2062e44a66c2184665 - languageName: node - linkType: hard - -"cross-spawn@npm:^5.0.1": - version: 5.1.0 - resolution: "cross-spawn@npm:5.1.0" - dependencies: - lru-cache: "npm:^4.0.1" - shebang-command: "npm:^1.2.0" - which: "npm:^1.2.9" - checksum: 10c0/1918621fddb9f8c61e02118b2dbf81f611ccd1544ceaca0d026525341832b8511ce2504c60f935dbc06b35e5ef156fe8c1e72708c27dd486f034e9c0e1e07201 - languageName: node - linkType: hard - -"cross-spawn@npm:^6.0.0": - version: 6.0.5 - resolution: "cross-spawn@npm:6.0.5" - dependencies: - nice-try: "npm:^1.0.4" - path-key: "npm:^2.0.1" - semver: "npm:^5.5.0" - shebang-command: "npm:^1.2.0" - which: "npm:^1.2.9" - checksum: 10c0/e05544722e9d7189b4292c66e42b7abeb21db0d07c91b785f4ae5fefceb1f89e626da2703744657b287e86dcd4af57b54567cef75159957ff7a8a761d9055012 - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.6": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" dependencies: path-key: "npm:^3.1.0" shebang-command: "npm:^2.0.0" which: "npm:^2.0.1" - checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 languageName: node linkType: hard -"css-functions-list@npm:^3.2.2": - version: 3.2.2 - resolution: "css-functions-list@npm:3.2.2" - checksum: 10c0/8638a63d0cf1bdc50d4a752ec1c94a57e9953c3b03eace4f5526db20bec3c061e95089f905dbb4999c44b9780ce777ba856967560f6d15119a303f6030901c10 +"css-functions-list@npm:^3.2.3": + version: 3.2.3 + resolution: "css-functions-list@npm:3.2.3" + checksum: 10c0/03f9ed34eeed310d2b1cf0e524eea02bc5f87854a4de85f8957ea432ab1036841a3fb00879590519f7bb8fda40d992ce7a72fa9b61696ca1dc53b90064858f96 languageName: node linkType: hard -"css-tree@npm:^2.3.1": - version: 2.3.1 - resolution: "css-tree@npm:2.3.1" +"css-tree@npm:^3.0.1, css-tree@npm:^3.1.0": + version: 3.1.0 + resolution: "css-tree@npm:3.1.0" dependencies: - mdn-data: "npm:2.0.30" + mdn-data: "npm:2.12.2" source-map-js: "npm:^1.0.1" - checksum: 10c0/6f8c1a11d5e9b14bf02d10717fc0351b66ba12594166f65abfbd8eb8b5b490dd367f5c7721db241a3c792d935fc6751fbc09f7e1598d421477ad9fadc30f4f24 - languageName: node - linkType: hard - -"css.escape@npm:^1.5.1": - version: 1.5.1 - resolution: "css.escape@npm:1.5.1" - checksum: 10c0/5e09035e5bf6c2c422b40c6df2eb1529657a17df37fda5d0433d722609527ab98090baf25b13970ca754079a0f3161dd3dfc0e743563ded8cfa0749d861c1525 + checksum: 10c0/b5715852c2f397c715ca00d56ec53fc83ea596295ae112eb1ba6a1bda3b31086380e596b1d8c4b980fe6da09e7d0fc99c64d5bb7313030dd0fba9c1415f30979 languageName: node linkType: hard @@ -2973,13 +2523,6 @@ __metadata: languageName: node linkType: hard -"cssjanus@npm:^2.0.1": - version: 2.3.0 - resolution: "cssjanus@npm:2.3.0" - checksum: 10c0/b410c6f31c80947cc4508f232bab13beb3de6c38f1824962d12ef64b754d0191230efc2211815bc144ddbf50e509d63d0f120fc2402f657762e1f6bd60edf6a3 - languageName: node - linkType: hard - "csstype@npm:^3.0.2, csstype@npm:^3.1.3": version: 3.1.3 resolution: "csstype@npm:3.1.3" @@ -2987,97 +2530,83 @@ __metadata: languageName: node linkType: hard -"csv-parse@npm:^5.5.6": - version: 5.5.6 - resolution: "csv-parse@npm:5.5.6" - checksum: 10c0/b4f6e9b885e4488829356455157bd009f3fed4119c5fbaadab1a879e85f0a9a1b62cd01e6de68ff77a50f820a6261722bce1b799da1ace2e2126e0b7c8d86760 +"csv-parse@npm:^5.6.0": + version: 5.6.0 + resolution: "csv-parse@npm:5.6.0" + checksum: 10c0/52f5e6c45359902e0c8e57fc2eeed41366dc6b6d283b495b538dd50c8e8510413d6f924096ea056319cbbb8ed26e111c3a3485d7985c021bcf5abaa9e92425c7 languageName: node linkType: hard -"data-view-buffer@npm:^1.0.1": - version: 1.0.1 - resolution: "data-view-buffer@npm:1.0.1" - dependencies: - call-bind: "npm:^1.0.6" - es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.1" - checksum: 10c0/8984119e59dbed906a11fcfb417d7d861936f16697a0e7216fe2c6c810f6b5e8f4a5281e73f2c28e8e9259027190ac4a33e2a65fdd7fa86ac06b76e838918583 +"data-uri-to-buffer@npm:^4.0.0": + version: 4.0.1 + resolution: "data-uri-to-buffer@npm:4.0.1" + checksum: 10c0/20a6b93107597530d71d4cb285acee17f66bcdfc03fd81040921a81252f19db27588d87fc8fc69e1950c55cfb0bf8ae40d0e5e21d907230813eb5d5a7f9eb45b languageName: node linkType: hard -"data-view-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "data-view-byte-length@npm:1.0.1" +"data-view-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-buffer@npm:1.0.2" dependencies: - call-bind: "npm:^1.0.7" + call-bound: "npm:^1.0.3" es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.1" - checksum: 10c0/b7d9e48a0cf5aefed9ab7d123559917b2d7e0d65531f43b2fd95b9d3a6b46042dd3fca597c42bba384e66b70d7ad66ff23932f8367b241f53d93af42cfe04ec2 + is-data-view: "npm:^1.0.2" + checksum: 10c0/7986d40fc7979e9e6241f85db8d17060dd9a71bd53c894fa29d126061715e322a4cd47a00b0b8c710394854183d4120462b980b8554012acc1c0fa49df7ad38c languageName: node linkType: hard -"data-view-byte-offset@npm:^1.0.0": - version: 1.0.0 - resolution: "data-view-byte-offset@npm:1.0.0" +"data-view-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-byte-length@npm:1.0.2" dependencies: - call-bind: "npm:^1.0.6" + call-bound: "npm:^1.0.3" es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.1" - checksum: 10c0/21b0d2e53fd6e20cc4257c873bf6d36d77bd6185624b84076c0a1ddaa757b49aaf076254006341d35568e89f52eecd1ccb1a502cfb620f2beca04f48a6a62a8f - languageName: node - linkType: hard - -"date-format@npm:0.0.2": - version: 0.0.2 - resolution: "date-format@npm:0.0.2" - checksum: 10c0/ef6117bd0ca7b646c022909b15396a8492e8e3ef5bfcd560420faac0a0c45292a13a2f541da56f78dd79035ffb04eeb7a219edfbb6c7b98ac3b091666dc69e55 - languageName: node - linkType: hard - -"dayjs@npm:^1.11.11": - version: 1.11.11 - resolution: "dayjs@npm:1.11.11" - checksum: 10c0/0131d10516b9945f05a57e13f4af49a6814de5573a494824e103131a3bbe4cc470b1aefe8e17e51f9a478a22cd116084be1ee5725cedb66ec4c3f9091202dc4b + is-data-view: "npm:^1.0.2" + checksum: 10c0/f8a4534b5c69384d95ac18137d381f18a5cfae1f0fc1df0ef6feef51ef0d568606d970b69e02ea186c6c0f0eac77fe4e6ad96fec2569cc86c3afcc7475068c55 languageName: node linkType: hard -"debug@npm:4": - version: 4.3.7 - resolution: "debug@npm:4.3.7" +"data-view-byte-offset@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-byte-offset@npm:1.0.1" dependencies: - ms: "npm:^2.1.3" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/1471db19c3b06d485a622d62f65947a19a23fbd0dd73f7fd3eafb697eec5360cde447fb075919987899b1a2096e85d35d4eb5a4de09a57600ac9cf7e6c8e768b + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.1" + checksum: 10c0/fa7aa40078025b7810dcffc16df02c480573b7b53ef1205aa6a61533011005c1890e5ba17018c692ce7c900212b547262d33279fde801ad9843edc0863bf78c4 languageName: node linkType: hard -"debug@npm:=3.1.0": - version: 3.1.0 - resolution: "debug@npm:3.1.0" +"debug@npm:2.6.9": + version: 2.6.9 + resolution: "debug@npm:2.6.9" dependencies: ms: "npm:2.0.0" - checksum: 10c0/5bff34a352d7b2eaa31886eeaf2ee534b5461ec0548315b2f9f80bd1d2533cab7df1fa52e130ce27bc31c3945fbffb0fc72baacdceb274b95ce853db89254ea4 + checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589 languageName: node linkType: hard -"debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": - version: 4.3.5 - resolution: "debug@npm:4.3.5" +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.7, debug@npm:^4.4.0": + version: 4.4.0 + resolution: "debug@npm:4.4.0" dependencies: - ms: "npm:2.1.2" + ms: "npm:^2.1.3" peerDependenciesMeta: supports-color: optional: true - checksum: 10c0/082c375a2bdc4f4469c99f325ff458adad62a3fc2c482d59923c260cb08152f34e2659f72b3767db8bb2f21ca81a60a42d1019605a412132d7b9f59363a005cc + checksum: 10c0/db94f1a182bf886f57b4755f85b3a74c39b5114b9377b7ab375dc2cfa3454f09490cc6c30f829df3fc8042bc8b8995f6567ce5cd96f3bc3688bd24027197d9de languageName: node linkType: hard -"decamelize@npm:^1.2.0": - version: 1.2.0 - resolution: "decamelize@npm:1.2.0" - checksum: 10c0/85c39fe8fbf0482d4a1e224ef0119db5c1897f8503bcef8b826adff7a1b11414972f6fef2d7dec2ee0b4be3863cf64ac1439137ae9e6af23a3d8dcbe26a5b4b2 +"dedent@npm:^1.5.3": + version: 1.5.3 + resolution: "dedent@npm:1.5.3" + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + checksum: 10c0/d94bde6e6f780be4da4fd760288fcf755ec368872f4ac5218197200d86430aeb8d90a003a840bff1c20221188e3f23adced0119cb811c6873c70d0ac66d12832 languageName: node linkType: hard @@ -3088,13 +2617,6 @@ __metadata: languageName: node linkType: hard -"deepmerge@npm:^2.2.1": - version: 2.2.1 - resolution: "deepmerge@npm:2.2.1" - checksum: 10c0/4379288cabd817587cee92a095ea65d18317b45e48010a2e0d87982b5f432239a144f9c8ebd4ab090cc21f0cb47e51ebfe32921f329b3b3084a2711d5d63e450 - languageName: node - linkType: hard - "define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": version: 1.1.4 resolution: "define-data-property@npm:1.1.4" @@ -3106,7 +2628,7 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": +"define-properties@npm:^1.1.3, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" dependencies: @@ -3124,6 +2646,20 @@ __metadata: languageName: node linkType: hard +"depd@npm:2.0.0, depd@npm:~2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c + languageName: node + linkType: hard + +"destroy@npm:1.2.0": + version: 1.2.0 + resolution: "destroy@npm:1.2.0" + checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643 + languageName: node + linkType: hard + "dir-glob@npm:^3.0.1": version: 3.0.1 resolution: "dir-glob@npm:3.0.1" @@ -3142,15 +2678,6 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 - languageName: node - linkType: hard - "dom-helpers@npm:^5.0.1": version: 5.2.1 resolution: "dom-helpers@npm:5.2.1" @@ -3161,7 +2688,18 @@ __metadata: languageName: node linkType: hard -"duplexify@npm:^3.6.0": +"dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.2.0" + checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 + languageName: node + linkType: hard + +"duplexify@npm:^3.5.0, duplexify@npm:^3.6.0": version: 3.7.1 resolution: "duplexify@npm:3.7.1" dependencies: @@ -3180,63 +2718,17 @@ __metadata: languageName: node linkType: hard -"eclint@npm:^2.8.1": - version: 2.8.1 - resolution: "eclint@npm:2.8.1" - dependencies: - editorconfig: "npm:^0.15.2" - file-type: "npm:^10.1.0" - gulp-exclude-gitignore: "npm:^1.2.0" - gulp-filter: "npm:^5.1.0" - gulp-reporter: "npm:^2.9.0" - gulp-tap: "npm:^1.0.1" - linez: "npm:^4.1.4" - lodash: "npm:^4.17.11" - minimatch: "npm:^3.0.4" - os-locale: "npm:^3.0.1" - plugin-error: "npm:^1.0.1" - through2: "npm:^2.0.3" - vinyl: "npm:^2.2.0" - vinyl-fs: "npm:^3.0.3" - yargs: "npm:^12.0.2" - bin: - eclint: bin/eclint.js - checksum: 10c0/9689000a4b147d19ff401f90d3c92866375845fc3db7ee5868f4ead0fcf27e8080c480eda693bde00a171dd07f98f1fffb0c6039cb50a0319d901f40a2e40398 - languageName: node - linkType: hard - -"editorconfig@npm:^0.15.2": - version: 0.15.3 - resolution: "editorconfig@npm:0.15.3" - dependencies: - commander: "npm:^2.19.0" - lru-cache: "npm:^4.1.5" - semver: "npm:^5.6.0" - sigmund: "npm:^1.0.1" - bin: - editorconfig: bin/editorconfig - checksum: 10c0/801f433299a7500f15ed770d2dc9e5b763f71c1eda61c4e9a1222d3bab1be7d591632dfe9698872df845ccfa97bba394bcbf074a2ad367d1c0377a59abe0c00e - languageName: node - linkType: hard - -"electron-to-chromium@npm:^1.4.820": - version: 1.4.823 - resolution: "electron-to-chromium@npm:1.4.823" - checksum: 10c0/772ad25e1305ab4a1a18beb9edae5d62ba55c5660c9d20a86c90e195d22da64dcf209ba8c9fb8172c76d1cbff12ea56a83eb75863bd2b22fb7ddabcd1d73c1e7 - languageName: node - linkType: hard - -"electron-to-chromium@npm:^1.5.4": - version: 1.5.17 - resolution: "electron-to-chromium@npm:1.5.17" - checksum: 10c0/7d0f7bc89505a3d96b4632416c331fa23c1fa80c5b6550c5e618dcb34579240d5748b64010fe6cb64ebcc998ab7f2f5a39b8645130e9786685b4031fb5dc926f +"ee-first@npm:1.1.1": + version: 1.1.1 + resolution: "ee-first@npm:1.1.1" + checksum: 10c0/b5bb125ee93161bc16bfe6e56c6b04de5ad2aa44234d8f644813cc95d861a6910903132b05093706de2b706599367c4130eb6d170f6b46895686b95f87d017b7 languageName: node linkType: hard -"emoji-regex@npm:^7.0.1": - version: 7.0.3 - resolution: "emoji-regex@npm:7.0.3" - checksum: 10c0/a8917d695c3a3384e4b7230a6a06fd2de6b3db3709116792e8b7b36ddbb3db4deb28ad3e983e70d4f2a1f9063b5dab9025e4e26e9ca08278da4fbb73e213743f +"electron-to-chromium@npm:^1.5.73": + version: 1.5.90 + resolution: "electron-to-chromium@npm:1.5.90" + checksum: 10c0/864715adfebb5932a78f776c99f28a50942884302b42ee6de0ab64ca135891a5a43af3a7c719a7335687c0ee201561011e37d4994558a795f67b9e44f20fc6ee languageName: node linkType: hard @@ -3254,14 +2746,17 @@ __metadata: languageName: node linkType: hard -"emphasize@npm:^2.0.0": - version: 2.1.0 - resolution: "emphasize@npm:2.1.0" - dependencies: - chalk: "npm:^2.4.0" - highlight.js: "npm:~9.12.0" - lowlight: "npm:~1.9.0" - checksum: 10c0/88fc7cce628dec539f96c208212303bf152c56318fa149617b33f2df18f6cfe966ab4c4d0c50b5976f68257da8f1130d2c2e00f5ef74773f9ef5cd96f8b1c4cb +"encodeurl@npm:~1.0.2": + version: 1.0.2 + resolution: "encodeurl@npm:1.0.2" + checksum: 10c0/f6c2387379a9e7c1156c1c3d4f9cb7bb11cf16dd4c1682e1f6746512564b053df5781029b6061296832b59fb22f459dbe250386d217c2f6e203601abb2ee0bec + languageName: node + linkType: hard + +"encodeurl@npm:~2.0.0": + version: 2.0.0 + resolution: "encodeurl@npm:2.0.0" + checksum: 10c0/5d317306acb13e6590e28e27924c754163946a2480de11865c991a3a7eed4315cd3fba378b543ca145829569eefe9b899f3d84bb09870f675ae60bc924b01ceb languageName: node linkType: hard @@ -3283,13 +2778,6 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.5.0": - version: 4.5.0 - resolution: "entities@npm:4.5.0" - checksum: 10c0/5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 - languageName: node - linkType: hard - "env-paths@npm:^2.2.0, env-paths@npm:^2.2.1": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -3313,119 +2801,132 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3": - version: 1.23.3 - resolution: "es-abstract@npm:1.23.3" +"es-abstract@npm:^1.17.5, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9": + version: 1.23.9 + resolution: "es-abstract@npm:1.23.9" dependencies: - array-buffer-byte-length: "npm:^1.0.1" - arraybuffer.prototype.slice: "npm:^1.0.3" + array-buffer-byte-length: "npm:^1.0.2" + arraybuffer.prototype.slice: "npm:^1.0.4" available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.7" - data-view-buffer: "npm:^1.0.1" - data-view-byte-length: "npm:^1.0.1" - data-view-byte-offset: "npm:^1.0.0" - es-define-property: "npm:^1.0.0" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + data-view-buffer: "npm:^1.0.2" + data-view-byte-length: "npm:^1.0.2" + data-view-byte-offset: "npm:^1.0.1" + es-define-property: "npm:^1.0.1" es-errors: "npm:^1.3.0" es-object-atoms: "npm:^1.0.0" - es-set-tostringtag: "npm:^2.0.3" - es-to-primitive: "npm:^1.2.1" - function.prototype.name: "npm:^1.1.6" - get-intrinsic: "npm:^1.2.4" - get-symbol-description: "npm:^1.0.2" - globalthis: "npm:^1.0.3" - gopd: "npm:^1.0.1" + es-set-tostringtag: "npm:^2.1.0" + es-to-primitive: "npm:^1.3.0" + function.prototype.name: "npm:^1.1.8" + get-intrinsic: "npm:^1.2.7" + get-proto: "npm:^1.0.0" + get-symbol-description: "npm:^1.1.0" + globalthis: "npm:^1.0.4" + gopd: "npm:^1.2.0" has-property-descriptors: "npm:^1.0.2" - has-proto: "npm:^1.0.3" - has-symbols: "npm:^1.0.3" + has-proto: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" hasown: "npm:^2.0.2" - internal-slot: "npm:^1.0.7" - is-array-buffer: "npm:^3.0.4" + internal-slot: "npm:^1.1.0" + is-array-buffer: "npm:^3.0.5" is-callable: "npm:^1.2.7" - is-data-view: "npm:^1.0.1" - is-negative-zero: "npm:^2.0.3" - is-regex: "npm:^1.1.4" - is-shared-array-buffer: "npm:^1.0.3" - is-string: "npm:^1.0.7" - is-typed-array: "npm:^1.1.13" - is-weakref: "npm:^1.0.2" - object-inspect: "npm:^1.13.1" + is-data-view: "npm:^1.0.2" + is-regex: "npm:^1.2.1" + is-shared-array-buffer: "npm:^1.0.4" + is-string: "npm:^1.1.1" + is-typed-array: "npm:^1.1.15" + is-weakref: "npm:^1.1.0" + math-intrinsics: "npm:^1.1.0" + object-inspect: "npm:^1.13.3" object-keys: "npm:^1.1.1" - object.assign: "npm:^4.1.5" - regexp.prototype.flags: "npm:^1.5.2" - safe-array-concat: "npm:^1.1.2" - safe-regex-test: "npm:^1.0.3" - string.prototype.trim: "npm:^1.2.9" - string.prototype.trimend: "npm:^1.0.8" + object.assign: "npm:^4.1.7" + own-keys: "npm:^1.0.1" + regexp.prototype.flags: "npm:^1.5.3" + safe-array-concat: "npm:^1.1.3" + safe-push-apply: "npm:^1.0.0" + safe-regex-test: "npm:^1.1.0" + set-proto: "npm:^1.0.0" + string.prototype.trim: "npm:^1.2.10" + string.prototype.trimend: "npm:^1.0.9" string.prototype.trimstart: "npm:^1.0.8" - typed-array-buffer: "npm:^1.0.2" - typed-array-byte-length: "npm:^1.0.1" - typed-array-byte-offset: "npm:^1.0.2" - typed-array-length: "npm:^1.0.6" - unbox-primitive: "npm:^1.0.2" - which-typed-array: "npm:^1.1.15" - checksum: 10c0/d27e9afafb225c6924bee9971a7f25f20c314f2d6cb93a63cada4ac11dcf42040896a6c22e5fb8f2a10767055ed4ddf400be3b1eb12297d281726de470b75666 + typed-array-buffer: "npm:^1.0.3" + typed-array-byte-length: "npm:^1.0.3" + typed-array-byte-offset: "npm:^1.0.4" + typed-array-length: "npm:^1.0.7" + unbox-primitive: "npm:^1.1.0" + which-typed-array: "npm:^1.1.18" + checksum: 10c0/1de229c9e08fe13c17fe5abaec8221545dfcd57e51f64909599a6ae896df84b8fd2f7d16c60cb00d7bf495b9298ca3581aded19939d4b7276854a4b066f8422b languageName: node linkType: hard -"es-define-property@npm:^1.0.0": - version: 1.0.0 - resolution: "es-define-property@npm:1.0.0" - dependencies: - get-intrinsic: "npm:^1.2.4" - checksum: 10c0/6bf3191feb7ea2ebda48b577f69bdfac7a2b3c9bcf97307f55fd6ef1bbca0b49f0c219a935aca506c993d8c5d8bddd937766cb760cd5e5a1071351f2df9f9aa4 +"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c languageName: node linkType: hard -"es-errors@npm:^1.2.1, es-errors@npm:^1.3.0": +"es-errors@npm:^1.3.0": version: 1.3.0 resolution: "es-errors@npm:1.3.0" checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 languageName: node linkType: hard -"es-iterator-helpers@npm:^1.0.19": - version: 1.0.19 - resolution: "es-iterator-helpers@npm:1.0.19" +"es-iterator-helpers@npm:^1.2.1": + version: 1.2.1 + resolution: "es-iterator-helpers@npm:1.2.1" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.3" + es-abstract: "npm:^1.23.6" es-errors: "npm:^1.3.0" es-set-tostringtag: "npm:^2.0.3" function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.4" - globalthis: "npm:^1.0.3" + get-intrinsic: "npm:^1.2.6" + globalthis: "npm:^1.0.4" + gopd: "npm:^1.2.0" has-property-descriptors: "npm:^1.0.2" - has-proto: "npm:^1.0.3" - has-symbols: "npm:^1.0.3" - internal-slot: "npm:^1.0.7" - iterator.prototype: "npm:^1.1.2" - safe-array-concat: "npm:^1.1.2" - checksum: 10c0/ae8f0241e383b3d197383b9842c48def7fce0255fb6ed049311b686ce295595d9e389b466f6a1b7d4e7bb92d82f5e716d6fae55e20c1040249bf976743b038c5 + has-proto: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + internal-slot: "npm:^1.1.0" + iterator.prototype: "npm:^1.1.4" + safe-array-concat: "npm:^1.1.3" + checksum: 10c0/97e3125ca472d82d8aceea11b790397648b52c26d8768ea1c1ee6309ef45a8755bb63225a43f3150c7591cffc17caf5752459f1e70d583b4184370a8f04ebd2f + languageName: node + linkType: hard + +"es-module-lexer@npm:^1.3.1, es-module-lexer@npm:^1.5.4": + version: 1.6.0 + resolution: "es-module-lexer@npm:1.6.0" + checksum: 10c0/667309454411c0b95c476025929881e71400d74a746ffa1ff4cb450bd87f8e33e8eef7854d68e401895039ac0bac64e7809acbebb6253e055dd49ea9e3ea9212 languageName: node linkType: hard "es-object-atoms@npm:^1.0.0": - version: 1.0.0 - resolution: "es-object-atoms@npm:1.0.0" + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" dependencies: es-errors: "npm:^1.3.0" - checksum: 10c0/1fed3d102eb27ab8d983337bb7c8b159dd2a1e63ff833ec54eea1311c96d5b08223b433060ba240541ca8adba9eee6b0a60cdbf2f80634b784febc9cc8b687b4 + checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c languageName: node linkType: hard -"es-set-tostringtag@npm:^2.0.3": - version: 2.0.3 - resolution: "es-set-tostringtag@npm:2.0.3" +"es-set-tostringtag@npm:^2.0.3, es-set-tostringtag@npm:^2.1.0": + version: 2.1.0 + resolution: "es-set-tostringtag@npm:2.1.0" dependencies: - get-intrinsic: "npm:^1.2.4" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" has-tostringtag: "npm:^1.0.2" - hasown: "npm:^2.0.1" - checksum: 10c0/f22aff1585eb33569c326323f0b0d175844a1f11618b86e193b386f8be0ea9474cfbe46df39c45d959f7aa8f6c06985dc51dd6bce5401645ec5a74c4ceaa836a + hasown: "npm:^2.0.2" + checksum: 10c0/ef2ca9ce49afe3931cb32e35da4dcb6d86ab02592cfc2ce3e49ced199d9d0bb5085fc7e73e06312213765f5efa47cc1df553a6a5154584b21448e9fb8355b1af languageName: node linkType: hard -"es-shim-unscopables@npm:^1.0.0, es-shim-unscopables@npm:^1.0.2": +"es-shim-unscopables@npm:^1.0.2": version: 1.0.2 resolution: "es-shim-unscopables@npm:1.0.2" dependencies: @@ -3434,44 +2935,126 @@ __metadata: languageName: node linkType: hard -"es-to-primitive@npm:^1.2.1": - version: 1.2.1 - resolution: "es-to-primitive@npm:1.2.1" +"es-to-primitive@npm:^1.3.0": + version: 1.3.0 + resolution: "es-to-primitive@npm:1.3.0" + dependencies: + is-callable: "npm:^1.2.7" + is-date-object: "npm:^1.0.5" + is-symbol: "npm:^1.0.4" + checksum: 10c0/c7e87467abb0b438639baa8139f701a06537d2b9bc758f23e8622c3b42fd0fdb5bde0f535686119e446dd9d5e4c0f238af4e14960f4771877cf818d023f6730b + languageName: node + linkType: hard + +"esbuild@npm:^0.21.3": + version: 0.21.5 + resolution: "esbuild@npm:0.21.5" dependencies: - is-callable: "npm:^1.1.4" - is-date-object: "npm:^1.0.1" - is-symbol: "npm:^1.0.2" - checksum: 10c0/0886572b8dc075cb10e50c0af62a03d03a68e1e69c388bd4f10c0649ee41b1fbb24840a1b7e590b393011b5cdbe0144b776da316762653685432df37d6de60f1 + "@esbuild/aix-ppc64": "npm:0.21.5" + "@esbuild/android-arm": "npm:0.21.5" + "@esbuild/android-arm64": "npm:0.21.5" + "@esbuild/android-x64": "npm:0.21.5" + "@esbuild/darwin-arm64": "npm:0.21.5" + "@esbuild/darwin-x64": "npm:0.21.5" + "@esbuild/freebsd-arm64": "npm:0.21.5" + "@esbuild/freebsd-x64": "npm:0.21.5" + "@esbuild/linux-arm": "npm:0.21.5" + "@esbuild/linux-arm64": "npm:0.21.5" + "@esbuild/linux-ia32": "npm:0.21.5" + "@esbuild/linux-loong64": "npm:0.21.5" + "@esbuild/linux-mips64el": "npm:0.21.5" + "@esbuild/linux-ppc64": "npm:0.21.5" + "@esbuild/linux-riscv64": "npm:0.21.5" + "@esbuild/linux-s390x": "npm:0.21.5" + "@esbuild/linux-x64": "npm:0.21.5" + "@esbuild/netbsd-x64": "npm:0.21.5" + "@esbuild/openbsd-x64": "npm:0.21.5" + "@esbuild/sunos-x64": "npm:0.21.5" + "@esbuild/win32-arm64": "npm:0.21.5" + "@esbuild/win32-ia32": "npm:0.21.5" + "@esbuild/win32-x64": "npm:0.21.5" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/fa08508adf683c3f399e8a014a6382a6b65542213431e26206c0720e536b31c09b50798747c2a105a4bbba1d9767b8d3615a74c2f7bf1ddf6d836cd11eb672de languageName: node linkType: hard -"esbuild@npm:^0.21.3": - version: 0.21.5 - resolution: "esbuild@npm:0.21.5" - dependencies: - "@esbuild/aix-ppc64": "npm:0.21.5" - "@esbuild/android-arm": "npm:0.21.5" - "@esbuild/android-arm64": "npm:0.21.5" - "@esbuild/android-x64": "npm:0.21.5" - "@esbuild/darwin-arm64": "npm:0.21.5" - "@esbuild/darwin-x64": "npm:0.21.5" - "@esbuild/freebsd-arm64": "npm:0.21.5" - "@esbuild/freebsd-x64": "npm:0.21.5" - "@esbuild/linux-arm": "npm:0.21.5" - "@esbuild/linux-arm64": "npm:0.21.5" - "@esbuild/linux-ia32": "npm:0.21.5" - "@esbuild/linux-loong64": "npm:0.21.5" - "@esbuild/linux-mips64el": "npm:0.21.5" - "@esbuild/linux-ppc64": "npm:0.21.5" - "@esbuild/linux-riscv64": "npm:0.21.5" - "@esbuild/linux-s390x": "npm:0.21.5" - "@esbuild/linux-x64": "npm:0.21.5" - "@esbuild/netbsd-x64": "npm:0.21.5" - "@esbuild/openbsd-x64": "npm:0.21.5" - "@esbuild/sunos-x64": "npm:0.21.5" - "@esbuild/win32-arm64": "npm:0.21.5" - "@esbuild/win32-ia32": "npm:0.21.5" - "@esbuild/win32-x64": "npm:0.21.5" +"esbuild@npm:^0.24.2": + version: 0.24.2 + resolution: "esbuild@npm:0.24.2" + dependencies: + "@esbuild/aix-ppc64": "npm:0.24.2" + "@esbuild/android-arm": "npm:0.24.2" + "@esbuild/android-arm64": "npm:0.24.2" + "@esbuild/android-x64": "npm:0.24.2" + "@esbuild/darwin-arm64": "npm:0.24.2" + "@esbuild/darwin-x64": "npm:0.24.2" + "@esbuild/freebsd-arm64": "npm:0.24.2" + "@esbuild/freebsd-x64": "npm:0.24.2" + "@esbuild/linux-arm": "npm:0.24.2" + "@esbuild/linux-arm64": "npm:0.24.2" + "@esbuild/linux-ia32": "npm:0.24.2" + "@esbuild/linux-loong64": "npm:0.24.2" + "@esbuild/linux-mips64el": "npm:0.24.2" + "@esbuild/linux-ppc64": "npm:0.24.2" + "@esbuild/linux-riscv64": "npm:0.24.2" + "@esbuild/linux-s390x": "npm:0.24.2" + "@esbuild/linux-x64": "npm:0.24.2" + "@esbuild/netbsd-arm64": "npm:0.24.2" + "@esbuild/netbsd-x64": "npm:0.24.2" + "@esbuild/openbsd-arm64": "npm:0.24.2" + "@esbuild/openbsd-x64": "npm:0.24.2" + "@esbuild/sunos-x64": "npm:0.24.2" + "@esbuild/win32-arm64": "npm:0.24.2" + "@esbuild/win32-ia32": "npm:0.24.2" + "@esbuild/win32-x64": "npm:0.24.2" dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -3507,8 +3090,12 @@ __metadata: optional: true "@esbuild/linux-x64": optional: true + "@esbuild/netbsd-arm64": + optional: true "@esbuild/netbsd-x64": optional: true + "@esbuild/openbsd-arm64": + optional: true "@esbuild/openbsd-x64": optional: true "@esbuild/sunos-x64": @@ -3521,21 +3108,21 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 10c0/fa08508adf683c3f399e8a014a6382a6b65542213431e26206c0720e536b31c09b50798747c2a105a4bbba1d9767b8d3615a74c2f7bf1ddf6d836cd11eb672de + checksum: 10c0/5a25bb08b6ba23db6e66851828d848bd3ff87c005a48c02d83e38879058929878a6baa5a414e1141faee0d1dece3f32b5fbc2a87b82ed6a7aa857cf40359aeb5 languageName: node linkType: hard -"escalade@npm:^3.1.2": - version: 3.1.2 - resolution: "escalade@npm:3.1.2" - checksum: 10c0/6b4adafecd0682f3aa1cd1106b8fff30e492c7015b178bc81b2d2f75106dabea6c6d6e8508fc491bd58e597c74abb0e8e2368f943ecb9393d4162e3c2f3cf287 +"escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 languageName: node linkType: hard -"escape-string-regexp@npm:^1.0.5": - version: 1.0.5 - resolution: "escape-string-regexp@npm:1.0.5" - checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 +"escape-html@npm:~1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3 languageName: node linkType: hard @@ -3546,159 +3133,148 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-prettier@npm:^5.1.3": - version: 5.1.3 - resolution: "eslint-plugin-prettier@npm:5.1.3" - dependencies: - prettier-linter-helpers: "npm:^1.0.0" - synckit: "npm:^0.8.6" +"eslint-config-prettier@npm:^10.0.1": + version: 10.0.1 + resolution: "eslint-config-prettier@npm:10.0.1" peerDependencies: - "@types/eslint": ">=8.0.0" - eslint: ">=8.0.0" - eslint-config-prettier: "*" - prettier: ">=3.0.0" - peerDependenciesMeta: - "@types/eslint": - optional: true - eslint-config-prettier: - optional: true - checksum: 10c0/f45d5fc1fcfec6b0cf038a7a65ddd10a25df4fe3f9e1f6b7f0d5100e66f046a26a2492e69ee765dddf461b93c114cf2e1eb18d4970aafa6f385448985c136e09 + eslint: ">=7.0.0" + bin: + eslint-config-prettier: build/bin/cli.js + checksum: 10c0/e2434931669d211663c0493f2c1640a670a02ba4503a68f056a7eda133f383acbbb983a4a7bd0ad6cb3b2bc4d5731c3be8b32fe28e35087a76fea45f7061ae70 languageName: node linkType: hard -"eslint-plugin-react-hooks@npm:^4.6.2": - version: 4.6.2 - resolution: "eslint-plugin-react-hooks@npm:4.6.2" +"eslint-plugin-react-hooks@npm:^5.1.0": + version: 5.1.0 + resolution: "eslint-plugin-react-hooks@npm:5.1.0" peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - checksum: 10c0/4844e58c929bc05157fb70ba1e462e34f1f4abcbc8dd5bbe5b04513d33e2699effb8bca668297976ceea8e7ebee4e8fc29b9af9d131bcef52886feaa2308b2cc + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + checksum: 10c0/37ef76e1d916d46ab8e93a596078efcf2162e2c653614437e0c54e31d02a5dadabec22802fab717effe257aeb4bdc20c2a710666a89ab1cf07e01e614dde75d8 languageName: node linkType: hard -"eslint-plugin-react-refresh@npm:^0.4.7": - version: 0.4.8 - resolution: "eslint-plugin-react-refresh@npm:0.4.8" +"eslint-plugin-react-refresh@npm:^0.4.18": + version: 0.4.18 + resolution: "eslint-plugin-react-refresh@npm:0.4.18" peerDependencies: - eslint: ">=7" - checksum: 10c0/5ed0c1a59c09baf072fb6db4eb18cb72977f0d0f32f77f78fb82f6cca5385e236a3c19a7ef4821cacbc9f7ae19ecb9f5e7b064d7b11f690c1bfcd8fe20288a5c + eslint: ">=8.40" + checksum: 10c0/19140a0d90e126c198c07337bc106af24f398dd8f061314f42c17511a647bea93880a11b7d40219088ac0eaea598eb591d320cfc6f82262bfb05f602101b2acc languageName: node linkType: hard -"eslint-plugin-react@npm:^7.34.3": - version: 7.34.3 - resolution: "eslint-plugin-react@npm:7.34.3" +"eslint-plugin-react@npm:^7.37.4": + version: 7.37.4 + resolution: "eslint-plugin-react@npm:7.37.4" dependencies: array-includes: "npm:^3.1.8" array.prototype.findlast: "npm:^1.2.5" - array.prototype.flatmap: "npm:^1.3.2" - array.prototype.toreversed: "npm:^1.1.2" + array.prototype.flatmap: "npm:^1.3.3" array.prototype.tosorted: "npm:^1.1.4" doctrine: "npm:^2.1.0" - es-iterator-helpers: "npm:^1.0.19" + es-iterator-helpers: "npm:^1.2.1" estraverse: "npm:^5.3.0" + hasown: "npm:^2.0.2" jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" minimatch: "npm:^3.1.2" object.entries: "npm:^1.1.8" object.fromentries: "npm:^2.0.8" - object.hasown: "npm:^1.1.4" - object.values: "npm:^1.2.0" + object.values: "npm:^1.2.1" prop-types: "npm:^15.8.1" resolve: "npm:^2.0.0-next.5" semver: "npm:^6.3.1" - string.prototype.matchall: "npm:^4.0.11" + string.prototype.matchall: "npm:^4.0.12" + string.prototype.repeat: "npm:^1.0.0" peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: 10c0/60717e32c9948e2b4ddc53dac7c4b62c68fc7129c3249079191c941c08ebe7d1f4793d65182922d19427c2a6634e05231a7b74ceee34169afdfd0e43d4a43d26 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 + checksum: 10c0/4acbbdb19669dfa9a162ed8847c3ad1918f6aea1ceb675ee320b5d903b4e463fdef25e15233295b6d0a726fef2ea8b015c527da769c7690932ddc52d5b82ba12 languageName: node linkType: hard -"eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" +"eslint-scope@npm:^8.2.0": + version: 8.2.0 + resolution: "eslint-scope@npm:8.2.0" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 + checksum: 10c0/8d2d58e2136d548ac7e0099b1a90d9fab56f990d86eb518de1247a7066d38c908be2f3df477a79cf60d70b30ba18735d6c6e70e9914dca2ee515a729975d70d6 languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": +"eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 languageName: node linkType: hard -"eslint@npm:^8.57.0": - version: 8.57.0 - resolution: "eslint@npm:8.57.0" +"eslint-visitor-keys@npm:^4.2.0": + version: 4.2.0 + resolution: "eslint-visitor-keys@npm:4.2.0" + checksum: 10c0/2ed81c663b147ca6f578312919483eb040295bbab759e5a371953456c636c5b49a559883e2677112453728d66293c0a4c90ab11cab3428cf02a0236d2e738269 + languageName: node + linkType: hard + +"eslint@npm:^9.18.0": + version: 9.19.0 + resolution: "eslint@npm:9.19.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.0" - "@humanwhocodes/config-array": "npm:^0.11.14" + "@eslint-community/regexpp": "npm:^4.12.1" + "@eslint/config-array": "npm:^0.19.0" + "@eslint/core": "npm:^0.10.0" + "@eslint/eslintrc": "npm:^3.2.0" + "@eslint/js": "npm:9.19.0" + "@eslint/plugin-kit": "npm:^0.2.5" + "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" - "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" + "@humanwhocodes/retry": "npm:^0.4.1" + "@types/estree": "npm:^1.0.6" + "@types/json-schema": "npm:^7.0.15" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.2" + cross-spawn: "npm:^7.0.6" debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" - esquery: "npm:^1.4.2" + eslint-scope: "npm:^8.2.0" + eslint-visitor-keys: "npm:^4.2.0" + espree: "npm:^10.3.0" + esquery: "npm:^1.5.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" + file-entry-cache: "npm:^8.0.0" find-up: "npm:^5.0.0" glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" ignore: "npm:^5.2.0" imurmurhash: "npm:^0.1.4" is-glob: "npm:^4.0.0" - is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" lodash.merge: "npm:^4.6.2" minimatch: "npm:^3.1.2" natural-compare: "npm:^1.4.0" optionator: "npm:^0.9.3" - strip-ansi: "npm:^6.0.1" - text-table: "npm:^0.2.0" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true bin: eslint: bin/eslint.js - checksum: 10c0/00bb96fd2471039a312435a6776fe1fd557c056755eaa2b96093ef3a8508c92c8775d5f754768be6b1dddd09fdd3379ddb231eeb9b6c579ee17ea7d68000a529 + checksum: 10c0/3b0dfaeff6a831de086884a3e2432f18468fe37c69f35e1a0a9a2833d9994a65b6dd2a524aaee28f361c849035ad9d15e3841029b67d261d0abd62c7de6d51f5 languageName: node linkType: hard -"espree@npm:^9.6.0, espree@npm:^9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" +"espree@npm:^10.0.1, espree@npm:^10.3.0": + version: 10.3.0 + resolution: "espree@npm:10.3.0" dependencies: - acorn: "npm:^8.9.0" + acorn: "npm:^8.14.0" acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 - languageName: node - linkType: hard - -"esprima@npm:^4.0.0": - version: 4.0.1 - resolution: "esprima@npm:4.0.1" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10c0/272beeaca70d0a1a047d61baff64db04664a33d7cfb5d144f84bc8a5c6194c6c8ebe9cc594093ca53add88baa23e59b01e69e8a0160ab32eac570482e165c462 languageName: node linkType: hard -"esquery@npm:^1.4.2": +"esquery@npm:^1.5.0": version: 1.6.0 resolution: "esquery@npm:1.6.0" dependencies: @@ -3730,33 +3306,17 @@ __metadata: languageName: node linkType: hard -"execa@npm:^0.7.0": - version: 0.7.0 - resolution: "execa@npm:0.7.0" - dependencies: - cross-spawn: "npm:^5.0.1" - get-stream: "npm:^3.0.0" - is-stream: "npm:^1.1.0" - npm-run-path: "npm:^2.0.0" - p-finally: "npm:^1.0.0" - signal-exit: "npm:^3.0.0" - strip-eof: "npm:^1.0.0" - checksum: 10c0/812f1776e2a6b2226532e43c1af87d8a12e26de03a06e7e043f653acf5565e0656f5f6c64d66726fefa17178ac129caaa419a50905934e7c4a846417abb25d4a +"etag@npm:~1.8.1": + version: 1.8.1 + resolution: "etag@npm:1.8.1" + checksum: 10c0/12be11ef62fb9817314d790089a0a49fae4e1b50594135dcb8076312b7d7e470884b5100d249b28c18581b7fd52f8b485689ffae22a11ed9ec17377a33a08f84 languageName: node linkType: hard -"execa@npm:^1.0.0": - version: 1.0.0 - resolution: "execa@npm:1.0.0" - dependencies: - cross-spawn: "npm:^6.0.0" - get-stream: "npm:^4.0.0" - is-stream: "npm:^1.1.0" - npm-run-path: "npm:^2.0.0" - p-finally: "npm:^1.0.0" - signal-exit: "npm:^3.0.0" - strip-eof: "npm:^1.0.0" - checksum: 10c0/cc71707c9aa4a2552346893ee63198bf70a04b5a1bc4f8a0ef40f1d03c319eae80932c59191f037990d7d102193e83a38ec72115fff814ec2fb3099f3661a590 +"exit-hook@npm:2.2.1": + version: 2.2.1 + resolution: "exit-hook@npm:2.2.1" + checksum: 10c0/0803726d1b60aade6afd10c73e5a7e1bf256ac9bee78362a88e91a4f735e8c67899f2853ddc613072c05af07bbb067a9978a740e614db1aeef167d50c6dc5c09 languageName: node linkType: hard @@ -3767,41 +3327,42 @@ __metadata: languageName: node linkType: hard -"extend-shallow@npm:^1.1.2": - version: 1.1.4 - resolution: "extend-shallow@npm:1.1.4" - dependencies: - kind-of: "npm:^1.1.0" - checksum: 10c0/f3509ee4ed8894ea109de203f907a3bf7d55f62352f5aab1591bd64ca84663e06e6d484dcf80ff8566e6c523632e37b58f6c34d55d8f749ca51c28c0b7ce7004 - languageName: node - linkType: hard - -"extend-shallow@npm:^3.0.2": - version: 3.0.2 - resolution: "extend-shallow@npm:3.0.2" - dependencies: - assign-symbols: "npm:^1.0.0" - is-extendable: "npm:^1.0.1" - checksum: 10c0/f39581b8f98e3ad94995e33214fff725b0297cf09f2725b6f624551cfb71e0764accfd0af80becc0182af5014d2a57b31b85ec999f9eb8a6c45af81752feac9a - languageName: node - linkType: hard - -"extend@npm:^3.0.0": - version: 3.0.2 - resolution: "extend@npm:3.0.2" - checksum: 10c0/73bf6e27406e80aa3e85b0d1c4fd987261e628064e170ca781125c0b635a3dabad5e05adbf07595ea0cf1e6c5396cacb214af933da7cbaf24fe75ff14818e8f9 - languageName: node - linkType: hard - -"fancy-log@npm:^1.3.3": - version: 1.3.3 - resolution: "fancy-log@npm:1.3.3" - dependencies: - ansi-gray: "npm:^0.1.1" - color-support: "npm:^1.1.3" - parse-node-version: "npm:^1.0.0" - time-stamp: "npm:^1.0.0" - checksum: 10c0/2fd9070191c8671065fbe3523d283b4a4eb240e37121e99b3b3260b2ea2934961b166cf48dcadeb6cdce877039e27499f1403808b455bd29b1b66060a03eb041 +"express@npm:^4.19.2": + version: 4.21.2 + resolution: "express@npm:4.21.2" + dependencies: + accepts: "npm:~1.3.8" + array-flatten: "npm:1.1.1" + body-parser: "npm:1.20.3" + content-disposition: "npm:0.5.4" + content-type: "npm:~1.0.4" + cookie: "npm:0.7.1" + cookie-signature: "npm:1.0.6" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + finalhandler: "npm:1.3.1" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + merge-descriptors: "npm:1.0.3" + methods: "npm:~1.1.2" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + path-to-regexp: "npm:0.1.12" + proxy-addr: "npm:~2.0.7" + qs: "npm:6.13.0" + range-parser: "npm:~1.2.1" + safe-buffer: "npm:5.2.1" + send: "npm:0.19.0" + serve-static: "npm:1.16.2" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + type-is: "npm:~1.6.18" + utils-merge: "npm:1.0.1" + vary: "npm:~1.1.2" + checksum: 10c0/38168fd0a32756600b56e6214afecf4fc79ec28eca7f7a91c2ab8d50df4f47562ca3f9dee412da7f5cea6b1a1544b33b40f9f8586dbacfbdada0fe90dbb10a1f languageName: node linkType: hard @@ -3819,16 +3380,16 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" +"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2, fast-glob@npm:^3.3.3": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" dependencies: "@nodelib/fs.stat": "npm:^2.0.2" "@nodelib/fs.walk": "npm:^1.2.3" glob-parent: "npm:^5.1.2" merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.4" - checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 + micromatch: "npm:^4.0.8" + checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe languageName: node linkType: hard @@ -3846,6 +3407,13 @@ __metadata: languageName: node linkType: hard +"fast-uri@npm:^3.0.1": + version: 3.0.6 + resolution: "fast-uri@npm:3.0.6" + checksum: 10c0/74a513c2af0584448aee71ce56005185f81239eab7a2343110e5bad50c39ad4fb19c5a6f99783ead1cac7ccaf3461a6034fda89fffa2b30b6d99b9f21c2f9d29 + languageName: node + linkType: hard + "fastest-levenshtein@npm:^1.0.16": version: 1.0.16 resolution: "fastest-levenshtein@npm:1.0.16" @@ -3854,45 +3422,39 @@ __metadata: linkType: hard "fastq@npm:^1.6.0": - version: 1.17.1 - resolution: "fastq@npm:1.17.1" + version: 1.19.0 + resolution: "fastq@npm:1.19.0" dependencies: reusify: "npm:^1.0.4" - checksum: 10c0/1095f16cea45fb3beff558bb3afa74ca7a9250f5a670b65db7ed585f92b4b48381445cd328b3d87323da81e43232b5d5978a8201bde84e0cd514310f1ea6da34 + checksum: 10c0/d6a001638f1574a696660fcbba5300d017760432372c801632c325ca7c16819604841c92fd3ccadcdacec0966ca336363a5ff57bc5f0be335d8ea7ac6087b98f languageName: node linkType: hard -"fault@npm:^1.0.2": - version: 1.0.4 - resolution: "fault@npm:1.0.4" +"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": + version: 3.2.0 + resolution: "fetch-blob@npm:3.2.0" dependencies: - format: "npm:^0.2.0" - checksum: 10c0/c86c11500c1b676787296f31ade8473adcc6784f118f07c1a9429730b6288d0412f96e069ce010aa57e4f65a9cccb5abee8868bbe3c5f10de63b20482c9baebd + node-domexception: "npm:^1.0.0" + web-streams-polyfill: "npm:^3.0.3" + checksum: 10c0/60054bf47bfa10fb0ba6cb7742acec2f37c1f56344f79a70bb8b1c48d77675927c720ff3191fa546410a0442c998d27ab05e9144c32d530d8a52fbe68f843b69 languageName: node linkType: hard -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" +"file-entry-cache@npm:^10.0.5": + version: 10.0.6 + resolution: "file-entry-cache@npm:10.0.6" dependencies: - flat-cache: "npm:^3.0.4" - checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd + flat-cache: "npm:^6.1.6" + checksum: 10c0/4e7226a5dbe7b5130c848c5fd3a352bb16e4ddb1de10cb4b3ea8375f6ab6085ed10da4db2db8119c61fc7e56fc59a40eeb837a4ae1a3a7c8357a17e69004f113 languageName: node linkType: hard -"file-entry-cache@npm:^9.0.0": - version: 9.0.0 - resolution: "file-entry-cache@npm:9.0.0" +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" dependencies: - flat-cache: "npm:^5.0.0" - checksum: 10c0/07b0a4f062dc0aa258f3e1b06ac083ea25313f5e289943e146fafdaf3315dcc031635545eea7fe98fe5598b91d6c7f48dba7a251dd7ac20108a6ebf7d00b0b1c - languageName: node - linkType: hard - -"file-type@npm:^10.1.0": - version: 10.11.0 - resolution: "file-type@npm:10.11.0" - checksum: 10c0/2d6280d84f2499878ebdf8236a6e83b3c747f08b91d84cf99785afe3c9ac52775e52dcec15a4141cc24eb3006f274eb46dc7d13395920a1763d936c6d6e8afde + flat-cache: "npm:^4.0.0" + checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638 languageName: node linkType: hard @@ -3905,6 +3467,21 @@ __metadata: languageName: node linkType: hard +"finalhandler@npm:1.3.1": + version: 1.3.1 + resolution: "finalhandler@npm:1.3.1" + dependencies: + debug: "npm:2.6.9" + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + statuses: "npm:2.0.1" + unpipe: "npm:~1.0.0" + checksum: 10c0/d38035831865a49b5610206a3a9a9aae4e8523cbbcd01175d0480ffbf1278c47f11d89be3ca7f617ae6d94f29cf797546a4619cd84dd109009ef33f12f69019f + languageName: node + linkType: hard + "find-root@npm:^1.1.0": version: 1.1.0 resolution: "find-root@npm:1.1.0" @@ -3912,15 +3489,6 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^3.0.0": - version: 3.0.0 - resolution: "find-up@npm:3.0.0" - dependencies: - locate-path: "npm:^3.0.0" - checksum: 10c0/2c2e7d0a26db858e2f624f39038c74739e38306dee42b45f404f770db357947be9d0d587f1cac72d20c114deb38aa57316e879eb0a78b17b46da7dab0a3bd6e3 - languageName: node - linkType: hard - "find-up@npm:^5.0.0": version: 5.0.0 resolution: "find-up@npm:5.0.0" @@ -3931,69 +3499,50 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^3.0.4": - version: 3.2.0 - resolution: "flat-cache@npm:3.2.0" +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" dependencies: flatted: "npm:^3.2.9" - keyv: "npm:^4.5.3" - rimraf: "npm:^3.0.2" - checksum: 10c0/b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 - languageName: node - linkType: hard - -"flat-cache@npm:^5.0.0": - version: 5.0.0 - resolution: "flat-cache@npm:5.0.0" - dependencies: - flatted: "npm:^3.3.1" keyv: "npm:^4.5.4" - checksum: 10c0/847f25eefec5d6614fdce76dc6097ee98f63fd4dfbcb908718905ac56610f939f4c28b1f908d6e8857d49286fe73235095d2e7ac9df096c35a3e8a15204c361b - languageName: node - linkType: hard - -"flatted@npm:^3.2.9, flatted@npm:^3.3.1": - version: 3.3.1 - resolution: "flatted@npm:3.3.1" - checksum: 10c0/324166b125ee07d4ca9bcf3a5f98d915d5db4f39d711fba640a3178b959919aae1f7cfd8aabcfef5826ed8aa8a2aa14cc85b2d7d18ff638ddf4ae3df39573eaf + checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc languageName: node linkType: hard -"flush-write-stream@npm:^1.0.2": - version: 1.1.1 - resolution: "flush-write-stream@npm:1.1.1" +"flat-cache@npm:^6.1.6": + version: 6.1.6 + resolution: "flat-cache@npm:6.1.6" dependencies: - inherits: "npm:^2.0.3" - readable-stream: "npm:^2.3.6" - checksum: 10c0/2cd4f65b728d5f388197a03dafabc6a5e4f0c2ed1a2d912e288f7aa1c2996dd90875e55b50cf32c78dca55ad2e2dfae5d3db09b223838388033d87cf5920dd87 + cacheable: "npm:^1.8.8" + flatted: "npm:^3.3.2" + hookified: "npm:^1.7.0" + checksum: 10c0/2aeba555b61d32d7f0803e6b6b3ba959610cdc0e5b591ed0f80a3ad70c4e80e81afb6853c495cafdcbc3a02386d76a1522babcf04e50c4a1e81df2decfd02e9f languageName: node linkType: hard -"follow-redirects@npm:1.5.10": - version: 1.5.10 - resolution: "follow-redirects@npm:1.5.10" - dependencies: - debug: "npm:=3.1.0" - checksum: 10c0/f56ca26dcf3c9996a6cf8868b61e369a35d4000ade0292bdd27b5e0934902681b037060b9fabe58e7042bb8b85166d5db8bbcf027f1825c1577e4cffd904fd3f +"flatted@npm:^3.2.9, flatted@npm:^3.3.2": + version: 3.3.2 + resolution: "flatted@npm:3.3.2" + checksum: 10c0/24cc735e74d593b6c767fe04f2ef369abe15b62f6906158079b9874bdb3ee5ae7110bb75042e70cd3f99d409d766f357caf78d5ecee9780206f5fdc5edbad334 languageName: node linkType: hard "follow-redirects@npm:^1.15.6": - version: 1.15.6 - resolution: "follow-redirects@npm:1.15.6" + version: 1.15.9 + resolution: "follow-redirects@npm:1.15.9" peerDependenciesMeta: debug: optional: true - checksum: 10c0/9ff767f0d7be6aa6870c82ac79cf0368cd73e01bbc00e9eb1c2a16fbb198ec105e3c9b6628bb98e9f3ac66fe29a957b9645bcb9a490bb7aa0d35f908b6b85071 + checksum: 10c0/5829165bd112c3c0e82be6c15b1a58fa9dcfaede3b3c54697a82fe4a62dd5ae5e8222956b448d2f98e331525f05d00404aba7d696de9e761ef6e42fdc780244f languageName: node linkType: hard "for-each@npm:^0.3.3": - version: 0.3.3 - resolution: "for-each@npm:0.3.3" + version: 0.3.4 + resolution: "for-each@npm:0.3.4" dependencies: - is-callable: "npm:^1.1.3" - checksum: 10c0/22330d8a2db728dbf003ec9182c2d421fbcd2969b02b4f97ec288721cda63eb28f2c08585ddccd0f77cb2930af8d958005c9e72f47141dc51816127a118f39aa + is-callable: "npm:^1.2.7" + checksum: 10c0/6b2016c0a0fe3107c70a233923cac74f07bedb5a1847636039fa6bcc3df09aefa554cfec23c3342ad365acac1f95e799d9f8e220cb82a4c7b8a84f969234302f languageName: node linkType: hard @@ -4008,66 +3557,63 @@ __metadata: linkType: hard "form-data@npm:^4.0.0": - version: 4.0.0 - resolution: "form-data@npm:4.0.0" + version: 4.0.1 + resolution: "form-data@npm:4.0.1" dependencies: asynckit: "npm:^0.4.0" combined-stream: "npm:^1.0.8" mime-types: "npm:^2.1.12" - checksum: 10c0/cb6f3ac49180be03ff07ba3ff125f9eba2ff0b277fb33c7fc47569fc5e616882c5b1c69b9904c4c4187e97dd0419dd03b134174756f296dec62041e6527e2c6e + checksum: 10c0/bb102d570be8592c23f4ea72d7df9daa50c7792eb0cf1c5d7e506c1706e7426a4e4ae48a35b109e91c85f1c0ec63774a21ae252b66f4eb981cb8efef7d0463c8 languageName: node linkType: hard -"format@npm:^0.2.0": - version: 0.2.2 - resolution: "format@npm:0.2.2" - checksum: 10c0/6032ba747541a43abf3e37b402b2f72ee08ebcb58bf84d816443dd228959837f1cddf1e8775b29fa27ff133f4bd146d041bfca5f9cf27f048edf3d493cf8fee6 +"formdata-polyfill@npm:^4.0.10": + version: 4.0.10 + resolution: "formdata-polyfill@npm:4.0.10" + dependencies: + fetch-blob: "npm:^3.1.2" + checksum: 10c0/5392ec484f9ce0d5e0d52fb5a78e7486637d516179b0eb84d81389d7eccf9ca2f663079da56f761355c0a65792810e3b345dc24db9a8bbbcf24ef3c8c88570c6 languageName: node linkType: hard -"fs-extra@npm:^7.0.1": - version: 7.0.1 - resolution: "fs-extra@npm:7.0.1" - dependencies: - graceful-fs: "npm:^4.1.2" - jsonfile: "npm:^4.0.0" - universalify: "npm:^0.1.0" - checksum: 10c0/1943bb2150007e3739921b8d13d4109abdc3cc481e53b97b7ea7f77eda1c3c642e27ae49eac3af074e3496ea02fde30f411ef410c760c70a38b92e656e5da784 +"forwarded@npm:0.2.0": + version: 0.2.0 + resolution: "forwarded@npm:0.2.0" + checksum: 10c0/9b67c3fac86acdbc9ae47ba1ddd5f2f81526fa4c8226863ede5600a3f7c7416ef451f6f1e240a3cc32d0fd79fcfe6beb08fd0da454f360032bde70bf80afbb33 languageName: node linkType: hard -"fs-minipass@npm:^2.0.0": - version: 2.1.0 - resolution: "fs-minipass@npm:2.1.0" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 +"fraction.js@npm:^4.3.7": + version: 4.3.7 + resolution: "fraction.js@npm:4.3.7" + checksum: 10c0/df291391beea9ab4c263487ffd9d17fed162dbb736982dee1379b2a8cc94e4e24e46ed508c6d278aded9080ba51872f1bc5f3a5fd8d7c74e5f105b508ac28711 languageName: node linkType: hard -"fs-minipass@npm:^3.0.0": - version: 3.0.3 - resolution: "fs-minipass@npm:3.0.3" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 +"fresh@npm:0.5.2": + version: 0.5.2 + resolution: "fresh@npm:0.5.2" + checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a languageName: node linkType: hard -"fs-mkdirp-stream@npm:^1.0.0": - version: 1.0.0 - resolution: "fs-mkdirp-stream@npm:1.0.0" +"fs-extra@npm:^10.0.0": + version: 10.1.0 + resolution: "fs-extra@npm:10.1.0" dependencies: - graceful-fs: "npm:^4.1.11" - through2: "npm:^2.0.3" - checksum: 10c0/c1a6a8913e6cda1741e1d146d05baa21fe6a91802b836b3a0ae1b0654269b5097727d77d97cf5f242317b2c5e44831f834fd3bb36853a2083494d94523221a39 + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/5f579466e7109719d162a9249abbeffe7f426eb133ea486e020b89bc6d67a741134076bf439983f2eb79276ceaf6bd7b7c1e43c3fd67fe889863e69072fb0a5e languageName: node linkType: hard -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 languageName: node linkType: hard @@ -4097,15 +3643,17 @@ __metadata: languageName: node linkType: hard -"function.prototype.name@npm:^1.1.5, function.prototype.name@npm:^1.1.6": - version: 1.1.6 - resolution: "function.prototype.name@npm:1.1.6" +"function.prototype.name@npm:^1.1.6, function.prototype.name@npm:^1.1.8": + version: 1.1.8 + resolution: "function.prototype.name@npm:1.1.8" dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" functions-have-names: "npm:^1.2.3" - checksum: 10c0/9eae11294905b62cb16874adb4fc687927cda3162285e0ad9612e6a1d04934005d46907362ea9cdb7428edce05a2f2c3dabc3b2d21e9fd343e9bb278230ad94b + hasown: "npm:^2.0.2" + is-callable: "npm:^1.2.7" + checksum: 10c0/e920a2ab52663005f3cbe7ee3373e3c71c1fb5558b0b0548648cdf3e51961085032458e26c71ff1a8c8c20e7ee7caeb03d43a5d1fa8610c459333323a2e71253 languageName: node linkType: hard @@ -4123,64 +3671,53 @@ __metadata: languageName: node linkType: hard -"get-caller-file@npm:^1.0.1": - version: 1.0.3 - resolution: "get-caller-file@npm:1.0.3" - checksum: 10c0/763dcee2de8ff60ae7e13a4bad8306205a2fbe108e555686344ddd9ef211b8bebfe459d3a739669257014c59e7cc1e7a44003c21af805c1214673e6a45f06c51 - languageName: node - linkType: hard - -"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": - version: 1.2.4 - resolution: "get-intrinsic@npm:1.2.4" +"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7": + version: 1.2.7 + resolution: "get-intrinsic@npm:1.2.7" dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + es-define-property: "npm:^1.0.1" es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" function-bind: "npm:^1.1.2" - has-proto: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - hasown: "npm:^2.0.0" - checksum: 10c0/0a9b82c16696ed6da5e39b1267104475c47e3a9bdbe8b509dfe1710946e38a87be70d759f4bb3cda042d76a41ef47fe769660f3b7c0d1f68750299344ffb15b7 + get-proto: "npm:^1.0.0" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/b475dec9f8bff6f7422f51ff4b7b8d0b68e6776ee83a753c1d627e3008c3442090992788038b37eff72e93e43dceed8c1acbdf2d6751672687ec22127933080d languageName: node linkType: hard -"get-stream@npm:^3.0.0": - version: 3.0.0 - resolution: "get-stream@npm:3.0.0" - checksum: 10c0/003f5f3b8870da59c6aafdf6ed7e7b07b48c2f8629cd461bd3900726548b6b8cfa2e14d6b7814fbb08f07a42f4f738407fa70b989928b2783a76b278505bba22 +"get-port@npm:5.1.1": + version: 5.1.1 + resolution: "get-port@npm:5.1.1" + checksum: 10c0/2873877a469b24e6d5e0be490724a17edb39fafc795d1d662e7bea951ca649713b4a50117a473f9d162312cb0e946597bd0e049ed2f866e79e576e8e213d3d1c languageName: node linkType: hard -"get-stream@npm:^4.0.0": - version: 4.1.0 - resolution: "get-stream@npm:4.1.0" +"get-proto@npm:^1.0.0, get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" dependencies: - pump: "npm:^3.0.0" - checksum: 10c0/294d876f667694a5ca23f0ca2156de67da950433b6fb53024833733975d32582896dbc7f257842d331809979efccf04d5e0b6b75ad4d45744c45f193fd497539 + dunder-proto: "npm:^1.0.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c languageName: node linkType: hard -"get-symbol-description@npm:^1.0.2": - version: 1.0.2 - resolution: "get-symbol-description@npm:1.0.2" +"get-symbol-description@npm:^1.1.0": + version: 1.1.0 + resolution: "get-symbol-description@npm:1.1.0" dependencies: - call-bind: "npm:^1.0.5" + call-bound: "npm:^1.0.3" es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - checksum: 10c0/867be6d63f5e0eb026cb3b0ef695ec9ecf9310febb041072d2e142f260bd91ced9eeb426b3af98791d1064e324e653424afa6fd1af17dee373bea48ae03162bc - languageName: node - linkType: hard - -"glob-parent@npm:^3.1.0": - version: 3.1.0 - resolution: "glob-parent@npm:3.1.0" - dependencies: - is-glob: "npm:^3.1.0" - path-dirname: "npm:^1.0.0" - checksum: 10c0/bfa89ce5ae1dfea4c2ece7b61d2ea230d87fcbec7472915cfdb3f4caf688a91ecb0dc86ae39b1e17505adce7e64cae3b971d64dc66091f3a0131169fd631b00d + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/d6a7d6afca375779a4b307738c9e80dbf7afc0bdbe5948768d54ab9653c865523d8920e670991a925936eb524b7cb6a6361d199a760b21d0ca7620194455aa4b languageName: node linkType: hard -"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": +"glob-parent@npm:^5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" dependencies: @@ -4198,25 +3735,7 @@ __metadata: languageName: node linkType: hard -"glob-stream@npm:^6.1.0": - version: 6.1.0 - resolution: "glob-stream@npm:6.1.0" - dependencies: - extend: "npm:^3.0.0" - glob: "npm:^7.1.1" - glob-parent: "npm:^3.1.0" - is-negated-glob: "npm:^1.0.0" - ordered-read-streams: "npm:^1.0.0" - pumpify: "npm:^1.3.5" - readable-stream: "npm:^2.1.5" - remove-trailing-separator: "npm:^1.0.1" - to-absolute-glob: "npm:^2.0.0" - unique-stream: "npm:^2.0.2" - checksum: 10c0/6b2653f2aafe99f17c0348de34dc0782cc20c3425ade4d4e354ef125b6e049e71cb4a209c6ea624a6a72bf99e0d7a25f1c2f04f81e42b0b8091b48d210fc48f5 - languageName: node - linkType: hard - -"glob@npm:^10.2.2, glob@npm:^10.3.10": +"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.7": version: 10.4.5 resolution: "glob@npm:10.4.5" dependencies: @@ -4232,20 +3751,6 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3": - version: 7.2.3 - resolution: "glob@npm:7.2.3" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.1.1" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe - languageName: node - linkType: hard - "global-modules@npm:^2.0.0": version: 2.0.0 resolution: "global-modules@npm:2.0.0" @@ -4266,23 +3771,14 @@ __metadata: languageName: node linkType: hard -"globals@npm:^11.1.0": - version: 11.12.0 - resolution: "globals@npm:11.12.0" - checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 - languageName: node - linkType: hard - -"globals@npm:^13.19.0": - version: 13.24.0 - resolution: "globals@npm:13.24.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd +"globals@npm:14.0.0, globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10c0/b96ff42620c9231ad468d4c58ff42afee7777ee1c963013ff8aabe095a451d0ceeb8dcd8ef4cbd64d2538cef45f787a78ba3a9574f4a634438963e334471302d languageName: node linkType: hard -"globalthis@npm:^1.0.3": +"globalthis@npm:^1.0.4": version: 1.0.4 resolution: "globalthis@npm:1.0.4" dependencies: @@ -4313,16 +3809,21 @@ __metadata: languageName: node linkType: hard -"gopd@npm:^1.0.1": - version: 1.0.1 - resolution: "gopd@npm:1.0.1" - dependencies: - get-intrinsic: "npm:^1.1.3" - checksum: 10c0/505c05487f7944c552cee72087bf1567debb470d4355b1335f2c262d218ebbff805cd3715448fe29b4b380bae6912561d0467233e4165830efd28da241418c63 +"globrex@npm:^0.1.2": + version: 0.1.2 + resolution: "globrex@npm:0.1.2" + checksum: 10c0/a54c029520cf58bda1d8884f72bd49b4cd74e977883268d931fd83bcbd1a9eb96d57c7dbd4ad80148fb9247467ebfb9b215630b2ed7563b2a8de02e1ff7f89d1 + languageName: node + linkType: hard + +"gopd@npm:^1.0.1, gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead languageName: node linkType: hard -"graceful-fs@npm:^4.0.0, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -4336,109 +3837,26 @@ __metadata: languageName: node linkType: hard -"gulp-exclude-gitignore@npm:^1.2.0": - version: 1.2.0 - resolution: "gulp-exclude-gitignore@npm:1.2.0" - dependencies: - gulp-ignore: "npm:^2.0.2" - checksum: 10c0/a230cde24f93dbae423bc846559b6a0aabffe4f4c10c5988ccd8720f6913c1ef4c648e2bafad8a6b728001ef3319b8c4d2a98af2a6721d83dd08aa949991fbec - languageName: node - linkType: hard - -"gulp-filter@npm:^5.1.0": - version: 5.1.0 - resolution: "gulp-filter@npm:5.1.0" - dependencies: - multimatch: "npm:^2.0.0" - plugin-error: "npm:^0.1.2" - streamfilter: "npm:^1.0.5" - checksum: 10c0/cfa683e2e3484e57a66b07f00e7bf8de6322db08f5b4bc5c428041c2302d6e497e7bb229fd3bd4ae08044734f0fea8eefb12bd207ff2d642c348b6a2cadddc76 - languageName: node - linkType: hard - -"gulp-ignore@npm:^2.0.2": - version: 2.0.2 - resolution: "gulp-ignore@npm:2.0.2" - dependencies: - gulp-match: "npm:^1.0.3" - through2: "npm:^2.0.1" - checksum: 10c0/dd95c6efab93d33e972313ada54610d1814c9b866a08a10a5f1c7ee78e28b0d8673aa215b2e0b7419f7596b320fb418b25562222e5ed365292074a8e38347e7f - languageName: node - linkType: hard - -"gulp-match@npm:^1.0.3": - version: 1.1.0 - resolution: "gulp-match@npm:1.1.0" - dependencies: - minimatch: "npm:^3.0.3" - checksum: 10c0/229733c79ba1e158158010c81265f1b7e5e11c69044859fa5101069b3a6bda28d647703b70928758e5008755507d49809edd88c4ce9417d7539f7460d3bb2f73 - languageName: node - linkType: hard - -"gulp-reporter@npm:^2.9.0": - version: 2.10.0 - resolution: "gulp-reporter@npm:2.10.0" - dependencies: - ansi-escapes: "npm:^3.1.0" - axios: "npm:^0.18.0" - buffered-spawn: "npm:^3.3.2" - bufferstreams: "npm:^2.0.1" - chalk: "npm:^2.4.1" - checkstyle-formatter: "npm:^1.1.0" - ci-info: "npm:^2.0.0" - cli-truncate: "npm:^1.1.0" - emphasize: "npm:^2.0.0" - fancy-log: "npm:^1.3.3" - fs-extra: "npm:^7.0.1" - in-gfw: "npm:^1.2.0" - is-windows: "npm:^1.0.2" - js-yaml: "npm:^3.12.0" - junit-report-builder: "npm:^1.3.1" - lodash.get: "npm:^4.4.2" - os-locale: "npm:^3.0.1" - plugin-error: "npm:^1.0.1" - string-width: "npm:^3.0.0" - term-size: "npm:^1.2.0" - through2: "npm:^3.0.0" - to-time: "npm:^1.0.2" - checksum: 10c0/a70c8d13742536c4d31d6775ea81f0e9340778c69ea1ff01c90108f4b3b05d80337999e9e61524b8897e790fdfe9fd488f1f44dada792a419c3aaba75aed27b3 - languageName: node - linkType: hard - -"gulp-tap@npm:^1.0.1": - version: 1.0.1 - resolution: "gulp-tap@npm:1.0.1" +"gunzip-maybe@npm:^1.4.2": + version: 1.4.2 + resolution: "gunzip-maybe@npm:1.4.2" dependencies: + browserify-zlib: "npm:^0.1.4" + is-deflate: "npm:^1.0.0" + is-gzip: "npm:^1.0.0" + peek-stream: "npm:^1.1.0" + pumpify: "npm:^1.3.3" through2: "npm:^2.0.3" - checksum: 10c0/31506af37f6aa2ba8b05d45f59a06a8b45aa0174e97e7ade79c6768ff7612143d6948828fab1a6dbd15c9bd2eb8364ba8772f3bcd3b72ad59fdbbc91fb11f828 - languageName: node - linkType: hard - -"happy-dom@npm:^12.5.0": - version: 12.10.3 - resolution: "happy-dom@npm:12.10.3" - dependencies: - css.escape: "npm:^1.5.1" - entities: "npm:^4.5.0" - iconv-lite: "npm:^0.6.3" - webidl-conversions: "npm:^7.0.0" - whatwg-encoding: "npm:^2.0.0" - whatwg-mimetype: "npm:^3.0.0" - checksum: 10c0/fbf8647e17c4af5c166d7c4b6963f4bbc9d1c279e94a4c77234b1fecca98c59989b894c7b186f5107e1062d40ffd84f12350b757f51330a5fc1c5228eb199517 - languageName: node - linkType: hard - -"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": - version: 1.0.2 - resolution: "has-bigints@npm:1.0.2" - checksum: 10c0/724eb1485bfa3cdff6f18d95130aa190561f00b3fcf9f19dc640baf8176b5917c143b81ec2123f8cddb6c05164a198c94b13e1377c497705ccc8e1a80306e83b + bin: + gunzip-maybe: bin.js + checksum: 10c0/42798a8061759885c2084e1804e51313d14f2dc9cf6c137e222953ec802f914e592d6f9dbf6ad67f4e78eb036e86db017d9c7c93bb23e90cd5ae09326296ed77 languageName: node linkType: hard -"has-flag@npm:^3.0.0": - version: 3.0.0 - resolution: "has-flag@npm:3.0.0" - checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 +"has-bigints@npm:^1.0.2": + version: 1.1.0 + resolution: "has-bigints@npm:1.1.0" + checksum: 10c0/2de0cdc4a1ccf7a1e75ffede1876994525ac03cc6f5ae7392d3415dd475cd9eee5bceec63669ab61aa997ff6cceebb50ef75561c7002bed8988de2b9d1b40788 languageName: node linkType: hard @@ -4458,21 +3876,23 @@ __metadata: languageName: node linkType: hard -"has-proto@npm:^1.0.1, has-proto@npm:^1.0.3": - version: 1.0.3 - resolution: "has-proto@npm:1.0.3" - checksum: 10c0/35a6989f81e9f8022c2f4027f8b48a552de714938765d019dbea6bb547bd49ce5010a3c7c32ec6ddac6e48fc546166a3583b128f5a7add8b058a6d8b4afec205 +"has-proto@npm:^1.2.0": + version: 1.2.0 + resolution: "has-proto@npm:1.2.0" + dependencies: + dunder-proto: "npm:^1.0.0" + checksum: 10c0/46538dddab297ec2f43923c3d35237df45d8c55a6fc1067031e04c13ed8a9a8f94954460632fd4da84c31a1721eefee16d901cbb1ae9602bab93bb6e08f93b95 languageName: node linkType: hard -"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": - version: 1.0.3 - resolution: "has-symbols@npm:1.0.3" - checksum: 10c0/e6922b4345a3f37069cdfe8600febbca791c94988c01af3394d86ca3360b4b93928bbf395859158f88099cb10b19d98e3bbab7c9ff2c1bd09cf665ee90afa2c3 +"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e languageName: node linkType: hard -"has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.2": +"has-tostringtag@npm:^1.0.2": version: 1.0.2 resolution: "has-tostringtag@npm:1.0.2" dependencies: @@ -4481,7 +3901,7 @@ __metadata: languageName: node linkType: hard -"hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2": +"hasown@npm:^2.0.0, hasown@npm:^2.0.2": version: 2.0.2 resolution: "hasown@npm:2.0.2" dependencies: @@ -4490,13 +3910,6 @@ __metadata: languageName: node linkType: hard -"highlight.js@npm:~9.12.0": - version: 9.12.0 - resolution: "highlight.js@npm:9.12.0" - checksum: 10c0/8e310eaf66d7f347f2a92e2017a114e5e8c2e38cc313e57bbd1c4d169f6217daffdbba5c52a76013db2232c8c519672a4f6aa5ebc1841b2a69e75a2c422ffbcf - languageName: node - linkType: hard - "hoist-non-react-statics@npm:^3.3.1": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" @@ -4506,6 +3919,22 @@ __metadata: languageName: node linkType: hard +"hookified@npm:^1.7.0": + version: 1.7.0 + resolution: "hookified@npm:1.7.0" + checksum: 10c0/039424cbeb8cc55cd9bd6b17e9fb48c5d619899f49d560abf39a4cd3ae3d9197e434732218641ebaec22ff0a0b195fdb96fc4c42df12477f464bfe63a35a4b66 + languageName: node + linkType: hard + +"hosted-git-info@npm:^6.0.0, hosted-git-info@npm:^6.1.1": + version: 6.1.3 + resolution: "hosted-git-info@npm:6.1.3" + dependencies: + lru-cache: "npm:^7.5.1" + checksum: 10c0/a1fc10faf67d04d575ebabf89cd5c9e3ebca041d99f42f31143bc8027684da4612c2f6deaf7cf2c09ac3b04dd502ad3957caa49d913628f0558964b2e1e7b414 + languageName: node + linkType: hard + "html-parse-stringify@npm:^3.0.1": version: 3.0.1 resolution: "html-parse-stringify@npm:3.0.1" @@ -4529,6 +3958,19 @@ __metadata: languageName: node linkType: hard +"http-errors@npm:2.0.0": + version: 2.0.0 + resolution: "http-errors@npm:2.0.0" + dependencies: + depd: "npm:2.0.0" + inherits: "npm:2.0.4" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + toidentifier: "npm:1.0.1" + checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 + languageName: node + linkType: hard + "http-proxy-agent@npm:^7.0.0": version: 7.0.2 resolution: "http-proxy-agent@npm:7.0.2" @@ -4540,34 +3982,48 @@ __metadata: linkType: hard "https-proxy-agent@npm:^7.0.1": - version: 7.0.5 - resolution: "https-proxy-agent@npm:7.0.5" + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" dependencies: - agent-base: "npm:^7.0.2" + agent-base: "npm:^7.1.2" debug: "npm:4" - checksum: 10c0/2490e3acec397abeb88807db52cac59102d5ed758feee6df6112ab3ccd8325e8a1ce8bce6f4b66e5470eca102d31e425ace904242e4fa28dbe0c59c4bafa7b2c + checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac languageName: node linkType: hard -"i18next-browser-languagedetector@npm:^8.0.0": - version: 8.0.0 - resolution: "i18next-browser-languagedetector@npm:8.0.0" +"i18next-browser-languagedetector@npm:^8.0.2": + version: 8.0.2 + resolution: "i18next-browser-languagedetector@npm:8.0.2" dependencies: "@babel/runtime": "npm:^7.23.2" - checksum: 10c0/08a7c747ec18a0743b54390a0b42836d814b15fb49c92b90c259298e6a6e7e001ff9df99d0fd308283a34fceea53b4d9053aa1695a37f696bc04160017bbb524 + checksum: 10c0/b4ed7531ab503da12e043209c396b1aa9a0bdb2bbb397c0c85605bf16f08bf4cdacf9c1866cd32be1f19266488accb8d15dc8a76a6046e9ee359284199a8dcbc languageName: node linkType: hard -"i18next@npm:^23.11.5": - version: 23.11.5 - resolution: "i18next@npm:23.11.5" +"i18next@npm:^24.2.1": + version: 24.2.2 + resolution: "i18next@npm:24.2.2" dependencies: "@babel/runtime": "npm:^7.23.2" - checksum: 10c0/b0bec64250a3e529d4c51e2fc511406a85c5dde3d005d3aabe919551ca31dfc0a8f5490bf6e44649822e895a1fa91a58092d112367669cd11b2eb89e6ba90d1a + peerDependencies: + typescript: ^5 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/df2f08f7e7a813d0c38f67e9a9f67f6e86cd105a58b6419cab1118833e0a8ebf8d31e2df9033c12890fc1db18740fc227acc593c0a30887f8f7f94cd0293d051 + languageName: node + linkType: hard + +"iconv-lite@npm:0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3" + checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 languageName: node linkType: hard -"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": +"iconv-lite@npm:^0.6.2": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" dependencies: @@ -4576,26 +4032,24 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:^0.4.15": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3" - checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 +"ieee754@npm:^1.2.1": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb languageName: node linkType: hard "ignore@npm:^5.2.0, ignore@npm:^5.3.1": - version: 5.3.1 - resolution: "ignore@npm:5.3.1" - checksum: 10c0/703f7f45ffb2a27fb2c5a8db0c32e7dee66b33a225d28e8db4e1be6474795f606686a6e3bcc50e1aa12f2042db4c9d4a7d60af3250511de74620fbed052ea4cd + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 languageName: node linkType: hard -"immutable@npm:^4.0.0": - version: 4.3.6 - resolution: "immutable@npm:4.3.6" - checksum: 10c0/7d0952a768b4fadcee47230ed86dc9505a4517095eceaf5a47e65288571c42400c6e4a2ae21eca4eda957cb7bc50720213135b62cf6a181639111f8acae128c3 +"ignore@npm:^7.0.3": + version: 7.0.3 + resolution: "ignore@npm:7.0.3" + checksum: 10c0/8e21637513cbcd888a4873d34d5c651a2e24b3c4c9a6b159335a26bed348c3c386c51d6fab23577f59140e1b226323138fbd50e63882d4568fd12aa6c822029e languageName: node linkType: hard @@ -4616,35 +4070,7 @@ __metadata: languageName: node linkType: hard -"in-gfw@npm:^1.2.0": - version: 1.2.0 - resolution: "in-gfw@npm:1.2.0" - dependencies: - glob: "npm:^7.1.2" - is-wsl: "npm:^1.1.0" - mem: "npm:^3.0.1" - checksum: 10c0/9c4f4827bff2a4c2f5ec9c7837d9b3f68de9245c7fe08aa5acc07da041706166a0905bb4f78f9edf8c5e19bcd8991a8ec8fa8436a6f1d838227c774f59ba12f1 - languageName: node - linkType: hard - -"indent-string@npm:^4.0.0": - version: 4.0.0 - resolution: "indent-string@npm:4.0.0" - checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f - languageName: node - linkType: hard - -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: "npm:^1.3.0" - wrappy: "npm:1" - checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 - languageName: node - linkType: hard - -"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": +"inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:~2.0.3": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 @@ -4658,30 +4084,14 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.0.7": - version: 1.0.7 - resolution: "internal-slot@npm:1.0.7" +"internal-slot@npm:^1.1.0": + version: 1.1.0 + resolution: "internal-slot@npm:1.1.0" dependencies: es-errors: "npm:^1.3.0" - hasown: "npm:^2.0.0" - side-channel: "npm:^1.0.4" - checksum: 10c0/f8b294a4e6ea3855fc59551bbf35f2b832cf01fd5e6e2a97f5c201a071cc09b49048f856e484b67a6c721da5e55736c5b6ddafaf19e2dbeb4a3ff1821680de6c - languageName: node - linkType: hard - -"invariant@npm:^2.2.4": - version: 2.2.4 - resolution: "invariant@npm:2.2.4" - dependencies: - loose-envify: "npm:^1.0.0" - checksum: 10c0/5af133a917c0bcf65e84e7f23e779e7abc1cd49cb7fdc62d00d1de74b0d8c1b5ee74ac7766099fb3be1b05b26dfc67bab76a17030d2fe7ea2eef867434362dfc - languageName: node - linkType: hard - -"invert-kv@npm:^2.0.0": - version: 2.0.0 - resolution: "invert-kv@npm:2.0.0" - checksum: 10c0/1a614b9025875e2009a23b8b56bfcbc7727e81ce949ccb6e0700caa6ce04ef92f0cbbcdb120528b6409317d08a7d5671044e520df48719437b5005ae6a1cbf74 + hasown: "npm:^2.0.2" + side-channel: "npm:^1.1.0" + checksum: 10c0/03966f5e259b009a9bf1a78d60da920df198af4318ec004f57b8aef1dd3fe377fbc8cce63a96e8c810010302654de89f9e19de1cd8ad0061d15be28a695465c7 languageName: node linkType: hard @@ -4695,23 +4105,21 @@ __metadata: languageName: node linkType: hard -"is-absolute@npm:^1.0.0": - version: 1.0.0 - resolution: "is-absolute@npm:1.0.0" - dependencies: - is-relative: "npm:^1.0.0" - is-windows: "npm:^1.0.1" - checksum: 10c0/422302ce879d4f3ca6848499b6f3ddcc8fd2dc9f3e9cad3f6bcedff58cdfbbbd7f4c28600fffa7c59a858f1b15c27fb6cfe1d5275e58a36d2bf098a44ef5abc4 +"ipaddr.js@npm:1.9.1": + version: 1.9.1 + resolution: "ipaddr.js@npm:1.9.1" + checksum: 10c0/0486e775047971d3fdb5fb4f063829bac45af299ae0b82dcf3afa2145338e08290563a2a70f34b732d795ecc8311902e541a8530eeb30d75860a78ff4e94ce2a languageName: node linkType: hard -"is-array-buffer@npm:^3.0.4": - version: 3.0.4 - resolution: "is-array-buffer@npm:3.0.4" +"is-array-buffer@npm:^3.0.4, is-array-buffer@npm:^3.0.5": + version: 3.0.5 + resolution: "is-array-buffer@npm:3.0.5" dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.2.1" - checksum: 10c0/42a49d006cc6130bc5424eae113e948c146f31f9d24460fc0958f855d9d810e6fd2e4519bf19aab75179af9c298ea6092459d8cafdec523cd19e529b26eab860 + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/c5c9f25606e86dbb12e756694afbbff64bc8b348d1bc989324c037e1068695131930199d6ad381952715dad3a9569333817f0b1a72ce5af7f883ce802e49c83d languageName: node linkType: hard @@ -4723,128 +4131,94 @@ __metadata: linkType: hard "is-async-function@npm:^2.0.0": - version: 2.0.0 - resolution: "is-async-function@npm:2.0.0" - dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/787bc931576aad525d751fc5ce211960fe91e49ac84a5c22d6ae0bc9541945fbc3f686dc590c3175722ce4f6d7b798a93f6f8ff4847fdb2199aea6f4baf5d668 - languageName: node - linkType: hard - -"is-bigint@npm:^1.0.1": - version: 1.0.4 - resolution: "is-bigint@npm:1.0.4" + version: 2.1.1 + resolution: "is-async-function@npm:2.1.1" dependencies: - has-bigints: "npm:^1.0.1" - checksum: 10c0/eb9c88e418a0d195ca545aff2b715c9903d9b0a5033bc5922fec600eb0c3d7b1ee7f882dbf2e0d5a6e694e42391be3683e4368737bd3c4a77f8ac293e7773696 + async-function: "npm:^1.0.0" + call-bound: "npm:^1.0.3" + get-proto: "npm:^1.0.1" + has-tostringtag: "npm:^1.0.2" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/d70c236a5e82de6fc4d44368ffd0c2fee2b088b893511ce21e679da275a5ecc6015ff59a7d7e1bdd7ca39f71a8dbdd253cf8cce5c6b3c91cdd5b42b5ce677298 languageName: node linkType: hard -"is-binary-path@npm:~2.1.0": - version: 2.1.0 - resolution: "is-binary-path@npm:2.1.0" +"is-bigint@npm:^1.1.0": + version: 1.1.0 + resolution: "is-bigint@npm:1.1.0" dependencies: - binary-extensions: "npm:^2.0.0" - checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + has-bigints: "npm:^1.0.2" + checksum: 10c0/f4f4b905ceb195be90a6ea7f34323bf1c18e3793f18922e3e9a73c684c29eeeeff5175605c3a3a74cc38185fe27758f07efba3dbae812e5c5afbc0d2316b40e4 languageName: node linkType: hard -"is-boolean-object@npm:^1.1.0": - version: 1.1.2 - resolution: "is-boolean-object@npm:1.1.2" +"is-boolean-object@npm:^1.2.1": + version: 1.2.1 + resolution: "is-boolean-object@npm:1.2.1" dependencies: - call-bind: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/6090587f8a8a8534c0f816da868bc94f32810f08807aa72fa7e79f7e11c466d281486ffe7a788178809c2aa71fe3e700b167fe80dd96dad68026bfff8ebf39f7 - languageName: node - linkType: hard - -"is-buffer@npm:^1.1.5": - version: 1.1.6 - resolution: "is-buffer@npm:1.1.6" - checksum: 10c0/ae18aa0b6e113d6c490ad1db5e8df9bdb57758382b313f5a22c9c61084875c6396d50bbf49315f5b1926d142d74dfb8d31b40d993a383e0a158b15fea7a82234 - languageName: node - linkType: hard - -"is-buffer@npm:^2.0.2": - version: 2.0.5 - resolution: "is-buffer@npm:2.0.5" - checksum: 10c0/e603f6fced83cf94c53399cff3bda1a9f08e391b872b64a73793b0928be3e5f047f2bcece230edb7632eaea2acdbfcb56c23b33d8a20c820023b230f1485679a + call-bound: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/2ef601d255a39fdbde79cfe6be80c27b47430ed6712407f29b17d002e20f64c1e3d6692f1d842ba16bf1e9d8ddf1c4f13cac3ed7d9a4a21290f44879ebb4e8f5 languageName: node linkType: hard -"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": +"is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" checksum: 10c0/ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f languageName: node linkType: hard -"is-core-module@npm:^2.13.0": - version: 2.14.0 - resolution: "is-core-module@npm:2.14.0" +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.16.0, is-core-module@npm:^2.8.1": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" dependencies: hasown: "npm:^2.0.2" - checksum: 10c0/ae8dbc82bd20426558bc8d20ce290ce301c1cfd6ae4446266d10cacff4c63c67ab16440ade1d72ced9ec41c569fbacbcee01e293782ce568527c4cdf35936e4c + checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd languageName: node linkType: hard -"is-data-view@npm:^1.0.1": - version: 1.0.1 - resolution: "is-data-view@npm:1.0.1" +"is-data-view@npm:^1.0.1, is-data-view@npm:^1.0.2": + version: 1.0.2 + resolution: "is-data-view@npm:1.0.2" dependencies: + call-bound: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.6" is-typed-array: "npm:^1.1.13" - checksum: 10c0/a3e6ec84efe303da859107aed9b970e018e2bee7ffcb48e2f8096921a493608134240e672a2072577e5f23a729846241d9634806e8a0e51d9129c56d5f65442d + checksum: 10c0/ef3548a99d7e7f1370ce21006baca6d40c73e9f15c941f89f0049c79714c873d03b02dae1c64b3f861f55163ecc16da06506c5b8a1d4f16650b3d9351c380153 languageName: node linkType: hard -"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5": - version: 1.0.5 - resolution: "is-date-object@npm:1.0.5" +"is-date-object@npm:^1.0.5, is-date-object@npm:^1.1.0": + version: 1.1.0 + resolution: "is-date-object@npm:1.1.0" dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/eed21e5dcc619c48ccef804dfc83a739dbb2abee6ca202838ee1bd5f760fe8d8a93444f0d49012ad19bb7c006186e2884a1b92f6e1c056da7fd23d0a9ad5992e + call-bound: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/1a4d199c8e9e9cac5128d32e6626fa7805175af9df015620ac0d5d45854ccf348ba494679d872d37301032e35a54fc7978fba1687e8721b2139aea7870cafa2f languageName: node linkType: hard -"is-extendable@npm:^1.0.0, is-extendable@npm:^1.0.1": - version: 1.0.1 - resolution: "is-extendable@npm:1.0.1" - dependencies: - is-plain-object: "npm:^2.0.4" - checksum: 10c0/1d6678a5be1563db6ecb121331c819c38059703f0179f52aa80c242c223ee9c6b66470286636c0e63d7163e4d905c0a7d82a096e0b5eaeabb51b9f8d0af0d73f +"is-deflate@npm:^1.0.0": + version: 1.0.0 + resolution: "is-deflate@npm:1.0.0" + checksum: 10c0/35f7ffcbef3549dd8a4d8df5dc09b4f4656a0fc88326e8b5201cda54114a9c2d8efb689d87c16f3f35c95bd71dcf13dc790d62b7504745b42c53ab4b40238f5a languageName: node linkType: hard -"is-extglob@npm:^2.1.0, is-extglob@npm:^2.1.1": +"is-extglob@npm:^2.1.1": version: 2.1.1 resolution: "is-extglob@npm:2.1.1" checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 languageName: node linkType: hard -"is-finalizationregistry@npm:^1.0.2": - version: 1.0.2 - resolution: "is-finalizationregistry@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.2" - checksum: 10c0/81caecc984d27b1a35c68741156fc651fb1fa5e3e6710d21410abc527eb226d400c0943a167922b2e920f6b3e58b0dede9aa795882b038b85f50b3a4b877db86 - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^1.0.0": - version: 1.0.0 - resolution: "is-fullwidth-code-point@npm:1.0.0" +"is-finalizationregistry@npm:^1.1.0": + version: 1.1.1 + resolution: "is-finalizationregistry@npm:1.1.1" dependencies: - number-is-nan: "npm:^1.0.0" - checksum: 10c0/12acfcf16142f2d431bf6af25d68569d3198e81b9799b4ae41058247aafcc666b0127d64384ea28e67a746372611fcbe9b802f69175287aba466da3eddd5ba0f - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^2.0.0": - version: 2.0.0 - resolution: "is-fullwidth-code-point@npm:2.0.0" - checksum: 10c0/e58f3e4a601fc0500d8b2677e26e9fe0cd450980e66adb29d85b6addf7969731e38f8e43ed2ec868a09c101a55ac3d8b78902209269f38c5286bc98f5bc1b4d9 + call-bound: "npm:^1.0.3" + checksum: 10c0/818dff679b64f19e228a8205a1e2d09989a98e98def3a817f889208cfcbf918d321b251aadf2c05918194803ebd2eb01b14fc9d0b2bea53d984f4137bfca5e97 languageName: node linkType: hard @@ -4856,24 +4230,18 @@ __metadata: linkType: hard "is-generator-function@npm:^1.0.10": - version: 1.0.10 - resolution: "is-generator-function@npm:1.0.10" - dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/df03514df01a6098945b5a0cfa1abff715807c8e72f57c49a0686ad54b3b74d394e2d8714e6f709a71eb00c9630d48e73ca1796c1ccc84ac95092c1fecc0d98b - languageName: node - linkType: hard - -"is-glob@npm:^3.1.0": - version: 3.1.0 - resolution: "is-glob@npm:3.1.0" + version: 1.1.0 + resolution: "is-generator-function@npm:1.1.0" dependencies: - is-extglob: "npm:^2.1.0" - checksum: 10c0/ba816a35dcf5285de924a8a4654df7b183a86381d73ea3bbf3df3cc61b3ba61fdddf90ee205709a2235b210ee600ee86e5e8600093cf291a662607fd032e2ff4 + call-bound: "npm:^1.0.3" + get-proto: "npm:^1.0.0" + has-tostringtag: "npm:^1.0.2" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/fdfa96c8087bf36fc4cd514b474ba2ff404219a4dd4cfa6cf5426404a1eed259bdcdb98f082a71029a48d01f27733e3436ecc6690129a7ec09cb0434bee03a2a languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": version: 4.0.3 resolution: "is-glob@npm:4.0.3" dependencies: @@ -4882,10 +4250,10 @@ __metadata: languageName: node linkType: hard -"is-lambda@npm:^1.0.1": - version: 1.0.1 - resolution: "is-lambda@npm:1.0.1" - checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d +"is-gzip@npm:^1.0.0": + version: 1.0.0 + resolution: "is-gzip@npm:1.0.0" + checksum: 10c0/cbc1db080c636a6fb0f7346e3076f8276a29a9d8b52ae67c1971a8131c43f308e98ed227d1a6f49970e6c6ebabee0568e60aed7a3579dd4e1817cddf2faaf9b7 languageName: node linkType: hard @@ -4896,26 +4264,13 @@ __metadata: languageName: node linkType: hard -"is-negated-glob@npm:^1.0.0": - version: 1.0.0 - resolution: "is-negated-glob@npm:1.0.0" - checksum: 10c0/f9d4fb2effd7a6d0e4770463e4cf708fbff2d5b660ab2043e5703e21e3234dfbe9974fdd8c08eb80f9898d5dd3d21b020e8d07fce387cd394a79991f01cd8d1c - languageName: node - linkType: hard - -"is-negative-zero@npm:^2.0.3": - version: 2.0.3 - resolution: "is-negative-zero@npm:2.0.3" - checksum: 10c0/bcdcf6b8b9714063ffcfa9929c575ac69bfdabb8f4574ff557dfc086df2836cf07e3906f5bbc4f2a5c12f8f3ba56af640c843cdfc74da8caed86c7c7d66fd08e - languageName: node - linkType: hard - -"is-number-object@npm:^1.0.4": - version: 1.0.7 - resolution: "is-number-object@npm:1.0.7" +"is-number-object@npm:^1.1.1": + version: 1.1.1 + resolution: "is-number-object@npm:1.1.1" dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/aad266da1e530f1804a2b7bd2e874b4869f71c98590b3964f9d06cc9869b18f8d1f4778f838ecd2a11011bce20aeecb53cb269ba916209b79c24580416b74b1b + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/97b451b41f25135ff021d85c436ff0100d84a039bb87ffd799cbcdbea81ef30c464ced38258cdd34f080be08fc3b076ca1f472086286d2aa43521d6ec6a79f53 languageName: node linkType: hard @@ -4926,22 +4281,6 @@ __metadata: languageName: node linkType: hard -"is-path-inside@npm:^3.0.3": - version: 3.0.3 - resolution: "is-path-inside@npm:3.0.3" - checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 - languageName: node - linkType: hard - -"is-plain-object@npm:^2.0.4": - version: 2.0.4 - resolution: "is-plain-object@npm:2.0.4" - dependencies: - isobject: "npm:^3.0.1" - checksum: 10c0/f050fdd5203d9c81e8c4df1b3ff461c4bc64e8b5ca383bcdde46131361d0a678e80bcf00b5257646f6c636197629644d53bd8e2375aea633de09a82d57e942f4 - languageName: node - linkType: hard - "is-plain-object@npm:^5.0.0": version: 5.0.0 resolution: "is-plain-object@npm:5.0.0" @@ -4949,22 +4288,15 @@ __metadata: languageName: node linkType: hard -"is-regex@npm:^1.1.4": - version: 1.1.4 - resolution: "is-regex@npm:1.1.4" - dependencies: - call-bind: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/bb72aae604a69eafd4a82a93002058c416ace8cde95873589a97fc5dac96a6c6c78a9977d487b7b95426a8f5073969124dd228f043f9f604f041f32fcc465fc1 - languageName: node - linkType: hard - -"is-relative@npm:^1.0.0": - version: 1.0.0 - resolution: "is-relative@npm:1.0.0" +"is-regex@npm:^1.2.1": + version: 1.2.1 + resolution: "is-regex@npm:1.2.1" dependencies: - is-unc-path: "npm:^1.0.0" - checksum: 10c0/61157c4be8594dd25ac6f0ef29b1218c36667259ea26698367a4d9f39ff9018368bc365c490b3c79be92dfb1e389e43c4b865c95709e7b3bc72c5932f751fb60 + call-bound: "npm:^1.0.2" + gopd: "npm:^1.2.0" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.2" + checksum: 10c0/1d3715d2b7889932349241680032e85d0b492cfcb045acb75ffc2c3085e8d561184f1f7e84b6f8321935b4aea39bc9c6ba74ed595b57ce4881a51dfdbc214e04 languageName: node linkType: hard @@ -4975,69 +4307,42 @@ __metadata: languageName: node linkType: hard -"is-shared-array-buffer@npm:^1.0.2, is-shared-array-buffer@npm:^1.0.3": - version: 1.0.3 - resolution: "is-shared-array-buffer@npm:1.0.3" - dependencies: - call-bind: "npm:^1.0.7" - checksum: 10c0/adc11ab0acbc934a7b9e5e9d6c588d4ec6682f6fea8cda5180721704fa32927582ede5b123349e32517fdadd07958973d24716c80e7ab198970c47acc09e59c7 - languageName: node - linkType: hard - -"is-stream@npm:^1.1.0": - version: 1.1.0 - resolution: "is-stream@npm:1.1.0" - checksum: 10c0/b8ae7971e78d2e8488d15f804229c6eed7ed36a28f8807a1815938771f4adff0e705218b7dab968270433f67103e4fef98062a0beea55d64835f705ee72c7002 - languageName: node - linkType: hard - -"is-string@npm:^1.0.5, is-string@npm:^1.0.7": - version: 1.0.7 - resolution: "is-string@npm:1.0.7" - dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/905f805cbc6eedfa678aaa103ab7f626aac9ebbdc8737abb5243acaa61d9820f8edc5819106b8fcd1839e33db21de9f0116ae20de380c8382d16dc2a601921f6 - languageName: node - linkType: hard - -"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": +"is-shared-array-buffer@npm:^1.0.4": version: 1.0.4 - resolution: "is-symbol@npm:1.0.4" + resolution: "is-shared-array-buffer@npm:1.0.4" dependencies: - has-symbols: "npm:^1.0.2" - checksum: 10c0/9381dd015f7c8906154dbcbf93fad769de16b4b961edc94f88d26eb8c555935caa23af88bda0c93a18e65560f6d7cca0fd5a3f8a8e1df6f1abbb9bead4502ef7 + call-bound: "npm:^1.0.3" + checksum: 10c0/65158c2feb41ff1edd6bbd6fd8403a69861cf273ff36077982b5d4d68e1d59278c71691216a4a64632bd76d4792d4d1d2553901b6666d84ade13bba5ea7bc7db languageName: node linkType: hard -"is-typed-array@npm:^1.1.13": - version: 1.1.13 - resolution: "is-typed-array@npm:1.1.13" +"is-string@npm:^1.0.7, is-string@npm:^1.1.1": + version: 1.1.1 + resolution: "is-string@npm:1.1.1" dependencies: - which-typed-array: "npm:^1.1.14" - checksum: 10c0/fa5cb97d4a80e52c2cc8ed3778e39f175a1a2ae4ddf3adae3187d69586a1fd57cfa0b095db31f66aa90331e9e3da79184cea9c6abdcd1abc722dc3c3edd51cca + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/2f518b4e47886bb81567faba6ffd0d8a8333cf84336e2e78bf160693972e32ad00fe84b0926491cc598dee576fdc55642c92e62d0cbe96bf36f643b6f956f94d languageName: node linkType: hard -"is-unc-path@npm:^1.0.0": - version: 1.0.0 - resolution: "is-unc-path@npm:1.0.0" +"is-symbol@npm:^1.0.4, is-symbol@npm:^1.1.1": + version: 1.1.1 + resolution: "is-symbol@npm:1.1.1" dependencies: - unc-path-regex: "npm:^0.1.2" - checksum: 10c0/ac1b78f9b748196e3be3d0e722cd4b0f98639247a130a8f2473a58b29baf63fdb1b1c5a12c830660c5ee6ef0279c5418ca8e346f98cbe1a29e433d7ae531d42e - languageName: node - linkType: hard - -"is-utf8@npm:^0.2.1": - version: 0.2.1 - resolution: "is-utf8@npm:0.2.1" - checksum: 10c0/3ed45e5b4ddfa04ed7e32c63d29c61b980ecd6df74698f45978b8c17a54034943bcbffb6ae243202e799682a66f90fef526f465dd39438745e9fe70794c1ef09 + call-bound: "npm:^1.0.2" + has-symbols: "npm:^1.1.0" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/f08f3e255c12442e833f75a9e2b84b2d4882fdfd920513cf2a4a2324f0a5b076c8fd913778e3ea5d258d5183e9d92c0cd20e04b03ab3df05316b049b2670af1e languageName: node linkType: hard -"is-valid-glob@npm:^1.0.0": - version: 1.0.0 - resolution: "is-valid-glob@npm:1.0.0" - checksum: 10c0/73aef3a2dc218b677362c876d1bc69699e10cfb50ecae6ac5fa946d7f5bb783721e81d9383bd120e4fb7bcfaa7ebe1edab0b707fd93051cc6e04f90f02d689b6 +"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15": + version: 1.1.15 + resolution: "is-typed-array@npm:1.1.15" + dependencies: + which-typed-array: "npm:^1.1.16" + checksum: 10c0/415511da3669e36e002820584e264997ffe277ff136643a3126cc949197e6ca3334d0f12d084e83b1994af2e9c8141275c741cf2b7da5a2ff62dd0cac26f76c4 languageName: node linkType: hard @@ -5048,36 +4353,22 @@ __metadata: languageName: node linkType: hard -"is-weakref@npm:^1.0.2": - version: 1.0.2 - resolution: "is-weakref@npm:1.0.2" +"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.0": + version: 1.1.0 + resolution: "is-weakref@npm:1.1.0" dependencies: - call-bind: "npm:^1.0.2" - checksum: 10c0/1545c5d172cb690c392f2136c23eec07d8d78a7f57d0e41f10078aa4f5daf5d7f57b6513a67514ab4f073275ad00c9822fc8935e00229d0a2089e1c02685d4b1 + call-bound: "npm:^1.0.2" + checksum: 10c0/aa835f62e29cb60132ecb3ec7d11bd0f39ec7322325abe8412b805aef47153ec2daefdb21759b049711c674f49b13202a31d8d126bcdff7d8671c78babd4ae5b languageName: node linkType: hard "is-weakset@npm:^2.0.3": - version: 2.0.3 - resolution: "is-weakset@npm:2.0.3" + version: 2.0.4 + resolution: "is-weakset@npm:2.0.4" dependencies: - call-bind: "npm:^1.0.7" - get-intrinsic: "npm:^1.2.4" - checksum: 10c0/8ad6141b6a400e7ce7c7442a13928c676d07b1f315ab77d9912920bf5f4170622f43126f111615788f26c3b1871158a6797c862233124507db0bcc33a9537d1a - languageName: node - linkType: hard - -"is-windows@npm:^1.0.1, is-windows@npm:^1.0.2": - version: 1.0.2 - resolution: "is-windows@npm:1.0.2" - checksum: 10c0/b32f418ab3385604a66f1b7a3ce39d25e8881dee0bd30816dc8344ef6ff9df473a732bcc1ec4e84fe99b2f229ae474f7133e8e93f9241686cfcf7eebe53ba7a5 - languageName: node - linkType: hard - -"is-wsl@npm:^1.1.0": - version: 1.1.0 - resolution: "is-wsl@npm:1.1.0" - checksum: 10c0/7ad0012f21092d6f586c7faad84755a8ef0da9b9ec295e4dc82313cce4e1a93a3da3c217265016461f9b141503fe55fa6eb1fd5457d3f05e8d1bdbb48e50c13a + call-bound: "npm:^1.0.3" + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/6491eba08acb8dc9532da23cb226b7d0192ede0b88f16199e592e4769db0a077119c1f5d2283d1e0d16d739115f70046e887e477eb0e66cd90e1bb29f28ba647 languageName: node linkType: hard @@ -5095,6 +4386,13 @@ __metadata: languageName: node linkType: hard +"isbot@npm:^5.1.17": + version: 5.1.22 + resolution: "isbot@npm:5.1.22" + checksum: 10c0/377b030dafcbc2e1f6eea36fc2a6072b769baffbd058b1ebc302a9ca1d8656d50039d1696238c9b955ed44a034cabe2bf30a89ab7a0e60f6ef67ffacb394d6c5 + languageName: node + linkType: hard + "isexe@npm:^2.0.0": version: 2.0.0 resolution: "isexe@npm:2.0.0" @@ -5109,23 +4407,17 @@ __metadata: languageName: node linkType: hard -"isobject@npm:^3.0.1": - version: 3.0.1 - resolution: "isobject@npm:3.0.1" - checksum: 10c0/03344f5064a82f099a0cd1a8a407f4c0d20b7b8485e8e816c39f249e9416b06c322e8dec5b842b6bb8a06de0af9cb48e7bc1b5352f0fadc2f0abac033db3d4db - languageName: node - linkType: hard - -"iterator.prototype@npm:^1.1.2": - version: 1.1.2 - resolution: "iterator.prototype@npm:1.1.2" +"iterator.prototype@npm:^1.1.4": + version: 1.1.5 + resolution: "iterator.prototype@npm:1.1.5" dependencies: - define-properties: "npm:^1.2.1" - get-intrinsic: "npm:^1.2.1" - has-symbols: "npm:^1.0.3" - reflect.getprototypeof: "npm:^1.0.4" - set-function-name: "npm:^2.0.1" - checksum: 10c0/a32151326095e916f306990d909f6bbf23e3221999a18ba686419535dcd1749b10ded505e89334b77dc4c7a58a8508978f0eb16c2c8573e6d412eb7eb894ea79 + define-data-property: "npm:^1.1.4" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.6" + get-proto: "npm:^1.0.0" + has-symbols: "npm:^1.1.0" + set-function-name: "npm:^2.0.2" + checksum: 10c0/f7a262808e1b41049ab55f1e9c29af7ec1025a000d243b83edf34ce2416eedd56079b117fa59376bb4a724110690f13aa8427f2ee29a09eec63a7e72367626d0 languageName: node linkType: hard @@ -5149,18 +4441,6 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.12.0": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" - dependencies: - argparse: "npm:^1.0.7" - esprima: "npm:^4.0.0" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b - languageName: node - linkType: hard - "js-yaml@npm:^4.1.0": version: 4.1.0 resolution: "js-yaml@npm:4.1.0" @@ -5179,12 +4459,21 @@ __metadata: languageName: node linkType: hard -"jsesc@npm:^2.5.1": - version: 2.5.2 - resolution: "jsesc@npm:2.5.2" +"jsesc@npm:3.0.2": + version: 3.0.2 + resolution: "jsesc@npm:3.0.2" + bin: + jsesc: bin/jsesc + checksum: 10c0/ef22148f9e793180b14d8a145ee6f9f60f301abf443288117b4b6c53d0ecd58354898dc506ccbb553a5f7827965cd38bc5fb726575aae93c5e8915e2de8290e1 + languageName: node + linkType: hard + +"jsesc@npm:^3.0.2": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" bin: jsesc: bin/jsesc - checksum: 10c0/dbf59312e0ebf2b4405ef413ec2b25abb5f8f4d9bc5fb8d9f90381622ebca5f2af6a6aa9a8578f65903f9e33990a6dc798edd0ce5586894bf0e9e31803a1de88 + checksum: 10c0/531779df5ec94f47e462da26b4cbf05eb88a83d9f08aac2ba04206508fc598527a153d08bd462bae82fc78b3eaa1a908e1a4a79f886e9238641c4cdefaf118b1 languageName: node linkType: hard @@ -5202,6 +4491,13 @@ __metadata: languageName: node linkType: hard +"json-parse-even-better-errors@npm:^3.0.0": + version: 3.0.2 + resolution: "json-parse-even-better-errors@npm:3.0.2" + checksum: 10c0/147f12b005768abe9fab78d2521ce2b7e1381a118413d634a40e6d907d7d10f5e9a05e47141e96d6853af7cc36d2c834d0a014251be48791e037ff2f13d2b94b + languageName: node + linkType: hard + "json-schema-traverse@npm:^0.4.1": version: 0.4.1 resolution: "json-schema-traverse@npm:0.4.1" @@ -5232,15 +4528,16 @@ __metadata: languageName: node linkType: hard -"jsonfile@npm:^4.0.0": - version: 4.0.0 - resolution: "jsonfile@npm:4.0.0" +"jsonfile@npm:^6.0.1": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" dependencies: graceful-fs: "npm:^4.1.6" + universalify: "npm:^2.0.0" dependenciesMeta: graceful-fs: optional: true - checksum: 10c0/7dc94b628d57a66b71fb1b79510d460d662eb975b5f876d723f81549c2e9cd316d58a2ddf742b2b93a4fa6b17b2accaf1a738a0e2ea114bdfb13a32e5377e480 + checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 languageName: node linkType: hard @@ -5256,19 +4553,7 @@ __metadata: languageName: node linkType: hard -"junit-report-builder@npm:^1.3.1": - version: 1.3.3 - resolution: "junit-report-builder@npm:1.3.3" - dependencies: - date-format: "npm:0.0.2" - lodash: "npm:^4.17.15" - mkdirp: "npm:^0.5.0" - xmlbuilder: "npm:^10.0.0" - checksum: 10c0/9371df1ebbd9b3782b9a45d75e2768228a2cc0bf30d95a007e9ec0702f2ea7c8b8ee189e7b50838dab36622749ef233b56f5fdabb136a7a62ae0116c0494f9f1 - languageName: node - linkType: hard - -"keyv@npm:^4.5.3, keyv@npm:^4.5.4": +"keyv@npm:^4.5.4": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -5277,10 +4562,12 @@ __metadata: languageName: node linkType: hard -"kind-of@npm:^1.1.0": - version: 1.1.0 - resolution: "kind-of@npm:1.1.0" - checksum: 10c0/24bded3cda73094d61a3f0780d6a5cac2fc25a898885eaf4f2bb1a8ce497e3eee5f3fa30b11455d35d3e8153f82724f43837524c2c80737211d8dc7c17ffe572 +"keyv@npm:^5.2.3": + version: 5.2.3 + resolution: "keyv@npm:5.2.3" + dependencies: + "@keyv/serialize": "npm:^1.0.2" + checksum: 10c0/76b87dd2c21a4c1c5c05e9ff3b85670beab98f153429aaa9aee544b72b65411a7d80d96c29f3fef3e9dcebb672c8268e7209d6f80beb5da939b4e019722948b4 languageName: node linkType: hard @@ -5291,44 +4578,10 @@ __metadata: languageName: node linkType: hard -"known-css-properties@npm:^0.31.0": - version: 0.31.0 - resolution: "known-css-properties@npm:0.31.0" - checksum: 10c0/8e643cbed32d7733278ba215c43dfc38fc7e77d391f66b81f07228af97d69ce2cebba03a9bc1ac859479e162aea812e258b30f4c93cb7b7adfd0622a141d36da - languageName: node - linkType: hard - -"known-css-properties@npm:^0.34.0": - version: 0.34.0 - resolution: "known-css-properties@npm:0.34.0" - checksum: 10c0/8549969f02b1858554e89faf4548ece37625d0d21b42e8d54fa53184e68e1512ef2531bb15941575ad816361ab7447b598c1b18c1b96ce0a868333d1a68f2e2c - languageName: node - linkType: hard - -"lazystream@npm:^1.0.0": - version: 1.0.1 - resolution: "lazystream@npm:1.0.1" - dependencies: - readable-stream: "npm:^2.0.5" - checksum: 10c0/ea4e509a5226ecfcc303ba6782cc269be8867d372b9bcbd625c88955df1987ea1a20da4643bf9270336415a398d33531ebf0d5f0d393b9283dc7c98bfcbd7b69 - languageName: node - linkType: hard - -"lcid@npm:^2.0.0": - version: 2.0.0 - resolution: "lcid@npm:2.0.0" - dependencies: - invert-kv: "npm:^2.0.0" - checksum: 10c0/53777f5946ee7cfa600ebdd8f18019c110f5ca1fd776e183a1f24e74cd200eb3718e535b2693caf762af1efed0714559192a095c4665e7808fd6d807b9797502 - languageName: node - linkType: hard - -"lead@npm:^1.0.0": - version: 1.0.0 - resolution: "lead@npm:1.0.0" - dependencies: - flush-write-stream: "npm:^1.0.2" - checksum: 10c0/355fa4cce74a62cec9d4dc4520a8a6a3bd0472e88e070208a895aa1d144bd5f35a099e0f0d4938f4bc909b6a40fb64cc389e0ec32cc86471540e7a643ffe0519 +"known-css-properties@npm:^0.35.0": + version: 0.35.0 + resolution: "known-css-properties@npm:0.35.0" + checksum: 10c0/04a4a2859d62670bb25b5b28091a1f03f6f0d3298a5ed3e7476397c5287b98c434f6dd9c004a0c67a53b7f21acc93f83c972e98c122f568d4d0bd21fd2b90fb6 languageName: node linkType: hard @@ -5349,26 +4602,6 @@ __metadata: languageName: node linkType: hard -"linez@npm:^4.1.4": - version: 4.1.4 - resolution: "linez@npm:4.1.4" - dependencies: - buffer-equals: "npm:^1.0.4" - iconv-lite: "npm:^0.4.15" - checksum: 10c0/ce3f5715b20c4e51b2e50e26058f5c0aa49d9be82edc8b2ca662b3ca3cfe4a97d020125686af5f94450094f36e09bbb86f55362d8d5167ddc0329f8bc999cd15 - languageName: node - linkType: hard - -"locate-path@npm:^3.0.0": - version: 3.0.0 - resolution: "locate-path@npm:3.0.0" - dependencies: - p-locate: "npm:^3.0.0" - path-exists: "npm:^3.0.0" - checksum: 10c0/3db394b7829a7fe2f4fbdd25d3c4689b85f003c318c5da4052c7e56eed697da8f1bce5294f685c69ff76e32cba7a33629d94396976f6d05fb7f4c755c5e2ae8b - languageName: node - linkType: hard - "locate-path@npm:^6.0.0": version: 6.0.0 resolution: "locate-path@npm:6.0.0" @@ -5378,13 +4611,6 @@ __metadata: languageName: node linkType: hard -"lodash.get@npm:^4.4.2": - version: 4.4.2 - resolution: "lodash.get@npm:4.4.2" - checksum: 10c0/48f40d471a1654397ed41685495acb31498d5ed696185ac8973daef424a749ca0c7871bf7b665d5c14f5cc479394479e0307e781f61d5573831769593411be6e - languageName: node - linkType: hard - "lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" @@ -5399,14 +4625,14 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.11, lodash@npm:^4.17.15, lodash@npm:^4.17.21": +"lodash@npm:^4.17.21": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c languageName: node linkType: hard -"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": +"loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" dependencies: @@ -5417,16 +4643,6 @@ __metadata: languageName: node linkType: hard -"lowlight@npm:~1.9.0": - version: 1.9.2 - resolution: "lowlight@npm:1.9.2" - dependencies: - fault: "npm:^1.0.2" - highlight.js: "npm:~9.12.0" - checksum: 10c0/e9f5182ff5196905b3ac6ed5f74f92078eb60f17a5dcb08cbdc83aa21903d59416876dafd77995f9e3d7780b390d3df378aed9f9404dfc81fe83237d0fbef952 - languageName: node - linkType: hard - "lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" @@ -5434,16 +4650,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^4.0.1, lru-cache@npm:^4.1.5": - version: 4.1.5 - resolution: "lru-cache@npm:4.1.5" - dependencies: - pseudomap: "npm:^1.0.2" - yallist: "npm:^2.1.2" - checksum: 10c0/1ca5306814e5add9ec63556d6fd9b24a4ecdeaef8e9cea52cbf30301e6b88c8d8ddc7cab45b59b56eb763e6c45af911585dc89925a074ab65e1502e3fe8103cf - languageName: node - linkType: hard - "lru-cache@npm:^5.1.1": version: 5.1.1 resolution: "lru-cache@npm:5.1.1" @@ -5453,32 +4659,36 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^13.0.0": - version: 13.0.1 - resolution: "make-fetch-happen@npm:13.0.1" +"lru-cache@npm:^7.4.4, lru-cache@npm:^7.5.1": + version: 7.18.3 + resolution: "lru-cache@npm:7.18.3" + checksum: 10c0/b3a452b491433db885beed95041eb104c157ef7794b9c9b4d647be503be91769d11206bb573849a16b4cc0d03cbd15ffd22df7960997788b74c1d399ac7a4fed + languageName: node + linkType: hard + +"make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" dependencies: - "@npmcli/agent": "npm:^2.0.0" - cacache: "npm:^18.0.0" + "@npmcli/agent": "npm:^3.0.0" + cacache: "npm:^19.0.1" http-cache-semantics: "npm:^4.1.1" - is-lambda: "npm:^1.0.1" minipass: "npm:^7.0.2" - minipass-fetch: "npm:^3.0.0" + minipass-fetch: "npm:^4.0.0" minipass-flush: "npm:^1.0.5" minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^0.6.3" - proc-log: "npm:^4.2.0" + negotiator: "npm:^1.0.0" + proc-log: "npm:^5.0.0" promise-retry: "npm:^2.0.1" - ssri: "npm:^10.0.0" - checksum: 10c0/df5f4dbb6d98153b751bccf4dc4cc500de85a96a9331db9805596c46aa9f99d9555983954e6c1266d9f981ae37a9e4647f42b9a4bb5466f867f4012e582c9e7e + ssri: "npm:^12.0.0" + checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 languageName: node linkType: hard -"map-age-cleaner@npm:^0.1.1": - version: 0.1.3 - resolution: "map-age-cleaner@npm:0.1.3" - dependencies: - p-defer: "npm:^1.0.0" - checksum: 10c0/7495236c7b0950956c144fd8b4bc6399d4e78072a8840a4232fe1c4faccbb5eb5d842e5c0a56a60afc36d723f315c1c672325ca03c1b328650f7fcc478f385fd +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f languageName: node linkType: hard @@ -5489,31 +4699,24 @@ __metadata: languageName: node linkType: hard -"mdn-data@npm:2.0.30": - version: 2.0.30 - resolution: "mdn-data@npm:2.0.30" - checksum: 10c0/a2c472ea16cee3911ae742593715aa4c634eb3d4b9f1e6ada0902aa90df13dcbb7285d19435f3ff213ebaa3b2e0c0265c1eb0e3fb278fda7f8919f046a410cd9 +"mdn-data@npm:2.12.2": + version: 2.12.2 + resolution: "mdn-data@npm:2.12.2" + checksum: 10c0/b22443b71d70f72ccc3c6ba1608035431a8fc18c3c8fc53523f06d20e05c2ac10f9b53092759a2ca85cf02f0d37036f310b581ce03e7b99ac74d388ef8152ade languageName: node linkType: hard -"mem@npm:^3.0.1": - version: 3.0.1 - resolution: "mem@npm:3.0.1" - dependencies: - mimic-fn: "npm:^1.0.0" - p-is-promise: "npm:^1.1.0" - checksum: 10c0/5fdd03a26dbf8f1b8f080771ba442dd220ff6e0f25d652b2dbeeb1318f077c22ee4c02aefca9cafdfc544468ea7e6d153fea2ccf85e59761f9f185305d87c734 +"mdn-data@npm:^2.15.0": + version: 2.15.0 + resolution: "mdn-data@npm:2.15.0" + checksum: 10c0/8a0c83198b013d43c2c43bd19c38d44e397b3fe097d269fa3c093d8c112acf12d0be4d892ba50a4802cccb91dd4f720218a66e675150ea2cc3d8aa0d32247e76 languageName: node linkType: hard -"mem@npm:^4.0.0": - version: 4.3.0 - resolution: "mem@npm:4.3.0" - dependencies: - map-age-cleaner: "npm:^0.1.1" - mimic-fn: "npm:^2.0.0" - p-is-promise: "npm:^2.0.0" - checksum: 10c0/fc74e16d877322aafe869fe92a5c3109b1683195f4ef507920322a2fc8cd9998f3299f716c9853e10304c06a528fd9b763de24bdd7ce0b448155f05c9fad8612 +"media-typer@npm:0.3.0": + version: 0.3.0 + resolution: "media-typer@npm:0.3.0" + checksum: 10c0/d160f31246907e79fed398470285f21bafb45a62869dc469b1c8877f3f064f5eabc4bcc122f9479b8b605bc5c76187d7871cf84c4ee3ecd3e487da1993279928 languageName: node linkType: hard @@ -5524,6 +4727,13 @@ __metadata: languageName: node linkType: hard +"merge-descriptors@npm:1.0.3": + version: 1.0.3 + resolution: "merge-descriptors@npm:1.0.3" + checksum: 10c0/866b7094afd9293b5ea5dcd82d71f80e51514bed33b4c4e9f516795dc366612a4cbb4dc94356e943a8a6914889a914530badff27f397191b9b75cda20b6bae93 + languageName: node + linkType: hard + "merge2@npm:^1.3.0, merge2@npm:^1.4.1": version: 1.4.1 resolution: "merge2@npm:1.4.1" @@ -5531,13 +4741,20 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.4, micromatch@npm:^4.0.7": - version: 4.0.7 - resolution: "micromatch@npm:4.0.7" +"methods@npm:~1.1.2": + version: 1.1.2 + resolution: "methods@npm:1.1.2" + checksum: 10c0/bdf7cc72ff0a33e3eede03708c08983c4d7a173f91348b4b1e4f47d4cdbf734433ad971e7d1e8c77247d9e5cd8adb81ea4c67b0a2db526b758b2233d7814b8b2 + languageName: node + linkType: hard + +"micromatch@npm:^4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" dependencies: braces: "npm:^3.0.3" picomatch: "npm:^2.3.1" - checksum: 10c0/58fa99bc5265edec206e9163a1d2cec5fabc46a5b473c45f4a700adce88c2520456ae35f2b301e4410fb3afb27e9521fb2813f6fc96be0a48a89430e0916a772 + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 languageName: node linkType: hard @@ -5548,7 +4765,14 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.12": +"mime-db@npm:>= 1.43.0 < 2": + version: 1.53.0 + resolution: "mime-db@npm:1.53.0" + checksum: 10c0/1dcc37ba8ed5d1c179f5c6f0837e8db19371d5f2ea3690c3c2f3fa8c3858f976851d3460b172b4dee78ebd606762cbb407aa398545fbacd539e519f858cd7bf4 + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -5557,21 +4781,16 @@ __metadata: languageName: node linkType: hard -"mimic-fn@npm:^1.0.0": - version: 1.2.0 - resolution: "mimic-fn@npm:1.2.0" - checksum: 10c0/ad55214aec6094c0af4c0beec1a13787556f8116ed88807cf3f05828500f21f93a9482326bcd5a077ae91e3e8795b4e76b5b4c8bb12237ff0e4043a365516cba - languageName: node - linkType: hard - -"mimic-fn@npm:^2.0.0": - version: 2.1.0 - resolution: "mimic-fn@npm:2.1.0" - checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 +"mime@npm:1.6.0": + version: 1.6.0 + resolution: "mime@npm:1.6.0" + bin: + mime: cli.js + checksum: 10c0/b92cd0adc44888c7135a185bfd0dddc42c32606401c72896a842ae15da71eb88858f17669af41e498b463cd7eb998f7b48939a25b08374c7924a9c8a6f8a81b0 languageName: node linkType: hard -"minimatch@npm:^3.0.0, minimatch@npm:^3.0.3, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -5580,7 +4799,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.3, minimatch@npm:^9.0.4": +"minimatch@npm:^9.0.4": version: 9.0.5 resolution: "minimatch@npm:9.0.5" dependencies: @@ -5589,13 +4808,6 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.6": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 - languageName: node - linkType: hard - "minipass-collect@npm:^2.0.1": version: 2.0.1 resolution: "minipass-collect@npm:2.0.1" @@ -5605,18 +4817,18 @@ __metadata: languageName: node linkType: hard -"minipass-fetch@npm:^3.0.0": - version: 3.0.5 - resolution: "minipass-fetch@npm:3.0.5" +"minipass-fetch@npm:^4.0.0": + version: 4.0.0 + resolution: "minipass-fetch@npm:4.0.0" dependencies: encoding: "npm:^0.1.13" minipass: "npm:^7.0.3" minipass-sized: "npm:^1.0.3" - minizlib: "npm:^2.1.2" + minizlib: "npm:^3.0.1" dependenciesMeta: encoding: optional: true - checksum: 10c0/9d702d57f556274286fdd97e406fc38a2f5c8d15e158b498d7393b1105974b21249289ec571fa2b51e038a4872bfc82710111cf75fae98c662f3d6f95e72152b + checksum: 10c0/7fa30ce7c373fb6f94c086b374fff1589fd7e78451855d2d06c2e2d9df936d131e73e952163063016592ed3081444bd8d1ea608533313b0149156ce23311da4b languageName: node linkType: hard @@ -5656,47 +4868,42 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0": - version: 5.0.0 - resolution: "minipass@npm:5.0.0" - checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 - languageName: node - linkType: hard - -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2": +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": version: 7.1.2 resolution: "minipass@npm:7.1.2" checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 languageName: node linkType: hard -"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": - version: 2.1.2 - resolution: "minizlib@npm:2.1.2" +"minizlib@npm:^3.0.1": + version: 3.0.1 + resolution: "minizlib@npm:3.0.1" dependencies: - minipass: "npm:^3.0.0" - yallist: "npm:^4.0.0" - checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 + minipass: "npm:^7.0.4" + rimraf: "npm:^5.0.5" + checksum: 10c0/82f8bf70da8af656909a8ee299d7ed3b3372636749d29e105f97f20e88971be31f5ed7642f2e898f00283b68b701cc01307401cdc209b0efc5dd3818220e5093 languageName: node linkType: hard -"mkdirp@npm:^0.5.0": - version: 0.5.6 - resolution: "mkdirp@npm:0.5.6" - dependencies: - minimist: "npm:^1.2.6" +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" bin: - mkdirp: bin/cmd.js - checksum: 10c0/e2e2be789218807b58abced04e7b49851d9e46e88a2f9539242cc8a92c9b5c3a0b9bab360bd3014e02a140fc4fbc58e31176c408b493f8a2a6f4986bd7527b01 + mkdirp: dist/cjs/src/bin.js + checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d languageName: node linkType: hard -"mkdirp@npm:^1.0.3": - version: 1.0.4 - resolution: "mkdirp@npm:1.0.4" - bin: - mkdirp: bin/cmd.js - checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf +"morgan@npm:^1.10.0": + version: 1.10.0 + resolution: "morgan@npm:1.10.0" + dependencies: + basic-auth: "npm:~2.0.1" + debug: "npm:2.6.9" + depd: "npm:~2.0.0" + on-finished: "npm:~2.3.0" + on-headers: "npm:~1.0.2" + checksum: 10c0/684db061daca28f8d8e3bfd50bd0d21734401b46f74ea76f6df7785d45698fcd98f6d3b81a6bad59f8288c429183afba728c428e8f66d2e8c30fd277af3b5b3a languageName: node linkType: hard @@ -5707,38 +4914,19 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.2": - version: 2.1.2 - resolution: "ms@npm:2.1.2" - checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc - languageName: node - linkType: hard - -"ms@npm:^2.1.3": +"ms@npm:2.1.3, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 languageName: node linkType: hard -"multimatch@npm:^2.0.0": - version: 2.1.0 - resolution: "multimatch@npm:2.1.0" - dependencies: - array-differ: "npm:^1.0.0" - array-union: "npm:^1.0.1" - arrify: "npm:^1.0.0" - minimatch: "npm:^3.0.0" - checksum: 10c0/acfdecb0bb259009abb4c484f2107c99974d7c4fb590fb2e4e170456ca4ced322335883e26ef874afaa6a6189cc9325a3c68498371644a3b6776f08a6820fbb1 - languageName: node - linkType: hard - -"nanoid@npm:^3.3.7": - version: 3.3.7 - resolution: "nanoid@npm:3.3.7" +"nanoid@npm:^3.3.8": + version: 3.3.8 + resolution: "nanoid@npm:3.3.8" bin: nanoid: bin/nanoid.cjs - checksum: 10c0/e3fb661aa083454f40500473bb69eedb85dc160e763150b9a2c567c7e9ff560ce028a9f833123b618a6ea742e311138b591910e795614a629029e86e180660f3 + checksum: 10c0/4b1bb29f6cfebf3be3bc4ad1f1296fb0a10a3043a79f34fbffe75d1621b4318319211cd420549459018ea3592f0d2f159247a6f874911d6d26eaaadda2478120 languageName: node linkType: hard @@ -5749,103 +4937,146 @@ __metadata: languageName: node linkType: hard -"negotiator@npm:^0.6.3": +"negotiator@npm:0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3" checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 languageName: node linkType: hard -"nice-try@npm:^1.0.4": - version: 1.0.5 - resolution: "nice-try@npm:1.0.5" - checksum: 10c0/95568c1b73e1d0d4069a3e3061a2102d854513d37bcfda73300015b7ba4868d3b27c198d1dbbd8ebdef4112fc2ed9e895d4a0f2e1cce0bd334f2a1346dc9205f +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b + languageName: node + linkType: hard + +"negotiator@npm:~0.6.4": + version: 0.6.4 + resolution: "negotiator@npm:0.6.4" + checksum: 10c0/3e677139c7fb7628a6f36335bf11a885a62c21d5390204590a1a214a5631fcbe5ea74ef6a610b60afe84b4d975cbe0566a23f20ee17c77c73e74b80032108dea + languageName: node + linkType: hard + +"node-domexception@npm:^1.0.0": + version: 1.0.0 + resolution: "node-domexception@npm:1.0.0" + checksum: 10c0/5e5d63cda29856402df9472335af4bb13875e1927ad3be861dc5ebde38917aecbf9ae337923777af52a48c426b70148815e890a5d72760f1b4d758cc671b1a2b + languageName: node + linkType: hard + +"node-fetch@npm:^3.3.2": + version: 3.3.2 + resolution: "node-fetch@npm:3.3.2" + dependencies: + data-uri-to-buffer: "npm:^4.0.0" + fetch-blob: "npm:^3.1.4" + formdata-polyfill: "npm:^4.0.10" + checksum: 10c0/f3d5e56190562221398c9f5750198b34cf6113aa304e34ee97c94fd300ec578b25b2c2906edba922050fce983338fde0d5d34fcb0fc3336ade5bd0e429ad7538 languageName: node linkType: hard "node-gyp@npm:latest": - version: 10.2.0 - resolution: "node-gyp@npm:10.2.0" + version: 11.0.0 + resolution: "node-gyp@npm:11.0.0" dependencies: env-paths: "npm:^2.2.0" exponential-backoff: "npm:^3.1.1" glob: "npm:^10.3.10" graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^13.0.0" - nopt: "npm:^7.0.0" - proc-log: "npm:^4.1.0" + make-fetch-happen: "npm:^14.0.3" + nopt: "npm:^8.0.0" + proc-log: "npm:^5.0.0" semver: "npm:^7.3.5" - tar: "npm:^6.2.1" - which: "npm:^4.0.0" + tar: "npm:^7.4.3" + which: "npm:^5.0.0" bin: node-gyp: bin/node-gyp.js - checksum: 10c0/00630d67dbd09a45aee0a5d55c05e3916ca9e6d427ee4f7bc392d2d3dc5fad7449b21fc098dd38260a53d9dcc9c879b36704a1994235d4707e7271af7e9a835b - languageName: node - linkType: hard - -"node-releases@npm:^2.0.14": - version: 2.0.14 - resolution: "node-releases@npm:2.0.14" - checksum: 10c0/199fc93773ae70ec9969bc6d5ac5b2bbd6eb986ed1907d751f411fef3ede0e4bfdb45ceb43711f8078bea237b6036db8b1bf208f6ff2b70c7d615afd157f3ab9 + checksum: 10c0/a3b885bbee2d271f1def32ba2e30ffcf4562a3db33af06b8b365e053153e2dd2051b9945783c3c8e852d26a0f20f65b251c7e83361623383a99635c0280ee573 languageName: node linkType: hard -"node-releases@npm:^2.0.18": - version: 2.0.18 - resolution: "node-releases@npm:2.0.18" - checksum: 10c0/786ac9db9d7226339e1dc84bbb42007cb054a346bd9257e6aa154d294f01bc6a6cddb1348fa099f079be6580acbb470e3c048effd5f719325abd0179e566fd27 +"node-releases@npm:^2.0.19": + version: 2.0.19 + resolution: "node-releases@npm:2.0.19" + checksum: 10c0/52a0dbd25ccf545892670d1551690fe0facb6a471e15f2cfa1b20142a5b255b3aa254af5f59d6ecb69c2bec7390bc643c43aa63b13bf5e64b6075952e716b1aa languageName: node linkType: hard -"nopt@npm:^7.0.0": - version: 7.2.1 - resolution: "nopt@npm:7.2.1" +"nopt@npm:^8.0.0": + version: 8.1.0 + resolution: "nopt@npm:8.1.0" dependencies: - abbrev: "npm:^2.0.0" + abbrev: "npm:^3.0.0" bin: nopt: bin/nopt.js - checksum: 10c0/a069c7c736767121242037a22a788863accfa932ab285a1eb569eb8cd534b09d17206f68c37f096ae785647435e0c5a5a0a67b42ec743e481a455e5ae6a6df81 + checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef languageName: node linkType: hard -"normalize-path@npm:^2.1.1": - version: 2.1.1 - resolution: "normalize-path@npm:2.1.1" +"normalize-package-data@npm:^5.0.0": + version: 5.0.0 + resolution: "normalize-package-data@npm:5.0.0" dependencies: - remove-trailing-separator: "npm:^1.0.1" - checksum: 10c0/db814326ff88057437233361b4c7e9cac7b54815b051b57f2d341ce89b1d8ec8cbd43e7fa95d7652b3b69ea8fcc294b89b8530d556a84d1bdace94229e1e9a8b + hosted-git-info: "npm:^6.0.0" + is-core-module: "npm:^2.8.1" + semver: "npm:^7.3.5" + validate-npm-package-license: "npm:^3.0.4" + checksum: 10c0/705fe66279edad2f93f6e504d5dc37984e404361a3df921a76ab61447eb285132d20ff261cc0bee9566b8ce895d75fcfec913417170add267e2873429fe38392 languageName: node linkType: hard -"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": +"normalize-path@npm:^3.0.0": version: 3.0.0 resolution: "normalize-path@npm:3.0.0" checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 languageName: node linkType: hard -"now-and-later@npm:^2.0.0": - version: 2.0.1 - resolution: "now-and-later@npm:2.0.1" +"normalize-range@npm:^0.1.2": + version: 0.1.2 + resolution: "normalize-range@npm:0.1.2" + checksum: 10c0/bf39b73a63e0a42ad1a48c2bd1bda5a07ede64a7e2567307a407674e595bcff0fa0d57e8e5f1e7fa5e91000797c7615e13613227aaaa4d6d6e87f5bd5cc95de6 + languageName: node + linkType: hard + +"npm-install-checks@npm:^6.0.0": + version: 6.3.0 + resolution: "npm-install-checks@npm:6.3.0" dependencies: - once: "npm:^1.3.2" - checksum: 10c0/a3b123b6a7378f300cf45b381efb69b7d085a4151dceeca8442e7e08aa50f6e44d15af114261dca201e19be85f9e25dd61ad74aab62ad3675210bfc60f1f19f5 + semver: "npm:^7.1.1" + checksum: 10c0/b046ef1de9b40f5d3a9831ce198e1770140a1c3f253dae22eb7b06045191ef79f18f1dcc15a945c919b3c161426861a28050abd321bf439190185794783b6452 languageName: node linkType: hard -"npm-run-path@npm:^2.0.0": - version: 2.0.2 - resolution: "npm-run-path@npm:2.0.2" +"npm-normalize-package-bin@npm:^3.0.0": + version: 3.0.1 + resolution: "npm-normalize-package-bin@npm:3.0.1" + checksum: 10c0/f1831a7f12622840e1375c785c3dab7b1d82dd521211c17ee5e9610cd1a34d8b232d3fdeebf50c170eddcb321d2c644bf73dbe35545da7d588c6b3fa488db0a5 + languageName: node + linkType: hard + +"npm-package-arg@npm:^10.0.0": + version: 10.1.0 + resolution: "npm-package-arg@npm:10.1.0" dependencies: - path-key: "npm:^2.0.0" - checksum: 10c0/95549a477886f48346568c97b08c4fda9cdbf7ce8a4fbc2213f36896d0d19249e32d68d7451bdcbca8041b5fba04a6b2c4a618beaf19849505c05b700740f1de + hosted-git-info: "npm:^6.0.0" + proc-log: "npm:^3.0.0" + semver: "npm:^7.3.5" + validate-npm-package-name: "npm:^5.0.0" + checksum: 10c0/ab56ed775b48e22755c324536336e3749b6a17763602bc0fb0d7e8b298100c2de8b5e2fb1d4fb3f451e9e076707a27096782e9b3a8da0c5b7de296be184b5a90 languageName: node linkType: hard -"number-is-nan@npm:^1.0.0": - version: 1.0.1 - resolution: "number-is-nan@npm:1.0.1" - checksum: 10c0/cb97149006acc5cd512c13c1838223abdf202e76ddfa059c5e8e7507aff2c3a78cd19057516885a2f6f5b576543dc4f7b6f3c997cc7df53ae26c260855466df5 +"npm-pick-manifest@npm:^8.0.0": + version: 8.0.2 + resolution: "npm-pick-manifest@npm:8.0.2" + dependencies: + npm-install-checks: "npm:^6.0.0" + npm-normalize-package-bin: "npm:^3.0.0" + npm-package-arg: "npm:^10.0.0" + semver: "npm:^7.3.5" + checksum: 10c0/9e58f7732203dbfdd7a338d6fd691c564017fd2ebfaa0ea39528a21db0c99f26370c759d99a0c5684307b79dbf76fa20e387010358a8651e273dc89930e922a0 languageName: node linkType: hard @@ -5856,10 +5087,10 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.13.1": - version: 1.13.2 - resolution: "object-inspect@npm:1.13.2" - checksum: 10c0/b97835b4c91ec37b5fd71add84f21c3f1047d1d155d00c0fcd6699516c256d4fcc6ff17a1aced873197fe447f91a3964178fd2a67a1ee2120cdaf60e81a050b4 +"object-inspect@npm:^1.13.3": + version: 1.13.3 + resolution: "object-inspect@npm:1.13.3" + checksum: 10c0/cc3f15213406be89ffdc54b525e115156086796a515410a8d390215915db9f23c8eab485a06f1297402f440a33715fe8f71a528c1dcbad6e1a3bcaf5a46921d4 languageName: node linkType: hard @@ -5870,15 +5101,17 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.0.4, object.assign@npm:^4.1.4, object.assign@npm:^4.1.5": - version: 4.1.5 - resolution: "object.assign@npm:4.1.5" +"object.assign@npm:^4.1.4, object.assign@npm:^4.1.7": + version: 4.1.7 + resolution: "object.assign@npm:4.1.7" dependencies: - call-bind: "npm:^1.0.5" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" define-properties: "npm:^1.2.1" - has-symbols: "npm:^1.0.3" + es-object-atoms: "npm:^1.0.0" + has-symbols: "npm:^1.1.0" object-keys: "npm:^1.1.1" - checksum: 10c0/60108e1fa2706f22554a4648299b0955236c62b3685c52abf4988d14fffb0e7731e00aa8c6448397e3eb63d087dcc124a9f21e1980f36d0b2667f3c18bacd469 + checksum: 10c0/3b2732bd860567ea2579d1567525168de925a8d852638612846bd8082b3a1602b7b89b67b09913cbb5b9bd6e95923b2ae73580baa9d99cb4e990564e8cbf5ddc languageName: node linkType: hard @@ -5905,38 +5138,44 @@ __metadata: languageName: node linkType: hard -"object.hasown@npm:^1.1.4": - version: 1.1.4 - resolution: "object.hasown@npm:1.1.4" +"object.values@npm:^1.1.6, object.values@npm:^1.2.1": + version: 1.2.1 + resolution: "object.values@npm:1.2.1" dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" es-object-atoms: "npm:^1.0.0" - checksum: 10c0/f23187b08d874ef1aea060118c8259eb7f99f93c15a50771d710569534119062b90e087b92952b2d0fb1bb8914d61fb0b43c57fb06f622aaad538fe6868ab987 + checksum: 10c0/3c47814fdc64842ae3d5a74bc9d06bdd8d21563c04d9939bf6716a9c00596a4ebc342552f8934013d1ec991c74e3671b26710a0c51815f0b603795605ab6b2c9 languageName: node linkType: hard -"object.omit@npm:^3.0.0": - version: 3.0.0 - resolution: "object.omit@npm:3.0.0" +"on-finished@npm:2.4.1": + version: 2.4.1 + resolution: "on-finished@npm:2.4.1" dependencies: - is-extendable: "npm:^1.0.0" - checksum: 10c0/8e16a3087580b67ca7532539930dc5cf2eb1b12112cfdfc539412db8d2e5d5ba541ea9ffc9df936fc84cf362832806b8a4091d064610728614193eee8f26c473 + ee-first: "npm:1.1.1" + checksum: 10c0/46fb11b9063782f2d9968863d9cbba33d77aa13c17f895f56129c274318b86500b22af3a160fe9995aa41317efcd22941b6eba747f718ced08d9a73afdb087b4 languageName: node linkType: hard -"object.values@npm:^1.1.6, object.values@npm:^1.2.0": - version: 1.2.0 - resolution: "object.values@npm:1.2.0" +"on-finished@npm:~2.3.0": + version: 2.3.0 + resolution: "on-finished@npm:2.3.0" dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/15809dc40fd6c5529501324fec5ff08570b7d70fb5ebbe8e2b3901afec35cf2b3dc484d1210c6c642cd3e7e0a5e18dd1d6850115337fef46bdae14ab0cb18ac3 + ee-first: "npm:1.1.1" + checksum: 10c0/c904f9e518b11941eb60279a3cbfaf1289bd0001f600a950255b1dede9fe3df8cd74f38483550b3bb9485165166acb5db500c3b4c4337aec2815c88c96fcc2ea languageName: node linkType: hard -"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.3.2, once@npm:^1.4.0": +"on-headers@npm:~1.0.2": + version: 1.0.2 + resolution: "on-headers@npm:1.0.2" + checksum: 10c0/f649e65c197bf31505a4c0444875db0258e198292f34b884d73c2f751e91792ef96bb5cf89aa0f4fecc2e4dc662461dda606b1274b0e564f539cae5d2f5fc32f + languageName: node + linkType: hard + +"once@npm:^1.3.1, once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" dependencies: @@ -5959,60 +5198,14 @@ __metadata: languageName: node linkType: hard -"ordered-read-streams@npm:^1.0.0": +"own-keys@npm:^1.0.1": version: 1.0.1 - resolution: "ordered-read-streams@npm:1.0.1" - dependencies: - readable-stream: "npm:^2.0.1" - checksum: 10c0/6243667adbcea69527cfebd1e483f0d06109dea578e4bbd6f185acfd1c3cc5f059b887fe600ba3084498924b9566405c0595819e02caf9ce88bc604e90b652b8 - languageName: node - linkType: hard - -"os-locale@npm:^3.0.0, os-locale@npm:^3.0.1": - version: 3.1.0 - resolution: "os-locale@npm:3.1.0" - dependencies: - execa: "npm:^1.0.0" - lcid: "npm:^2.0.0" - mem: "npm:^4.0.0" - checksum: 10c0/db017958884d111af9060613f55aa8a41d67d7210a96cd8e20ac2bc93daed945f6d6dbb0e2085355fe954258fe42e82bfc180c5b6bdbc90151d135d435dde2da - languageName: node - linkType: hard - -"p-defer@npm:^1.0.0": - version: 1.0.0 - resolution: "p-defer@npm:1.0.0" - checksum: 10c0/ed603c3790e74b061ac2cb07eb6e65802cf58dce0fbee646c113a7b71edb711101329ad38f99e462bd2e343a74f6e9366b496a35f1d766c187084d3109900487 - languageName: node - linkType: hard - -"p-finally@npm:^1.0.0": - version: 1.0.0 - resolution: "p-finally@npm:1.0.0" - checksum: 10c0/6b8552339a71fe7bd424d01d8451eea92d379a711fc62f6b2fe64cad8a472c7259a236c9a22b4733abca0b5666ad503cb497792a0478c5af31ded793d00937e7 - languageName: node - linkType: hard - -"p-is-promise@npm:^1.1.0": - version: 1.1.0 - resolution: "p-is-promise@npm:1.1.0" - checksum: 10c0/b3f945a18e3e16a7a5fda131250f7a96f59ceb6fdceee87576044790b99b97a5ab5d4a9ae878d2746f762b99efc0a8c1e3b21b5269e3537fbfdb443a38eeb9bf - languageName: node - linkType: hard - -"p-is-promise@npm:^2.0.0": - version: 2.1.0 - resolution: "p-is-promise@npm:2.1.0" - checksum: 10c0/115c50960739c26e9b3e8a3bd453341a3b02a2e5ba41109b904ff53deb0b941ef81b196e106dc11f71698f591b23055c82d81188b7b670e9d5e28bc544b0674d - languageName: node - linkType: hard - -"p-limit@npm:^2.0.0": - version: 2.3.0 - resolution: "p-limit@npm:2.3.0" + resolution: "own-keys@npm:1.0.1" dependencies: - p-try: "npm:^2.0.0" - checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 + get-intrinsic: "npm:^1.2.6" + object-keys: "npm:^1.1.1" + safe-push-apply: "npm:^1.0.0" + checksum: 10c0/6dfeb3455bff92ec3f16a982d4e3e65676345f6902d9f5ded1d8265a6318d0200ce461956d6d1c70053c7fe9f9fe65e552faac03f8140d37ef0fdd108e67013a languageName: node linkType: hard @@ -6025,15 +5218,6 @@ __metadata: languageName: node linkType: hard -"p-locate@npm:^3.0.0": - version: 3.0.0 - resolution: "p-locate@npm:3.0.0" - dependencies: - p-limit: "npm:^2.0.0" - checksum: 10c0/7b7f06f718f19e989ce6280ed4396fb3c34dabdee0df948376483032f9d5ec22fdf7077ec942143a75827bb85b11da72016497fc10dac1106c837ed593969ee8 - languageName: node - linkType: hard - "p-locate@npm:^5.0.0": version: 5.0.0 resolution: "p-locate@npm:5.0.0" @@ -6043,19 +5227,10 @@ __metadata: languageName: node linkType: hard -"p-map@npm:^4.0.0": - version: 4.0.0 - resolution: "p-map@npm:4.0.0" - dependencies: - aggregate-error: "npm:^3.0.0" - checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 - languageName: node - linkType: hard - -"p-try@npm:^2.0.0": - version: 2.2.0 - resolution: "p-try@npm:2.2.0" - checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f +"p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c languageName: node linkType: hard @@ -6066,6 +5241,13 @@ __metadata: languageName: node linkType: hard +"pako@npm:~0.2.0": + version: 0.2.9 + resolution: "pako@npm:0.2.9" + checksum: 10c0/79c1806ebcf325b60ae599e4d7227c2e346d7b829dc20f5cf24cef07c934079dc3a61c5b3c8278a2f7a190c4a613e343ea11e5302dbe252efd11712df4b6b041 + languageName: node + linkType: hard + "parent-module@npm:^1.0.0": version: 1.0.1 resolution: "parent-module@npm:1.0.1" @@ -6087,24 +5269,10 @@ __metadata: languageName: node linkType: hard -"parse-node-version@npm:^1.0.0": - version: 1.0.1 - resolution: "parse-node-version@npm:1.0.1" - checksum: 10c0/999cd3d7da1425c2e182dce82b226c6dc842562d3ed79ec47f5c719c32a7f6c1a5352495b894fc25df164be7f2ede4224758255da9902ddef81f2b77ba46bb2c - languageName: node - linkType: hard - -"path-dirname@npm:^1.0.0": - version: 1.0.2 - resolution: "path-dirname@npm:1.0.2" - checksum: 10c0/71e59be2bada7c91f62b976245fd421b7cb01fde3207fe53a82d8880621ad04fd8b434e628c9cf4e796259fc168a107d77cd56837725267c5b2c58cefe2c4e1b - languageName: node - linkType: hard - -"path-exists@npm:^3.0.0": - version: 3.0.0 - resolution: "path-exists@npm:3.0.0" - checksum: 10c0/17d6a5664bc0a11d48e2b2127d28a0e58822c6740bde30403f08013da599182289c56518bec89407e3f31d3c2b6b296a4220bc3f867f0911fee6952208b04167 +"parseurl@npm:~1.3.3": + version: 1.3.3 + resolution: "parseurl@npm:1.3.3" + checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5 languageName: node linkType: hard @@ -6115,20 +5283,6 @@ __metadata: languageName: node linkType: hard -"path-is-absolute@npm:^1.0.0": - version: 1.0.1 - resolution: "path-is-absolute@npm:1.0.1" - checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 - languageName: node - linkType: hard - -"path-key@npm:^2.0.0, path-key@npm:^2.0.1": - version: 2.0.1 - resolution: "path-key@npm:2.0.1" - checksum: 10c0/dd2044f029a8e58ac31d2bf34c34b93c3095c1481942960e84dd2faa95bbb71b9b762a106aead0646695330936414b31ca0bd862bf488a937ad17c8c5d73b32b - languageName: node - linkType: hard - "path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" @@ -6153,6 +5307,13 @@ __metadata: languageName: node linkType: hard +"path-to-regexp@npm:0.1.12": + version: 0.1.12 + resolution: "path-to-regexp@npm:0.1.12" + checksum: 10c0/1c6ff10ca169b773f3bba943bbc6a07182e332464704572962d277b900aeee81ac6aa5d060ff9e01149636c30b1f63af6e69dd7786ba6e0ddb39d4dee1f0645b + languageName: node + linkType: hard + "path-type@npm:^4.0.0": version: 4.0.0 resolution: "path-type@npm:4.0.0" @@ -6160,42 +5321,35 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1": - version: 1.0.1 - resolution: "picocolors@npm:1.0.1" - checksum: 10c0/c63cdad2bf812ef0d66c8db29583802355d4ca67b9285d846f390cc15c2f6ccb94e8cb7eb6a6e97fc5990a6d3ad4ae42d86c84d3146e667c739a4234ed50d400 +"pathe@npm:^1.1.2": + version: 1.1.2 + resolution: "pathe@npm:1.1.2" + checksum: 10c0/64ee0a4e587fb0f208d9777a6c56e4f9050039268faaaaecd50e959ef01bf847b7872785c36483fa5cdcdbdfdb31fef2ff222684d4fc21c330ab60395c681897 languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be +"peek-stream@npm:^1.1.0": + version: 1.1.3 + resolution: "peek-stream@npm:1.1.3" + dependencies: + buffer-from: "npm:^1.0.0" + duplexify: "npm:^3.5.0" + through2: "npm:^2.0.3" + checksum: 10c0/3c35d1951b8640036f93b1b5628a90f849e49ca4f2e6aba393ff4978413931d9c491c83f71a92f878d5ea4c670af0bba04dfcfb79b310ead22601db7c1420e36 languageName: node linkType: hard -"plugin-error@npm:^0.1.2": - version: 0.1.2 - resolution: "plugin-error@npm:0.1.2" - dependencies: - ansi-cyan: "npm:^0.1.1" - ansi-red: "npm:^0.1.1" - arr-diff: "npm:^1.0.1" - arr-union: "npm:^2.0.1" - extend-shallow: "npm:^1.1.2" - checksum: 10c0/bc08395a4ae874c4d3215b827be8e86c5535b4c834a1025ebbdea5b33bdfd82ac6db600f15df5a22eefc0f2adfce0da388b4c49fa4543af64220fbf1b6cd381a +"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 languageName: node linkType: hard -"plugin-error@npm:^1.0.1": - version: 1.0.1 - resolution: "plugin-error@npm:1.0.1" - dependencies: - ansi-colors: "npm:^1.0.1" - arr-diff: "npm:^4.0.0" - arr-union: "npm:^3.1.0" - extend-shallow: "npm:^3.0.2" - checksum: 10c0/9b0ef44f8d2749013dfeb4a86c8082f2f277bf72e0c694c30dd504d0b329f321db91fe9d9cb0f7e8579f7ffa4260b7792827bc5ef4f87d6bcc0fc691de3d91a1 +"picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be languageName: node linkType: hard @@ -6213,38 +5367,38 @@ __metadata: languageName: node linkType: hard -"postcss-resolve-nested-selector@npm:^0.1.1": - version: 0.1.1 - resolution: "postcss-resolve-nested-selector@npm:0.1.1" - checksum: 10c0/e86412064c5d805fbee20f4e851395304102addd7d583b6a991adaa5616e8d5f45549864eb6292d4cf15075cd261c289f069acdf6a2556689fc44fe72bcb306e +"postcss-resolve-nested-selector@npm:^0.1.6": + version: 0.1.6 + resolution: "postcss-resolve-nested-selector@npm:0.1.6" + checksum: 10c0/84213a2bccce481b1569c595a3c547b25c6ef1cca839fbd6c82c12ab407559966e968613c7454b573aa54f38cfd7e900c1fd603f0efc9f51939ab9f93f115455 languageName: node linkType: hard -"postcss-safe-parser@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-safe-parser@npm:7.0.0" +"postcss-safe-parser@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-safe-parser@npm:7.0.1" peerDependencies: postcss: ^8.4.31 - checksum: 10c0/4217afd8ce2809e959dc365e4675f499303cc6b91f94db06c8164422822db2d3b3124df701ee2234db4127ad05619b016bfb9c2bccae9bf9cf898a396f1632c9 - languageName: node - linkType: hard - -"postcss-scss@npm:^4.0.9": - version: 4.0.9 - resolution: "postcss-scss@npm:4.0.9" - peerDependencies: - postcss: ^8.4.29 - checksum: 10c0/f917ecfd4b9113a6648e966a41f027ff7e14238393914978d44596e227a50f084667dc8818742348dc7d8b20130b30d4259aca1d4db86754a9c141202ae03714 + checksum: 10c0/6957b10b818bd8d4664ec0e548af967f7549abedfb37f844d389571d36af681340f41f9477b9ccf34bcc7599bdef222d1d72e79c64373001fae77089fba6d965 languageName: node linkType: hard -"postcss-selector-parser@npm:^6.1.0": - version: 6.1.0 - resolution: "postcss-selector-parser@npm:6.1.0" +"postcss-selector-parser@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-selector-parser@npm:7.0.0" dependencies: cssesc: "npm:^3.0.0" util-deprecate: "npm:^1.0.2" - checksum: 10c0/91e9c6434772506bc7f318699dd9d19d32178b52dfa05bed24cb0babbdab54f8fb765d9920f01ac548be0a642aab56bce493811406ceb00ae182bbb53754c473 + checksum: 10c0/e96e096afcce70bf5c97789f5ea09d7415ae5eb701d82b05b5e8532885d31363b484fcb1ca9488c9a331f30508d9e5bb6c3109eb2eb5067ef3d3919f9928cd9d + languageName: node + linkType: hard + +"postcss-sorting@npm:^8.0.2": + version: 8.0.2 + resolution: "postcss-sorting@npm:8.0.2" + peerDependencies: + postcss: ^8.4.20 + checksum: 10c0/955c72d8d71b6b54dcdcbcef765a593803512d215cef12a49b71d1abf8ab8d2dacb5645dbb5a0a6535609aab6bffb834599d6073f28fe61e589a4437af85e243 languageName: node linkType: hard @@ -6255,14 +5409,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.29, postcss@npm:^8.4.38, postcss@npm:^8.4.39": - version: 8.4.39 - resolution: "postcss@npm:8.4.39" +"postcss@npm:^8.4.32, postcss@npm:^8.4.43, postcss@npm:^8.4.49, postcss@npm:^8.5.1": + version: 8.5.1 + resolution: "postcss@npm:8.5.1" dependencies: - nanoid: "npm:^3.3.7" - picocolors: "npm:^1.0.1" - source-map-js: "npm:^1.2.0" - checksum: 10c0/16f5ac3c4e32ee76d1582b3c0dcf1a1fdb91334a45ad755eeb881ccc50318fb8d64047de4f1601ac96e30061df203f0f2e2edbdc0bfc49b9c57bc9fb9bedaea3 + nanoid: "npm:^3.3.8" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/c4d90c59c98e8a0c102b77d3f4cac190f883b42d63dc60e2f3ed840f16197c0c8e25a4327d2e9a847b45a985612317dc0534178feeebd0a1cf3eb0eecf75cae4 languageName: node linkType: hard @@ -6282,41 +5436,64 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^3.3.2": - version: 3.3.2 - resolution: "prettier@npm:3.3.2" +"prettier@npm:^2.7.1": + version: 2.8.8 + resolution: "prettier@npm:2.8.8" + bin: + prettier: bin-prettier.js + checksum: 10c0/463ea8f9a0946cd5b828d8cf27bd8b567345cf02f56562d5ecde198b91f47a76b7ac9eae0facd247ace70e927143af6135e8cf411986b8cb8478784a4d6d724a + languageName: node + linkType: hard + +"prettier@npm:^3.4.2": + version: 3.4.2 + resolution: "prettier@npm:3.4.2" bin: prettier: bin/prettier.cjs - checksum: 10c0/39ed27d17f0238da6dd6571d63026566bd790d3d0edac57c285fbab525982060c8f1e01955fe38134ab10f0951a6076da37f015db8173c02f14bc7f0803a384c + checksum: 10c0/99e076a26ed0aba4ebc043880d0f08bbb8c59a4c6641cdee6cdadf2205bdd87aa1d7823f50c3aea41e015e99878d37c58d7b5f0e663bba0ef047f94e36b96446 languageName: node linkType: hard -"prism-react-renderer@npm:^2.3.1": - version: 2.3.1 - resolution: "prism-react-renderer@npm:2.3.1" +"prism-react-renderer@npm:^2.4.1": + version: 2.4.1 + resolution: "prism-react-renderer@npm:2.4.1" dependencies: "@types/prismjs": "npm:^1.26.0" clsx: "npm:^2.0.0" peerDependencies: react: ">=16.0.0" - checksum: 10c0/566932127ca18049a651aa038a8f8c7c1ca15950d21b659c2ce71fd95bd03bef2b5d40c489e7aa3453eaf15d984deef542a609d7842e423e6a13427dd90bd371 + checksum: 10c0/ebbe8feb975224344bbdd046b3a937d121592dbe4b8f22ba0be31f5af37b9a8219f441138ef6cab1c5b96f2aa6b529015200959f7e5e85b60ca69c81d35edcd4 languageName: node linkType: hard -"proc-log@npm:^4.1.0, proc-log@npm:^4.2.0": - version: 4.2.0 - resolution: "proc-log@npm:4.2.0" - checksum: 10c0/17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9 +"proc-log@npm:^3.0.0": + version: 3.0.0 + resolution: "proc-log@npm:3.0.0" + checksum: 10c0/f66430e4ff947dbb996058f6fd22de2c66612ae1a89b097744e17fb18a4e8e7a86db99eda52ccf15e53f00b63f4ec0b0911581ff2aac0355b625c8eac509b0dc + languageName: node + linkType: hard + +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 languageName: node linkType: hard -"process-nextick-args@npm:^2.0.0, process-nextick-args@npm:~2.0.0": +"process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" checksum: 10c0/bec089239487833d46b59d80327a1605e1c5287eaad770a291add7f45fda1bb5e28b38e0e061add0a1d0ee0984788ce74fa394d345eed1c420cacf392c554367 languageName: node linkType: hard +"promise-inflight@npm:^1.0.1": + version: 1.0.1 + resolution: "promise-inflight@npm:1.0.1" + checksum: 10c0/d179d148d98fbff3d815752fa9a08a87d3190551d1420f17c4467f628214db12235ae068d98cd001f024453676d8985af8f28f002345646c4ece4600a79620bc + languageName: node + linkType: hard + "promise-retry@npm:^2.0.1": version: 2.0.1 resolution: "promise-retry@npm:2.0.1" @@ -6345,6 +5522,16 @@ __metadata: languageName: node linkType: hard +"proxy-addr@npm:~2.0.7": + version: 2.0.7 + resolution: "proxy-addr@npm:2.0.7" + dependencies: + forwarded: "npm:0.2.0" + ipaddr.js: "npm:1.9.1" + checksum: 10c0/c3eed999781a35f7fd935f398b6d8920b6fb00bbc14287bc6de78128ccc1a02c89b95b56742bf7cf0362cc333c61d138532049c7dedc7a328ef13343eff81210 + languageName: node + linkType: hard + "proxy-from-env@npm:^1.1.0": version: 1.1.0 resolution: "proxy-from-env@npm:1.1.0" @@ -6352,13 +5539,6 @@ __metadata: languageName: node linkType: hard -"pseudomap@npm:^1.0.2": - version: 1.0.2 - resolution: "pseudomap@npm:1.0.2" - checksum: 10c0/5a91ce114c64ed3a6a553aa7d2943868811377388bb31447f9d8028271bae9b05b340fe0b6961a64e45b9c72946aeb0a4ab635e8f7cb3715ffd0ff2beeb6a679 - languageName: node - linkType: hard - "pump@npm:^2.0.0": version: 2.0.1 resolution: "pump@npm:2.0.1" @@ -6369,17 +5549,7 @@ __metadata: languageName: node linkType: hard -"pump@npm:^3.0.0": - version: 3.0.0 - resolution: "pump@npm:3.0.0" - dependencies: - end-of-stream: "npm:^1.1.0" - once: "npm:^1.3.1" - checksum: 10c0/bbdeda4f747cdf47db97428f3a135728669e56a0ae5f354a9ac5b74556556f5446a46f720a8f14ca2ece5be9b4d5d23c346db02b555f46739934cc6c093a5478 - languageName: node - linkType: hard - -"pumpify@npm:^1.3.5": +"pumpify@npm:^1.3.3": version: 1.5.1 resolution: "pumpify@npm:1.5.1" dependencies: @@ -6397,12 +5567,21 @@ __metadata: languageName: node linkType: hard -"qs@npm:^6.12.2": - version: 6.12.3 - resolution: "qs@npm:6.12.3" +"qs@npm:6.13.0": + version: 6.13.0 + resolution: "qs@npm:6.13.0" dependencies: side-channel: "npm:^1.0.6" - checksum: 10c0/243ddcc8f49dab78fc51041f7f64c500b47c671c45a101a8aca565d8537cb562921da7ef1a831b4a7051596ec88bb35a0d5e25a240025e8b32c6bfb69f00bf2f + checksum: 10c0/62372cdeec24dc83a9fb240b7533c0fdcf0c5f7e0b83343edd7310f0ab4c8205a5e7c56406531f2e47e1b4878a3821d652be4192c841de5b032ca83619d8f860 + languageName: node + linkType: hard + +"qs@npm:^6.14.0": + version: 6.14.0 + resolution: "qs@npm:6.14.0" + dependencies: + side-channel: "npm:^1.1.0" + checksum: 10c0/8ea5d91bf34f440598ee389d4a7d95820e3b837d3fd9f433871f7924801becaa0cd3b3b4628d49a7784d06a8aea9bc4554d2b6d8d584e2d221dc06238a42909c languageName: node linkType: hard @@ -6413,50 +5592,41 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:^18.3.1": - version: 18.3.1 - resolution: "react-dom@npm:18.3.1" - dependencies: - loose-envify: "npm:^1.1.0" - scheduler: "npm:^0.23.2" - peerDependencies: - react: ^18.3.1 - checksum: 10c0/a752496c1941f958f2e8ac56239172296fcddce1365ce45222d04a1947e0cc5547df3e8447f855a81d6d39f008d7c32eab43db3712077f09e3f67c4874973e85 - languageName: node - linkType: hard - -"react-fast-compare@npm:^3.2.2": - version: 3.2.2 - resolution: "react-fast-compare@npm:3.2.2" - checksum: 10c0/0bbd2f3eb41ab2ff7380daaa55105db698d965c396df73e6874831dbafec8c4b5b08ba36ff09df01526caa3c61595247e3269558c284e37646241cba2b90a367 +"range-parser@npm:~1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 10c0/96c032ac2475c8027b7a4e9fe22dc0dfe0f6d90b85e496e0f016fbdb99d6d066de0112e680805075bd989905e2123b3b3d002765149294dce0c1f7f01fcc2ea0 languageName: node linkType: hard -"react-ga4@npm:^2.1.0": - version: 2.1.0 - resolution: "react-ga4@npm:2.1.0" - checksum: 10c0/314aa86dd7cb868535f26bfb8b537d3b3c20649c66b2b942fba72e081295441446932a4ae96499231c8a4836ab0a222a97b1bd03633b8cc1477991efe93444cd +"raw-body@npm:2.5.2": + version: 2.5.2 + resolution: "raw-body@npm:2.5.2" + dependencies: + bytes: "npm:3.1.2" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + unpipe: "npm:1.0.0" + checksum: 10c0/b201c4b66049369a60e766318caff5cb3cc5a900efd89bdac431463822d976ad0670912c931fdbdcf5543207daf6f6833bca57aa116e1661d2ea91e12ca692c4 languageName: node linkType: hard -"react-helmet-async@npm:^2.0.5": - version: 2.0.5 - resolution: "react-helmet-async@npm:2.0.5" +"react-dom@npm:^19.0.0": + version: 19.0.0 + resolution: "react-dom@npm:19.0.0" dependencies: - invariant: "npm:^2.2.4" - react-fast-compare: "npm:^3.2.2" - shallowequal: "npm:^1.1.0" + scheduler: "npm:^0.25.0" peerDependencies: - react: ^16.6.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/f390ea8bf13c2681850e5f8eb5b73d8613f407c245a5fd23e9db9b2cc14a3700dd1ce992d3966632886d1d613083294c2aeee009193f49dfa7d145d9f13ea2b0 + react: ^19.0.0 + checksum: 10c0/a36ce7ab507b237ae2759c984cdaad4af4096d8199fb65b3815c16825e5cfeb7293da790a3fc2184b52bfba7ba3ff31c058c01947aff6fd1a3701632aabaa6a9 languageName: node linkType: hard -"react-i18next@npm:^14.1.2": - version: 14.1.2 - resolution: "react-i18next@npm:14.1.2" +"react-i18next@npm:^15.4.0": + version: 15.4.0 + resolution: "react-i18next@npm:15.4.0" dependencies: - "@babel/runtime": "npm:^7.23.9" + "@babel/runtime": "npm:^7.25.0" html-parse-stringify: "npm:^3.0.1" peerDependencies: i18next: ">= 23.2.3" @@ -6466,7 +5636,7 @@ __metadata: optional: true react-native: optional: true - checksum: 10c0/cb8a83b3696639f083dc9f770d9d9e0681c0fe56f6b5fe24cd6facce08d363c37bd3440078e9d63abacabd7037b783e6b4e4d0c935de9c8dda7820bd4ef7e329 + checksum: 10c0/dc26e5a0f90f9038156e0908cb4489906d18dd2dedac6ec76d68cf6d545d9e070a3f450880548d0750caee5adf0653d7971fdabc9ef67c750d1c2df60be74d77 languageName: node linkType: hard @@ -6477,109 +5647,47 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^18.3.1": - version: 18.3.1 - resolution: "react-is@npm:18.3.1" - checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 - languageName: node - linkType: hard - -"react-refresh@npm:^0.14.2": - version: 0.14.2 - resolution: "react-refresh@npm:0.14.2" - checksum: 10c0/875b72ef56b147a131e33f2abd6ec059d1989854b3ff438898e4f9310bfcc73acff709445b7ba843318a953cb9424bcc2c05af2b3d80011cee28f25aef3e2ebb +"react-is@npm:^19.0.0": + version: 19.0.0 + resolution: "react-is@npm:19.0.0" + checksum: 10c0/d1be8e8500cf04f76df71942a21ef3a71266397a383d7ec8885f35190df818d35c65efd35aed7be47a89ad99aaff2c52e0c4e39e8930844a6b997622e50625a8 languageName: node linkType: hard - -"react-router-dom@npm:^6.24.0": - version: 6.24.1 - resolution: "react-router-dom@npm:6.24.1" - dependencies: - "@remix-run/router": "npm:1.17.1" - react-router: "npm:6.24.1" - peerDependencies: - react: ">=16.8" - react-dom: ">=16.8" - checksum: 10c0/458c6c539304984c47b0ad8d5d5b1f8859cc0845e47591d530cb4fcb13498f70a89b42bc4daeea55d57cfa08408b453bcf601cabb2c987f554cdcac13805caa8 + +"react-refresh@npm:^0.14.0": + version: 0.14.2 + resolution: "react-refresh@npm:0.14.2" + checksum: 10c0/875b72ef56b147a131e33f2abd6ec059d1989854b3ff438898e4f9310bfcc73acff709445b7ba843318a953cb9424bcc2c05af2b3d80011cee28f25aef3e2ebb languageName: node linkType: hard -"react-router@npm:6.24.1": - version: 6.24.1 - resolution: "react-router@npm:6.24.1" +"react-router@npm:^7.1.3": + version: 7.1.5 + resolution: "react-router@npm:7.1.5" dependencies: - "@remix-run/router": "npm:1.17.1" + "@types/cookie": "npm:^0.6.0" + cookie: "npm:^1.0.1" + set-cookie-parser: "npm:^2.6.0" + turbo-stream: "npm:2.4.0" peerDependencies: - react: ">=16.8" - checksum: 10c0/f50c78ca52c5154ab933c17708125e8bf71ccf2072993a80302526a0a23db9ceac6e36d5c891d62ccd16f13e60cd1b6533a2036523d1b09e0148ac49e34b2e83 + react: ">=18" + react-dom: ">=18" + peerDependenciesMeta: + react-dom: + optional: true + checksum: 10c0/c0013102c7a02d26cd2353fa3749bd229fbcfedd291710540be1765d703861f96a34ef0114dd5ee8d9a728e87f3a5698387058f9539b39604f331505f507d912 languageName: node linkType: hard -"react-template-demo@workspace:.": - version: 0.0.0-use.local - resolution: "react-template-demo@workspace:." - dependencies: - "@mui/icons-material": "npm:^6.1.0" - "@mui/material": "npm:^6.1.0" - "@mui/material-pigment-css": "npm:^6.1.0" - "@pigment-css/vite-plugin": "npm:^0.0.23" - "@types/classnames": "npm:^2.3.1" - "@types/node": "npm:^20.14.9" - "@types/qs": "npm:^6.9.15" - "@types/react": "npm:^18.3.3" - "@types/react-dom": "npm:^18.3.0" - "@types/react-helmet": "npm:^6.1.11" - "@types/react-router-dom": "npm:^5.3.3" - "@types/sass": "npm:^1.45.0" - "@typescript-eslint/eslint-plugin": "npm:^7.13.1" - "@typescript-eslint/parser": "npm:^7.13.1" - "@vitejs/plugin-react": "npm:^4.3.1" - axios: "npm:^1.7.4" - classnames: "npm:^2.5.1" - dayjs: "npm:^1.11.11" - eclint: "npm:^2.8.1" - eslint: "npm:^8.57.0" - eslint-plugin-prettier: "npm:^5.1.3" - eslint-plugin-react: "npm:^7.34.3" - eslint-plugin-react-hooks: "npm:^4.6.2" - eslint-plugin-react-refresh: "npm:^0.4.7" - i18next: "npm:^23.11.5" - i18next-browser-languagedetector: "npm:^8.0.0" - postcss: "npm:^8.4.29" - prettier: "npm:^3.3.2" - prism-react-renderer: "npm:^2.3.1" - qs: "npm:^6.12.2" - react: "npm:^18.3.1" - react-dom: "npm:^18.3.1" - react-ga4: "npm:^2.1.0" - react-helmet-async: "npm:^2.0.5" - react-i18next: "npm:^14.1.2" - react-router-dom: "npm:^6.24.0" - react-toastify: "npm:^10.0.5" - react-transition-group: "npm:^4.4.5" - sass: "npm:^1.77.6" - sheet2i18n: "npm:^1.1.2" - stylelint: "npm:^16.6.1" - stylelint-config-prettier-scss: "npm:^1.0.0" - stylelint-config-standard-scss: "npm:^13.1.0" - stylelint-prettier: "npm:^5.0.0" - stylelint-scss: "npm:^6.3.2" - typescript: "npm:^5.2.2" - vite: "npm:^5.3.1" - yup: "npm:^1.4.0" - zustand: "npm:^4.5.4" - languageName: unknown - linkType: soft - -"react-toastify@npm:^10.0.5": - version: 10.0.5 - resolution: "react-toastify@npm:10.0.5" +"react-toastify@npm:^11.0.3": + version: 11.0.3 + resolution: "react-toastify@npm:11.0.3" dependencies: - clsx: "npm:^2.1.0" + clsx: "npm:^2.1.1" peerDependencies: - react: ">=18" - react-dom: ">=18" - checksum: 10c0/66c68ec3d6c017d9f32652d73bb925224921c6a80b629b9d481430d5b4fd504abb7a99995a64b9aef0fc31326c74f3cbe088b3287b978dd0c355079c4bbf4158 + react: ^18 || ^19 + react-dom: ^18 || ^19 + checksum: 10c0/23b989c6080bc5bf0eb0c1f7ed17bd53d067d9beb33baf93c520119cd69cf75c9f2d1ee524dfe6c8a2a5d326029772b576de00e018b379d03a0e37630b83adea languageName: node linkType: hard @@ -6598,27 +5706,14 @@ __metadata: languageName: node linkType: hard -"react@npm:^18.3.1": - version: 18.3.1 - resolution: "react@npm:18.3.1" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10c0/283e8c5efcf37802c9d1ce767f302dd569dd97a70d9bb8c7be79a789b9902451e0d16334b05d73299b20f048cbc3c7d288bbbde10b701fa194e2089c237dbea3 - languageName: node - linkType: hard - -"readable-stream@npm:2 || 3, readable-stream@npm:3": - version: 3.6.2 - resolution: "readable-stream@npm:3.6.2" - dependencies: - inherits: "npm:^2.0.3" - string_decoder: "npm:^1.1.1" - util-deprecate: "npm:^1.0.1" - checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 +"react@npm:^19.0.0": + version: 19.0.0 + resolution: "react@npm:19.0.0" + checksum: 10c0/9cad8f103e8e3a16d15cb18a0d8115d8bd9f9e1ce3420310aea381eb42aa0a4f812cf047bb5441349257a05fba8a291515691e3cb51267279b2d2c3253f38471 languageName: node linkType: hard -"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.5, readable-stream@npm:^2.1.5, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.5, readable-stream@npm:^2.3.6, readable-stream@npm:~2.3.6": +"readable-stream@npm:^2.0.0, readable-stream@npm:~2.3.6": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" dependencies: @@ -6633,27 +5728,26 @@ __metadata: languageName: node linkType: hard -"readdirp@npm:~3.6.0": - version: 3.6.0 - resolution: "readdirp@npm:3.6.0" - dependencies: - picomatch: "npm:^2.2.1" - checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b +"readdirp@npm:^4.0.1": + version: 4.1.1 + resolution: "readdirp@npm:4.1.1" + checksum: 10c0/a1afc90d0e57ce4caa28046875519453fd09663ade0d0c29fe0d6a117eca4596cfdf1a9ebb0859ad34cca7b9351d4f0d8d962a4363d40f3f37e57dba51ffb6b6 languageName: node linkType: hard -"reflect.getprototypeof@npm:^1.0.4": - version: 1.0.6 - resolution: "reflect.getprototypeof@npm:1.0.6" +"reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9": + version: 1.0.10 + resolution: "reflect.getprototypeof@npm:1.0.10" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.1" + es-abstract: "npm:^1.23.9" es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - globalthis: "npm:^1.0.3" - which-builtin-type: "npm:^1.1.3" - checksum: 10c0/baf4ef8ee6ff341600f4720b251cf5a6cb552d6a6ab0fdc036988c451bf16f920e5feb0d46bd4f530a5cce568f1f7aca2d77447ca798920749cfc52783c39b55 + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.7" + get-proto: "npm:^1.0.1" + which-builtin-type: "npm:^1.2.1" + checksum: 10c0/7facec28c8008876f8ab98e80b7b9cb4b1e9224353fd4756dda5f2a4ab0d30fa0a5074777c6df24e1e0af463a2697513b0a11e548d99cf52f21f7bc6ba48d3ac languageName: node linkType: hard @@ -6664,57 +5758,17 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.2": - version: 1.5.2 - resolution: "regexp.prototype.flags@npm:1.5.2" +"regexp.prototype.flags@npm:^1.5.3": + version: 1.5.4 + resolution: "regexp.prototype.flags@npm:1.5.4" dependencies: - call-bind: "npm:^1.0.6" + call-bind: "npm:^1.0.8" define-properties: "npm:^1.2.1" es-errors: "npm:^1.3.0" - set-function-name: "npm:^2.0.1" - checksum: 10c0/0f3fc4f580d9c349f8b560b012725eb9c002f36daa0041b3fbf6f4238cb05932191a4d7d5db3b5e2caa336d5150ad0402ed2be81f711f9308fe7e1a9bf9bd552 - languageName: node - linkType: hard - -"remove-bom-buffer@npm:^3.0.0": - version: 3.0.0 - resolution: "remove-bom-buffer@npm:3.0.0" - dependencies: - is-buffer: "npm:^1.1.5" - is-utf8: "npm:^0.2.1" - checksum: 10c0/5179a73424893880709fff54ba2160d6175abfb587031a4cdf16f43acb5952d219fe342a40ea45a4d2ef40cd7af19722b0ba6447a6605b42b6c0674eff320896 - languageName: node - linkType: hard - -"remove-bom-stream@npm:^1.2.0": - version: 1.2.0 - resolution: "remove-bom-stream@npm:1.2.0" - dependencies: - remove-bom-buffer: "npm:^3.0.0" - safe-buffer: "npm:^5.1.0" - through2: "npm:^2.0.3" - checksum: 10c0/c5f34d3308c7864579838a3741a08983bd47d3bac5e6f9e4f498c1eccdc6784805ce52aec1700c420eff09d05184e6c96bb6a3380cf18aadce6dd3d4138399cb - languageName: node - linkType: hard - -"remove-trailing-separator@npm:^1.0.1": - version: 1.1.0 - resolution: "remove-trailing-separator@npm:1.1.0" - checksum: 10c0/3568f9f8f5af3737b4aee9e6e1e8ec4be65a92da9cb27f989e0893714d50aa95ed2ff02d40d1fa35e1b1a234dc9c2437050ef356704a3999feaca6667d9e9bfc - languageName: node - linkType: hard - -"replace-ext@npm:^1.0.0": - version: 1.0.1 - resolution: "replace-ext@npm:1.0.1" - checksum: 10c0/9a9c3d68d0d31f20533ed23e9f6990cff8320cf357eebfa56c0d7b63746ae9f2d6267f3321e80e0bffcad854f710fc9a48dbcf7615579d767db69e9cd4a43168 - languageName: node - linkType: hard - -"require-directory@npm:^2.1.1": - version: 2.1.1 - resolution: "require-directory@npm:2.1.1" - checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + set-function-name: "npm:^2.0.2" + checksum: 10c0/83b88e6115b4af1c537f8dabf5c3744032cb875d63bc05c288b1b8c0ef37cbe55353f95d8ca817e8843806e3e150b118bc624e4279b24b4776b4198232735a77 languageName: node linkType: hard @@ -6725,13 +5779,6 @@ __metadata: languageName: node linkType: hard -"require-main-filename@npm:^1.0.1": - version: 1.0.1 - resolution: "require-main-filename@npm:1.0.1" - checksum: 10c0/1ab87efb72a0e223a667154e92f29ca753fd42eb87f22db142b91c86d134e29ecf18af929111ccd255fd340b57d84a9d39489498d8dfd5136b300ded30a5f0b6 - languageName: node - linkType: hard - "resolve-from@npm:^4.0.0": version: 4.0.0 resolution: "resolve-from@npm:4.0.0" @@ -6746,25 +5793,16 @@ __metadata: languageName: node linkType: hard -"resolve-options@npm:^1.1.0": - version: 1.1.0 - resolution: "resolve-options@npm:1.1.0" - dependencies: - value-or-function: "npm:^3.0.0" - checksum: 10c0/2f55cbe96ef8260771fc52a4335bb4a04e0d7b52e616c2538a0eb48fd8335a932a3bfc67356a21db965e4bc3e4be869e7925d475c8fb556adf771cc5409fbf3d - languageName: node - linkType: hard - "resolve@npm:^1.19.0": - version: 1.22.8 - resolution: "resolve@npm:1.22.8" + version: 1.22.10 + resolution: "resolve@npm:1.22.10" dependencies: - is-core-module: "npm:^2.13.0" + is-core-module: "npm:^2.16.0" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10c0/07e179f4375e1fd072cfb72ad66d78547f86e6196c4014b31cb0b8bb1db5f7ca871f922d08da0fbc05b94e9fd42206f819648fa3b5b873ebbc8e1dc68fec433a + checksum: 10c0/8967e1f4e2cc40f79b7e080b4582b9a8c5ee36ffb46041dccb20e6461161adf69f843b43067b4a375de926a2cd669157e29a29578191def399dd5ef89a1b5203 languageName: node linkType: hard @@ -6782,15 +5820,15 @@ __metadata: linkType: hard "resolve@patch:resolve@npm%3A^1.19.0#optional!builtin": - version: 1.22.8 - resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" + version: 1.22.10 + resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" dependencies: - is-core-module: "npm:^2.13.0" + is-core-module: "npm:^2.16.0" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10c0/0446f024439cd2e50c6c8fa8ba77eaa8370b4180f401a96abf3d1ebc770ac51c1955e12764cde449fde3fff480a61f84388e3505ecdbab778f4bef5f8212c729 + checksum: 10c0/52a4e505bbfc7925ac8f4cd91fd8c4e096b6a89728b9f46861d3b405ac9a1ccf4dcbf8befb4e89a2e11370dacd0160918163885cbc669369590f2f31f4c58939 languageName: node linkType: hard @@ -6821,38 +5859,41 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:^3.0.2": - version: 3.0.2 - resolution: "rimraf@npm:3.0.2" +"rimraf@npm:^5.0.5": + version: 5.0.10 + resolution: "rimraf@npm:5.0.10" dependencies: - glob: "npm:^7.1.3" + glob: "npm:^10.3.7" bin: - rimraf: bin.js - checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 - languageName: node - linkType: hard - -"rollup@npm:^4.13.0": - version: 4.18.1 - resolution: "rollup@npm:4.18.1" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.18.1" - "@rollup/rollup-android-arm64": "npm:4.18.1" - "@rollup/rollup-darwin-arm64": "npm:4.18.1" - "@rollup/rollup-darwin-x64": "npm:4.18.1" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.18.1" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.18.1" - "@rollup/rollup-linux-arm64-gnu": "npm:4.18.1" - "@rollup/rollup-linux-arm64-musl": "npm:4.18.1" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.18.1" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.18.1" - "@rollup/rollup-linux-s390x-gnu": "npm:4.18.1" - "@rollup/rollup-linux-x64-gnu": "npm:4.18.1" - "@rollup/rollup-linux-x64-musl": "npm:4.18.1" - "@rollup/rollup-win32-arm64-msvc": "npm:4.18.1" - "@rollup/rollup-win32-ia32-msvc": "npm:4.18.1" - "@rollup/rollup-win32-x64-msvc": "npm:4.18.1" - "@types/estree": "npm:1.0.5" + rimraf: dist/esm/bin.mjs + checksum: 10c0/7da4fd0e15118ee05b918359462cfa1e7fe4b1228c7765195a45b55576e8c15b95db513b8466ec89129666f4af45ad978a3057a02139afba1a63512a2d9644cc + languageName: node + linkType: hard + +"rollup@npm:^4.20.0, rollup@npm:^4.23.0": + version: 4.32.1 + resolution: "rollup@npm:4.32.1" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.32.1" + "@rollup/rollup-android-arm64": "npm:4.32.1" + "@rollup/rollup-darwin-arm64": "npm:4.32.1" + "@rollup/rollup-darwin-x64": "npm:4.32.1" + "@rollup/rollup-freebsd-arm64": "npm:4.32.1" + "@rollup/rollup-freebsd-x64": "npm:4.32.1" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.32.1" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.32.1" + "@rollup/rollup-linux-arm64-gnu": "npm:4.32.1" + "@rollup/rollup-linux-arm64-musl": "npm:4.32.1" + "@rollup/rollup-linux-loongarch64-gnu": "npm:4.32.1" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.32.1" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.32.1" + "@rollup/rollup-linux-s390x-gnu": "npm:4.32.1" + "@rollup/rollup-linux-x64-gnu": "npm:4.32.1" + "@rollup/rollup-linux-x64-musl": "npm:4.32.1" + "@rollup/rollup-win32-arm64-msvc": "npm:4.32.1" + "@rollup/rollup-win32-ia32-msvc": "npm:4.32.1" + "@rollup/rollup-win32-x64-msvc": "npm:4.32.1" + "@types/estree": "npm:1.0.6" fsevents: "npm:~2.3.2" dependenciesMeta: "@rollup/rollup-android-arm-eabi": @@ -6863,6 +5904,10 @@ __metadata: optional: true "@rollup/rollup-darwin-x64": optional: true + "@rollup/rollup-freebsd-arm64": + optional: true + "@rollup/rollup-freebsd-x64": + optional: true "@rollup/rollup-linux-arm-gnueabihf": optional: true "@rollup/rollup-linux-arm-musleabihf": @@ -6871,6 +5916,8 @@ __metadata: optional: true "@rollup/rollup-linux-arm64-musl": optional: true + "@rollup/rollup-linux-loongarch64-gnu": + optional: true "@rollup/rollup-linux-powerpc64le-gnu": optional: true "@rollup/rollup-linux-riscv64-gnu": @@ -6891,7 +5938,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 10c0/c3c73252fd9f1d39eaeb44aa860141d9daf10d6eada73791a0ef453d38fe8f2c2dfef103ac1f387ed192dd5a2994534f91c026eed9ba1cfb50f5781f48c1f44f + checksum: 10c0/b40339d207ee873d5cb78456381d11be367ed44bf02506bb7b1e70ad24537b4e2f06f7b24a1d9dff054c34330e032cfbedecf217228dfdc850d421b49d640144 languageName: node linkType: hard @@ -6904,40 +5951,51 @@ __metadata: languageName: node linkType: hard -"safe-array-concat@npm:^1.1.2": - version: 1.1.2 - resolution: "safe-array-concat@npm:1.1.2" +"safe-array-concat@npm:^1.1.3": + version: 1.1.3 + resolution: "safe-array-concat@npm:1.1.3" dependencies: - call-bind: "npm:^1.0.7" - get-intrinsic: "npm:^1.2.4" - has-symbols: "npm:^1.0.3" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.6" + has-symbols: "npm:^1.1.0" isarray: "npm:^2.0.5" - checksum: 10c0/12f9fdb01c8585e199a347eacc3bae7b5164ae805cdc8c6707199dbad5b9e30001a50a43c4ee24dc9ea32dbb7279397850e9208a7e217f4d8b1cf5d90129dec9 + checksum: 10c0/43c86ffdddc461fb17ff8a17c5324f392f4868f3c7dd2c6a5d9f5971713bc5fd755667212c80eab9567595f9a7509cc2f83e590ddaebd1bd19b780f9c79f9a8d + languageName: node + linkType: hard + +"safe-buffer@npm:5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 languageName: node linkType: hard -"safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:5.2.1": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 languageName: node linkType: hard -"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": - version: 5.1.2 - resolution: "safe-buffer@npm:5.1.2" - checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 +"safe-push-apply@npm:^1.0.0": + version: 1.0.0 + resolution: "safe-push-apply@npm:1.0.0" + dependencies: + es-errors: "npm:^1.3.0" + isarray: "npm:^2.0.5" + checksum: 10c0/831f1c9aae7436429e7862c7e46f847dfe490afac20d0ee61bae06108dbf5c745a0de3568ada30ccdd3eeb0864ca8331b2eef703abd69bfea0745b21fd320750 languageName: node linkType: hard -"safe-regex-test@npm:^1.0.3": - version: 1.0.3 - resolution: "safe-regex-test@npm:1.0.3" +"safe-regex-test@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex-test@npm:1.1.0" dependencies: - call-bind: "npm:^1.0.6" + call-bound: "npm:^1.0.2" es-errors: "npm:^1.3.0" - is-regex: "npm:^1.1.4" - checksum: 10c0/900bf7c98dc58f08d8523b7012b468e4eb757afa624f198902c0643d7008ba777b0bdc35810ba0b758671ce887617295fb742b3f3968991b178ceca54cb07603 + is-regex: "npm:^1.2.1" + checksum: 10c0/f2c25281bbe5d39cddbbce7f86fca5ea9b3ce3354ea6cd7c81c31b006a5a9fff4286acc5450a3b9122c56c33eba69c56b9131ad751457b2b4a585825e6a10665 languageName: node linkType: hard @@ -6948,34 +6006,10 @@ __metadata: languageName: node linkType: hard -"sass@npm:*, sass@npm:^1.77.6": - version: 1.77.7 - resolution: "sass@npm:1.77.7" - dependencies: - chokidar: "npm:>=3.0.0 <4.0.0" - immutable: "npm:^4.0.0" - source-map-js: "npm:>=0.6.2 <2.0.0" - bin: - sass: sass.js - checksum: 10c0/6cacbf4b5165d30a9be0f09438aed85ff0617e5087442e65c23c8464750ff1b9988855a58f36b420b62f992d1e82403f99810aba7731519d3d026847e21a5635 - languageName: node - linkType: hard - -"scheduler@npm:^0.23.2": - version: 0.23.2 - resolution: "scheduler@npm:0.23.2" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10c0/26383305e249651d4c58e6705d5f8425f153211aef95f15161c151f7b8de885f24751b377e4a0b3dd42cce09aad3f87a61dab7636859c0d89b7daf1a1e2a5c78 - languageName: node - linkType: hard - -"semver@npm:^5.5.0, semver@npm:^5.6.0": - version: 5.7.2 - resolution: "semver@npm:5.7.2" - bin: - semver: bin/semver - checksum: 10c0/e4cf10f86f168db772ae95d86ba65b3fd6c5967c94d97c708ccb463b778c2ee53b914cd7167620950fc07faf5a564e6efe903836639e512a1aa15fbc9667fa25 +"scheduler@npm:^0.25.0": + version: 0.25.0 + resolution: "scheduler@npm:0.25.0" + checksum: 10c0/a4bb1da406b613ce72c1299db43759526058fdcc413999c3c3e0db8956df7633acf395cb20eb2303b6a65d658d66b6585d344460abaee8080b4aa931f10eaafe languageName: node linkType: hard @@ -6988,32 +6022,56 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5": - version: 7.6.3 - resolution: "semver@npm:7.6.3" +"semver@npm:^7.1.1, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.3, semver@npm:^7.6.0": + version: 7.7.0 + resolution: "semver@npm:7.7.0" bin: semver: bin/semver.js - checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf + checksum: 10c0/bcd1c03209b4be7d8ca86c976a0410beba7d4ec1d49d846a4be154b958db1ff5eaee50760c1d4f4070b19dee3236b8672d3e09642c53ea23740398bba2538a2d languageName: node linkType: hard -"semver@npm:^7.6.0": - version: 7.6.2 - resolution: "semver@npm:7.6.2" - bin: - semver: bin/semver.js - checksum: 10c0/97d3441e97ace8be4b1976433d1c32658f6afaff09f143e52c593bae7eef33de19e3e369c88bd985ce1042c6f441c80c6803078d1de2a9988080b66684cbb30c +"send@npm:0.19.0": + version: 0.19.0 + resolution: "send@npm:0.19.0" + dependencies: + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + encodeurl: "npm:~1.0.2" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + mime: "npm:1.6.0" + ms: "npm:2.1.3" + on-finished: "npm:2.4.1" + range-parser: "npm:~1.2.1" + statuses: "npm:2.0.1" + checksum: 10c0/ea3f8a67a8f0be3d6bf9080f0baed6d2c51d11d4f7b4470de96a5029c598a7011c497511ccc28968b70ef05508675cebff27da9151dd2ceadd60be4e6cf845e3 languageName: node linkType: hard -"set-blocking@npm:^2.0.0": - version: 2.0.0 - resolution: "set-blocking@npm:2.0.0" - checksum: 10c0/9f8c1b2d800800d0b589de1477c753492de5c1548d4ade52f57f1d1f5e04af5481554d75ce5e5c43d4004b80a3eb714398d6907027dc0534177b7539119f4454 +"serve-static@npm:1.16.2": + version: 1.16.2 + resolution: "serve-static@npm:1.16.2" + dependencies: + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + parseurl: "npm:~1.3.3" + send: "npm:0.19.0" + checksum: 10c0/528fff6f5e12d0c5a391229ad893910709bc51b5705962b09404a1d813857578149b8815f35d3ee5752f44cd378d0f31669d4b1d7e2d11f41e08283d5134bd1f languageName: node linkType: hard -"set-function-length@npm:^1.2.1": +"set-cookie-parser@npm:^2.6.0": + version: 2.7.1 + resolution: "set-cookie-parser@npm:2.7.1" + checksum: 10c0/060c198c4c92547ac15988256f445eae523f57f2ceefeccf52d30d75dedf6bff22b9c26f756bd44e8e560d44ff4ab2130b178bd2e52ef5571bf7be3bd7632d9a + languageName: node + linkType: hard + +"set-function-length@npm:^1.2.2": version: 1.2.2 resolution: "set-function-length@npm:1.2.2" dependencies: @@ -7027,7 +6085,7 @@ __metadata: languageName: node linkType: hard -"set-function-name@npm:^2.0.1, set-function-name@npm:^2.0.2": +"set-function-name@npm:^2.0.2": version: 2.0.2 resolution: "set-function-name@npm:2.0.2" dependencies: @@ -7039,19 +6097,21 @@ __metadata: languageName: node linkType: hard -"shallowequal@npm:^1.1.0": - version: 1.1.0 - resolution: "shallowequal@npm:1.1.0" - checksum: 10c0/b926efb51cd0f47aa9bc061add788a4a650550bbe50647962113a4579b60af2abe7b62f9b02314acc6f97151d4cf87033a2b15fc20852fae306d1a095215396c +"set-proto@npm:^1.0.0": + version: 1.0.0 + resolution: "set-proto@npm:1.0.0" + dependencies: + dunder-proto: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/ca5c3ccbba479d07c30460e367e66337cec825560b11e8ba9c5ebe13a2a0d6021ae34eddf94ff3dfe17a3104dc1f191519cb6c48378b503e5c3f36393938776a languageName: node linkType: hard -"shebang-command@npm:^1.2.0": +"setprototypeof@npm:1.2.0": version: 1.2.0 - resolution: "shebang-command@npm:1.2.0" - dependencies: - shebang-regex: "npm:^1.0.0" - checksum: 10c0/7b20dbf04112c456b7fc258622dafd566553184ac9b6938dd30b943b065b21dabd3776460df534cc02480db5e1b6aec44700d985153a3da46e7db7f9bd21326d + resolution: "setprototypeof@npm:1.2.0" + checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc languageName: node linkType: hard @@ -7064,13 +6124,6 @@ __metadata: languageName: node linkType: hard -"shebang-regex@npm:^1.0.0": - version: 1.0.0 - resolution: "shebang-regex@npm:1.0.0" - checksum: 10c0/9abc45dee35f554ae9453098a13fdc2f1730e525a5eb33c51f096cc31f6f10a4b38074c1ebf354ae7bffa7229506083844008dfc3bb7818228568c0b2dc1fff2 - languageName: node - linkType: hard - "shebang-regex@npm:^3.0.0": version: 3.0.0 resolution: "shebang-regex@npm:3.0.0" @@ -7078,40 +6131,51 @@ __metadata: languageName: node linkType: hard -"sheet2i18n@npm:^1.1.2": - version: 1.1.2 - resolution: "sheet2i18n@npm:1.1.2" +"side-channel-list@npm:^1.0.0": + version: 1.0.0 + resolution: "side-channel-list@npm:1.0.0" dependencies: - csv-parse: "npm:^5.5.6" - bin: - sheet2i18n: bin/sheet2i18n.js - checksum: 10c0/3afcc9abcc13e7addf2f7cf7d4314e5b6a153006a657e1c22257829d782a0a0663a274e364f90aee3507ec3c4f310f2069e32a17ea34e754b72f6edf60c61d57 + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + checksum: 10c0/644f4ac893456c9490ff388bf78aea9d333d5e5bfc64cfb84be8f04bf31ddc111a8d4b83b85d7e7e8a7b845bc185a9ad02c052d20e086983cf59f0be517d9b3d languageName: node linkType: hard -"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": - version: 1.0.6 - resolution: "side-channel@npm:1.0.6" +"side-channel-map@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-map@npm:1.0.1" dependencies: - call-bind: "npm:^1.0.7" + call-bound: "npm:^1.0.2" es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - object-inspect: "npm:^1.13.1" - checksum: 10c0/d2afd163dc733cc0a39aa6f7e39bf0c436293510dbccbff446733daeaf295857dbccf94297092ec8c53e2503acac30f0b78830876f0485991d62a90e9cad305f + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 languageName: node linkType: hard -"sigmund@npm:^1.0.1": - version: 1.0.1 - resolution: "sigmund@npm:1.0.1" - checksum: 10c0/0cc9cf0acf4ee1e29bc324ec60b81865c30c4cf6738c6677646b101df1b1b1663759106d96de4199648e5fff3d1d2468ba06ec437cfcef16ee8ff19133fcbb9d +"side-channel-weakmap@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel-weakmap@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + side-channel-map: "npm:^1.0.1" + checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 languageName: node linkType: hard -"signal-exit@npm:^3.0.0": - version: 3.0.7 - resolution: "signal-exit@npm:3.0.7" - checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 +"side-channel@npm:^1.0.6, side-channel@npm:^1.1.0": + version: 1.1.0 + resolution: "side-channel@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + side-channel-list: "npm:^1.0.0" + side-channel-map: "npm:^1.0.1" + side-channel-weakmap: "npm:^1.0.2" + checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 languageName: node linkType: hard @@ -7129,15 +6193,6 @@ __metadata: languageName: node linkType: hard -"slice-ansi@npm:^1.0.0": - version: 1.0.0 - resolution: "slice-ansi@npm:1.0.0" - dependencies: - is-fullwidth-code-point: "npm:^2.0.0" - checksum: 10c0/589d9b80b33b8274f88942d4da7c3698cebb8bba0d367c79a42f95a4f69eb7645fdf51821ffbd6d0af6aea6dda70f725925b6cf5e670a53b7ae2c31e7fd10a2e - languageName: node - linkType: hard - "slice-ansi@npm:^4.0.0": version: 4.0.0 resolution: "slice-ansi@npm:4.0.0" @@ -7157,13 +6212,13 @@ __metadata: linkType: hard "socks-proxy-agent@npm:^8.0.3": - version: 8.0.4 - resolution: "socks-proxy-agent@npm:8.0.4" + version: 8.0.5 + resolution: "socks-proxy-agent@npm:8.0.5" dependencies: - agent-base: "npm:^7.1.1" + agent-base: "npm:^7.1.2" debug: "npm:^4.3.4" socks: "npm:^2.8.3" - checksum: 10c0/345593bb21b95b0508e63e703c84da11549f0a2657d6b4e3ee3612c312cb3a907eac10e53b23ede3557c6601d63252103494caa306b66560f43af7b98f53957a + checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 languageName: node linkType: hard @@ -7177,10 +6232,20 @@ __metadata: languageName: node linkType: hard -"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.0": - version: 1.2.0 - resolution: "source-map-js@npm:1.2.0" - checksum: 10c0/7e5f896ac10a3a50fe2898e5009c58ff0dc102dcb056ed27a354623a0ece8954d4b2649e1a1b2b52ef2e161d26f8859c7710350930751640e71e374fe2d321a4 +"source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf + languageName: node + linkType: hard + +"source-map-support@npm:^0.5.21": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d languageName: node linkType: hard @@ -7191,10 +6256,44 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.7.4": - version: 0.7.4 - resolution: "source-map@npm:0.7.4" - checksum: 10c0/dc0cf3768fe23c345ea8760487f8c97ef6fca8a73c83cd7c9bf2fde8bc2c34adb9c0824d6feb14bc4f9e37fb522e18af621543f1289038a66ac7586da29aa7dc +"source-map@npm:^0.6.0": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 + languageName: node + linkType: hard + +"spdx-correct@npm:^3.0.0": + version: 3.2.0 + resolution: "spdx-correct@npm:3.2.0" + dependencies: + spdx-expression-parse: "npm:^3.0.0" + spdx-license-ids: "npm:^3.0.0" + checksum: 10c0/49208f008618b9119208b0dadc9208a3a55053f4fd6a0ae8116861bd22696fc50f4142a35ebfdb389e05ccf2de8ad142573fefc9e26f670522d899f7b2fe7386 + languageName: node + linkType: hard + +"spdx-exceptions@npm:^2.1.0": + version: 2.5.0 + resolution: "spdx-exceptions@npm:2.5.0" + checksum: 10c0/37217b7762ee0ea0d8b7d0c29fd48b7e4dfb94096b109d6255b589c561f57da93bf4e328c0290046115961b9209a8051ad9f525e48d433082fc79f496a4ea940 + languageName: node + linkType: hard + +"spdx-expression-parse@npm:^3.0.0": + version: 3.0.1 + resolution: "spdx-expression-parse@npm:3.0.1" + dependencies: + spdx-exceptions: "npm:^2.1.0" + spdx-license-ids: "npm:^3.0.0" + checksum: 10c0/6f8a41c87759fa184a58713b86c6a8b028250f158159f1d03ed9d1b6ee4d9eefdc74181c8ddc581a341aa971c3e7b79e30b59c23b05d2436d5de1c30bdef7171 + languageName: node + linkType: hard + +"spdx-license-ids@npm:^3.0.0": + version: 3.0.21 + resolution: "spdx-license-ids@npm:3.0.21" + checksum: 10c0/ecb24c698d8496aa9efe23e0b1f751f8a7a89faedcdfcbfabae772b546c2db46ccde8f3bc447a238eb86bbcd4f73fea88720ef3b8394f7896381bec3d7736411 languageName: node linkType: hard @@ -7205,19 +6304,19 @@ __metadata: languageName: node linkType: hard -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d languageName: node linkType: hard -"ssri@npm:^10.0.0": - version: 10.0.6 - resolution: "ssri@npm:10.0.6" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/e5a1e23a4057a86a97971465418f22ea89bd439ac36ade88812dd920e4e61873e8abd6a9b72a03a67ef50faa00a2daf1ab745c5a15b46d03e0544a0296354227 +"statuses@npm:2.0.1": + version: 2.0.1 + resolution: "statuses@npm:2.0.1" + checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 languageName: node linkType: hard @@ -7228,12 +6327,10 @@ __metadata: languageName: node linkType: hard -"streamfilter@npm:^1.0.5": - version: 1.0.7 - resolution: "streamfilter@npm:1.0.7" - dependencies: - readable-stream: "npm:^2.0.2" - checksum: 10c0/457cfeb40c565e4efba968c71f60bf83e11329342c1dd9ee8f76bdf5d5b01afa5149e8741a6d0cb55aedac63d2128d48d8e43bb145a8cc0b6edd4c3292b4a8e0 +"stream-slice@npm:^0.1.2": + version: 0.1.2 + resolution: "stream-slice@npm:0.1.2" + checksum: 10c0/fe9ccd8adfff2e2754617d3fd4afe9aa677c69d51ccd94b34909ae669d5882ed4b2753893c4dbd4100495c0deda51adbaa7bfe340e6b340e52211b32faa0e835 languageName: node linkType: hard @@ -7248,38 +6345,6 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^1.0.1": - version: 1.0.2 - resolution: "string-width@npm:1.0.2" - dependencies: - code-point-at: "npm:^1.0.0" - is-fullwidth-code-point: "npm:^1.0.0" - strip-ansi: "npm:^3.0.0" - checksum: 10c0/c558438baed23a9ab9370bb6a939acbdb2b2ffc517838d651aad0f5b2b674fb85d460d9b1d0b6a4c210dffd09e3235222d89a5bd4c0c1587f78b2bb7bc00c65e - languageName: node - linkType: hard - -"string-width@npm:^2.0.0, string-width@npm:^2.1.1": - version: 2.1.1 - resolution: "string-width@npm:2.1.1" - dependencies: - is-fullwidth-code-point: "npm:^2.0.0" - strip-ansi: "npm:^4.0.0" - checksum: 10c0/e5f2b169fcf8a4257a399f95d069522f056e92ec97dbdcb9b0cdf14d688b7ca0b1b1439a1c7b9773cd79446cbafd582727279d6bfdd9f8edd306ea5e90e5b610 - languageName: node - linkType: hard - -"string-width@npm:^3.0.0": - version: 3.1.0 - resolution: "string-width@npm:3.1.0" - dependencies: - emoji-regex: "npm:^7.0.1" - is-fullwidth-code-point: "npm:^2.0.0" - strip-ansi: "npm:^5.1.0" - checksum: 10c0/85fa0d4f106e7999bb68c1c640c76fa69fb8c069dab75b009e29c123914e2d3b532e6cfa4b9d1bd913176fc83dedd7a2d7bf40d21a81a8a1978432cedfb65b91 - languageName: node - linkType: hard - "string-width@npm:^5.0.1, string-width@npm:^5.1.2": version: 5.1.2 resolution: "string-width@npm:5.1.2" @@ -7291,46 +6356,61 @@ __metadata: languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.11": - version: 4.0.11 - resolution: "string.prototype.matchall@npm:4.0.11" +"string.prototype.matchall@npm:^4.0.12": + version: 4.0.12 + resolution: "string.prototype.matchall@npm:4.0.12" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" + es-abstract: "npm:^1.23.6" es-errors: "npm:^1.3.0" es-object-atoms: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.4" - gopd: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - internal-slot: "npm:^1.0.7" - regexp.prototype.flags: "npm:^1.5.2" + get-intrinsic: "npm:^1.2.6" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + internal-slot: "npm:^1.1.0" + regexp.prototype.flags: "npm:^1.5.3" set-function-name: "npm:^2.0.2" - side-channel: "npm:^1.0.6" - checksum: 10c0/915a2562ac9ab5e01b7be6fd8baa0b2b233a0a9aa975fcb2ec13cc26f08fb9a3e85d5abdaa533c99c6fc4c5b65b914eba3d80c4aff9792a4c9fed403f28f7d9d + side-channel: "npm:^1.1.0" + checksum: 10c0/1a53328ada73f4a77f1fdf1c79414700cf718d0a8ef6672af5603e709d26a24f2181208144aed7e858b1bcc1a0d08567a570abfb45567db4ae47637ed2c2f85c + languageName: node + linkType: hard + +"string.prototype.repeat@npm:^1.0.0": + version: 1.0.0 + resolution: "string.prototype.repeat@npm:1.0.0" + dependencies: + define-properties: "npm:^1.1.3" + es-abstract: "npm:^1.17.5" + checksum: 10c0/94c7978566cffa1327d470fd924366438af9b04b497c43a9805e476e2e908aa37a1fd34cc0911156c17556dab62159d12c7b92b3cc304c3e1281fe4c8e668f40 languageName: node linkType: hard -"string.prototype.trim@npm:^1.2.9": - version: 1.2.9 - resolution: "string.prototype.trim@npm:1.2.9" +"string.prototype.trim@npm:^1.2.10": + version: 1.2.10 + resolution: "string.prototype.trim@npm:1.2.10" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + define-data-property: "npm:^1.1.4" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.0" + es-abstract: "npm:^1.23.5" es-object-atoms: "npm:^1.0.0" - checksum: 10c0/dcef1a0fb61d255778155006b372dff8cc6c4394bc39869117e4241f41a2c52899c0d263ffc7738a1f9e61488c490b05c0427faa15151efad721e1a9fb2663c2 + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/8a8854241c4b54a948e992eb7dd6b8b3a97185112deb0037a134f5ba57541d8248dd610c966311887b6c2fd1181a3877bffb14d873ce937a344535dabcc648f8 languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.8": - version: 1.0.8 - resolution: "string.prototype.trimend@npm:1.0.8" +"string.prototype.trimend@npm:^1.0.9": + version: 1.0.9 + resolution: "string.prototype.trimend@npm:1.0.9" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" define-properties: "npm:^1.2.1" es-object-atoms: "npm:^1.0.0" - checksum: 10c0/0a0b54c17c070551b38e756ae271865ac6cc5f60dabf2e7e343cceae7d9b02e1a1120a824e090e79da1b041a74464e8477e2da43e2775c85392be30a6f60963c + checksum: 10c0/59e1a70bf9414cb4c536a6e31bef5553c8ceb0cf44d8b4d0ed65c9653358d1c64dd0ec203b100df83d0413bbcde38b8c5d49e14bc4b86737d74adc593a0d35b6 languageName: node linkType: hard @@ -7345,15 +6425,6 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:^1.1.1": - version: 1.3.0 - resolution: "string_decoder@npm:1.3.0" - dependencies: - safe-buffer: "npm:~5.2.0" - checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d - languageName: node - linkType: hard - "string_decoder@npm:~1.1.1": version: 1.1.1 resolution: "string_decoder@npm:1.1.1" @@ -7372,34 +6443,7 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^3.0.0, strip-ansi@npm:^3.0.1": - version: 3.0.1 - resolution: "strip-ansi@npm:3.0.1" - dependencies: - ansi-regex: "npm:^2.0.0" - checksum: 10c0/f6e7fbe8e700105dccf7102eae20e4f03477537c74b286fd22cfc970f139002ed6f0d9c10d0e21aa9ed9245e0fa3c9275930e8795c5b947da136e4ecb644a70f - languageName: node - linkType: hard - -"strip-ansi@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-ansi@npm:4.0.0" - dependencies: - ansi-regex: "npm:^3.0.0" - checksum: 10c0/d75d9681e0637ea316ddbd7d4d3be010b1895a17e885155e0ed6a39755ae0fd7ef46e14b22162e66a62db122d3a98ab7917794e255532ab461bb0a04feb03e7d - languageName: node - linkType: hard - -"strip-ansi@npm:^5.1.0": - version: 5.2.0 - resolution: "strip-ansi@npm:5.2.0" - dependencies: - ansi-regex: "npm:^4.1.0" - checksum: 10c0/de4658c8a097ce3b15955bc6008f67c0790f85748bdc025b7bc8c52c7aee94bc4f9e50624516150ed173c3db72d851826cd57e7a85fe4e4bb6dbbebd5d297fdf - languageName: node - linkType: hard - -"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": +"strip-ansi@npm:^7.0.1": version: 7.1.0 resolution: "strip-ansi@npm:7.1.0" dependencies: @@ -7408,13 +6452,6 @@ __metadata: languageName: node linkType: hard -"strip-eof@npm:^1.0.0": - version: 1.0.0 - resolution: "strip-eof@npm:1.0.0" - checksum: 10c0/f336beed8622f7c1dd02f2cbd8422da9208fae81daf184f73656332899978919d5c0ca84dc6cfc49ad1fc4dd7badcde5412a063cf4e0d7f8ed95a13a63f68f45 - languageName: node - linkType: hard - "strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" @@ -7422,178 +6459,134 @@ __metadata: languageName: node linkType: hard -"stylelint-config-prettier-scss@npm:^1.0.0": - version: 1.0.0 - resolution: "stylelint-config-prettier-scss@npm:1.0.0" - peerDependencies: - stylelint: ">=15.0.0" - bin: - stylelint-config-prettier-scss: bin/check.js - stylelint-config-prettier-scss-check: bin/check.js - checksum: 10c0/4d5e1d1c200d4611b5b7bd2d2528cc9e301f26645802a2774aec192c4c2949cbf5a0147eba8b2e6e4ff14a071b03024f3034bb1b4fda37a8ed5a0081a9597d4d - languageName: node - linkType: hard - -"stylelint-config-recommended-scss@npm:^14.0.0": - version: 14.1.0 - resolution: "stylelint-config-recommended-scss@npm:14.1.0" +"stylelint-config-css-modules@npm:^4.4.0": + version: 4.4.0 + resolution: "stylelint-config-css-modules@npm:4.4.0" dependencies: - postcss-scss: "npm:^4.0.9" - stylelint-config-recommended: "npm:^14.0.1" - stylelint-scss: "npm:^6.4.0" + stylelint-scss: "npm:^6.0.0" peerDependencies: - postcss: ^8.3.3 - stylelint: ^16.6.1 - peerDependenciesMeta: - postcss: + stylelint: ^14.5.1 || ^15.0.0 || ^16.0.0 + dependenciesMeta: + stylelint-scss: optional: true - checksum: 10c0/0a1c1bb6d9f7a21acea82e12fee1b36a195181ae1dd0d8b59145a56f76232a80d5b706269bc4ca4929680d36f10371bd8a7d0aeeee468fa9119a3b56410b052f + checksum: 10c0/4611720edafeebde80ba55337ec0853667bc02a6fad3723c5260ae7d891aa8920812896f420b327b526c53d9fb688910f3a2e20bdb28a1ec6823272804db13af languageName: node linkType: hard -"stylelint-config-recommended@npm:^14.0.1": - version: 14.0.1 - resolution: "stylelint-config-recommended@npm:14.0.1" +"stylelint-config-recommended@npm:^15.0.0": + version: 15.0.0 + resolution: "stylelint-config-recommended@npm:15.0.0" peerDependencies: - stylelint: ^16.1.0 - checksum: 10c0/a0a0ecd91f4d193bbe2cc3408228f8a2d8fcb2b2578d77233f86780c9247c796a04e16aad7a91d97cb918e2de34b6a8062bab66ee017c3835d855081d94f4828 + stylelint: ^16.13.0 + checksum: 10c0/de82e675e7d0cdbc486beee1f76002d5a5676247c1780fbe04f6adb617b016033f18f3361f4e99a76fc4d2115fbfc97786d9cf87ee7d90a345e146de35b04ab8 languageName: node linkType: hard -"stylelint-config-standard-scss@npm:^13.1.0": - version: 13.1.0 - resolution: "stylelint-config-standard-scss@npm:13.1.0" +"stylelint-config-standard@npm:^37.0.0": + version: 37.0.0 + resolution: "stylelint-config-standard@npm:37.0.0" dependencies: - stylelint-config-recommended-scss: "npm:^14.0.0" - stylelint-config-standard: "npm:^36.0.0" + stylelint-config-recommended: "npm:^15.0.0" peerDependencies: - postcss: ^8.3.3 - stylelint: ^16.3.1 - peerDependenciesMeta: - postcss: - optional: true - checksum: 10c0/d07cae806ee8b3e77684f019a8b22cc32642373da8053e6ae7ed716f8ddbe6ea1f7323633a6a1bbc9aa08c6a3dceb1dcf053d83fdd10d076b5a01da6e86801ae + stylelint: ^16.13.0 + checksum: 10c0/99c184384126f8676061c857e36d6d58fd9b391c1c1ec94a3f019c23ba1e0dc7665fc064a630f6ee66bc8624a6fd850fc7ab33ff086f5fde7b46d4ae0d92edf5 languageName: node linkType: hard -"stylelint-config-standard@npm:^36.0.0": - version: 36.0.1 - resolution: "stylelint-config-standard@npm:36.0.1" +"stylelint-order@npm:^6.0.4": + version: 6.0.4 + resolution: "stylelint-order@npm:6.0.4" dependencies: - stylelint-config-recommended: "npm:^14.0.1" + postcss: "npm:^8.4.32" + postcss-sorting: "npm:^8.0.2" peerDependencies: - stylelint: ^16.1.0 - checksum: 10c0/7f9b954694358e77be5110418f31335be579ce59dd952bc3c6a9449265297db3170ec520e0905769253b48b99c3109a95c71f5b985bf402e48fd6c89b5364cb2 + stylelint: ^14.0.0 || ^15.0.0 || ^16.0.1 + checksum: 10c0/9a1f6ba7ab04855462bfae28fe36ad2a297fec56f42da2f588b57295b89b72e6f517d5e35ecbcefb11fcc373f3db40f0e6a8eefb41a4d267550ac6324f12a3ca languageName: node linkType: hard -"stylelint-prettier@npm:^5.0.0": - version: 5.0.0 - resolution: "stylelint-prettier@npm:5.0.0" +"stylelint-prettier@npm:^5.0.2": + version: 5.0.3 + resolution: "stylelint-prettier@npm:5.0.3" dependencies: prettier-linter-helpers: "npm:^1.0.0" peerDependencies: prettier: ">=3.0.0" stylelint: ">=16.0.0" - checksum: 10c0/e884377890c8183658c96eb6f5f93d673994fb58c0c979357b1ed8fa0eda24eddde1f26821c862b8dd458589f30b9d7d8bf05a101f5086c7d2b75c64b4ee1d18 + checksum: 10c0/955e647131b96e088f3ea80ef409772aff8854d9f9831ac5826b76780fc9a49e0ad0f5aac1b5e6ed714848bea85068a7ba815585ed8b9f1e4da41a29b5666e4d languageName: node linkType: hard -"stylelint-scss@npm:^6.3.2, stylelint-scss@npm:^6.4.0": - version: 6.4.1 - resolution: "stylelint-scss@npm:6.4.1" +"stylelint-scss@npm:^6.0.0": + version: 6.11.0 + resolution: "stylelint-scss@npm:6.11.0" dependencies: - known-css-properties: "npm:^0.34.0" + css-tree: "npm:^3.0.1" + is-plain-object: "npm:^5.0.0" + known-css-properties: "npm:^0.35.0" + mdn-data: "npm:^2.15.0" postcss-media-query-parser: "npm:^0.2.3" - postcss-resolve-nested-selector: "npm:^0.1.1" - postcss-selector-parser: "npm:^6.1.0" + postcss-resolve-nested-selector: "npm:^0.1.6" + postcss-selector-parser: "npm:^7.0.0" postcss-value-parser: "npm:^4.2.0" peerDependencies: stylelint: ^16.0.2 - checksum: 10c0/0ff90a3403cf3a2fc8e2f911389d0ab0d4d611fbb9b2cd902ae0cb68fa0627767816ce715d4db6b2017fbec11764d3097b0215a8f61c0b5fc2e0443cdce32d07 + checksum: 10c0/d02a51a8ac0cc26f582654eddd0883c3c7794b7474c86fbf86079689d0ebc1d2b878c1459f45ab6c1ea6a33b8a16ab26d8e9cf7a25769ff368002751290f0a08 languageName: node linkType: hard -"stylelint@npm:^16.6.1": - version: 16.6.1 - resolution: "stylelint@npm:16.6.1" +"stylelint@npm:^16.13.2": + version: 16.14.1 + resolution: "stylelint@npm:16.14.1" dependencies: - "@csstools/css-parser-algorithms": "npm:^2.6.3" - "@csstools/css-tokenizer": "npm:^2.3.1" - "@csstools/media-query-list-parser": "npm:^2.1.11" - "@csstools/selector-specificity": "npm:^3.1.1" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/media-query-list-parser": "npm:^4.0.2" + "@csstools/selector-specificity": "npm:^5.0.0" "@dual-bundle/import-meta-resolve": "npm:^4.1.0" balanced-match: "npm:^2.0.0" colord: "npm:^2.9.3" cosmiconfig: "npm:^9.0.0" - css-functions-list: "npm:^3.2.2" - css-tree: "npm:^2.3.1" - debug: "npm:^4.3.4" - fast-glob: "npm:^3.3.2" + css-functions-list: "npm:^3.2.3" + css-tree: "npm:^3.1.0" + debug: "npm:^4.3.7" + fast-glob: "npm:^3.3.3" fastest-levenshtein: "npm:^1.0.16" - file-entry-cache: "npm:^9.0.0" + file-entry-cache: "npm:^10.0.5" global-modules: "npm:^2.0.0" globby: "npm:^11.1.0" globjoin: "npm:^0.1.4" html-tags: "npm:^3.3.1" - ignore: "npm:^5.3.1" + ignore: "npm:^7.0.3" imurmurhash: "npm:^0.1.4" is-plain-object: "npm:^5.0.0" - known-css-properties: "npm:^0.31.0" + known-css-properties: "npm:^0.35.0" mathml-tag-names: "npm:^2.1.3" meow: "npm:^13.2.0" - micromatch: "npm:^4.0.7" + micromatch: "npm:^4.0.8" normalize-path: "npm:^3.0.0" - picocolors: "npm:^1.0.1" - postcss: "npm:^8.4.38" - postcss-resolve-nested-selector: "npm:^0.1.1" - postcss-safe-parser: "npm:^7.0.0" - postcss-selector-parser: "npm:^6.1.0" + picocolors: "npm:^1.1.1" + postcss: "npm:^8.5.1" + postcss-resolve-nested-selector: "npm:^0.1.6" + postcss-safe-parser: "npm:^7.0.1" + postcss-selector-parser: "npm:^7.0.0" postcss-value-parser: "npm:^4.2.0" resolve-from: "npm:^5.0.0" string-width: "npm:^4.2.3" - strip-ansi: "npm:^7.1.0" - supports-hyperlinks: "npm:^3.0.0" + supports-hyperlinks: "npm:^3.1.0" svg-tags: "npm:^1.0.0" - table: "npm:^6.8.2" + table: "npm:^6.9.0" write-file-atomic: "npm:^5.0.1" bin: stylelint: bin/stylelint.mjs - checksum: 10c0/8dc9b0024d6fb109380a142171ab8a134c3863aa8b8736f0083310a0d05f173dcda5680f29267697dfa0aaeb2f08aef4ef113e4bb4f8582fcfdd97f35be51d71 - languageName: node - linkType: hard - -"stylis-plugin-rtl@npm:^2.1.1": - version: 2.1.1 - resolution: "stylis-plugin-rtl@npm:2.1.1" - dependencies: - cssjanus: "npm:^2.0.1" - peerDependencies: - stylis: 4.x - checksum: 10c0/706640bba51ca75e3a824f781b59e8d8b8d034a10b839aa93daea166aac6cc67a4e7c063496ea8a09c396b639cff9859a42f5d03937d8f89f8922fd6c7435739 + checksum: 10c0/cce94374dc721d491d955f548ee81ba835d4955fa37d58a11323454f9f3721e5644fa89a04c14f85bdfa12790bdd043a41be2001a99cb0bfe23b38eb933199d7 languageName: node linkType: hard "stylis@npm:4.2.0": version: 4.2.0 resolution: "stylis@npm:4.2.0" - checksum: 10c0/a7128ad5a8ed72652c6eba46bed4f416521bc9745a460ef5741edc725252cebf36ee45e33a8615a7057403c93df0866ab9ee955960792db210bb80abd5ac6543 - languageName: node - linkType: hard - -"stylis@npm:^4.3.0, stylis@npm:^4.3.1": - version: 4.3.4 - resolution: "stylis@npm:4.3.4" - checksum: 10c0/4899c2674cd2538e314257abd1ba7ea3c2176439659ddac6593c78192cfd4a06f814a0a4fc69bc7f8fcc6b997e13d383dd9b578b71074746a0fb86045a83e42d - languageName: node - linkType: hard - -"supports-color@npm:^5.3.0": - version: 5.5.0 - resolution: "supports-color@npm:5.5.0" - dependencies: - has-flag: "npm:^3.0.0" - checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 + checksum: 10c0/a7128ad5a8ed72652c6eba46bed4f416521bc9745a460ef5741edc725252cebf36ee45e33a8615a7057403c93df0866ab9ee955960792db210bb80abd5ac6543 languageName: node linkType: hard @@ -7606,13 +6599,13 @@ __metadata: languageName: node linkType: hard -"supports-hyperlinks@npm:^3.0.0": - version: 3.0.0 - resolution: "supports-hyperlinks@npm:3.0.0" +"supports-hyperlinks@npm:^3.1.0": + version: 3.1.0 + resolution: "supports-hyperlinks@npm:3.1.0" dependencies: has-flag: "npm:^4.0.0" supports-color: "npm:^7.0.0" - checksum: 10c0/36aaa55e67645dded8e0f846fd81d7dd05ce82ea81e62347f58d86213577eb627b2b45298656ce7a70e7155e39f071d0d3f83be91e112aed801ebaa8db1ef1d0 + checksum: 10c0/78cc3e17eb27e6846fa355a8ebf343befe36272899cd409e45317a06c1997e95c23ff99d91080a517bd8c96508d4fa456e6ceb338c02ba5d7544277dbec0f10f languageName: node linkType: hard @@ -7630,69 +6623,34 @@ __metadata: languageName: node linkType: hard -"synckit@npm:^0.8.6": - version: 0.8.8 - resolution: "synckit@npm:0.8.8" - dependencies: - "@pkgr/core": "npm:^0.1.0" - tslib: "npm:^2.6.2" - checksum: 10c0/c3d3aa8e284f3f84f2f868b960c9f49239b364e35f6d20825a448449a3e9c8f49fe36cdd5196b30615682f007830d46f2ea354003954c7336723cb821e4b6519 - languageName: node - linkType: hard - -"table@npm:^6.8.2": - version: 6.8.2 - resolution: "table@npm:6.8.2" +"table@npm:^6.9.0": + version: 6.9.0 + resolution: "table@npm:6.9.0" dependencies: ajv: "npm:^8.0.1" lodash.truncate: "npm:^4.4.2" slice-ansi: "npm:^4.0.0" string-width: "npm:^4.2.3" strip-ansi: "npm:^6.0.1" - checksum: 10c0/f8b348af38ee34e419d8ce7306ba00671ce6f20e861ccff22555f491ba264e8416086063ce278a8d81abfa8d23b736ec2cca7ac4029b5472f63daa4b4688b803 - languageName: node - linkType: hard - -"tar@npm:^6.1.11, tar@npm:^6.2.1": - version: 6.2.1 - resolution: "tar@npm:6.2.1" - dependencies: - chownr: "npm:^2.0.0" - fs-minipass: "npm:^2.0.0" - minipass: "npm:^5.0.0" - minizlib: "npm:^2.1.1" - mkdirp: "npm:^1.0.3" - yallist: "npm:^4.0.0" - checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537 - languageName: node - linkType: hard - -"term-size@npm:^1.2.0": - version: 1.2.0 - resolution: "term-size@npm:1.2.0" - dependencies: - execa: "npm:^0.7.0" - checksum: 10c0/2fbb2668cdd3b5e63038c28355145e98789d16143fc6754462cd4a194706c7153f15c2a6f05f579ffed27bcf2f35bdf752007927457128cc9a9ce3ec20075649 - languageName: node - linkType: hard - -"text-table@npm:^0.2.0": - version: 0.2.0 - resolution: "text-table@npm:0.2.0" - checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c + checksum: 10c0/35646185712bb65985fbae5975dda46696325844b78735f95faefae83e86df0a265277819a3e67d189de6e858c509b54e66ca3958ffd51bde56ef1118d455bf4 languageName: node linkType: hard -"through2-filter@npm:^3.0.0": - version: 3.1.0 - resolution: "through2-filter@npm:3.1.0" +"tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" dependencies: - through2: "npm:^4.0.2" - checksum: 10c0/78efd97421df7dbb6b5186266a45c0f3e26d371328d3fea42f4bd8998974c5a67f676ad20b46c4c69bf6720f9fe0be3dc0fc5d2d4566482efd2f1371aac478de + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.0.1" + mkdirp: "npm:^3.0.1" + yallist: "npm:^5.0.0" + checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d languageName: node linkType: hard -"through2@npm:^2.0.0, through2@npm:^2.0.1, through2@npm:^2.0.3": +"through2@npm:^2.0.3": version: 2.0.5 resolution: "through2@npm:2.0.5" dependencies: @@ -7702,32 +6660,6 @@ __metadata: languageName: node linkType: hard -"through2@npm:^3.0.0": - version: 3.0.2 - resolution: "through2@npm:3.0.2" - dependencies: - inherits: "npm:^2.0.4" - readable-stream: "npm:2 || 3" - checksum: 10c0/8ea17efa2ce5b78ef5c52d08e29d0dbdad9c321c2add5192bba3434cae25b2319bf9cdac1c54c3bfbd721438a30565ca6f3f19eb79f62341dafc5a12429d2ccc - languageName: node - linkType: hard - -"through2@npm:^4.0.2": - version: 4.0.2 - resolution: "through2@npm:4.0.2" - dependencies: - readable-stream: "npm:3" - checksum: 10c0/3741564ae99990a4a79097fe7a4152c22348adc4faf2df9199a07a66c81ed2011da39f631e479fdc56483996a9d34a037ad64e76d79f18c782ab178ea9b6778c - languageName: node - linkType: hard - -"time-stamp@npm:^1.0.0": - version: 1.1.0 - resolution: "time-stamp@npm:1.1.0" - checksum: 10c0/99340b52a6ab3ce805c30c1884baee06251c54ef37d852979edf2b2b1d649664fc1ced50e0c7df90f8deb3dc28cb310af3e6002c2b63966c68f488e0bac3e5c5 - languageName: node - linkType: hard - "tiny-case@npm:^1.0.3": version: 1.0.3 resolution: "tiny-case@npm:1.0.3" @@ -7735,23 +6667,6 @@ __metadata: languageName: node linkType: hard -"to-absolute-glob@npm:^2.0.0": - version: 2.0.2 - resolution: "to-absolute-glob@npm:2.0.2" - dependencies: - is-absolute: "npm:^1.0.0" - is-negated-glob: "npm:^1.0.0" - checksum: 10c0/7c5384222d6bd8f68d105bcc618794dfc3433de74eea195da172f27e107e8b2e1e1991e4adaf837f65e04623e4b03d90e19fd48aaeecfc89b6f642da2510c4d5 - languageName: node - linkType: hard - -"to-fast-properties@npm:^2.0.0": - version: 2.0.0 - resolution: "to-fast-properties@npm:2.0.0" - checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 - languageName: node - linkType: hard - "to-regex-range@npm:^5.0.1": version: 5.0.1 resolution: "to-regex-range@npm:5.0.1" @@ -7761,21 +6676,10 @@ __metadata: languageName: node linkType: hard -"to-through@npm:^2.0.0": - version: 2.0.0 - resolution: "to-through@npm:2.0.0" - dependencies: - through2: "npm:^2.0.3" - checksum: 10c0/f8a7b0b38c51bcc018c38e6867588ac72120bd62232250b49a0fc209bd53ed66461ff85dc50b398c8e3686aa3e61165bce1dce4e89930f2f973b0fd3f64e4d2c - languageName: node - linkType: hard - -"to-time@npm:^1.0.2": - version: 1.0.2 - resolution: "to-time@npm:1.0.2" - dependencies: - bignumber.js: "npm:^2.4.0" - checksum: 10c0/6399da74331197654ff3ee3b6aa969831c667aeb7b8527a07e7bb1bac2b599eda700631137430442bd946e3570c6a97f8a9b7347af19a6bd4733b82ada1f04ca +"toidentifier@npm:1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 languageName: node linkType: hard @@ -7786,35 +6690,33 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^1.3.0": - version: 1.3.0 - resolution: "ts-api-utils@npm:1.3.0" +"ts-api-utils@npm:^2.0.0": + version: 2.0.0 + resolution: "ts-api-utils@npm:2.0.0" peerDependencies: - typescript: ">=4.2.0" - checksum: 10c0/f54a0ba9ed56ce66baea90a3fa087a484002e807f28a8ccb2d070c75e76bde64bd0f6dce98b3802834156306050871b67eec325cb4e918015a360a3f0868c77c - languageName: node - linkType: hard - -"ts-invariant@npm:^0.10.3": - version: 0.10.3 - resolution: "ts-invariant@npm:0.10.3" - dependencies: - tslib: "npm:^2.1.0" - checksum: 10c0/2fbc178d5903d325ee0b87fad38827eac11888b6e86979b06754fd4bcdcf44c2a99b8bcd5d59d149c0464ede55ae810b02a2aee6835ad10efe4dd0e22efd68c0 + typescript: ">=4.8.4" + checksum: 10c0/6165e29a5b75bd0218e3cb0f9ee31aa893dbd819c2e46dbb086c841121eb0436ed47c2c18a20cb3463d74fd1fb5af62e2604ba5971cc48e5b38ebbdc56746dfc languageName: node linkType: hard -"tslib@npm:^2.1.0": - version: 2.7.0 - resolution: "tslib@npm:2.7.0" - checksum: 10c0/469e1d5bf1af585742128827000711efa61010b699cb040ab1800bcd3ccdd37f63ec30642c9e07c4439c1db6e46345582614275daca3e0f4abae29b0083f04a6 +"tsconfck@npm:^3.0.3": + version: 3.1.4 + resolution: "tsconfck@npm:3.1.4" + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + bin: + tsconfck: bin/tsconfck.js + checksum: 10c0/5120e91b3388574b449d57d08f45d05d9966cf4b9d6aa1018652c1fff6d7d37b1ed099b07e6ebf6099aa40b8a16968dd337198c55b7274892849112b942861ed languageName: node linkType: hard -"tslib@npm:^2.6.2": - version: 2.6.3 - resolution: "tslib@npm:2.6.3" - checksum: 10c0/2598aef53d9dbe711af75522464b2104724d6467b26a60f2bdac8297d2b5f1f6b86a71f61717384aa8fd897240467aaa7bcc36a0700a0faf751293d1331db39a +"turbo-stream@npm:2.4.0": + version: 2.4.0 + resolution: "turbo-stream@npm:2.4.0" + checksum: 10c0/e68b2569f1f16e6e9633d090c6024b2ae9f0e97bfeacb572451ca3732e120ebbb546f3bc4afc717c46cb57b5aea6104e04ef497f9912eef6a7641e809518e98a languageName: node linkType: hard @@ -7827,13 +6729,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 - languageName: node - linkType: hard - "type-fest@npm:^2.19.0": version: 2.19.0 resolution: "type-fest@npm:2.19.0" @@ -7841,154 +6736,176 @@ __metadata: languageName: node linkType: hard -"typed-array-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "typed-array-buffer@npm:1.0.2" +"type-is@npm:~1.6.18": + version: 1.6.18 + resolution: "type-is@npm:1.6.18" dependencies: - call-bind: "npm:^1.0.7" + media-typer: "npm:0.3.0" + mime-types: "npm:~2.1.24" + checksum: 10c0/a23daeb538591b7efbd61ecf06b6feb2501b683ffdc9a19c74ef5baba362b4347e42f1b4ed81f5882a8c96a3bfff7f93ce3ffaf0cbbc879b532b04c97a55db9d + languageName: node + linkType: hard + +"typed-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-buffer@npm:1.0.3" + dependencies: + call-bound: "npm:^1.0.3" es-errors: "npm:^1.3.0" - is-typed-array: "npm:^1.1.13" - checksum: 10c0/9e043eb38e1b4df4ddf9dde1aa64919ae8bb909571c1cc4490ba777d55d23a0c74c7d73afcdd29ec98616d91bb3ae0f705fad4421ea147e1daf9528200b562da + is-typed-array: "npm:^1.1.14" + checksum: 10c0/1105071756eb248774bc71646bfe45b682efcad93b55532c6ffa4518969fb6241354e4aa62af679ae83899ec296d69ef88f1f3763657cdb3a4d29321f7b83079 languageName: node linkType: hard -"typed-array-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "typed-array-byte-length@npm:1.0.1" +"typed-array-byte-length@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-byte-length@npm:1.0.3" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-proto: "npm:^1.0.3" - is-typed-array: "npm:^1.1.13" - checksum: 10c0/fcebeffb2436c9f355e91bd19e2368273b88c11d1acc0948a2a306792f1ab672bce4cfe524ab9f51a0505c9d7cd1c98eff4235c4f6bfef6a198f6cfc4ff3d4f3 + gopd: "npm:^1.2.0" + has-proto: "npm:^1.2.0" + is-typed-array: "npm:^1.1.14" + checksum: 10c0/6ae083c6f0354f1fce18b90b243343b9982affd8d839c57bbd2c174a5d5dc71be9eb7019ffd12628a96a4815e7afa85d718d6f1e758615151d5f35df841ffb3e languageName: node linkType: hard -"typed-array-byte-offset@npm:^1.0.2": - version: 1.0.2 - resolution: "typed-array-byte-offset@npm:1.0.2" +"typed-array-byte-offset@npm:^1.0.4": + version: 1.0.4 + resolution: "typed-array-byte-offset@npm:1.0.4" dependencies: available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-proto: "npm:^1.0.3" - is-typed-array: "npm:^1.1.13" - checksum: 10c0/d2628bc739732072e39269389a758025f75339de2ed40c4f91357023c5512d237f255b633e3106c461ced41907c1bf9a533c7e8578066b0163690ca8bc61b22f + gopd: "npm:^1.2.0" + has-proto: "npm:^1.2.0" + is-typed-array: "npm:^1.1.15" + reflect.getprototypeof: "npm:^1.0.9" + checksum: 10c0/3d805b050c0c33b51719ee52de17c1cd8e6a571abdf0fffb110e45e8dd87a657e8b56eee94b776b13006d3d347a0c18a730b903cf05293ab6d92e99ff8f77e53 languageName: node linkType: hard -"typed-array-length@npm:^1.0.6": - version: 1.0.6 - resolution: "typed-array-length@npm:1.0.6" +"typed-array-length@npm:^1.0.7": + version: 1.0.7 + resolution: "typed-array-length@npm:1.0.7" dependencies: call-bind: "npm:^1.0.7" for-each: "npm:^0.3.3" gopd: "npm:^1.0.1" - has-proto: "npm:^1.0.3" is-typed-array: "npm:^1.1.13" possible-typed-array-names: "npm:^1.0.0" - checksum: 10c0/74253d7dc488eb28b6b2711cf31f5a9dcefc9c41b0681fd1c178ed0a1681b4468581a3626d39cd4df7aee3d3927ab62be06aa9ca74e5baf81827f61641445b77 + reflect.getprototypeof: "npm:^1.0.6" + checksum: 10c0/e38f2ae3779584c138a2d8adfa8ecf749f494af3cd3cdafe4e688ce51418c7d2c5c88df1bd6be2bbea099c3f7cea58c02ca02ed438119e91f162a9de23f61295 + languageName: node + linkType: hard + +"typescript-eslint@npm:^8.21.0": + version: 8.22.0 + resolution: "typescript-eslint@npm:8.22.0" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:8.22.0" + "@typescript-eslint/parser": "npm:8.22.0" + "@typescript-eslint/utils": "npm:8.22.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 10c0/d7a5ec4a08d0eb0a7cc0bf81919f0305a9fbb091b187cef6d3fa220c1673414dcb46e6cd5c9325050d3df2bbb283756399c1b2720eb4eadaab0bdc3cc8302405 languageName: node linkType: hard -"typescript@npm:^5.2.2": - version: 5.5.3 - resolution: "typescript@npm:5.5.3" +"typescript@npm:^5.7.2": + version: 5.7.3 + resolution: "typescript@npm:5.7.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/f52c71ccbc7080b034b9d3b72051d563601a4815bf3e39ded188e6ce60813f75dbedf11ad15dd4d32a12996a9ed8c7155b46c93a9b9c9bad1049766fe614bbdd + checksum: 10c0/b7580d716cf1824736cc6e628ab4cd8b51877408ba2be0869d2866da35ef8366dd6ae9eb9d0851470a39be17cbd61df1126f9e211d8799d764ea7431d5435afa languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.2.2#optional!builtin": - version: 5.5.3 - resolution: "typescript@patch:typescript@npm%3A5.5.3#optional!builtin::version=5.5.3&hash=379a07" +"typescript@patch:typescript@npm%3A^5.7.2#optional!builtin": + version: 5.7.3 + resolution: "typescript@patch:typescript@npm%3A5.7.3#optional!builtin::version=5.7.3&hash=5786d5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/911c7811d61f57f07df79c4a35f56a0f426a65426a020e5fcd792f66559f399017205f5f10255329ab5a3d8c2d1f1d19530aeceffda70758a521fae1d469432e + checksum: 10c0/6fd7e0ed3bf23a81246878c613423730c40e8bdbfec4c6e4d7bf1b847cbb39076e56ad5f50aa9d7ebd89877999abaee216002d3f2818885e41c907caaa192cc4 languageName: node linkType: hard -"unbox-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "unbox-primitive@npm:1.0.2" +"unbox-primitive@npm:^1.1.0": + version: 1.1.0 + resolution: "unbox-primitive@npm:1.1.0" dependencies: - call-bind: "npm:^1.0.2" + call-bound: "npm:^1.0.3" has-bigints: "npm:^1.0.2" - has-symbols: "npm:^1.0.3" - which-boxed-primitive: "npm:^1.0.2" - checksum: 10c0/81ca2e81134167cc8f75fa79fbcc8a94379d6c61de67090986a2273850989dd3bae8440c163121b77434b68263e34787a675cbdcb34bb2f764c6b9c843a11b66 + has-symbols: "npm:^1.1.0" + which-boxed-primitive: "npm:^1.1.1" + checksum: 10c0/7dbd35ab02b0e05fe07136c72cb9355091242455473ec15057c11430129bab38b7b3624019b8778d02a881c13de44d63cd02d122ee782fb519e1de7775b5b982 languageName: node linkType: hard -"unc-path-regex@npm:^0.1.2": - version: 0.1.2 - resolution: "unc-path-regex@npm:0.1.2" - checksum: 10c0/bf9c781c4e2f38e6613ea17a51072e4b416840fbe6eeb244597ce9b028fac2fb6cfd3dde1f14111b02c245e665dc461aab8168ecc30b14364d02caa37f812996 +"undici-types@npm:~6.19.2": + version: 6.19.8 + resolution: "undici-types@npm:6.19.8" + checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 languageName: node linkType: hard -"undici-types@npm:~5.26.4": - version: 5.26.5 - resolution: "undici-types@npm:5.26.5" - checksum: 10c0/bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 +"undici@npm:^6.19.2": + version: 6.21.1 + resolution: "undici@npm:6.21.1" + checksum: 10c0/d604080e4f8db89b35a63b483b5f96a5f8b19ec9f716e934639345449405809d2997e1dd7212d67048f210e54534143384d712bd9075e4394f0788895ef9ca8e languageName: node linkType: hard -"unique-filename@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-filename@npm:3.0.0" +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" dependencies: - unique-slug: "npm:^4.0.0" - checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f + unique-slug: "npm:^5.0.0" + checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc languageName: node linkType: hard -"unique-slug@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-slug@npm:4.0.0" +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" dependencies: imurmurhash: "npm:^0.1.4" - checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 + checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 languageName: node linkType: hard -"unique-stream@npm:^2.0.2": - version: 2.3.1 - resolution: "unique-stream@npm:2.3.1" - dependencies: - json-stable-stringify-without-jsonify: "npm:^1.0.1" - through2-filter: "npm:^3.0.0" - checksum: 10c0/4827c5f249d1d760076d64e087d18618104ce5511112c85150b0dd76cea5ddd5a5fd143559597d07b519c2a19abd83f5cdaac3a30204d66cff63e986dd4cd18c +"universalify@npm:^2.0.0": + version: 2.0.1 + resolution: "universalify@npm:2.0.1" + checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a languageName: node linkType: hard -"universalify@npm:^0.1.0": - version: 0.1.2 - resolution: "universalify@npm:0.1.2" - checksum: 10c0/e70e0339f6b36f34c9816f6bf9662372bd241714dc77508d231d08386d94f2c4aa1ba1318614f92015f40d45aae1b9075cd30bd490efbe39387b60a76ca3f045 +"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": + version: 1.0.0 + resolution: "unpipe@npm:1.0.0" + checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c languageName: node linkType: hard -"update-browserslist-db@npm:^1.1.0": - version: 1.1.0 - resolution: "update-browserslist-db@npm:1.1.0" +"update-browserslist-db@npm:^1.1.1": + version: 1.1.2 + resolution: "update-browserslist-db@npm:1.1.2" dependencies: - escalade: "npm:^3.1.2" - picocolors: "npm:^1.0.1" + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.1" peerDependencies: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 10c0/a7452de47785842736fb71547651c5bbe5b4dc1e3722ccf48a704b7b34e4dcf633991eaa8e4a6a517ffb738b3252eede3773bef673ef9021baa26b056d63a5b9 + checksum: 10c0/9cb353998d6d7d6ba1e46b8fa3db888822dd972212da4eda609d185eb5c3557a93fd59780ceb757afd4d84240518df08542736969e6a5d6d6ce2d58e9363aac6 languageName: node linkType: hard -"uri-js@npm:^4.2.2, uri-js@npm:^4.4.1": +"uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" dependencies: @@ -7997,96 +6914,153 @@ __metadata: languageName: node linkType: hard -"use-sync-external-store@npm:1.2.0": - version: 1.2.0 - resolution: "use-sync-external-store@npm:1.2.0" +"util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"utils-merge@npm:1.0.1": + version: 1.0.1 + resolution: "utils-merge@npm:1.0.1" + checksum: 10c0/02ba649de1b7ca8854bfe20a82f1dfbdda3fb57a22ab4a8972a63a34553cf7aa51bc9081cf7e001b035b88186d23689d69e71b510e610a09a4c66f68aa95b672 + languageName: node + linkType: hard + +"valibot@npm:^0.41.0": + version: 0.41.0 + resolution: "valibot@npm:0.41.0" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/ac4814e5592524f242921157e791b022efe36e451fe0d4fd4d204322d5433a4fc300d63b0ade5185f8e0735ded044c70bcf6d2352db0f74d097a238cebd2da02 + typescript: ">=5" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/60485ac1235a83b09590cfb011d0ea17f0810ebe413132380b98bf3dfac7236205e22f2ca2a4c4b356c2324e450c119a39a3753b79764e2c113bb91d46ec4598 languageName: node linkType: hard -"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": - version: 1.0.2 - resolution: "util-deprecate@npm:1.0.2" - checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 +"validate-npm-package-license@npm:^3.0.4": + version: 3.0.4 + resolution: "validate-npm-package-license@npm:3.0.4" + dependencies: + spdx-correct: "npm:^3.0.0" + spdx-expression-parse: "npm:^3.0.0" + checksum: 10c0/7b91e455a8de9a0beaa9fe961e536b677da7f48c9a493edf4d4d4a87fd80a7a10267d438723364e432c2fcd00b5650b5378275cded362383ef570276e6312f4f languageName: node linkType: hard -"value-or-function@npm:^3.0.0": - version: 3.0.0 - resolution: "value-or-function@npm:3.0.0" - checksum: 10c0/78a75b44543bb70ea3eee1804bbb101558f422335e3b62ed8864deeb85295efab1b109f607c3806b13c2fc48630d93f6c564b2796377a01a6302d355323ecebe +"validate-npm-package-name@npm:^5.0.0": + version: 5.0.1 + resolution: "validate-npm-package-name@npm:5.0.1" + checksum: 10c0/903e738f7387404bb72f7ac34e45d7010c877abd2803dc2d614612527927a40a6d024420033132e667b1bade94544b8a1f65c9431a4eb30d0ce0d80093cd1f74 languageName: node linkType: hard -"vinyl-fs@npm:^3.0.3": - version: 3.0.3 - resolution: "vinyl-fs@npm:3.0.3" - dependencies: - fs-mkdirp-stream: "npm:^1.0.0" - glob-stream: "npm:^6.1.0" - graceful-fs: "npm:^4.0.0" - is-valid-glob: "npm:^1.0.0" - lazystream: "npm:^1.0.0" - lead: "npm:^1.0.0" - object.assign: "npm:^4.0.4" - pumpify: "npm:^1.3.5" - readable-stream: "npm:^2.3.3" - remove-bom-buffer: "npm:^3.0.0" - remove-bom-stream: "npm:^1.2.0" - resolve-options: "npm:^1.1.0" - through2: "npm:^2.0.0" - to-through: "npm:^2.0.0" - value-or-function: "npm:^3.0.0" - vinyl: "npm:^2.0.0" - vinyl-sourcemap: "npm:^1.1.0" - checksum: 10c0/c7e52624b8a32fd5164210d0ce45050ddfcd535ac0b172c59138a402ca730bd1083ee78e43dc71d8ee21475869e9c080ff212e98926a2b980eb3aa644a561777 - languageName: node - linkType: hard - -"vinyl-sourcemap@npm:^1.1.0": - version: 1.1.0 - resolution: "vinyl-sourcemap@npm:1.1.0" +"vary@npm:~1.1.2": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f + languageName: node + linkType: hard + +"vite-node@npm:3.0.0-beta.2": + version: 3.0.0-beta.2 + resolution: "vite-node@npm:3.0.0-beta.2" dependencies: - append-buffer: "npm:^1.0.2" - convert-source-map: "npm:^1.5.0" - graceful-fs: "npm:^4.1.6" - normalize-path: "npm:^2.1.1" - now-and-later: "npm:^2.0.0" - remove-bom-buffer: "npm:^3.0.0" - vinyl: "npm:^2.0.0" - checksum: 10c0/5945250fbc04ed8be348f27adfcf842d310f2e4eea88c4821b48768d12bc8407c332c26b0eeabc63f5808843a2859d902020572bdc42e625a9d049a298d8cf68 + cac: "npm:^6.7.14" + debug: "npm:^4.4.0" + es-module-lexer: "npm:^1.5.4" + pathe: "npm:^1.1.2" + vite: "npm:^5.0.0 || ^6.0.0" + bin: + vite-node: vite-node.mjs + checksum: 10c0/02beeb3c37f3c3637dd4f96f79c3efda7dd5a66e4e9290692501d70090c7ed40063c60cf7386afd2477f72986316eeee9f6f3e4812c0e4788d94cdb7b291e2c2 languageName: node linkType: hard -"vinyl@npm:^2.0.0, vinyl@npm:^2.2.0": - version: 2.2.1 - resolution: "vinyl@npm:2.2.1" +"vite-tsconfig-paths@npm:^5.1.4": + version: 5.1.4 + resolution: "vite-tsconfig-paths@npm:5.1.4" dependencies: - clone: "npm:^2.1.1" - clone-buffer: "npm:^1.0.0" - clone-stats: "npm:^1.0.0" - cloneable-readable: "npm:^1.0.0" - remove-trailing-separator: "npm:^1.0.1" - replace-ext: "npm:^1.0.0" - checksum: 10c0/e7073fe5a3e10bbd5a3abe7ccf3351ed1b784178576b09642c08b0ef4056265476610aabd29eabfaaf456ada45f05f4112a35687d502f33aab33b025fc6ec38f + debug: "npm:^4.1.1" + globrex: "npm:^0.1.2" + tsconfck: "npm:^3.0.3" + peerDependencies: + vite: "*" + peerDependenciesMeta: + vite: + optional: true + checksum: 10c0/6228f23155ea25d92b1e1702284cf8dc52ad3c683c5ca691edd5a4c82d2913e7326d00708cef1cbfde9bb226261df0e0a12e03ef1d43b6a92d8f02b483ef37e3 + languageName: node + linkType: hard + +"vite@npm:^5.0.0 || ^6.0.0": + version: 6.0.11 + resolution: "vite@npm:6.0.11" + dependencies: + esbuild: "npm:^0.24.2" + fsevents: "npm:~2.3.3" + postcss: "npm:^8.4.49" + rollup: "npm:^4.23.0" + peerDependencies: + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: ">=1.21.0" + less: "*" + lightningcss: ^1.21.0 + sass: "*" + sass-embedded: "*" + stylus: "*" + sugarss: "*" + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + bin: + vite: bin/vite.js + checksum: 10c0/a0537f9bf8d6ded740646a4aa44b8dbf442d3005e75f7b27e981ef6011f22d4759f5eb643a393c0ffb8d21e2f50fb5f774d3a53108fb96a10b0f83697e8efe84 languageName: node linkType: hard -"vite@npm:^5.3.1": - version: 5.3.3 - resolution: "vite@npm:5.3.3" +"vite@npm:^5.4.11": + version: 5.4.14 + resolution: "vite@npm:5.4.14" dependencies: esbuild: "npm:^0.21.3" fsevents: "npm:~2.3.3" - postcss: "npm:^8.4.39" - rollup: "npm:^4.13.0" + postcss: "npm:^8.4.43" + rollup: "npm:^4.20.0" peerDependencies: "@types/node": ^18.0.0 || >=20.0.0 less: "*" lightningcss: ^1.21.0 sass: "*" + sass-embedded: "*" stylus: "*" sugarss: "*" terser: ^5.4.0 @@ -8102,6 +7076,8 @@ __metadata: optional: true sass: optional: true + sass-embedded: + optional: true stylus: optional: true sugarss: @@ -8110,7 +7086,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10c0/a796872e1d11875d994615cd00da185c80eeb7753034d35c096050bf3c269c02004070cf623c5fe2a4a90ea2f12488e6f9d13933ec810f117f1b931e1b5e3385 + checksum: 10c0/8842933bd70ca6a98489a0bb9c8464bec373de00f9a97c8c7a4e64b24d15c88bfaa8c1acb38a68c3e5eb49072ffbccb146842c2d4edcdd036a9802964cffe3d1 languageName: node linkType: hard @@ -8121,63 +7097,102 @@ __metadata: languageName: node linkType: hard -"webidl-conversions@npm:^7.0.0": - version: 7.0.0 - resolution: "webidl-conversions@npm:7.0.0" - checksum: 10c0/228d8cb6d270c23b0720cb2d95c579202db3aaf8f633b4e9dd94ec2000a04e7e6e43b76a94509cdb30479bd00ae253ab2371a2da9f81446cc313f89a4213a2c4 - languageName: node - linkType: hard - -"whatwg-encoding@npm:^2.0.0": - version: 2.0.0 - resolution: "whatwg-encoding@npm:2.0.0" - dependencies: - iconv-lite: "npm:0.6.3" - checksum: 10c0/91b90a49f312dc751496fd23a7e68981e62f33afe938b97281ad766235c4872fc4e66319f925c5e9001502b3040dd25a33b02a9c693b73a4cbbfdc4ad10c3e3e - languageName: node - linkType: hard +"web-react-skeleton-react-router@workspace:.": + version: 0.0.0-use.local + resolution: "web-react-skeleton-react-router@workspace:." + dependencies: + "@emotion/react": "npm:^11.14.0" + "@emotion/styled": "npm:^11.14.0" + "@eslint/js": "npm:^9.18.0" + "@mui/icons-material": "npm:^6.4.1" + "@mui/material": "npm:^6.4.1" + "@react-router/dev": "npm:^7.1.3" + "@react-router/node": "npm:^7.1.3" + "@react-router/serve": "npm:^7.1.3" + "@tanstack/react-query": "npm:^5.64.2" + "@tanstack/react-query-devtools": "npm:^5.64.2" + "@types/node": "npm:^20" + "@types/qs": "npm:^6" + "@types/react": "npm:^19.0.1" + "@types/react-dom": "npm:^19.0.1" + autoprefixer: "npm:^10.4.20" + axios: "npm:^1.7.9" + clsx: "npm:^2.1.1" + csv-parse: "npm:^5.6.0" + eslint: "npm:^9.18.0" + eslint-config-prettier: "npm:^10.0.1" + eslint-plugin-react: "npm:^7.37.4" + eslint-plugin-react-hooks: "npm:^5.1.0" + eslint-plugin-react-refresh: "npm:^0.4.18" + i18next: "npm:^24.2.1" + i18next-browser-languagedetector: "npm:^8.0.2" + isbot: "npm:^5.1.17" + node-fetch: "npm:^3.3.2" + postcss: "npm:^8.4.49" + prettier: "npm:^3.4.2" + prism-react-renderer: "npm:^2.4.1" + qs: "npm:^6.14.0" + react: "npm:^19.0.0" + react-dom: "npm:^19.0.0" + react-i18next: "npm:^15.4.0" + react-router: "npm:^7.1.3" + react-toastify: "npm:^11.0.3" + stylelint: "npm:^16.13.2" + stylelint-config-css-modules: "npm:^4.4.0" + stylelint-config-standard: "npm:^37.0.0" + stylelint-order: "npm:^6.0.4" + stylelint-prettier: "npm:^5.0.2" + typescript: "npm:^5.7.2" + typescript-eslint: "npm:^8.21.0" + vite: "npm:^5.4.11" + vite-tsconfig-paths: "npm:^5.1.4" + yup: "npm:^1.6.1" + zustand: "npm:^5.0.3" + languageName: unknown + linkType: soft -"whatwg-mimetype@npm:^3.0.0": - version: 3.0.0 - resolution: "whatwg-mimetype@npm:3.0.0" - checksum: 10c0/323895a1cda29a5fb0b9ca82831d2c316309fede0365047c4c323073e3239067a304a09a1f4b123b9532641ab604203f33a1403b5ca6a62ef405bcd7a204080f +"web-streams-polyfill@npm:^3.0.3": + version: 3.3.3 + resolution: "web-streams-polyfill@npm:3.3.3" + checksum: 10c0/64e855c47f6c8330b5436147db1c75cb7e7474d924166800e8e2aab5eb6c76aac4981a84261dd2982b3e754490900b99791c80ae1407a9fa0dcff74f82ea3a7f languageName: node linkType: hard -"which-boxed-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "which-boxed-primitive@npm:1.0.2" +"which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1": + version: 1.1.1 + resolution: "which-boxed-primitive@npm:1.1.1" dependencies: - is-bigint: "npm:^1.0.1" - is-boolean-object: "npm:^1.1.0" - is-number-object: "npm:^1.0.4" - is-string: "npm:^1.0.5" - is-symbol: "npm:^1.0.3" - checksum: 10c0/0a62a03c00c91dd4fb1035b2f0733c341d805753b027eebd3a304b9cb70e8ce33e25317add2fe9b5fea6f53a175c0633ae701ff812e604410ddd049777cd435e + is-bigint: "npm:^1.1.0" + is-boolean-object: "npm:^1.2.1" + is-number-object: "npm:^1.1.1" + is-string: "npm:^1.1.1" + is-symbol: "npm:^1.1.1" + checksum: 10c0/aceea8ede3b08dede7dce168f3883323f7c62272b49801716e8332ff750e7ae59a511ae088840bc6874f16c1b7fd296c05c949b0e5b357bfe3c431b98c417abe languageName: node linkType: hard -"which-builtin-type@npm:^1.1.3": - version: 1.1.3 - resolution: "which-builtin-type@npm:1.1.3" +"which-builtin-type@npm:^1.2.1": + version: 1.2.1 + resolution: "which-builtin-type@npm:1.2.1" dependencies: - function.prototype.name: "npm:^1.1.5" - has-tostringtag: "npm:^1.0.0" + call-bound: "npm:^1.0.2" + function.prototype.name: "npm:^1.1.6" + has-tostringtag: "npm:^1.0.2" is-async-function: "npm:^2.0.0" - is-date-object: "npm:^1.0.5" - is-finalizationregistry: "npm:^1.0.2" + is-date-object: "npm:^1.1.0" + is-finalizationregistry: "npm:^1.1.0" is-generator-function: "npm:^1.0.10" - is-regex: "npm:^1.1.4" + is-regex: "npm:^1.2.1" is-weakref: "npm:^1.0.2" isarray: "npm:^2.0.5" - which-boxed-primitive: "npm:^1.0.2" - which-collection: "npm:^1.0.1" - which-typed-array: "npm:^1.1.9" - checksum: 10c0/2b7b234df3443b52f4fbd2b65b731804de8d30bcc4210ec84107ef377a81923cea7f2763b7fb78b394175cea59118bf3c41b9ffd2d643cb1d748ef93b33b6bd4 + which-boxed-primitive: "npm:^1.1.0" + which-collection: "npm:^1.0.2" + which-typed-array: "npm:^1.1.16" + checksum: 10c0/8dcf323c45e5c27887800df42fbe0431d0b66b1163849bb7d46b5a730ad6a96ee8bfe827d078303f825537844ebf20c02459de41239a0a9805e2fcb3cae0d471 languageName: node linkType: hard -"which-collection@npm:^1.0.1": +"which-collection@npm:^1.0.2": version: 1.0.2 resolution: "which-collection@npm:1.0.2" dependencies: @@ -8189,27 +7204,21 @@ __metadata: languageName: node linkType: hard -"which-module@npm:^2.0.0": - version: 2.0.1 - resolution: "which-module@npm:2.0.1" - checksum: 10c0/087038e7992649eaffa6c7a4f3158d5b53b14cf5b6c1f0e043dccfacb1ba179d12f17545d5b85ebd94a42ce280a6fe65d0cbcab70f4fc6daad1dfae85e0e6a3e - languageName: node - linkType: hard - -"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15, which-typed-array@npm:^1.1.9": - version: 1.1.15 - resolution: "which-typed-array@npm:1.1.15" +"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.18": + version: 1.1.18 + resolution: "which-typed-array@npm:1.1.18" dependencies: available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" + gopd: "npm:^1.2.0" has-tostringtag: "npm:^1.0.2" - checksum: 10c0/4465d5348c044032032251be54d8988270e69c6b7154f8fcb2a47ff706fe36f7624b3a24246b8d9089435a8f4ec48c1c1025c5d6b499456b9e5eff4f48212983 + checksum: 10c0/0412f4a91880ca1a2a63056187c2e3de6b129b2b5b6c17bc3729f0f7041047ae48fb7424813e51506addb2c97320003ee18b8c57469d2cde37983ef62126143c languageName: node linkType: hard -"which@npm:^1.2.9, which@npm:^1.3.1": +"which@npm:^1.3.1": version: 1.3.1 resolution: "which@npm:1.3.1" dependencies: @@ -8231,14 +7240,25 @@ __metadata: languageName: node linkType: hard -"which@npm:^4.0.0": - version: 4.0.0 - resolution: "which@npm:4.0.0" +"which@npm:^3.0.0": + version: 3.0.1 + resolution: "which@npm:3.0.1" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: bin/which.js + checksum: 10c0/15263b06161a7c377328fd2066cb1f093f5e8a8f429618b63212b5b8847489be7bcab0ab3eb07f3ecc0eda99a5a7ea52105cf5fa8266bedd083cc5a9f6da24f1 + languageName: node + linkType: hard + +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" dependencies: isexe: "npm:^3.1.1" bin: node-which: bin/which.js - checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a + checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b languageName: node linkType: hard @@ -8260,16 +7280,6 @@ __metadata: languageName: node linkType: hard -"wrap-ansi@npm:^2.0.0": - version: 2.1.0 - resolution: "wrap-ansi@npm:2.1.0" - dependencies: - string-width: "npm:^1.0.1" - strip-ansi: "npm:^3.0.1" - checksum: 10c0/1a47367eef192fc9ecaf00238bad5de8987c3368082b619ab36c5e2d6d7b0a2aef95a2ca65840be598c56ced5090a3ba487956c7aee0cac7c45017502fa980fb - languageName: node - linkType: hard - "wrap-ansi@npm:^8.1.0": version: 8.1.0 resolution: "wrap-ansi@npm:8.1.0" @@ -8298,20 +7308,6 @@ __metadata: languageName: node linkType: hard -"xml-escape@npm:^1.0.0": - version: 1.1.0 - resolution: "xml-escape@npm:1.1.0" - checksum: 10c0/973cef0e383c373d1ccbacbba33ac49e7f2afd60d2710ed1308e153d2aa3b3189477f79315eb10eed43b7221add040a5eab18107170b658559e4d29ce7653a76 - languageName: node - linkType: hard - -"xmlbuilder@npm:^10.0.0": - version: 10.1.1 - resolution: "xmlbuilder@npm:10.1.1" - checksum: 10c0/26c465e8bd16b4e882d39c2e2a29bb277434d254717aa05df117dd0009041d92855426714b2d1a6a5f76983640349f4edb80073b6ae374e0e6c3d13029ea8237 - languageName: node - linkType: hard - "xtend@npm:~4.0.1": version: 4.0.2 resolution: "xtend@npm:4.0.2" @@ -8319,20 +7315,6 @@ __metadata: languageName: node linkType: hard -"y18n@npm:^3.2.1 || ^4.0.0": - version: 4.0.3 - resolution: "y18n@npm:4.0.3" - checksum: 10c0/308a2efd7cc296ab2c0f3b9284fd4827be01cfeb647b3ba18230e3a416eb1bc887ac050de9f8c4fd9e7856b2e8246e05d190b53c96c5ad8d8cb56dffb6f81024 - languageName: node - linkType: hard - -"yallist@npm:^2.1.2": - version: 2.1.2 - resolution: "yallist@npm:2.1.2" - checksum: 10c0/0b9e25aa00adf19e01d2bcd4b208aee2b0db643d9927131797b7af5ff69480fc80f1c3db738cbf3946f0bddf39d8f2d0a5709c644fd42d4aa3a4e6e786c087b5 - languageName: node - linkType: hard - "yallist@npm:^3.0.2": version: 3.1.1 resolution: "yallist@npm:3.1.1" @@ -8347,6 +7329,13 @@ __metadata: languageName: node linkType: hard +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + "yaml@npm:^1.10.0": version: 1.10.2 resolution: "yaml@npm:1.10.2" @@ -8354,36 +7343,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^11.1.1": - version: 11.1.1 - resolution: "yargs-parser@npm:11.1.1" - dependencies: - camelcase: "npm:^5.0.0" - decamelize: "npm:^1.2.0" - checksum: 10c0/970101d8140b4a28f465e61949e62fd43daca3eaf079682b7873f7372deeba602e3b2ddfb9970480bcf4001e91b849eb9a61e543e604b88d03f734a8749db2c6 - languageName: node - linkType: hard - -"yargs@npm:^12.0.2": - version: 12.0.5 - resolution: "yargs@npm:12.0.5" - dependencies: - cliui: "npm:^4.0.0" - decamelize: "npm:^1.2.0" - find-up: "npm:^3.0.0" - get-caller-file: "npm:^1.0.1" - os-locale: "npm:^3.0.0" - require-directory: "npm:^2.1.1" - require-main-filename: "npm:^1.0.1" - set-blocking: "npm:^2.0.0" - string-width: "npm:^2.0.0" - which-module: "npm:^2.0.0" - y18n: "npm:^3.2.1 || ^4.0.0" - yargs-parser: "npm:^11.1.1" - checksum: 10c0/4cb2dd471ceb18bcbe5994f25e93ae817a7897966ada8ac9401ded1d1540b05640018d19b49d76ecb40079cbe81c2ae2efe78592c2301bd0bc80808b3b0c70d3 - languageName: node - linkType: hard - "yocto-queue@npm:^0.1.0": version: 0.1.0 resolution: "yocto-queue@npm:0.1.0" @@ -8391,27 +7350,26 @@ __metadata: languageName: node linkType: hard -"yup@npm:^1.4.0": - version: 1.4.0 - resolution: "yup@npm:1.4.0" +"yup@npm:^1.6.1": + version: 1.6.1 + resolution: "yup@npm:1.6.1" dependencies: property-expr: "npm:^2.0.5" tiny-case: "npm:^1.0.3" toposort: "npm:^2.0.2" type-fest: "npm:^2.19.0" - checksum: 10c0/fe142141365eed0f78fb2e18bdd2f10bf101385dae12a5f9de14884448067bdca16a54b547fc0bffec04a098dd70b4519ff366422f3da006fd11a0717a7863ac + checksum: 10c0/84c2b53996e8001041239cf2719851719f67063ec7cd843067df73562353216f5ad4f8a222319696882d5a6058e528fade1e463c59d70cbffb41b99cd0d7571b languageName: node linkType: hard -"zustand@npm:^4.5.4": - version: 4.5.4 - resolution: "zustand@npm:4.5.4" - dependencies: - use-sync-external-store: "npm:1.2.0" +"zustand@npm:^5.0.3": + version: 5.0.3 + resolution: "zustand@npm:5.0.3" peerDependencies: - "@types/react": ">=16.8" + "@types/react": ">=18.0.0" immer: ">=9.0.6" - react: ">=16.8" + react: ">=18.0.0" + use-sync-external-store: ">=1.2.0" peerDependenciesMeta: "@types/react": optional: true @@ -8419,6 +7377,8 @@ __metadata: optional: true react: optional: true - checksum: 10c0/479af491ffa1f1eb2c38b3ba25dc4e14339e8b35a60033d3f6c165b22f8be8163f7e1370015ded9c6e28548cd25af84a73fb40b5fad0bd7882d16ddd5ed613c6 + use-sync-external-store: + optional: true + checksum: 10c0/dad96c6c123fda088c583d5df6692e9245cd207583078dc15f93d255a67b0f346bad4535545c98852ecde93d254812a0c799579dfde2ab595016b99fbe20e4d5 languageName: node linkType: hard diff --git a/web-react-skeleton.code-workspace b/web-react-skeleton.code-workspace new file mode 100644 index 0000000..041fdc5 --- /dev/null +++ b/web-react-skeleton.code-workspace @@ -0,0 +1,17 @@ +{ + "folders": [ + { + "path": "." + }, + { + "path": "frontend" + } + ], + "settings": { + "typescript.enablePromptUseWorkspaceTsdk": true, + "typescript.tsdk": "frontend/node_modules/typescript/lib", + "files.exclude": { + "frontend": true + } + } +}