diff --git a/.eslintrc.json b/.eslintrc.json --- a/.eslintrc.json +++ b/.eslintrc.json @@ -20,7 +20,8 @@ "flowtype", "monorepo", "import", - "@stylistic/js" + "@stylistic/js", + "unicorn" ], "rules": { // Prettier is configured to keep lines to 80 chars, but there are two issues: @@ -64,7 +65,14 @@ ], "eqeqeq": ["error", "always"], "no-constant-condition": ["error", { "checkLoops": false }], - "consistent-return": "error" + "consistent-return": "error", + "unicorn/filename-case": [ + "error", + { + "case": "kebabCase", + "ignore": [".*_v.*\\.*\\.*\\.js", ".*ModuleSchema\\.js"] + } + ] }, "settings": { "react": { diff --git a/.lintstagedrc.js b/.lintstagedrc.js --- a/.lintstagedrc.js +++ b/.lintstagedrc.js @@ -1,6 +1,6 @@ const { ESLint } = require('eslint'); -const { getClangPaths } = require('./scripts/get_clang_paths'); -const { findRustProjectPath } = require('./scripts/get_cargo_path'); +const { getClangPaths } = require('./scripts/get-clang-paths'); +const { findRustProjectPath } = require('./scripts/get-cargo-path'); const removeIgnoredFiles = async (files) => { const eslint = new ESLint(); diff --git a/keyserver/src/cron/cron.js b/keyserver/src/cron/cron.js --- a/keyserver/src/cron/cron.js +++ b/keyserver/src/cron/cron.js @@ -28,7 +28,7 @@ import { deleteUnassignedUploads } from '../deleters/upload-deleters.js'; import { fetchCallUpdateOlmAccount } from '../updaters/olm-account-updater.js'; import { validateAndUploadAccountPrekeys } from '../utils/olm-utils.js'; -import { synchronizeInviteLinksWithBlobs } from '../utils/synchronizeInviteLinksWithBlobs.js'; +import { synchronizeInviteLinksWithBlobs } from '../utils/synchronize-invite-links-with-blobs.js'; if (cluster.isMaster) { schedule.scheduleJob( diff --git a/keyserver/src/database/migration-config.js b/keyserver/src/database/migration-config.js --- a/keyserver/src/database/migration-config.js +++ b/keyserver/src/database/migration-config.js @@ -23,7 +23,7 @@ createPickledOlmAccount, publishPrekeysToIdentity, } from '../utils/olm-utils.js'; -import { synchronizeInviteLinksWithBlobs } from '../utils/synchronizeInviteLinksWithBlobs.js'; +import { synchronizeInviteLinksWithBlobs } from '../utils/synchronize-invite-links-with-blobs.js'; const botViewer = createScriptViewer(bots.commbot.userID); diff --git a/keyserver/src/responders/website-responders.js b/keyserver/src/responders/website-responders.js --- a/keyserver/src/responders/website-responders.js +++ b/keyserver/src/responders/website-responders.js @@ -10,7 +10,7 @@ import { promisify } from 'util'; import stores from 'lib/facts/stores.js'; -import getTitle from 'web/title/getTitle.js'; +import getTitle from 'web/title/get-title.js'; import { waitForStream } from '../utils/json-stream.js'; import { diff --git a/keyserver/src/utils/synchronizeInviteLinksWithBlobs.js b/keyserver/src/utils/synchronize-invite-links-with-blobs.js rename from keyserver/src/utils/synchronizeInviteLinksWithBlobs.js rename to keyserver/src/utils/synchronize-invite-links-with-blobs.js diff --git a/landing/hero.react.js b/landing/hero.react.js --- a/landing/hero.react.js +++ b/landing/hero.react.js @@ -4,7 +4,7 @@ import HeroContent from './hero-content.react.js'; import css from './hero.css'; -import Picture from './Picture.react.js'; +import Picture from './picture.react.js'; type Props = { +url: string, diff --git a/landing/Picture.react.js b/landing/picture.react.js rename from landing/Picture.react.js rename to landing/picture.react.js diff --git a/lib/components/connected-wallet-info.react.js b/lib/components/connected-wallet-info.react.js --- a/lib/components/connected-wallet-info.react.js +++ b/lib/components/connected-wallet-info.react.js @@ -5,7 +5,7 @@ import { useAccount, useEnsAvatar } from 'wagmi'; import css from './connected-wallet-info.css'; -import SWMansionIcon from './SWMansionIcon.react.js'; +import SWMansionIcon from './swmansion-icon.react.js'; import { useENSName } from '../hooks/ens-cache.js'; function shortenAddressToFitWidth(address: string): string { diff --git a/lib/components/SWMansionIcon.react.js b/lib/components/swmansion-icon.react.js rename from lib/components/SWMansionIcon.react.js rename to lib/components/swmansion-icon.react.js diff --git a/native/codegen/src/CodeGen.js b/native/codegen/src/code-gen.js rename from native/codegen/src/CodeGen.js rename to native/codegen/src/code-gen.js diff --git a/native/codegen/src/index.js b/native/codegen/src/index.js --- a/native/codegen/src/index.js +++ b/native/codegen/src/index.js @@ -4,7 +4,7 @@ */ import path from 'path'; -import codeGen from './CodeGen.js'; +import codeGen from './code-gen.js'; ('use strict'); const outPath = path.resolve('./cpp/CommonCpp/_generated'); diff --git a/package.json b/package.json --- a/package.json +++ b/package.json @@ -43,6 +43,7 @@ "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-native": "^4.1.0", + "eslint-plugin-unicorn": "^51.0.1", "find-up": "^5.0.0", "flow-mono-cli": "^1.5.0", "gaxios": "^4.3.2", diff --git a/scripts/get_cargo_path.js b/scripts/get-cargo-path.js rename from scripts/get_cargo_path.js rename to scripts/get-cargo-path.js diff --git a/scripts/get_clang_paths_cli.js b/scripts/get-clang-paths-cli.js rename from scripts/get_clang_paths_cli.js rename to scripts/get-clang-paths-cli.js --- a/scripts/get_clang_paths_cli.js +++ b/scripts/get-clang-paths-cli.js @@ -1,6 +1,6 @@ // @flow -const { clangPaths } = require('./get_clang_paths.js'); +const { clangPaths } = require('./get-clang-paths.js'); (() => { let command = '('; diff --git a/scripts/get_clang_paths.js b/scripts/get-clang-paths.js rename from scripts/get_clang_paths.js rename to scripts/get-clang-paths.js diff --git a/web/account/password-input.react.js b/web/account/password-input.react.js --- a/web/account/password-input.react.js +++ b/web/account/password-input.react.js @@ -4,7 +4,7 @@ import SWMansionIcon, { type Icon, -} from 'lib/components/SWMansionIcon.react.js'; +} from 'lib/components/swmansion-icon.react.js'; import type { ReactRefSetter } from 'lib/types/react-types.js'; import css from './password-input.css'; diff --git a/web/account/siwe-login-form.react.js b/web/account/siwe-login-form.react.js --- a/web/account/siwe-login-form.react.js +++ b/web/account/siwe-login-form.react.js @@ -14,7 +14,7 @@ siweAuthActionTypes, } from 'lib/actions/siwe-actions.js'; import ConnectedWalletInfo from 'lib/components/connected-wallet-info.react.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import stores from 'lib/facts/stores.js'; import { logInExtraInfoSelector } from 'lib/selectors/account-selectors.js'; import { createLoadingStatusSelector } from 'lib/selectors/loading-selectors.js'; diff --git a/web/app-list/app-list-item.react.js b/web/app-list/app-list-item.react.js --- a/web/app-list/app-list-item.react.js +++ b/web/app-list/app-list-item.react.js @@ -5,7 +5,7 @@ import SWMansionIcon, { type Icon, -} from 'lib/components/SWMansionIcon.react.js'; +} from 'lib/components/swmansion-icon.react.js'; import type { WebNavigationTab } from 'lib/types/nav-types.js'; import css from './app-list-item.css'; diff --git a/web/avatars/edit-thread-avatar-menu.react.js b/web/avatars/edit-thread-avatar-menu.react.js --- a/web/avatars/edit-thread-avatar-menu.react.js +++ b/web/avatars/edit-thread-avatar-menu.react.js @@ -5,7 +5,7 @@ import { EditThreadAvatarContext } from 'lib/components/base-edit-thread-avatar-provider.react.js'; import { useModalContext } from 'lib/components/modal-provider.react.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import type { ThreadInfo, RawThreadInfo, diff --git a/web/avatars/edit-user-avatar-menu.react.js b/web/avatars/edit-user-avatar-menu.react.js --- a/web/avatars/edit-user-avatar-menu.react.js +++ b/web/avatars/edit-user-avatar-menu.react.js @@ -5,14 +5,14 @@ import { EditUserAvatarContext } from 'lib/components/edit-user-avatar-provider.react.js'; import { useModalContext } from 'lib/components/modal-provider.react.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { useENSAvatar } from 'lib/hooks/ens-cache.js'; import { getETHAddressForUserInfo } from 'lib/shared/account-utils.js'; import { useUploadAvatarMedia } from './avatar-hooks.react.js'; import css from './edit-avatar-menu.css'; import UserEmojiAvatarSelectionModal from './user-emoji-avatar-selection-modal.react.js'; -import CommIcon from '../CommIcon.react.js'; +import CommIcon from '../comm-icon.react.js'; import MenuItem from '../components/menu-item.react.js'; import Menu from '../components/menu.react.js'; import { allowedMimeTypeString } from '../media/file-utils.js'; diff --git a/web/avatars/emoji-avatar-selection-modal.react.js b/web/avatars/emoji-avatar-selection-modal.react.js --- a/web/avatars/emoji-avatar-selection-modal.react.js +++ b/web/avatars/emoji-avatar-selection-modal.react.js @@ -5,7 +5,7 @@ import * as React from 'react'; import { useModalContext } from 'lib/components/modal-provider.react.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import type { ClientAvatar, ClientEmojiAvatar, diff --git a/web/calendar/calendar.react.js b/web/calendar/calendar.react.js --- a/web/calendar/calendar.react.js +++ b/web/calendar/calendar.react.js @@ -9,7 +9,7 @@ useUpdateCalendarQuery, } from 'lib/actions/entry-actions.js'; import type { UpdateCalendarQueryInput } from 'lib/actions/entry-actions.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { currentDaysToEntries } from 'lib/selectors/thread-selectors.js'; import { isLoggedIn } from 'lib/selectors/user-selectors.js'; import { diff --git a/web/chat/chat-input-bar.react.js b/web/chat/chat-input-bar.react.js --- a/web/chat/chat-input-bar.react.js +++ b/web/chat/chat-input-bar.react.js @@ -9,7 +9,7 @@ newThreadActionTypes, useJoinThread, } from 'lib/actions/thread-actions.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { useChatMentionContext, useThreadChatMentionCandidates, diff --git a/web/chat/chat-thread-composer.react.js b/web/chat/chat-thread-composer.react.js --- a/web/chat/chat-thread-composer.react.js +++ b/web/chat/chat-thread-composer.react.js @@ -6,7 +6,7 @@ import * as React from 'react'; import { useModalContext } from 'lib/components/modal-provider.react.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { useLoggedInUserInfo } from 'lib/hooks/account-hooks.js'; import { useENSNames } from 'lib/hooks/ens-cache.js'; import { diff --git a/web/chat/chat-thread-list-item-menu.react.js b/web/chat/chat-thread-list-item-menu.react.js --- a/web/chat/chat-thread-list-item-menu.react.js +++ b/web/chat/chat-thread-list-item-menu.react.js @@ -3,7 +3,7 @@ import classNames from 'classnames'; import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import useToggleUnreadStatus from 'lib/hooks/toggle-unread-status.js'; import type { ThreadInfo } from 'lib/types/minimally-encoded-thread-permissions-types.js'; diff --git a/web/chat/chat-thread-list-item.react.js b/web/chat/chat-thread-list-item.react.js --- a/web/chat/chat-thread-list-item.react.js +++ b/web/chat/chat-thread-list-item.react.js @@ -3,7 +3,7 @@ import classNames from 'classnames'; import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import type { ChatThreadItem } from 'lib/selectors/chat-selectors.js'; import { useAncestorThreads } from 'lib/shared/ancestor-threads.js'; import { shortAbsoluteDate } from 'lib/utils/date-utils.js'; diff --git a/web/chat/composed-message.react.js b/web/chat/composed-message.react.js --- a/web/chat/composed-message.react.js +++ b/web/chat/composed-message.react.js @@ -19,7 +19,7 @@ import FailedSend from './failed-send.react.js'; import InlineEngagement from './inline-engagement.react.js'; import UserAvatar from '../avatars/user-avatar.react.js'; -import CommIcon from '../CommIcon.react.js'; +import CommIcon from '../comm-icon.react.js'; import { type InputState, InputStateContext } from '../input/input-state.js'; import { usePushUserProfileModal } from '../modals/user-profile/user-profile-utils.js'; import { useMessageTooltip } from '../tooltips/tooltip-action-utils.js'; diff --git a/web/chat/inline-engagement.react.js b/web/chat/inline-engagement.react.js --- a/web/chat/inline-engagement.react.js +++ b/web/chat/inline-engagement.react.js @@ -11,7 +11,7 @@ import css from './inline-engagement.css'; import ReactionPill from './reaction-pill.react.js'; -import CommIcon from '../CommIcon.react.js'; +import CommIcon from '../comm-icon.react.js'; import { useOnClickThread } from '../selectors/thread-selectors.js'; type Props = { diff --git a/web/chat/member-list-sidebar/member-list-sidebar-header.react.js b/web/chat/member-list-sidebar/member-list-sidebar-header.react.js --- a/web/chat/member-list-sidebar/member-list-sidebar-header.react.js +++ b/web/chat/member-list-sidebar/member-list-sidebar-header.react.js @@ -3,7 +3,7 @@ import * as React from 'react'; import { useModalContext } from 'lib/components/modal-provider.react.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import css from './member-list-sidebar-header.css'; import { useMemberListSidebarContext } from './member-list-sidebar-provider.react.js'; diff --git a/web/chat/thread-menu.react.js b/web/chat/thread-menu.react.js --- a/web/chat/thread-menu.react.js +++ b/web/chat/thread-menu.react.js @@ -7,7 +7,7 @@ useLeaveThread, } from 'lib/actions/thread-actions.js'; import { useModalContext } from 'lib/components/modal-provider.react.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { usePromoteSidebar } from 'lib/hooks/promote-sidebar.react.js'; import { childThreadInfos } from 'lib/selectors/thread-selectors.js'; import { diff --git a/web/chat/thread-top-bar.react.js b/web/chat/thread-top-bar.react.js --- a/web/chat/thread-top-bar.react.js +++ b/web/chat/thread-top-bar.react.js @@ -3,7 +3,7 @@ import * as React from 'react'; import { useModalContext } from 'lib/components/modal-provider.react.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { threadIsPending } from 'lib/shared/thread-utils.js'; import type { ThreadInfo } from 'lib/types/minimally-encoded-thread-permissions-types.js'; import { useResolvedThreadInfo } from 'lib/utils/entity-helpers.js'; diff --git a/web/CommIcon.react.js b/web/comm-icon.react.js rename from web/CommIcon.react.js rename to web/comm-icon.react.js diff --git a/web/community-header/community-header-button.react.js b/web/community-header/community-header-button.react.js --- a/web/community-header/community-header-button.react.js +++ b/web/community-header/community-header-button.react.js @@ -4,7 +4,7 @@ import SWMansionIcon, { type Icon, -} from 'lib/components/SWMansionIcon.react.js'; +} from 'lib/components/swmansion-icon.react.js'; import css from './community-header-button.css'; import { useLabelTooltip } from '../tooltips/tooltip-action-utils.js'; diff --git a/web/components/add-button.react.js b/web/components/add-button.react.js --- a/web/components/add-button.react.js +++ b/web/components/add-button.react.js @@ -2,7 +2,7 @@ import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import css from './add-button.css'; diff --git a/web/components/clear-search-button.react.js b/web/components/clear-search-button.react.js --- a/web/components/clear-search-button.react.js +++ b/web/components/clear-search-button.react.js @@ -3,7 +3,7 @@ import classNames from 'classnames'; import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import Button from './button.react.js'; import css from './search.css'; diff --git a/web/components/community-actions-menu.react.js b/web/components/community-actions-menu.react.js --- a/web/components/community-actions-menu.react.js +++ b/web/components/community-actions-menu.react.js @@ -3,7 +3,7 @@ import * as React from 'react'; import { useModalContext } from 'lib/components/modal-provider.react.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { primaryInviteLinksSelector } from 'lib/selectors/invite-links-selectors.js'; import { threadInfoSelector } from 'lib/selectors/thread-selectors.js'; import { threadHasPermission } from 'lib/shared/thread-utils.js'; diff --git a/web/components/dropdown.react.js b/web/components/dropdown.react.js --- a/web/components/dropdown.react.js +++ b/web/components/dropdown.react.js @@ -4,7 +4,7 @@ import invariant from 'invariant'; import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import css from './dropdown.css'; diff --git a/web/components/enum-settings-option-info.react.js b/web/components/enum-settings-option-info.react.js --- a/web/components/enum-settings-option-info.react.js +++ b/web/components/enum-settings-option-info.react.js @@ -3,7 +3,7 @@ import classnames from 'classnames'; import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import css from './enum-settings-option-info.css'; diff --git a/web/components/keyserver-pill.react.js b/web/components/keyserver-pill.react.js --- a/web/components/keyserver-pill.react.js +++ b/web/components/keyserver-pill.react.js @@ -3,7 +3,7 @@ import * as React from 'react'; import css from './keyserver-pill.css'; -import CommIcon from '../CommIcon.react.js'; +import CommIcon from '../comm-icon.react.js'; type Props = { +keyserverAdminUsername: string, diff --git a/web/components/label.react.js b/web/components/label.react.js --- a/web/components/label.react.js +++ b/web/components/label.react.js @@ -3,7 +3,7 @@ import classNames from 'classnames'; import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import Button from './button.react.js'; import css from './label.css'; diff --git a/web/components/menu-item.react.js b/web/components/menu-item.react.js --- a/web/components/menu-item.react.js +++ b/web/components/menu-item.react.js @@ -5,7 +5,7 @@ import SWMansionIcon, { type Icon, -} from 'lib/components/SWMansionIcon.react.js'; +} from 'lib/components/swmansion-icon.react.js'; import Button from './button.react.js'; import css from './menu.css'; diff --git a/web/components/navigation-arrows.react.js b/web/components/navigation-arrows.react.js --- a/web/components/navigation-arrows.react.js +++ b/web/components/navigation-arrows.react.js @@ -3,7 +3,7 @@ import classnames from 'classnames'; import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import css from './navigation-arrows.css'; import electron from '../electron.js'; diff --git a/web/components/search.react.js b/web/components/search.react.js --- a/web/components/search.react.js +++ b/web/components/search.react.js @@ -3,7 +3,7 @@ import invariant from 'invariant'; import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import type { ReactRefSetter } from 'lib/types/react-types.js'; import ClearSearchButton from './clear-search-button.react.js'; diff --git a/web/invite-links/copy-invite-link-button.react.js b/web/invite-links/copy-invite-link-button.react.js --- a/web/invite-links/copy-invite-link-button.react.js +++ b/web/invite-links/copy-invite-link-button.react.js @@ -2,7 +2,7 @@ import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { inviteLinkURL } from 'lib/facts/links.js'; import { useResettingState } from 'lib/hooks/use-resetting-state.js'; import type { InviteLink } from 'lib/types/link-types.js'; diff --git a/web/modals/apps/app-listing.react.js b/web/modals/apps/app-listing.react.js --- a/web/modals/apps/app-listing.react.js +++ b/web/modals/apps/app-listing.react.js @@ -6,7 +6,7 @@ import classnames from 'classnames'; import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { disableAppActionType, enableAppActionType, diff --git a/web/modals/modal.react.js b/web/modals/modal.react.js --- a/web/modals/modal.react.js +++ b/web/modals/modal.react.js @@ -6,7 +6,7 @@ import ModalOverlay from 'lib/components/modal-overlay.react.js'; import SWMansionIcon, { type Icon, -} from 'lib/components/SWMansionIcon.react.js'; +} from 'lib/components/swmansion-icon.react.js'; import css from './modal.css'; import Button from '../components/button.react.js'; diff --git a/web/modals/threads/create/steps/subchannel-settings.react.js b/web/modals/threads/create/steps/subchannel-settings.react.js --- a/web/modals/threads/create/steps/subchannel-settings.react.js +++ b/web/modals/threads/create/steps/subchannel-settings.react.js @@ -2,12 +2,12 @@ import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { threadTypeDescriptions } from 'lib/shared/thread-utils.js'; import { threadTypes } from 'lib/types/thread-types-enum.js'; import css from './subchannel-settings.css'; -import CommIcon from '../../../../CommIcon.react.js'; +import CommIcon from '../../../../comm-icon.react.js'; import EnumSettingsOption from '../../../../components/enum-settings-option.react.js'; import Input from '../../../input.react.js'; diff --git a/web/modals/threads/members/change-member-role-modal.react.js b/web/modals/threads/members/change-member-role-modal.react.js --- a/web/modals/threads/members/change-member-role-modal.react.js +++ b/web/modals/threads/members/change-member-role-modal.react.js @@ -8,7 +8,7 @@ useChangeThreadMemberRoles, } from 'lib/actions/thread-actions.js'; import { useModalContext } from 'lib/components/modal-provider.react.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { otherUsersButNoOtherAdmins } from 'lib/selectors/thread-selectors.js'; import { roleIsAdminRole } from 'lib/shared/thread-utils.js'; import type { diff --git a/web/modals/threads/members/member.react.js b/web/modals/threads/members/member.react.js --- a/web/modals/threads/members/member.react.js +++ b/web/modals/threads/members/member.react.js @@ -4,7 +4,7 @@ import { useRemoveUsersFromThread } from 'lib/actions/thread-actions.js'; import { useModalContext } from 'lib/components/modal-provider.react.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { getAvailableThreadMemberActions, removeMemberFromThread, @@ -21,7 +21,7 @@ import ChangeMemberRoleModal from './change-member-role-modal.react.js'; import css from './members-modal.css'; import UserAvatar from '../../../avatars/user-avatar.react.js'; -import CommIcon from '../../../CommIcon.react.js'; +import CommIcon from '../../../comm-icon.react.js'; import Label from '../../../components/label.react.js'; import MenuItem from '../../../components/menu-item.react.js'; import Menu from '../../../components/menu.react.js'; diff --git a/web/modals/threads/settings/thread-settings-delete-tab.react.js b/web/modals/threads/settings/thread-settings-delete-tab.react.js --- a/web/modals/threads/settings/thread-settings-delete-tab.react.js +++ b/web/modals/threads/settings/thread-settings-delete-tab.react.js @@ -2,7 +2,7 @@ import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import css from './thread-settings-delete-tab.css'; diff --git a/web/modals/threads/settings/thread-settings-privacy-tab.react.js b/web/modals/threads/settings/thread-settings-privacy-tab.react.js --- a/web/modals/threads/settings/thread-settings-privacy-tab.react.js +++ b/web/modals/threads/settings/thread-settings-privacy-tab.react.js @@ -2,7 +2,7 @@ import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { threadTypeDescriptions } from 'lib/shared/thread-utils.js'; import { type SetState } from 'lib/types/hook-types.js'; import type { ThreadInfo } from 'lib/types/minimally-encoded-thread-permissions-types.js'; diff --git a/web/modals/user-profile/user-profile-menu.react.js b/web/modals/user-profile/user-profile-menu.react.js --- a/web/modals/user-profile/user-profile-menu.react.js +++ b/web/modals/user-profile/user-profile-menu.react.js @@ -4,7 +4,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { useRelationshipPrompt } from 'lib/hooks/relationship-prompt.js'; import type { ThreadInfo } from 'lib/types/minimally-encoded-thread-permissions-types.js'; import { userRelationshipStatus } from 'lib/types/relationship-types.js'; diff --git a/web/modals/user-profile/user-profile-message-button.react.js b/web/modals/user-profile/user-profile-message-button.react.js --- a/web/modals/user-profile/user-profile-message-button.react.js +++ b/web/modals/user-profile/user-profile-message-button.react.js @@ -3,7 +3,7 @@ import * as React from 'react'; import { useModalContext } from 'lib/components/modal-provider.react.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import type { ThreadInfo } from 'lib/types/minimally-encoded-thread-permissions-types.js'; import css from './user-profile.css'; diff --git a/web/modals/user-profile/user-profile.react.js b/web/modals/user-profile/user-profile.react.js --- a/web/modals/user-profile/user-profile.react.js +++ b/web/modals/user-profile/user-profile.react.js @@ -3,7 +3,7 @@ import * as React from 'react'; import { useModalContext } from 'lib/components/modal-provider.react.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { useENSName } from 'lib/hooks/ens-cache.js'; import { relationshipBlockedInEitherDirection } from 'lib/shared/relationship-utils.js'; import { stringForUserExplicit } from 'lib/shared/user-utils.js'; diff --git a/web/navigation-panels/app-switcher.react.js b/web/navigation-panels/app-switcher.react.js --- a/web/navigation-panels/app-switcher.react.js +++ b/web/navigation-panels/app-switcher.react.js @@ -2,7 +2,7 @@ import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { mostRecentlyReadThreadSelector } from 'lib/selectors/thread-selectors.js'; import { useDispatch } from 'lib/utils/redux-utils.js'; diff --git a/web/navigation-panels/topbar.react.js b/web/navigation-panels/topbar.react.js --- a/web/navigation-panels/topbar.react.js +++ b/web/navigation-panels/topbar.react.js @@ -3,7 +3,7 @@ import * as React from 'react'; import { useModalContext } from 'lib/components/modal-provider.react.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import AppSwitcher from './app-switcher.react.js'; import NavStateInfoBar from './nav-state-info-bar.react.js'; diff --git a/web/navigation-sidebar/account-settings-button.react.js b/web/navigation-sidebar/account-settings-button.react.js --- a/web/navigation-sidebar/account-settings-button.react.js +++ b/web/navigation-sidebar/account-settings-button.react.js @@ -2,7 +2,7 @@ import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { useDispatch } from 'lib/utils/redux-utils.js'; import css from './account-settings-button.css'; diff --git a/web/navigation-sidebar/community-creation-button.react.js b/web/navigation-sidebar/community-creation-button.react.js --- a/web/navigation-sidebar/community-creation-button.react.js +++ b/web/navigation-sidebar/community-creation-button.react.js @@ -3,7 +3,7 @@ import * as React from 'react'; import { useModalContext } from 'lib/components/modal-provider.react.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import css from './community-creation-button.css'; import { navigationSidebarLabelTooltipMargin } from './navigation-sidebar-constants.js'; diff --git a/web/navigation-sidebar/navigation-sidebar-home-button.react.js b/web/navigation-sidebar/navigation-sidebar-home-button.react.js --- a/web/navigation-sidebar/navigation-sidebar-home-button.react.js +++ b/web/navigation-sidebar/navigation-sidebar-home-button.react.js @@ -2,7 +2,7 @@ import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { unreadCount } from 'lib/selectors/thread-selectors.js'; import { navigationSidebarLabelTooltipMargin } from './navigation-sidebar-constants.js'; diff --git a/web/push-notif/badge-handler.react.js b/web/push-notif/badge-handler.react.js --- a/web/push-notif/badge-handler.react.js +++ b/web/push-notif/badge-handler.react.js @@ -9,7 +9,7 @@ import electron from '../electron.js'; import { useSelector } from '../redux/redux-utils.js'; -import getTitle from '../title/getTitle.js'; +import getTitle from '../title/get-title.js'; function useBadgeHandler() { const connection = useSelector(connectionSelector(ashoatKeyserverID)); diff --git a/web/roles/role-actions-menu.react.js b/web/roles/role-actions-menu.react.js --- a/web/roles/role-actions-menu.react.js +++ b/web/roles/role-actions-menu.react.js @@ -4,7 +4,7 @@ import * as React from 'react'; import { useModalContext } from 'lib/components/modal-provider.react.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { useRoleUserSurfacedPermissions } from 'lib/shared/thread-utils.js'; import type { ThreadInfo } from 'lib/types/minimally-encoded-thread-permissions-types.js'; import { useRoleDeletableAndEditableStatus } from 'lib/utils/role-utils.js'; diff --git a/web/roles/role-panel-entry.react.js b/web/roles/role-panel-entry.react.js --- a/web/roles/role-panel-entry.react.js +++ b/web/roles/role-panel-entry.react.js @@ -6,7 +6,7 @@ import RoleActionsMenu from './role-actions-menu.react.js'; import css from './role-panel-entry.css'; -import CommIcon from '../CommIcon.react.js'; +import CommIcon from '../comm-icon.react.js'; type RolePanelEntryProps = { +threadInfo: ThreadInfo, diff --git a/web/settings/account-delete-modal.react.js b/web/settings/account-delete-modal.react.js --- a/web/settings/account-delete-modal.react.js +++ b/web/settings/account-delete-modal.react.js @@ -7,7 +7,7 @@ deleteAccountActionTypes, } from 'lib/actions/user-actions.js'; import { useModalContext } from 'lib/components/modal-provider.react.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { createLoadingStatusSelector } from 'lib/selectors/loading-selectors.js'; import { useDispatchActionPromise } from 'lib/utils/redux-promise-utils.js'; diff --git a/web/settings/account-settings.react.js b/web/settings/account-settings.react.js --- a/web/settings/account-settings.react.js +++ b/web/settings/account-settings.react.js @@ -4,7 +4,7 @@ import { useLogOut, logOutActionTypes } from 'lib/actions/user-actions.js'; import { useModalContext } from 'lib/components/modal-provider.react.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { useStringForUser } from 'lib/hooks/ens-cache.js'; import { accountHasPassword } from 'lib/shared/account-utils.js'; import { useTunnelbroker } from 'lib/tunnelbroker/tunnelbroker-context.js'; diff --git a/web/settings/relationship/block-list-row.react.js b/web/settings/relationship/block-list-row.react.js --- a/web/settings/relationship/block-list-row.react.js +++ b/web/settings/relationship/block-list-row.react.js @@ -2,7 +2,7 @@ import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { useRelationshipCallbacks } from 'lib/hooks/relationship-prompt.js'; import css from './user-list-row.css'; diff --git a/web/settings/relationship/friend-list-row.react.js b/web/settings/relationship/friend-list-row.react.js --- a/web/settings/relationship/friend-list-row.react.js +++ b/web/settings/relationship/friend-list-row.react.js @@ -2,7 +2,7 @@ import * as React from 'react'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { useRelationshipCallbacks } from 'lib/hooks/relationship-prompt.js'; import { userRelationshipStatus } from 'lib/types/relationship-types.js'; diff --git a/web/sidebar/community-creation/community-creation-modal.react.js b/web/sidebar/community-creation/community-creation-modal.react.js --- a/web/sidebar/community-creation/community-creation-modal.react.js +++ b/web/sidebar/community-creation/community-creation-modal.react.js @@ -18,7 +18,7 @@ import CommunityCreationMembersModal from './community-creation-members-modal.react.js'; import css from './community-creation-modal.css'; import UserAvatar from '../../avatars/user-avatar.react.js'; -import CommIcon from '../../CommIcon.react.js'; +import CommIcon from '../../comm-icon.react.js'; import Button, { buttonThemes } from '../../components/button.react.js'; import EnumSettingsOption from '../../components/enum-settings-option.react.js'; import LoadingIndicator from '../../loading-indicator.react.js'; diff --git a/web/sidebar/community-picker.react.js b/web/sidebar/community-picker.react.js --- a/web/sidebar/community-picker.react.js +++ b/web/sidebar/community-picker.react.js @@ -8,7 +8,7 @@ clearChatCommunityFilter, } from 'lib/actions/community-actions.js'; import { useModalContext } from 'lib/components/modal-provider.react.js'; -import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import SWMansionIcon from 'lib/components/swmansion-icon.react.js'; import { unreadCount } from 'lib/selectors/thread-selectors.js'; import { useDispatch } from 'lib/utils/redux-utils.js'; diff --git a/web/title/getTitle.js b/web/title/get-title.js rename from web/title/getTitle.js rename to web/title/get-title.js diff --git a/web/tooltips/tooltip-action-utils.js b/web/tooltips/tooltip-action-utils.js --- a/web/tooltips/tooltip-action-utils.js +++ b/web/tooltips/tooltip-action-utils.js @@ -40,7 +40,7 @@ import { getComposedMessageID } from '../chat/chat-constants.js'; import { useEditModalContext } from '../chat/edit-message-provider.js'; import type { PositionInfo } from '../chat/position-types.js'; -import CommIcon from '../CommIcon.react.js'; +import CommIcon from '../comm-icon.react.js'; import { InputStateContext } from '../input/input-state.js'; import TogglePinModal from '../modals/chat/toggle-pin-modal.react.js'; import { diff --git a/yarn.lock b/yarn.lock --- a/yarn.lock +++ b/yarn.lock @@ -1872,7 +1872,7 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz#ea89004119dc42db2e1dba0f97d553f7372f6fcb" integrity sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg== -"@eslint-community/eslint-utils@^4.2.0": +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== @@ -5065,6 +5065,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.60.tgz#73eb4d1e1c8aa5dc724363b57db019cf28863ef7" integrity sha512-YjPbypHFuiOV0bTgeF07HpEEqhmHaZqYNSdCKeBJa+yFoQ/7BC+FpJcwmi34xUIIRVFktnUyP1dPU8U0612GOg== +"@types/normalize-package-data@^2.4.0": + version "2.4.4" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" + integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== + "@types/pako@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/pako/-/pako-1.0.1.tgz#33b237f3c9aff44d0f82fe63acffa4a365ef4a61" @@ -7689,6 +7694,16 @@ node-releases "^2.0.14" update-browserslist-db "^1.0.13" +browserslist@^4.22.3: + version "4.23.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== + dependencies: + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + bs-logger@0.x: version "0.2.6" resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" @@ -7807,6 +7822,11 @@ dependencies: node-gyp-build "^4.3.0" +builtin-modules@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== + builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" @@ -8036,6 +8056,11 @@ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001574.tgz#fb4f1359c77f6af942510493672e1ec7ec80230c" integrity sha512-BtYEK4r/iHt/txm81KBudCUcTy7t+s9emrIaHqjYurQ10x71zJ5VQ9x1dYPcz/b+pKSp4y/v1xSI67A+LzpNyg== +caniuse-lite@^1.0.30001587: + version "1.0.30001587" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001587.tgz#a0bce920155fa56a1885a69c74e1163fc34b4881" + integrity sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA== + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -8200,6 +8225,11 @@ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.7.0.tgz#6d01b3696c59915b6ce057e4aa4adfc2fa25f5ef" integrity sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog== +ci-info@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.0.0.tgz#65466f8b280fc019b9f50a5388115d17a63a44f2" + integrity sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg== + cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" @@ -8237,6 +8267,13 @@ resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== +clean-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clean-regexp/-/clean-regexp-1.0.0.tgz#8df7c7aae51fd36874e8f8d05b9180bc11a3fed7" + integrity sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw== + dependencies: + escape-string-regexp "^1.0.5" + clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -8860,6 +8897,13 @@ dependencies: browserslist "^4.22.2" +core-js-compat@^3.34.0: + version "3.36.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.36.0.tgz#087679119bc2fdbdefad0d45d8e5d307d45ba190" + integrity sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw== + dependencies: + browserslist "^4.22.3" + core-js-pure@^3.23.3, core-js-pure@^3.6.5: version "3.26.1" resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.26.1.tgz#653f4d7130c427820dcecd3168b594e8bb095a33" @@ -10206,6 +10250,11 @@ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.621.tgz#ccd523ed94373548dd913e0aa63601afac9d24f3" integrity sha512-MGJM6S0MuF/wTzM9NoItWXN56J1kolrHS/vzl/KlhXAbVkogTy0wzKYliQDJgNypxSCFjxdRhHYS3bffyYUGEw== +electron-to-chromium@^1.4.668: + version "1.4.670" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.670.tgz#0fc5ac92ada8371e898ea72d577ffc888167a017" + integrity sha512-hcijYOWjOtjKrKPtNA6tuLlA/bTLO3heFG8pQA6mLpq7dRydSWicXova5lyxDzp1iVJaYhK7J2OQlGE52KYn7A== + electron-winstaller@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/electron-winstaller/-/electron-winstaller-5.1.0.tgz#528ed08a65858dd678d9178e8ae24f82a4e12271" @@ -10768,6 +10817,28 @@ semver "^6.3.1" string.prototype.matchall "^4.0.8" +eslint-plugin-unicorn@^51.0.1: + version "51.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-51.0.1.tgz#3641c5e110324c3739d6cb98fc1b99ada39f477b" + integrity sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + "@eslint-community/eslint-utils" "^4.4.0" + "@eslint/eslintrc" "^2.1.4" + ci-info "^4.0.0" + clean-regexp "^1.0.0" + core-js-compat "^3.34.0" + esquery "^1.5.0" + indent-string "^4.0.0" + is-builtin-module "^3.2.1" + jsesc "^3.0.2" + pluralize "^8.0.0" + read-pkg-up "^7.0.1" + regexp-tree "^0.1.27" + regjsparser "^0.10.0" + semver "^7.5.4" + strip-indent "^3.0.0" + eslint-scope@5.1.1, eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" @@ -10876,7 +10947,7 @@ resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.4.2: +esquery@^1.4.2, esquery@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== @@ -13711,6 +13782,13 @@ resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== +is-builtin-module@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" + integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== + dependencies: + builtin-modules "^3.3.0" + is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" @@ -15469,6 +15547,11 @@ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== + jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" @@ -17165,6 +17248,11 @@ resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + mini-create-react-context@^0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" @@ -17809,7 +17897,7 @@ resolved "https://registry.yarnpkg.com/normalize-html-whitespace/-/normalize-html-whitespace-0.2.0.tgz#101722f6423551c75cdb8f9d104ff850daf1e10e" integrity sha512-5CZAEQ4bQi8Msqw0GAT6rrkrjNN4ZKqAG3+jJMwms4O6XoMvh6ekwOueG4mRS1LbPUR1r9EdnhxxfpzMTOdzKw== -normalize-package-data@^2.3.2: +normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -18807,6 +18895,11 @@ base64-js "^1.5.1" xmlbuilder "^15.1.1" +pluralize@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" + integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== + pn@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" @@ -20201,6 +20294,15 @@ find-up "^3.0.0" read-pkg "^3.0.0" +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + read-pkg@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" @@ -20228,6 +20330,16 @@ parse-json "^4.0.0" pify "^3.0.0" +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + readable-stream@1.1.x: version "1.1.14" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" @@ -20437,6 +20549,11 @@ resolved "https://registry.yarnpkg.com/regex-regex/-/regex-regex-1.0.0.tgz#9048a1eaeb870f4d480dabc76fc42cdcc0bc3a72" integrity sha1-kEih6uuHD01IDavHb8Qs3MC8OnI= +regexp-tree@^0.1.27: + version "0.1.27" + resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.27.tgz#2198f0ef54518ffa743fe74d983b56ffd631b6cd" + integrity sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== + regexp.prototype.flags@^1.3.0, regexp.prototype.flags@^1.4.3, regexp.prototype.flags@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" @@ -20492,6 +20609,13 @@ dependencies: rc "^1.2.8" +regjsparser@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.10.0.tgz#b1ed26051736b436f22fdec1c8f72635f9f44892" + integrity sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA== + dependencies: + jsesc "~0.5.0" + regjsparser@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" @@ -22226,6 +22350,13 @@ resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" @@ -23075,6 +23206,11 @@ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + type-fest@^0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48"