From d0c8eb2f1b37c8952987172c93815f58a63d8e80 Mon Sep 17 00:00:00 2001 From: Echo Date: Thu, 7 May 2026 11:09:27 +0200 Subject: [PATCH] Swap from React Helmet to Unhead (#38896) --- .../components/account_header/index.tsx | 3 +- .../mastodon/components/error_boundary.jsx | 2 +- .../mastodon/containers/mastodon.jsx | 2 +- .../mastodon/features/about/index.jsx | 2 +- .../account_edit/components/column.tsx | 3 +- .../features/bookmarked_statuses/index.tsx | 2 +- .../features/collections/detail/index.tsx | 3 +- .../features/collections/editor/index.tsx | 3 +- .../mastodon/features/collections/index.tsx | 3 +- .../features/community_timeline/index.jsx | 2 +- .../mastodon/features/compose/index.tsx | 3 +- .../features/direct_timeline/index.jsx | 2 +- .../mastodon/features/directory/index.tsx | 4 +- .../mastodon/features/domain_blocks/index.tsx | 2 +- .../mastodon/features/explore/index.tsx | 3 +- .../features/favourited_statuses/index.tsx | 2 +- .../mastodon/features/favourites/index.jsx | 2 +- .../mastodon/features/firehose/index.jsx | 2 +- .../features/follow_requests/index.jsx | 2 +- .../mastodon/features/followed_tags/index.tsx | 4 +- .../features/getting_started/index.tsx | 2 +- .../features/hashtag_timeline/index.jsx | 2 +- .../mastodon/features/home_timeline/index.jsx | 2 +- .../features/keyboard_shortcuts/index.jsx | 2 +- .../mastodon/features/link_timeline/index.tsx | 3 +- .../mastodon/features/list_timeline/index.jsx | 2 +- .../mastodon/features/lists/index.tsx | 3 +- .../mastodon/features/lists/members.tsx | 3 +- .../mastodon/features/lists/new.tsx | 3 +- .../mastodon/features/mutes/index.jsx | 2 +- .../features/notifications/request.jsx | 2 +- .../features/notifications/requests.jsx | 2 +- .../features/notifications_v2/index.tsx | 3 +- .../mastodon/features/onboarding/follows.tsx | 2 +- .../mastodon/features/onboarding/profile.tsx | 3 +- .../features/pinned_statuses/index.jsx | 2 +- .../features/privacy_policy/index.tsx | 2 +- .../features/public_timeline/index.jsx | 2 +- .../mastodon/features/quotes/index.tsx | 4 +- .../mastodon/features/reblogs/index.jsx | 2 +- .../mastodon/features/search/index.tsx | 2 +- .../mastodon/features/status/index.jsx | 2 +- .../features/terms_of_service/index.tsx | 3 +- .../ui/components/bundle_column_error.jsx | 2 +- .../features/ui/components/modal_root.jsx | 2 +- package.json | 3 +- yarn.lock | 861 +++++++++++++++++- 47 files changed, 878 insertions(+), 96 deletions(-) diff --git a/app/javascript/mastodon/components/account_header/index.tsx b/app/javascript/mastodon/components/account_header/index.tsx index 9222d0eb320..58dad2a8b55 100644 --- a/app/javascript/mastodon/components/account_header/index.tsx +++ b/app/javascript/mastodon/components/account_header/index.tsx @@ -1,7 +1,8 @@ import { useCallback } from 'react'; import classNames from 'classnames'; -import { Helmet } from 'react-helmet'; + +import { Helmet } from '@unhead/react/helmet'; import { openModal } from '@/mastodon/actions/modal'; import FollowRequestNoteContainer from '@/mastodon/features/account/containers/follow_request_note_container'; diff --git a/app/javascript/mastodon/components/error_boundary.jsx b/app/javascript/mastodon/components/error_boundary.jsx index ca2f017f3b2..54424d283bc 100644 --- a/app/javascript/mastodon/components/error_boundary.jsx +++ b/app/javascript/mastodon/components/error_boundary.jsx @@ -3,7 +3,7 @@ import { PureComponent } from 'react'; import { FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import StackTrace from 'stacktrace-js'; diff --git a/app/javascript/mastodon/containers/mastodon.jsx b/app/javascript/mastodon/containers/mastodon.jsx index f697c5a8b07..d6df09db49e 100644 --- a/app/javascript/mastodon/containers/mastodon.jsx +++ b/app/javascript/mastodon/containers/mastodon.jsx @@ -1,6 +1,6 @@ import { PureComponent } from 'react'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import { Route } from 'react-router-dom'; import { Provider as ReduxProvider } from 'react-redux'; diff --git a/app/javascript/mastodon/features/about/index.jsx b/app/javascript/mastodon/features/about/index.jsx index e666e26abc5..9814032cacf 100644 --- a/app/javascript/mastodon/features/about/index.jsx +++ b/app/javascript/mastodon/features/about/index.jsx @@ -3,7 +3,7 @@ import { PureComponent } from 'react'; import { defineMessages, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import ImmutablePropTypes from 'react-immutable-proptypes'; import { connect } from 'react-redux'; diff --git a/app/javascript/mastodon/features/account_edit/components/column.tsx b/app/javascript/mastodon/features/account_edit/components/column.tsx index dde74368878..a9b0f8cbd5d 100644 --- a/app/javascript/mastodon/features/account_edit/components/column.tsx +++ b/app/javascript/mastodon/features/account_edit/components/column.tsx @@ -2,9 +2,10 @@ import type { FC } from 'react'; import { FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; import { Link } from 'react-router-dom'; +import { Helmet } from '@unhead/react/helmet'; + import { Column } from '@/mastodon/components/column'; import { ColumnHeader } from '@/mastodon/components/column_header'; import { LoadingIndicator } from '@/mastodon/components/loading_indicator'; diff --git a/app/javascript/mastodon/features/bookmarked_statuses/index.tsx b/app/javascript/mastodon/features/bookmarked_statuses/index.tsx index 5d4574b05b4..b8fc9e24487 100644 --- a/app/javascript/mastodon/features/bookmarked_statuses/index.tsx +++ b/app/javascript/mastodon/features/bookmarked_statuses/index.tsx @@ -2,7 +2,7 @@ import { useEffect, useRef, useCallback } from 'react'; import { defineMessages, useIntl, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import BookmarksIcon from '@/material-icons/400-24px/bookmarks-fill.svg?react'; import { diff --git a/app/javascript/mastodon/features/collections/detail/index.tsx b/app/javascript/mastodon/features/collections/detail/index.tsx index 12701d1fd42..fd8e68c772e 100644 --- a/app/javascript/mastodon/features/collections/detail/index.tsx +++ b/app/javascript/mastodon/features/collections/detail/index.tsx @@ -2,10 +2,11 @@ import { useCallback, useEffect } from 'react'; import { defineMessages, FormattedMessage, useIntl } from 'react-intl'; -import { Helmet } from 'react-helmet'; import { useHistory, useLocation, useParams } from 'react-router'; import { Link } from 'react-router-dom'; +import { Helmet } from '@unhead/react/helmet'; + import HelpIcon from '@/material-icons/400-24px/help.svg?react'; import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react'; import ShareIcon from '@/material-icons/400-24px/share.svg?react'; diff --git a/app/javascript/mastodon/features/collections/editor/index.tsx b/app/javascript/mastodon/features/collections/editor/index.tsx index beb4719a3eb..935e230e4a3 100644 --- a/app/javascript/mastodon/features/collections/editor/index.tsx +++ b/app/javascript/mastodon/features/collections/editor/index.tsx @@ -2,7 +2,6 @@ import { useEffect } from 'react'; import { defineMessages, FormattedMessage, useIntl } from 'react-intl'; -import { Helmet } from 'react-helmet'; import { Switch, Route, @@ -12,6 +11,8 @@ import { useLocation, } from 'react-router-dom'; +import { Helmet } from '@unhead/react/helmet'; + import { Callout } from '@/mastodon/components/callout'; import { useCurrentAccountId } from '@/mastodon/hooks/useAccountId'; import { initialState } from '@/mastodon/initial_state'; diff --git a/app/javascript/mastodon/features/collections/index.tsx b/app/javascript/mastodon/features/collections/index.tsx index 0b1e6445f8a..11494dcd1da 100644 --- a/app/javascript/mastodon/features/collections/index.tsx +++ b/app/javascript/mastodon/features/collections/index.tsx @@ -1,8 +1,9 @@ import { defineMessages, useIntl } from 'react-intl'; -import { Helmet } from 'react-helmet'; import { Route, Switch, useRouteMatch } from 'react-router-dom'; +import { Helmet } from '@unhead/react/helmet'; + import { TabLink, TabList } from '@/mastodon/components/tab_list'; import { Column } from 'mastodon/components/column'; import { ColumnHeader } from 'mastodon/components/column_header'; diff --git a/app/javascript/mastodon/features/community_timeline/index.jsx b/app/javascript/mastodon/features/community_timeline/index.jsx index 0cb8d9a4b7b..3487e4958cf 100644 --- a/app/javascript/mastodon/features/community_timeline/index.jsx +++ b/app/javascript/mastodon/features/community_timeline/index.jsx @@ -3,7 +3,7 @@ import { PureComponent } from 'react'; import { defineMessages, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import { connect } from 'react-redux'; diff --git a/app/javascript/mastodon/features/compose/index.tsx b/app/javascript/mastodon/features/compose/index.tsx index 527e541e84d..0439606ac2c 100644 --- a/app/javascript/mastodon/features/compose/index.tsx +++ b/app/javascript/mastodon/features/compose/index.tsx @@ -2,11 +2,12 @@ import { useEffect, useCallback } from 'react'; import { useIntl, defineMessages } from 'react-intl'; -import { Helmet } from 'react-helmet'; import { Link } from 'react-router-dom'; import type { Map as ImmutableMap, List as ImmutableList } from 'immutable'; +import { Helmet } from '@unhead/react/helmet'; + import elephantUIPlane from '@/images/elephant_ui_plane.svg'; import EditIcon from '@/material-icons/400-24px/edit_square.svg?react'; import PeopleIcon from '@/material-icons/400-24px/group.svg?react'; diff --git a/app/javascript/mastodon/features/direct_timeline/index.jsx b/app/javascript/mastodon/features/direct_timeline/index.jsx index 7aee83ec10e..36b5efc088e 100644 --- a/app/javascript/mastodon/features/direct_timeline/index.jsx +++ b/app/javascript/mastodon/features/direct_timeline/index.jsx @@ -3,7 +3,7 @@ import { useRef, useCallback, useEffect } from 'react'; import { defineMessages, useIntl, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import { useDispatch } from 'react-redux'; diff --git a/app/javascript/mastodon/features/directory/index.tsx b/app/javascript/mastodon/features/directory/index.tsx index 54317a6c76d..83cf0219662 100644 --- a/app/javascript/mastodon/features/directory/index.tsx +++ b/app/javascript/mastodon/features/directory/index.tsx @@ -3,10 +3,10 @@ import { useCallback, useEffect, useRef } from 'react'; import { defineMessages, useIntl } from 'react-intl'; -import { Helmet } from 'react-helmet'; - import { List as ImmutableList } from 'immutable'; +import { Helmet } from '@unhead/react/helmet'; + import PeopleIcon from '@/material-icons/400-24px/group.svg?react'; import { addColumn, diff --git a/app/javascript/mastodon/features/domain_blocks/index.tsx b/app/javascript/mastodon/features/domain_blocks/index.tsx index 26a31c8870d..74439ade71f 100644 --- a/app/javascript/mastodon/features/domain_blocks/index.tsx +++ b/app/javascript/mastodon/features/domain_blocks/index.tsx @@ -2,7 +2,7 @@ import { useEffect, useRef, useCallback, useState } from 'react'; import { defineMessages, useIntl, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import BlockIcon from '@/material-icons/400-24px/block-fill.svg?react'; import { apiGetDomainBlocks } from 'mastodon/api/domain_blocks'; diff --git a/app/javascript/mastodon/features/explore/index.tsx b/app/javascript/mastodon/features/explore/index.tsx index e886627048f..ed9f566c2de 100644 --- a/app/javascript/mastodon/features/explore/index.tsx +++ b/app/javascript/mastodon/features/explore/index.tsx @@ -2,9 +2,10 @@ import { useCallback, useRef } from 'react'; import { defineMessages, useIntl, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; import { NavLink, Switch, Route } from 'react-router-dom'; +import { Helmet } from '@unhead/react/helmet'; + import TrendingUpIcon from '@/material-icons/400-24px/trending_up.svg?react'; import { Column } from 'mastodon/components/column'; import type { ColumnRef } from 'mastodon/components/column'; diff --git a/app/javascript/mastodon/features/favourited_statuses/index.tsx b/app/javascript/mastodon/features/favourited_statuses/index.tsx index 908a8ae4a17..ccc787d6f28 100644 --- a/app/javascript/mastodon/features/favourited_statuses/index.tsx +++ b/app/javascript/mastodon/features/favourited_statuses/index.tsx @@ -2,7 +2,7 @@ import { useEffect, useRef, useCallback } from 'react'; import { defineMessages, useIntl, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import StarIcon from '@/material-icons/400-24px/star-fill.svg?react'; import { addColumn, removeColumn, moveColumn } from 'mastodon/actions/columns'; diff --git a/app/javascript/mastodon/features/favourites/index.jsx b/app/javascript/mastodon/features/favourites/index.jsx index 3296ec2eb99..56af5105043 100644 --- a/app/javascript/mastodon/features/favourites/index.jsx +++ b/app/javascript/mastodon/features/favourites/index.jsx @@ -2,7 +2,7 @@ import PropTypes from 'prop-types'; import { defineMessages, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePureComponent from 'react-immutable-pure-component'; diff --git a/app/javascript/mastodon/features/firehose/index.jsx b/app/javascript/mastodon/features/firehose/index.jsx index ca3dd7ce38f..645051d5f25 100644 --- a/app/javascript/mastodon/features/firehose/index.jsx +++ b/app/javascript/mastodon/features/firehose/index.jsx @@ -3,7 +3,7 @@ import { useRef, useCallback, useEffect } from 'react'; import { useIntl, defineMessages, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import { NavLink } from 'react-router-dom'; import { useIdentity } from '@/mastodon/identity_context'; diff --git a/app/javascript/mastodon/features/follow_requests/index.jsx b/app/javascript/mastodon/features/follow_requests/index.jsx index ba632b8ea34..940279feea6 100644 --- a/app/javascript/mastodon/features/follow_requests/index.jsx +++ b/app/javascript/mastodon/features/follow_requests/index.jsx @@ -2,7 +2,7 @@ import PropTypes from 'prop-types'; import { defineMessages, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePureComponent from 'react-immutable-pure-component'; diff --git a/app/javascript/mastodon/features/followed_tags/index.tsx b/app/javascript/mastodon/features/followed_tags/index.tsx index 4c5c0581f8d..546109acb14 100644 --- a/app/javascript/mastodon/features/followed_tags/index.tsx +++ b/app/javascript/mastodon/features/followed_tags/index.tsx @@ -2,10 +2,10 @@ import { useEffect, useCallback, useRef } from 'react'; import { defineMessages, useIntl, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; - import { isFulfilled } from '@reduxjs/toolkit'; +import { Helmet } from '@unhead/react/helmet'; + import TagIcon from '@/material-icons/400-24px/tag.svg?react'; import { fetchFollowedHashtags, diff --git a/app/javascript/mastodon/features/getting_started/index.tsx b/app/javascript/mastodon/features/getting_started/index.tsx index 9212ddad76f..f4f66f1404f 100644 --- a/app/javascript/mastodon/features/getting_started/index.tsx +++ b/app/javascript/mastodon/features/getting_started/index.tsx @@ -1,6 +1,6 @@ import { useIntl } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import { Column } from 'mastodon/components/column'; diff --git a/app/javascript/mastodon/features/hashtag_timeline/index.jsx b/app/javascript/mastodon/features/hashtag_timeline/index.jsx index 36049d4331d..f8e04ea08d6 100644 --- a/app/javascript/mastodon/features/hashtag_timeline/index.jsx +++ b/app/javascript/mastodon/features/hashtag_timeline/index.jsx @@ -3,7 +3,7 @@ import { PureComponent } from 'react'; import { FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import { connect } from 'react-redux'; diff --git a/app/javascript/mastodon/features/home_timeline/index.jsx b/app/javascript/mastodon/features/home_timeline/index.jsx index e135fe0cd91..0b0d3cc805a 100644 --- a/app/javascript/mastodon/features/home_timeline/index.jsx +++ b/app/javascript/mastodon/features/home_timeline/index.jsx @@ -4,7 +4,7 @@ import { PureComponent } from 'react'; import { defineMessages, FormattedMessage } from 'react-intl'; import classNames from 'classnames'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import { connect } from 'react-redux'; diff --git a/app/javascript/mastodon/features/keyboard_shortcuts/index.jsx b/app/javascript/mastodon/features/keyboard_shortcuts/index.jsx index 3322dc13a2d..dc0e8cb4f8d 100644 --- a/app/javascript/mastodon/features/keyboard_shortcuts/index.jsx +++ b/app/javascript/mastodon/features/keyboard_shortcuts/index.jsx @@ -2,7 +2,7 @@ import PropTypes from 'prop-types'; import { defineMessages, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import ImmutablePureComponent from 'react-immutable-pure-component'; diff --git a/app/javascript/mastodon/features/link_timeline/index.tsx b/app/javascript/mastodon/features/link_timeline/index.tsx index fd9e1577731..b0965196063 100644 --- a/app/javascript/mastodon/features/link_timeline/index.tsx +++ b/app/javascript/mastodon/features/link_timeline/index.tsx @@ -1,8 +1,9 @@ import { useRef, useEffect, useCallback } from 'react'; -import { Helmet } from 'react-helmet'; import { useParams } from 'react-router-dom'; +import { Helmet } from '@unhead/react/helmet'; + import TrendingUpIcon from '@/material-icons/400-24px/trending_up.svg?react'; import { expandLinkTimeline } from 'mastodon/actions/timelines'; import { Column } from 'mastodon/components/column'; diff --git a/app/javascript/mastodon/features/list_timeline/index.jsx b/app/javascript/mastodon/features/list_timeline/index.jsx index cc4533ea993..7f9d45d3b13 100644 --- a/app/javascript/mastodon/features/list_timeline/index.jsx +++ b/app/javascript/mastodon/features/list_timeline/index.jsx @@ -3,7 +3,7 @@ import { PureComponent } from 'react'; import { FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import { Link, withRouter } from 'react-router-dom'; import ImmutablePropTypes from 'react-immutable-proptypes'; diff --git a/app/javascript/mastodon/features/lists/index.tsx b/app/javascript/mastodon/features/lists/index.tsx index 65fb11d0bea..6aa27d5c57f 100644 --- a/app/javascript/mastodon/features/lists/index.tsx +++ b/app/javascript/mastodon/features/lists/index.tsx @@ -2,9 +2,10 @@ import { useEffect, useMemo, useCallback } from 'react'; import { defineMessages, useIntl, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; import { Link } from 'react-router-dom'; +import { Helmet } from '@unhead/react/helmet'; + import AddIcon from '@/material-icons/400-24px/add.svg?react'; import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react'; import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react'; diff --git a/app/javascript/mastodon/features/lists/members.tsx b/app/javascript/mastodon/features/lists/members.tsx index c4bd99d9b4e..66ea1bb1277 100644 --- a/app/javascript/mastodon/features/lists/members.tsx +++ b/app/javascript/mastodon/features/lists/members.tsx @@ -2,9 +2,10 @@ import { useCallback, useState, useEffect } from 'react'; import { defineMessages, useIntl, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; import { useParams, Link } from 'react-router-dom'; +import { Helmet } from '@unhead/react/helmet'; + import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react'; import SquigglyArrow from '@/svg-icons/squiggly_arrow.svg?react'; import { fetchRelationships } from 'mastodon/actions/accounts'; diff --git a/app/javascript/mastodon/features/lists/new.tsx b/app/javascript/mastodon/features/lists/new.tsx index 67a79fae4a7..b2f916b738f 100644 --- a/app/javascript/mastodon/features/lists/new.tsx +++ b/app/javascript/mastodon/features/lists/new.tsx @@ -2,11 +2,12 @@ import { useCallback, useState, useEffect } from 'react'; import { defineMessages, useIntl, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; import { useParams, useHistory, Link } from 'react-router-dom'; import { isFulfilled } from '@reduxjs/toolkit'; +import { Helmet } from '@unhead/react/helmet'; + import ChevronRightIcon from '@/material-icons/400-24px/chevron_right.svg?react'; import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react'; import { fetchList } from 'mastodon/actions/lists'; diff --git a/app/javascript/mastodon/features/mutes/index.jsx b/app/javascript/mastodon/features/mutes/index.jsx index 8dd230e4adf..357bfa3e3b6 100644 --- a/app/javascript/mastodon/features/mutes/index.jsx +++ b/app/javascript/mastodon/features/mutes/index.jsx @@ -2,7 +2,7 @@ import PropTypes from 'prop-types'; import { defineMessages, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePureComponent from 'react-immutable-pure-component'; diff --git a/app/javascript/mastodon/features/notifications/request.jsx b/app/javascript/mastodon/features/notifications/request.jsx index bf0ccc54092..d7303e7f272 100644 --- a/app/javascript/mastodon/features/notifications/request.jsx +++ b/app/javascript/mastodon/features/notifications/request.jsx @@ -3,7 +3,7 @@ import { useRef, useCallback, useEffect } from 'react'; import { defineMessages, useIntl, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import { useSelector, useDispatch } from 'react-redux'; diff --git a/app/javascript/mastodon/features/notifications/requests.jsx b/app/javascript/mastodon/features/notifications/requests.jsx index b2bdd0ec774..ef8f58d6a48 100644 --- a/app/javascript/mastodon/features/notifications/requests.jsx +++ b/app/javascript/mastodon/features/notifications/requests.jsx @@ -3,7 +3,7 @@ import { useRef, useCallback, useEffect, useState } from 'react'; import { defineMessages, useIntl, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import { useSelector, useDispatch } from 'react-redux'; diff --git a/app/javascript/mastodon/features/notifications_v2/index.tsx b/app/javascript/mastodon/features/notifications_v2/index.tsx index 3fca9eb44ee..74fa914b276 100644 --- a/app/javascript/mastodon/features/notifications_v2/index.tsx +++ b/app/javascript/mastodon/features/notifications_v2/index.tsx @@ -2,8 +2,7 @@ import { useCallback, useEffect, useMemo, useRef } from 'react'; import { defineMessages, FormattedMessage, useIntl } from 'react-intl'; -import { Helmet } from 'react-helmet'; - +import { Helmet } from '@unhead/react/helmet'; import { isEqual } from 'lodash'; import { useDebouncedCallback } from 'use-debounce'; diff --git a/app/javascript/mastodon/features/onboarding/follows.tsx b/app/javascript/mastodon/features/onboarding/follows.tsx index d53f1ea50dd..910d1051834 100644 --- a/app/javascript/mastodon/features/onboarding/follows.tsx +++ b/app/javascript/mastodon/features/onboarding/follows.tsx @@ -2,9 +2,9 @@ import { useEffect, useState, useCallback, useRef } from 'react'; import { FormattedMessage, useIntl, defineMessages } from 'react-intl'; -import { Helmet } from 'react-helmet'; import { Link } from 'react-router-dom'; +import { Helmet } from '@unhead/react/helmet'; import { useDebouncedCallback } from 'use-debounce'; import PersonIcon from '@/material-icons/400-24px/person.svg?react'; diff --git a/app/javascript/mastodon/features/onboarding/profile.tsx b/app/javascript/mastodon/features/onboarding/profile.tsx index 961c5f98727..b4bde4dba55 100644 --- a/app/javascript/mastodon/features/onboarding/profile.tsx +++ b/app/javascript/mastodon/features/onboarding/profile.tsx @@ -3,9 +3,10 @@ import { useState, useMemo, useCallback, createRef } from 'react'; import { useIntl, defineMessages, FormattedMessage } from 'react-intl'; import classNames from 'classnames'; -import { Helmet } from 'react-helmet'; import { useHistory } from 'react-router-dom'; +import { Helmet } from '@unhead/react/helmet'; + import AddPhotoAlternateIcon from '@/material-icons/400-24px/add_photo_alternate.svg?react'; import EditIcon from '@/material-icons/400-24px/edit.svg?react'; import PersonIcon from '@/material-icons/400-24px/person.svg?react'; diff --git a/app/javascript/mastodon/features/pinned_statuses/index.jsx b/app/javascript/mastodon/features/pinned_statuses/index.jsx index 438921a4e30..2af1af03034 100644 --- a/app/javascript/mastodon/features/pinned_statuses/index.jsx +++ b/app/javascript/mastodon/features/pinned_statuses/index.jsx @@ -2,7 +2,7 @@ import PropTypes from 'prop-types'; import { defineMessages } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePureComponent from 'react-immutable-pure-component'; diff --git a/app/javascript/mastodon/features/privacy_policy/index.tsx b/app/javascript/mastodon/features/privacy_policy/index.tsx index cd6f9f3b2b0..d47d8db2960 100644 --- a/app/javascript/mastodon/features/privacy_policy/index.tsx +++ b/app/javascript/mastodon/features/privacy_policy/index.tsx @@ -2,7 +2,7 @@ import { useState, useEffect } from 'react'; import { FormattedMessage, useIntl, defineMessages } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import { apiGetPrivacyPolicy } from 'mastodon/api/instance'; import type { ApiPrivacyPolicyJSON } from 'mastodon/api_types/instance'; diff --git a/app/javascript/mastodon/features/public_timeline/index.jsx b/app/javascript/mastodon/features/public_timeline/index.jsx index e11b3615452..0d04e4d4f7f 100644 --- a/app/javascript/mastodon/features/public_timeline/index.jsx +++ b/app/javascript/mastodon/features/public_timeline/index.jsx @@ -3,7 +3,7 @@ import { PureComponent } from 'react'; import { defineMessages, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import { connect } from 'react-redux'; diff --git a/app/javascript/mastodon/features/quotes/index.tsx b/app/javascript/mastodon/features/quotes/index.tsx index 56cf2f71f11..76b4fb892cf 100644 --- a/app/javascript/mastodon/features/quotes/index.tsx +++ b/app/javascript/mastodon/features/quotes/index.tsx @@ -2,10 +2,10 @@ import { useCallback, useEffect } from 'react'; import { defineMessages, FormattedMessage, useIntl } from 'react-intl'; -import { Helmet } from 'react-helmet'; - import { List as ImmutableList } from 'immutable'; +import { Helmet } from '@unhead/react/helmet'; + import RefreshIcon from '@/material-icons/400-24px/refresh.svg?react'; import { fetchQuotes } from 'mastodon/actions/interactions_typed'; import { ColumnHeader } from 'mastodon/components/column_header'; diff --git a/app/javascript/mastodon/features/reblogs/index.jsx b/app/javascript/mastodon/features/reblogs/index.jsx index b0ee5029f5f..06fee81e9f2 100644 --- a/app/javascript/mastodon/features/reblogs/index.jsx +++ b/app/javascript/mastodon/features/reblogs/index.jsx @@ -2,7 +2,7 @@ import PropTypes from 'prop-types'; import { defineMessages, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePureComponent from 'react-immutable-pure-component'; diff --git a/app/javascript/mastodon/features/search/index.tsx b/app/javascript/mastodon/features/search/index.tsx index 5b4ed807fa9..0424ed30c39 100644 --- a/app/javascript/mastodon/features/search/index.tsx +++ b/app/javascript/mastodon/features/search/index.tsx @@ -2,7 +2,7 @@ import { useCallback, useEffect, useRef } from 'react'; import { useIntl, defineMessages, FormattedMessage } from 'react-intl'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import FindInPageIcon from '@/material-icons/400-24px/find_in_page.svg?react'; import PeopleIcon from '@/material-icons/400-24px/group.svg?react'; diff --git a/app/javascript/mastodon/features/status/index.jsx b/app/javascript/mastodon/features/status/index.jsx index cc9bf693ea0..db18964a3b9 100644 --- a/app/javascript/mastodon/features/status/index.jsx +++ b/app/javascript/mastodon/features/status/index.jsx @@ -3,7 +3,7 @@ import PropTypes from 'prop-types'; import { defineMessages } from 'react-intl'; import classNames from 'classnames'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import { withRouter } from 'react-router-dom'; import { difference } from 'lodash'; diff --git a/app/javascript/mastodon/features/terms_of_service/index.tsx b/app/javascript/mastodon/features/terms_of_service/index.tsx index 8ef64fc5157..669fb18b926 100644 --- a/app/javascript/mastodon/features/terms_of_service/index.tsx +++ b/app/javascript/mastodon/features/terms_of_service/index.tsx @@ -7,9 +7,10 @@ import { defineMessages, } from 'react-intl'; -import { Helmet } from 'react-helmet'; import { Link, useParams } from 'react-router-dom'; +import { Helmet } from '@unhead/react/helmet'; + import { apiGetTermsOfService } from 'mastodon/api/instance'; import type { ApiTermsOfServiceJSON } from 'mastodon/api_types/instance'; import { Column } from 'mastodon/components/column'; diff --git a/app/javascript/mastodon/features/ui/components/bundle_column_error.jsx b/app/javascript/mastodon/features/ui/components/bundle_column_error.jsx index da98c5632fb..81fb8f48c7e 100644 --- a/app/javascript/mastodon/features/ui/components/bundle_column_error.jsx +++ b/app/javascript/mastodon/features/ui/components/bundle_column_error.jsx @@ -4,7 +4,7 @@ import { PureComponent } from 'react'; import { FormattedMessage } from 'react-intl'; import classNames from 'classnames'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import { Link } from 'react-router-dom'; import { Button } from 'mastodon/components/button'; diff --git a/app/javascript/mastodon/features/ui/components/modal_root.jsx b/app/javascript/mastodon/features/ui/components/modal_root.jsx index 8938223c538..ff67e1b8f2b 100644 --- a/app/javascript/mastodon/features/ui/components/modal_root.jsx +++ b/app/javascript/mastodon/features/ui/components/modal_root.jsx @@ -1,7 +1,7 @@ import PropTypes from 'prop-types'; import { PureComponent } from 'react'; -import { Helmet } from 'react-helmet'; +import { Helmet } from '@unhead/react/helmet'; import Base from 'mastodon/components/modal_root'; import { AltTextModal } from 'mastodon/features/alt_text_modal'; diff --git a/package.json b/package.json index 1820f78296f..606f3c8a90c 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "@react-spring/web": "^9.7.5", "@reduxjs/toolkit": "^2.0.1", "@rolldown/plugin-babel": "^0.2.2", + "@unhead/react": "^3.1.0", "@use-gesture/react": "^10.3.1", "@vitejs/plugin-legacy": "^8.0.0", "@vitejs/plugin-react": "^6.0.0", @@ -93,7 +94,6 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-easy-crop": "^5.5.6", - "react-helmet": "^6.1.0", "react-immutable-proptypes": "^2.2.0", "react-immutable-pure-component": "^2.2.2", "react-intl": "^10.0.0", @@ -151,7 +151,6 @@ "@types/punycode": "^2.1.0", "@types/react": "^18.2.7", "@types/react-dom": "^18.2.4", - "@types/react-helmet": "^6.1.6", "@types/react-immutable-proptypes": "^2.1.0", "@types/react-router": "^5.1.20", "@types/react-router-dom": "^5.3.3", diff --git a/yarn.lock b/yarn.lock index 3f4008bc642..d4a876eced1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1943,6 +1943,16 @@ __metadata: languageName: node linkType: hard +"@emnapi/core@npm:1.9.2": + version: 1.9.2 + resolution: "@emnapi/core@npm:1.9.2" + dependencies: + "@emnapi/wasi-threads": "npm:1.2.1" + tslib: "npm:^2.4.0" + checksum: 10c0/5500393f953951bad0768fafaa9191f2d938956b20c6d6a79e5ab696a613a25ce6ad23422bc18e86e6ce8deb147619d8d0d7d413a69f84adc01a6633cc353cd9 + languageName: node + linkType: hard + "@emnapi/runtime@npm:1.10.0, @emnapi/runtime@npm:^1.4.3": version: 1.10.0 resolution: "@emnapi/runtime@npm:1.10.0" @@ -1952,6 +1962,15 @@ __metadata: languageName: node linkType: hard +"@emnapi/runtime@npm:1.9.2": + version: 1.9.2 + resolution: "@emnapi/runtime@npm:1.9.2" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/61c3a59e0c36784558b8d58eb02bd04815aa5fb0dbfbaf84d1b3050a78aa0cc63ea129ae806bd1e48062bfeb7fc36eb0e5431740d62f64ea51bdf426404b8caa + languageName: node + linkType: hard + "@emnapi/wasi-threads@npm:1.2.1": version: 1.2.1 resolution: "@emnapi/wasi-threads@npm:1.2.1" @@ -2885,7 +2904,6 @@ __metadata: "@types/punycode": "npm:^2.1.0" "@types/react": "npm:^18.2.7" "@types/react-dom": "npm:^18.2.4" - "@types/react-helmet": "npm:^6.1.6" "@types/react-immutable-proptypes": "npm:^2.1.0" "@types/react-router": "npm:^5.1.20" "@types/react-router-dom": "npm:^5.3.3" @@ -2893,6 +2911,7 @@ __metadata: "@types/react-test-renderer": "npm:^18.0.0" "@types/redux-immutable": "npm:^4.0.3" "@types/requestidlecallback": "npm:^0.3.5" + "@unhead/react": "npm:^3.1.0" "@use-gesture/react": "npm:^10.3.1" "@vitejs/plugin-legacy": "npm:^8.0.0" "@vitejs/plugin-react": "npm:^6.0.0" @@ -2956,7 +2975,6 @@ __metadata: react: "npm:^18.2.0" react-dom: "npm:^18.2.0" react-easy-crop: "npm:^5.5.6" - react-helmet: "npm:^6.1.0" react-immutable-proptypes: "npm:^2.2.0" react-immutable-pure-component: "npm:^2.2.2" react-intl: "npm:^10.0.0" @@ -3195,6 +3213,20 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-android-arm-eabi@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-android-arm-eabi@npm:0.126.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@oxc-parser/binding-android-arm-eabi@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-android-arm-eabi@npm:0.127.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + "@oxc-parser/binding-android-arm-eabi@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-android-arm-eabi@npm:0.128.0" @@ -3202,6 +3234,20 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-android-arm64@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-android-arm64@npm:0.126.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-parser/binding-android-arm64@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-android-arm64@npm:0.127.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@oxc-parser/binding-android-arm64@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-android-arm64@npm:0.128.0" @@ -3209,6 +3255,20 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-darwin-arm64@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-darwin-arm64@npm:0.126.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-parser/binding-darwin-arm64@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-darwin-arm64@npm:0.127.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@oxc-parser/binding-darwin-arm64@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-darwin-arm64@npm:0.128.0" @@ -3216,6 +3276,20 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-darwin-x64@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-darwin-x64@npm:0.126.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@oxc-parser/binding-darwin-x64@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-darwin-x64@npm:0.127.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@oxc-parser/binding-darwin-x64@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-darwin-x64@npm:0.128.0" @@ -3223,6 +3297,20 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-freebsd-x64@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-freebsd-x64@npm:0.126.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@oxc-parser/binding-freebsd-x64@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-freebsd-x64@npm:0.127.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@oxc-parser/binding-freebsd-x64@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-freebsd-x64@npm:0.128.0" @@ -3230,6 +3318,20 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-linux-arm-gnueabihf@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-linux-arm-gnueabihf@npm:0.126.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-arm-gnueabihf@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-linux-arm-gnueabihf@npm:0.127.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@oxc-parser/binding-linux-arm-gnueabihf@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-linux-arm-gnueabihf@npm:0.128.0" @@ -3237,6 +3339,20 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-linux-arm-musleabihf@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-linux-arm-musleabihf@npm:0.126.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-arm-musleabihf@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-linux-arm-musleabihf@npm:0.127.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@oxc-parser/binding-linux-arm-musleabihf@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-linux-arm-musleabihf@npm:0.128.0" @@ -3244,6 +3360,20 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-linux-arm64-gnu@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-linux-arm64-gnu@npm:0.126.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-arm64-gnu@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-linux-arm64-gnu@npm:0.127.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + "@oxc-parser/binding-linux-arm64-gnu@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-linux-arm64-gnu@npm:0.128.0" @@ -3251,6 +3381,20 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-linux-arm64-musl@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-linux-arm64-musl@npm:0.126.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-arm64-musl@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-linux-arm64-musl@npm:0.127.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + "@oxc-parser/binding-linux-arm64-musl@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-linux-arm64-musl@npm:0.128.0" @@ -3258,6 +3402,20 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-linux-ppc64-gnu@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-linux-ppc64-gnu@npm:0.126.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-ppc64-gnu@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-linux-ppc64-gnu@npm:0.127.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + "@oxc-parser/binding-linux-ppc64-gnu@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-linux-ppc64-gnu@npm:0.128.0" @@ -3265,6 +3423,20 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-linux-riscv64-gnu@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-linux-riscv64-gnu@npm:0.126.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-riscv64-gnu@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-linux-riscv64-gnu@npm:0.127.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + "@oxc-parser/binding-linux-riscv64-gnu@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-linux-riscv64-gnu@npm:0.128.0" @@ -3272,6 +3444,20 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-linux-riscv64-musl@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-linux-riscv64-musl@npm:0.126.0" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-riscv64-musl@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-linux-riscv64-musl@npm:0.127.0" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + "@oxc-parser/binding-linux-riscv64-musl@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-linux-riscv64-musl@npm:0.128.0" @@ -3279,6 +3465,20 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-linux-s390x-gnu@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-linux-s390x-gnu@npm:0.126.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-s390x-gnu@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-linux-s390x-gnu@npm:0.127.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + "@oxc-parser/binding-linux-s390x-gnu@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-linux-s390x-gnu@npm:0.128.0" @@ -3286,6 +3486,20 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-linux-x64-gnu@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-linux-x64-gnu@npm:0.126.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-x64-gnu@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-linux-x64-gnu@npm:0.127.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + "@oxc-parser/binding-linux-x64-gnu@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-linux-x64-gnu@npm:0.128.0" @@ -3293,6 +3507,20 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-linux-x64-musl@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-linux-x64-musl@npm:0.126.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-x64-musl@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-linux-x64-musl@npm:0.127.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + "@oxc-parser/binding-linux-x64-musl@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-linux-x64-musl@npm:0.128.0" @@ -3300,6 +3528,20 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-openharmony-arm64@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-openharmony-arm64@npm:0.126.0" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-parser/binding-openharmony-arm64@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-openharmony-arm64@npm:0.127.0" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + "@oxc-parser/binding-openharmony-arm64@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-openharmony-arm64@npm:0.128.0" @@ -3307,6 +3549,28 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-wasm32-wasi@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-wasm32-wasi@npm:0.126.0" + dependencies: + "@emnapi/core": "npm:1.9.2" + "@emnapi/runtime": "npm:1.9.2" + "@napi-rs/wasm-runtime": "npm:^1.1.4" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@oxc-parser/binding-wasm32-wasi@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-wasm32-wasi@npm:0.127.0" + dependencies: + "@emnapi/core": "npm:1.9.2" + "@emnapi/runtime": "npm:1.9.2" + "@napi-rs/wasm-runtime": "npm:^1.1.4" + conditions: cpu=wasm32 + languageName: node + linkType: hard + "@oxc-parser/binding-wasm32-wasi@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-wasm32-wasi@npm:0.128.0" @@ -3318,6 +3582,20 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-win32-arm64-msvc@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-win32-arm64-msvc@npm:0.126.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-parser/binding-win32-arm64-msvc@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-win32-arm64-msvc@npm:0.127.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@oxc-parser/binding-win32-arm64-msvc@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-win32-arm64-msvc@npm:0.128.0" @@ -3325,6 +3603,20 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-win32-ia32-msvc@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-win32-ia32-msvc@npm:0.126.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@oxc-parser/binding-win32-ia32-msvc@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-win32-ia32-msvc@npm:0.127.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@oxc-parser/binding-win32-ia32-msvc@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-win32-ia32-msvc@npm:0.128.0" @@ -3332,6 +3624,20 @@ __metadata: languageName: node linkType: hard +"@oxc-parser/binding-win32-x64-msvc@npm:0.126.0": + version: 0.126.0 + resolution: "@oxc-parser/binding-win32-x64-msvc@npm:0.126.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@oxc-parser/binding-win32-x64-msvc@npm:0.127.0": + version: 0.127.0 + resolution: "@oxc-parser/binding-win32-x64-msvc@npm:0.127.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@oxc-parser/binding-win32-x64-msvc@npm:0.128.0": version: 0.128.0 resolution: "@oxc-parser/binding-win32-x64-msvc@npm:0.128.0" @@ -3339,13 +3645,20 @@ __metadata: languageName: node linkType: hard -"@oxc-project/types@npm:=0.127.0": +"@oxc-project/types@npm:=0.127.0, @oxc-project/types@npm:^0.127.0": version: 0.127.0 resolution: "@oxc-project/types@npm:0.127.0" checksum: 10c0/52c0947ac64a9ca119fe971f947e784a35ecd14a072fa3f542a58a5f6c42010b53f2bf92731e39b9899b83c990a9517bbd29d1e5a5b7b489e52616685c6a9278 languageName: node linkType: hard +"@oxc-project/types@npm:^0.126.0": + version: 0.126.0 + resolution: "@oxc-project/types@npm:0.126.0" + checksum: 10c0/ad0bb774d63b6529bfbe7cc0808c9368c5de6038938256eabc868cf7f812b8d304a7a57800b1cfc09bf02566c396be8148d3153fb2c5fee273ccd8f0a9fd8751 + languageName: node + linkType: hard + "@oxc-project/types@npm:^0.128.0": version: 0.128.0 resolution: "@oxc-project/types@npm:0.128.0" @@ -4904,15 +5217,6 @@ __metadata: languageName: node linkType: hard -"@types/react-helmet@npm:^6.1.6": - version: 6.1.11 - resolution: "@types/react-helmet@npm:6.1.11" - dependencies: - "@types/react": "npm:*" - checksum: 10c0/f7b3bb2151d992a108ae46fed876fb9c8119108397d9a01d150c5642782997542c8b3c52e742b56e8689b7dbfa62ca9cfc76aa7e05dec4e60c652f7ef53fa783 - languageName: node - linkType: hard - "@types/react-immutable-proptypes@npm:^2.1.0": version: 2.1.3 resolution: "@types/react-immutable-proptypes@npm:2.1.3" @@ -5211,6 +5515,63 @@ __metadata: languageName: node linkType: hard +"@unhead/bundler@npm:3.1.0": + version: 3.1.0 + resolution: "@unhead/bundler@npm:3.1.0" + dependencies: + "@vitejs/devtools-kit": "npm:^0.1.15" + magic-string: "npm:^0.30.21" + oxc-parser: "npm:^0.127.0" + oxc-walker: "npm:^0.7.0" + ufo: "npm:^1.6.3" + unplugin: "npm:^3.0.0" + peerDependencies: + "@unhead/cli": ^3.1.0 + esbuild: ">=0.17.0" + lightningcss: ">=1.20.0" + rolldown: ">=1.0.0-beta.0" + unhead: ^3.1.0 + vite: ">=6.4.2" + webpack: ">=5.0.0" + peerDependenciesMeta: + "@unhead/cli": + optional: true + esbuild: + optional: true + lightningcss: + optional: true + rolldown: + optional: true + vite: + optional: true + webpack: + optional: true + checksum: 10c0/5acef500584502a4106977c01d0fc131dd13edfc821b66bbdbe7a9d9205a082d8a8c37c230bb5b65d7ce13aa6a7262881ce51c1a3ed24be103ce2a9f9104adc7 + languageName: node + linkType: hard + +"@unhead/react@npm:^3.1.0": + version: 3.1.0 + resolution: "@unhead/react@npm:3.1.0" + dependencies: + "@unhead/bundler": "npm:3.1.0" + magic-string: "npm:^0.30.21" + oxc-walker: "npm:^0.7.0" + unhead: "npm:3.1.0" + unplugin: "npm:^3.0.0" + peerDependencies: + react: ">=19.2.4" + vite: ">=6.4.2" + webpack: ">=5.0.0" + peerDependenciesMeta: + vite: + optional: true + webpack: + optional: true + checksum: 10c0/e810fbde5eed07986785deadbd23a446c5a6ec6323068eb51b1e285f141df35ffec4f954c5f07b35ad664ecd5827709c140894b99c3fbbeee4779c9db6d8c933 + languageName: node + linkType: hard + "@unicode/unicode-17.0.0@npm:^1.6.16": version: 1.6.16 resolution: "@unicode/unicode-17.0.0@npm:1.6.16" @@ -5371,6 +5732,29 @@ __metadata: languageName: node linkType: hard +"@valibot/to-json-schema@npm:^1.6.0": + version: 1.6.0 + resolution: "@valibot/to-json-schema@npm:1.6.0" + peerDependencies: + valibot: ^1.3.0 + checksum: 10c0/3dabbb9ed0f135c436a9f4a22ff1ad3df500e0bdff1b771eb9a03f4ba7a412bb1873a9cc1ff32c09ff47d10be8d1834a540705229380b9fc46fb65a9b41dbae2 + languageName: node + linkType: hard + +"@vitejs/devtools-kit@npm:^0.1.15": + version: 0.1.18 + resolution: "@vitejs/devtools-kit@npm:0.1.18" + dependencies: + birpc: "npm:^4.0.0" + devframe: "npm:0.1.18" + ohash: "npm:^2.0.11" + sirv: "npm:^3.0.2" + peerDependencies: + vite: "*" + checksum: 10c0/4cfad9f8b24089c115c36be531636eeb1bf31f47a823ed0a3159e3bd483daaf7f0c9254359acde3a7a2e68931c49176d0269ddae40fcaa5a097452470c8bfb13 + languageName: node + linkType: hard + "@vitejs/plugin-legacy@npm:^8.0.0": version: 8.0.1 resolution: "@vitejs/plugin-legacy@npm:8.0.1" @@ -5733,6 +6117,13 @@ __metadata: languageName: node linkType: hard +"ansis@npm:^4.2.0": + version: 4.2.0 + resolution: "ansis@npm:4.2.0" + checksum: 10c0/cd6a7a681ecd36e72e0d79c1e34f1f3bcb1b15bcbb6f0f8969b4228062d3bfebbef468e09771b00d93b2294370b34f707599d4a113542a876de26823b795b5d2 + languageName: node + linkType: hard + "are-docs-informative@npm:^0.0.2": version: 0.0.2 resolution: "are-docs-informative@npm:0.0.2" @@ -6099,6 +6490,13 @@ __metadata: languageName: node linkType: hard +"birpc@npm:^4.0.0": + version: 4.0.0 + resolution: "birpc@npm:4.0.0" + checksum: 10c0/61f4e893ff4c5948b2c587c971c04883af0d8b2658d4632c8e77073db9f9e8b040402f985d56308021890b2ad32ef8392e36a8335cab1e3771d99e1b025d1af6 + languageName: node + linkType: hard + "blurhash@npm:^2.0.5": version: 2.0.5 resolution: "blurhash@npm:2.0.5" @@ -6228,6 +6626,13 @@ __metadata: languageName: node linkType: hard +"cac@npm:^7.0.0": + version: 7.0.0 + resolution: "cac@npm:7.0.0" + checksum: 10c0/e9da33cb9f0425546ae92a450d479276f9969a050fe64f5d6fedf058bdd87f22a370797fe1c158e07655fa9fc183749df7cb2037431e3772faa7bee9919fb763 + languageName: node + linkType: hard + "cacache@npm:^19.0.1": version: 19.0.1 resolution: "cacache@npm:19.0.1" @@ -6543,6 +6948,13 @@ __metadata: languageName: node linkType: hard +"confbox@npm:^0.1.8": + version: 0.1.8 + resolution: "confbox@npm:0.1.8" + checksum: 10c0/fc2c68d97cb54d885b10b63e45bd8da83a8a71459d3ecf1825143dd4c7f9f1b696b3283e07d9d12a144c1301c2ebc7842380bdf0014e55acc4ae1c9550102418 + languageName: node + linkType: hard + "content-disposition@npm:^1.0.0": version: 1.0.0 resolution: "content-disposition@npm:1.0.0" @@ -6573,6 +6985,13 @@ __metadata: languageName: node linkType: hard +"cookie-es@npm:^1.2.3": + version: 1.2.3 + resolution: "cookie-es@npm:1.2.3" + checksum: 10c0/429eae6f5130a7380ea024d787d7e1ecc644ca84f9c43dfb70f18761a831d2ba591d28f837ce350892cfff0857d711f3a4ad93a082637bceb478823c339c1a97 + languageName: node + linkType: hard + "cookie-signature@npm:^1.2.1": version: 1.2.2 resolution: "cookie-signature@npm:1.2.2" @@ -6707,6 +7126,15 @@ __metadata: languageName: node linkType: hard +"crossws@npm:^0.3.5": + version: 0.3.5 + resolution: "crossws@npm:0.3.5" + dependencies: + uncrypto: "npm:^0.1.3" + checksum: 10c0/9e873546f0806606c4f775219f6811768fc3b3b0765ca8230722e849058ad098318af006e1faa39a8008c03009c37c519f6bccad41b0d78586237585c75fb38b + languageName: node + linkType: hard + "crypto-random-string@npm:^2.0.0": version: 2.0.0 resolution: "crypto-random-string@npm:2.0.0" @@ -6946,6 +7374,13 @@ __metadata: languageName: node linkType: hard +"defu@npm:^6.1.6": + version: 6.1.7 + resolution: "defu@npm:6.1.7" + checksum: 10c0/e6635388103c8be3c574ac31302f6930e5e6eeedba32cb1b30cf993c7d9fb571aec2485446dfa23bfa63e55e66156fe109027a9695db82a50f931e91e8d4bedb + languageName: node + linkType: hard + "delayed-stream@npm:~1.0.0": version: 1.0.0 resolution: "delayed-stream@npm:1.0.0" @@ -6983,6 +7418,13 @@ __metadata: languageName: node linkType: hard +"destr@npm:^2.0.5": + version: 2.0.5 + resolution: "destr@npm:2.0.5" + checksum: 10c0/efabffe7312a45ad90d79975376be958c50069f1156b94c181199763a7f971e113bd92227c26b94a169c71ca7dbc13583b7e96e5164743969fc79e1ff153e646 + languageName: node + linkType: hard + "detect-it@npm:^4.0.1": version: 4.0.1 resolution: "detect-it@npm:4.0.1" @@ -7015,6 +7457,37 @@ __metadata: languageName: node linkType: hard +"devframe@npm:0.1.18": + version: 0.1.18 + resolution: "devframe@npm:0.1.18" + dependencies: + "@valibot/to-json-schema": "npm:^1.6.0" + ansis: "npm:^4.2.0" + birpc: "npm:^4.0.0" + cac: "npm:^7.0.0" + h3: "npm:^1.15.11" + logs-sdk: "npm:^0.0.6" + ohash: "npm:^2.0.11" + pathe: "npm:^2.0.3" + sirv: "npm:^3.0.2" + structured-clone-es: "npm:^2.0.0" + valibot: "npm:^1.3.1" + ws: "npm:^8.20.0" + peerDependencies: + "@modelcontextprotocol/sdk": ^1.0.0 + "@nuxt/kit": ^3.0.0 || ^4.0.0 + launch-editor: ^2.0.0 + peerDependenciesMeta: + "@modelcontextprotocol/sdk": + optional: true + "@nuxt/kit": + optional: true + launch-editor: + optional: true + checksum: 10c0/35f0d6a25462dc540bba1eb4269a52dfc98b3a9dc8ac462daaa9dfc2e27060b4764692876ac6aaa7c568e912dcc1b8b2e5bb7b8f6d52ae471e4e297d9b4fe2ef + languageName: node + linkType: hard + "doctrine@npm:^2.1.0": version: 2.1.0 resolution: "doctrine@npm:2.1.0" @@ -8581,6 +9054,23 @@ __metadata: languageName: node linkType: hard +"h3@npm:^1.15.11": + version: 1.15.11 + resolution: "h3@npm:1.15.11" + dependencies: + cookie-es: "npm:^1.2.3" + crossws: "npm:^0.3.5" + defu: "npm:^6.1.6" + destr: "npm:^2.0.5" + iron-webcrypto: "npm:^1.2.1" + node-mock-http: "npm:^1.0.4" + radix3: "npm:^1.1.2" + ufo: "npm:^1.6.3" + uncrypto: "npm:^0.1.3" + checksum: 10c0/6ccb421b9f92e02e6330c2b6697b18ef18e9550e4a1708f224ca517c40ecd201cd00967d0feb26e718595e86e985edec1755933cf8792d34fb8504f1c7cc261d + languageName: node + linkType: hard + "has-bigints@npm:^1.0.2": version: 1.0.2 resolution: "has-bigints@npm:1.0.2" @@ -8707,6 +9197,13 @@ __metadata: languageName: node linkType: hard +"hookable@npm:^6.1.1": + version: 6.1.1 + resolution: "hookable@npm:6.1.1" + checksum: 10c0/bb46cd9ffc0a997af21febd97835da4e59a6989adec73dc3c215fcc44c7ac01de4781f251c3d420bf45862d2592a695f5f0de095b6f5df52db8afb5166938212 + languageName: node + linkType: hard + "hookified@npm:^1.15.0, hookified@npm:^1.15.1": version: 1.15.1 resolution: "hookified@npm:1.15.1" @@ -9029,6 +9526,13 @@ __metadata: languageName: node linkType: hard +"iron-webcrypto@npm:^1.2.1": + version: 1.2.1 + resolution: "iron-webcrypto@npm:1.2.1" + checksum: 10c0/5cf27c6e2bd3ef3b4970e486235fd82491ab8229e2ed0ac23307c28d6c80d721772a86ed4e9fe2a5cabadd710c2f024b706843b40561fb83f15afee58f809f66 + languageName: node + linkType: hard + "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" @@ -10052,6 +10556,17 @@ __metadata: languageName: node linkType: hard +"logs-sdk@npm:^0.0.6": + version: 0.0.6 + resolution: "logs-sdk@npm:0.0.6" + dependencies: + magic-string: "npm:^0.30.21" + oxc-parser: "npm:^0.126.0" + unplugin: "npm:^3.0.0" + checksum: 10c0/d1b5643f5067a89ffde1b9bd936f4d386b9518ae36f41a4e370f5a4174e778dbf6c4fc9b48374f0eee850a508d2cbccfddf2f762308712db316fdaeefc9bc52b + languageName: node + linkType: hard + "loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.2.0, loose-envify@npm:^1.3.1, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" @@ -10111,7 +10626,22 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.0, magic-string@npm:^0.30.21, magic-string@npm:^0.30.3, magic-string@npm:~0.30.11": +"magic-regexp@npm:^0.10.0": + version: 0.10.0 + resolution: "magic-regexp@npm:0.10.0" + dependencies: + estree-walker: "npm:^3.0.3" + magic-string: "npm:^0.30.12" + mlly: "npm:^1.7.2" + regexp-tree: "npm:^0.1.27" + type-level-regexp: "npm:~0.1.17" + ufo: "npm:^1.5.4" + unplugin: "npm:^2.0.0" + checksum: 10c0/4f183439510984744fcff5af9ef6c2776d886aba832e1390c8d85328e2a4991464e5cb18dc6f491c0184ea1b96508475a5b112295a08fdeae1018193901688f9 + languageName: node + linkType: hard + +"magic-string@npm:^0.30.0, magic-string@npm:^0.30.12, magic-string@npm:^0.30.21, magic-string@npm:^0.30.3, magic-string@npm:~0.30.11": version: 0.30.21 resolution: "magic-string@npm:0.30.21" dependencies: @@ -10432,6 +10962,18 @@ __metadata: languageName: node linkType: hard +"mlly@npm:^1.7.2, mlly@npm:^1.7.4": + version: 1.8.2 + resolution: "mlly@npm:1.8.2" + dependencies: + acorn: "npm:^8.16.0" + pathe: "npm:^2.0.3" + pkg-types: "npm:^1.3.1" + ufo: "npm:^1.6.3" + checksum: 10c0/aa826683a6daddf2aef65f9c8142e362731cf8e415a5591faf92fd51040a76697e45ab6dbb7a3b38be74e0f8c464825a7eabe827750455c7472421953f5da733 + languageName: node + linkType: hard + "mrmime@npm:^2.0.0": version: 2.0.1 resolution: "mrmime@npm:2.0.1" @@ -10605,6 +11147,13 @@ __metadata: languageName: node linkType: hard +"node-mock-http@npm:^1.0.4": + version: 1.0.4 + resolution: "node-mock-http@npm:1.0.4" + checksum: 10c0/86e3f7453cf07ad6b8bd17cf89ff91d45f486a861cf6d891618cf29647d559cbcde1d1f90c9cc02e014ff9f7900b2fb21c96b03ea4b4a415dbe2d65badadceba + languageName: node + linkType: hard + "node-releases@npm:^2.0.27": version: 2.0.27 resolution: "node-releases@npm:2.0.27" @@ -10733,6 +11282,13 @@ __metadata: languageName: node linkType: hard +"ohash@npm:^2.0.11": + version: 2.0.11 + resolution: "ohash@npm:2.0.11" + checksum: 10c0/d07c8d79cc26da082c1a7c8d5b56c399dd4ed3b2bd069fcae6bae78c99a9bcc3ad813b1e1f49ca2f335292846d689c6141a762cf078727d2302a33d414e69c79 + languageName: node + linkType: hard + "on-exit-leak-free@npm:^2.1.0": version: 2.1.2 resolution: "on-exit-leak-free@npm:2.1.2" @@ -10834,6 +11390,146 @@ __metadata: languageName: node linkType: hard +"oxc-parser@npm:^0.126.0": + version: 0.126.0 + resolution: "oxc-parser@npm:0.126.0" + dependencies: + "@oxc-parser/binding-android-arm-eabi": "npm:0.126.0" + "@oxc-parser/binding-android-arm64": "npm:0.126.0" + "@oxc-parser/binding-darwin-arm64": "npm:0.126.0" + "@oxc-parser/binding-darwin-x64": "npm:0.126.0" + "@oxc-parser/binding-freebsd-x64": "npm:0.126.0" + "@oxc-parser/binding-linux-arm-gnueabihf": "npm:0.126.0" + "@oxc-parser/binding-linux-arm-musleabihf": "npm:0.126.0" + "@oxc-parser/binding-linux-arm64-gnu": "npm:0.126.0" + "@oxc-parser/binding-linux-arm64-musl": "npm:0.126.0" + "@oxc-parser/binding-linux-ppc64-gnu": "npm:0.126.0" + "@oxc-parser/binding-linux-riscv64-gnu": "npm:0.126.0" + "@oxc-parser/binding-linux-riscv64-musl": "npm:0.126.0" + "@oxc-parser/binding-linux-s390x-gnu": "npm:0.126.0" + "@oxc-parser/binding-linux-x64-gnu": "npm:0.126.0" + "@oxc-parser/binding-linux-x64-musl": "npm:0.126.0" + "@oxc-parser/binding-openharmony-arm64": "npm:0.126.0" + "@oxc-parser/binding-wasm32-wasi": "npm:0.126.0" + "@oxc-parser/binding-win32-arm64-msvc": "npm:0.126.0" + "@oxc-parser/binding-win32-ia32-msvc": "npm:0.126.0" + "@oxc-parser/binding-win32-x64-msvc": "npm:0.126.0" + "@oxc-project/types": "npm:^0.126.0" + dependenciesMeta: + "@oxc-parser/binding-android-arm-eabi": + optional: true + "@oxc-parser/binding-android-arm64": + optional: true + "@oxc-parser/binding-darwin-arm64": + optional: true + "@oxc-parser/binding-darwin-x64": + optional: true + "@oxc-parser/binding-freebsd-x64": + optional: true + "@oxc-parser/binding-linux-arm-gnueabihf": + optional: true + "@oxc-parser/binding-linux-arm-musleabihf": + optional: true + "@oxc-parser/binding-linux-arm64-gnu": + optional: true + "@oxc-parser/binding-linux-arm64-musl": + optional: true + "@oxc-parser/binding-linux-ppc64-gnu": + optional: true + "@oxc-parser/binding-linux-riscv64-gnu": + optional: true + "@oxc-parser/binding-linux-riscv64-musl": + optional: true + "@oxc-parser/binding-linux-s390x-gnu": + optional: true + "@oxc-parser/binding-linux-x64-gnu": + optional: true + "@oxc-parser/binding-linux-x64-musl": + optional: true + "@oxc-parser/binding-openharmony-arm64": + optional: true + "@oxc-parser/binding-wasm32-wasi": + optional: true + "@oxc-parser/binding-win32-arm64-msvc": + optional: true + "@oxc-parser/binding-win32-ia32-msvc": + optional: true + "@oxc-parser/binding-win32-x64-msvc": + optional: true + checksum: 10c0/412b02368711565b4f448c0866fdb37131ac4bc0ccdd0ee97c6b2dadc7bf7d95b3158aff7dc71f2ca2ad789851b99ca81004c348a60f852ac3bf7e9d46cdaecd + languageName: node + linkType: hard + +"oxc-parser@npm:^0.127.0": + version: 0.127.0 + resolution: "oxc-parser@npm:0.127.0" + dependencies: + "@oxc-parser/binding-android-arm-eabi": "npm:0.127.0" + "@oxc-parser/binding-android-arm64": "npm:0.127.0" + "@oxc-parser/binding-darwin-arm64": "npm:0.127.0" + "@oxc-parser/binding-darwin-x64": "npm:0.127.0" + "@oxc-parser/binding-freebsd-x64": "npm:0.127.0" + "@oxc-parser/binding-linux-arm-gnueabihf": "npm:0.127.0" + "@oxc-parser/binding-linux-arm-musleabihf": "npm:0.127.0" + "@oxc-parser/binding-linux-arm64-gnu": "npm:0.127.0" + "@oxc-parser/binding-linux-arm64-musl": "npm:0.127.0" + "@oxc-parser/binding-linux-ppc64-gnu": "npm:0.127.0" + "@oxc-parser/binding-linux-riscv64-gnu": "npm:0.127.0" + "@oxc-parser/binding-linux-riscv64-musl": "npm:0.127.0" + "@oxc-parser/binding-linux-s390x-gnu": "npm:0.127.0" + "@oxc-parser/binding-linux-x64-gnu": "npm:0.127.0" + "@oxc-parser/binding-linux-x64-musl": "npm:0.127.0" + "@oxc-parser/binding-openharmony-arm64": "npm:0.127.0" + "@oxc-parser/binding-wasm32-wasi": "npm:0.127.0" + "@oxc-parser/binding-win32-arm64-msvc": "npm:0.127.0" + "@oxc-parser/binding-win32-ia32-msvc": "npm:0.127.0" + "@oxc-parser/binding-win32-x64-msvc": "npm:0.127.0" + "@oxc-project/types": "npm:^0.127.0" + dependenciesMeta: + "@oxc-parser/binding-android-arm-eabi": + optional: true + "@oxc-parser/binding-android-arm64": + optional: true + "@oxc-parser/binding-darwin-arm64": + optional: true + "@oxc-parser/binding-darwin-x64": + optional: true + "@oxc-parser/binding-freebsd-x64": + optional: true + "@oxc-parser/binding-linux-arm-gnueabihf": + optional: true + "@oxc-parser/binding-linux-arm-musleabihf": + optional: true + "@oxc-parser/binding-linux-arm64-gnu": + optional: true + "@oxc-parser/binding-linux-arm64-musl": + optional: true + "@oxc-parser/binding-linux-ppc64-gnu": + optional: true + "@oxc-parser/binding-linux-riscv64-gnu": + optional: true + "@oxc-parser/binding-linux-riscv64-musl": + optional: true + "@oxc-parser/binding-linux-s390x-gnu": + optional: true + "@oxc-parser/binding-linux-x64-gnu": + optional: true + "@oxc-parser/binding-linux-x64-musl": + optional: true + "@oxc-parser/binding-openharmony-arm64": + optional: true + "@oxc-parser/binding-wasm32-wasi": + optional: true + "@oxc-parser/binding-win32-arm64-msvc": + optional: true + "@oxc-parser/binding-win32-ia32-msvc": + optional: true + "@oxc-parser/binding-win32-x64-msvc": + optional: true + checksum: 10c0/9d109fb3a79c0862a36434cc01c8c0e8f6cf5f1efe9369e02d2183fd518479b10262cf092da2e7f8328befae446afa05ccf742ce12f8346d81429c8f2cdf1651 + languageName: node + linkType: hard + "oxc-parser@npm:^0.128.0": version: 0.128.0 resolution: "oxc-parser@npm:0.128.0" @@ -10904,6 +11600,17 @@ __metadata: languageName: node linkType: hard +"oxc-walker@npm:^0.7.0": + version: 0.7.0 + resolution: "oxc-walker@npm:0.7.0" + dependencies: + magic-regexp: "npm:^0.10.0" + peerDependencies: + oxc-parser: ">=0.98.0" + checksum: 10c0/4238233aaec526a1937b5d173202fbeaa22ff3047fcb5734516d595cf415b0d2b78f9e042aa090d6579574a654224d1d31c2fe6d31ff086c1dd525bbfa9cb354 + languageName: node + linkType: hard + "oxfmt@npm:^0.47.0": version: 0.47.0 resolution: "oxfmt@npm:0.47.0" @@ -11157,7 +11864,7 @@ __metadata: languageName: node linkType: hard -"pathe@npm:^2.0.3": +"pathe@npm:^2.0.1, pathe@npm:^2.0.3": version: 2.0.3 resolution: "pathe@npm:2.0.3" checksum: 10c0/c118dc5a8b5c4166011b2b70608762e260085180bb9e33e80a50dcdb1e78c010b1624f4280c492c92b05fc276715a4c357d1f9edc570f8f1b3d90b6839ebaca1 @@ -11352,6 +12059,17 @@ __metadata: languageName: node linkType: hard +"pkg-types@npm:^1.3.1": + version: 1.3.1 + resolution: "pkg-types@npm:1.3.1" + dependencies: + confbox: "npm:^0.1.8" + mlly: "npm:^1.7.4" + pathe: "npm:^2.0.1" + checksum: 10c0/19e6cb8b66dcc66c89f2344aecfa47f2431c988cfa3366bdfdcfb1dd6695f87dcce37fbd90fe9d1605e2f4440b77f391e83c23255347c35cf84e7fd774d7fcea + languageName: node + linkType: hard + "playwright-core@npm:1.59.1": version: 1.59.1 resolution: "playwright-core@npm:1.59.1" @@ -12068,6 +12786,13 @@ __metadata: languageName: node linkType: hard +"radix3@npm:^1.1.2": + version: 1.1.2 + resolution: "radix3@npm:1.1.2" + checksum: 10c0/d4a295547f71af079868d2c2ed3814a9296ee026c5488212d58c106e6b4797c6eaec1259b46c9728913622f2240c9a944bfc8e2b3b5f6e4a5045338b1609f1e4 + languageName: node + linkType: hard + "range-parser@npm:^1.2.1": version: 1.2.1 resolution: "range-parser@npm:1.2.1" @@ -12150,27 +12875,6 @@ __metadata: languageName: node linkType: hard -"react-fast-compare@npm:^3.1.1": - version: 3.2.2 - resolution: "react-fast-compare@npm:3.2.2" - checksum: 10c0/0bbd2f3eb41ab2ff7380daaa55105db698d965c396df73e6874831dbafec8c4b5b08ba36ff09df01526caa3c61595247e3269558c284e37646241cba2b90a367 - languageName: node - linkType: hard - -"react-helmet@npm:^6.1.0": - version: 6.1.0 - resolution: "react-helmet@npm:6.1.0" - dependencies: - object-assign: "npm:^4.1.1" - prop-types: "npm:^15.7.2" - react-fast-compare: "npm:^3.1.1" - react-side-effect: "npm:^2.1.0" - peerDependencies: - react: ">=16.3.0" - checksum: 10c0/1d2831d9c3b4f5c91f020076aeb6502437a4788077d0c438421e466eb9633d5dc2aacedf7b779a970b807d61cf87793c5ff76ee3190a185d71c90b5cfb367e96 - languageName: node - linkType: hard - "react-immutable-proptypes@npm:^2.2.0": version: 2.2.0 resolution: "react-immutable-proptypes@npm:2.2.0" @@ -12356,15 +13060,6 @@ __metadata: languageName: node linkType: hard -"react-side-effect@npm:^2.1.0": - version: 2.1.2 - resolution: "react-side-effect@npm:2.1.2" - peerDependencies: - react: ^16.3.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/5d934cae438f701ce646f566750ae6a445e99185ce1a026108f9db728147f7962a22ecf8db79ff26089953a3799b3607766904f4f10194ce42bcd5a1aa0215e8 - languageName: node - linkType: hard - "react-sparklines@npm:^1.7.0": version: 1.7.0 resolution: "react-sparklines@npm:1.7.0" @@ -12567,6 +13262,15 @@ __metadata: languageName: node linkType: hard +"regexp-tree@npm:^0.1.27": + version: 0.1.27 + resolution: "regexp-tree@npm:0.1.27" + bin: + regexp-tree: bin/regexp-tree + checksum: 10c0/f636f44b4a0d93d7d6926585ecd81f63e4ce2ac895bc417b2ead0874cd36b337dcc3d0fedc63f69bf5aaeaa4340f36ca7e750c9687cceaf8087374e5284e843c + languageName: node + linkType: hard + "regexp.prototype.flags@npm:^1.5.3, regexp.prototype.flags@npm:^1.5.4": version: 1.5.4 resolution: "regexp.prototype.flags@npm:1.5.4" @@ -13817,6 +14521,13 @@ __metadata: languageName: node linkType: hard +"structured-clone-es@npm:^2.0.0": + version: 2.0.0 + resolution: "structured-clone-es@npm:2.0.0" + checksum: 10c0/3fc4ce67a44300170de29af115752a18799def1fdd83cfb9c133b0c963102b8949b06f4e35e8bde3e3de2e02ebbb7730849f75bc6c3d411c22d91c17015affa9 + languageName: node + linkType: hard + "stylelint-config-recommended-scss@npm:^17.0.0": version: 17.0.0 resolution: "stylelint-config-recommended-scss@npm:17.0.0" @@ -14406,6 +15117,13 @@ __metadata: languageName: node linkType: hard +"type-level-regexp@npm:~0.1.17": + version: 0.1.17 + resolution: "type-level-regexp@npm:0.1.17" + checksum: 10c0/54798f83464cb5ce04246c9c4739ec471c526aaa7690679fddbce05b689b99403de709f3fcb494555d4276b46c606435a95855e52535602f63378ab8b38010d5 + languageName: node + linkType: hard + "typed-array-buffer@npm:^1.0.3": version: 1.0.3 resolution: "typed-array-buffer@npm:1.0.3" @@ -14543,6 +15261,13 @@ __metadata: languageName: node linkType: hard +"ufo@npm:^1.5.4, ufo@npm:^1.6.3": + version: 1.6.4 + resolution: "ufo@npm:1.6.4" + checksum: 10c0/3a2b29e7e3d772fbf6893d7d23bf442981457adb2fe122828abdbda89bedcb81aafd0dcc080e41b45f9a877db00cb42cbfee9639753a19d9b9bd39b5627039cf + languageName: node + linkType: hard + "unbox-primitive@npm:^1.1.0": version: 1.1.0 resolution: "unbox-primitive@npm:1.1.0" @@ -14569,6 +15294,13 @@ __metadata: languageName: node linkType: hard +"uncrypto@npm:^0.1.3": + version: 0.1.3 + resolution: "uncrypto@npm:0.1.3" + checksum: 10c0/74a29afefd76d5b77bedc983559ceb33f5bbc8dada84ff33755d1e3355da55a4e03a10e7ce717918c436b4dfafde1782e799ebaf2aadd775612b49f7b5b2998e + languageName: node + linkType: hard + "undici-types@npm:~7.16.0": version: 7.16.0 resolution: "undici-types@npm:7.16.0" @@ -14583,6 +15315,21 @@ __metadata: languageName: node linkType: hard +"unhead@npm:3.1.0": + version: 3.1.0 + resolution: "unhead@npm:3.1.0" + dependencies: + hookable: "npm:^6.1.1" + unplugin: "npm:^3.0.0" + peerDependencies: + vite: ">=6.4.2" + peerDependenciesMeta: + vite: + optional: true + checksum: 10c0/967ab3ee8729398a92d69c372d8815b7a76d55d92fe9b5f628cf88e29b75df061d9eae1f787d14fefb7efab0595492c2fa30f3d89154f17c26297513c9f7f46b + languageName: node + linkType: hard + "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.1 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" @@ -14662,6 +15409,18 @@ __metadata: languageName: node linkType: hard +"unplugin@npm:^2.0.0": + version: 2.3.11 + resolution: "unplugin@npm:2.3.11" + dependencies: + "@jridgewell/remapping": "npm:^2.3.5" + acorn: "npm:^8.15.0" + picomatch: "npm:^4.0.3" + webpack-virtual-modules: "npm:^0.6.2" + checksum: 10c0/273c1eab0eca4470c7317428689295c31dbe8ab0b306504de9f03cd20c156debb4131bef24b27ac615862958c5dd950a3951d26c0723ea774652ab3624149cff + languageName: node + linkType: hard + "unplugin@npm:^2.3.5": version: 2.3.10 resolution: "unplugin@npm:2.3.10" @@ -14868,6 +15627,18 @@ __metadata: languageName: node linkType: hard +"valibot@npm:^1.3.1": + version: 1.3.1 + resolution: "valibot@npm:1.3.1" + peerDependencies: + typescript: ">=5" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/e20a4097fa726f57530da1e64558af47ddd2303129c77978fe93c522c66cf4c79540ea3af864523589283ea25e347c3d65b8044fa4913376208dde576b9f6382 + languageName: node + linkType: hard + "value-equal@npm:^1.0.1": version: 1.0.1 resolution: "value-equal@npm:1.0.1" @@ -15503,7 +16274,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.12.1, ws@npm:^8.18.0, ws@npm:^8.19.0": +"ws@npm:^8.12.1, ws@npm:^8.18.0, ws@npm:^8.19.0, ws@npm:^8.20.0": version: 8.20.0 resolution: "ws@npm:8.20.0" peerDependencies: