Enforce node: schema for builtins, import extensions

This commit is contained in:
Fedor Indutny 2025-09-16 17:39:03 -07:00 committed by GitHub
commit c02565eaa8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2096 changed files with 14955 additions and 14023 deletions

View file

@ -5,55 +5,55 @@ import { FocusScope } from 'react-aria';
import type { UIEvent } from 'react';
import React, { useCallback, useEffect, useMemo, useState } from 'react';
import classNames from 'classnames';
import type { DraftBodyRanges } from '../types/BodyRange';
import type { LocalizerType } from '../types/Util';
import type { ContextMenuOptionType } from './ContextMenu';
import type { DraftBodyRanges } from '../types/BodyRange.js';
import type { LocalizerType } from '../types/Util.js';
import type { ContextMenuOptionType } from './ContextMenu.js';
import type {
ConversationType,
SaveAttachmentActionCreatorType,
} from '../state/ducks/conversations';
import type { EmojiPickDataType } from './emoji/EmojiPicker';
import type { PreferredBadgeSelectorType } from '../state/selectors/badges';
import type { RenderEmojiPickerProps } from './conversation/ReactionPicker';
import type { ReplyStateType, StoryViewType } from '../types/Stories';
import type { StoryDistributionIdString } from '../types/StoryDistributionId';
import type { ShowToastAction } from '../state/ducks/toast';
import type { ViewStoryActionCreatorType } from '../state/ducks/stories';
import { createLogger } from '../logging/log';
import { AnimatedEmojiGalore } from './AnimatedEmojiGalore';
import { Avatar, AvatarSize } from './Avatar';
import { ConfirmationDialog } from './ConfirmationDialog';
import { ContextMenu } from './ContextMenu';
import { I18n } from './I18n';
import { MessageTimestamp } from './conversation/MessageTimestamp';
import { SendStatus } from '../messages/MessageSendState';
import { Spinner } from './Spinner';
import { StoryDetailsModal } from './StoryDetailsModal';
import { StoryDistributionListName } from './StoryDistributionListName';
import { StoryImage } from './StoryImage';
} from '../state/ducks/conversations.js';
import type { EmojiPickDataType } from './emoji/EmojiPicker.js';
import type { PreferredBadgeSelectorType } from '../state/selectors/badges.js';
import type { RenderEmojiPickerProps } from './conversation/ReactionPicker.js';
import type { ReplyStateType, StoryViewType } from '../types/Stories.js';
import type { StoryDistributionIdString } from '../types/StoryDistributionId.js';
import type { ShowToastAction } from '../state/ducks/toast.js';
import type { ViewStoryActionCreatorType } from '../state/ducks/stories.js';
import { createLogger } from '../logging/log.js';
import { AnimatedEmojiGalore } from './AnimatedEmojiGalore.js';
import { Avatar, AvatarSize } from './Avatar.js';
import { ConfirmationDialog } from './ConfirmationDialog.js';
import { ContextMenu } from './ContextMenu.js';
import { I18n } from './I18n.js';
import { MessageTimestamp } from './conversation/MessageTimestamp.js';
import { SendStatus } from '../messages/MessageSendState.js';
import { Spinner } from './Spinner.js';
import { StoryDetailsModal } from './StoryDetailsModal.js';
import { StoryDistributionListName } from './StoryDistributionListName.js';
import { StoryImage } from './StoryImage.js';
import {
ResolvedSendStatus,
StoryViewDirectionType,
StoryViewModeType,
StoryViewTargetType,
} from '../types/Stories';
import { StoryViewsNRepliesModal } from './StoryViewsNRepliesModal';
import { Theme } from '../util/theme';
import { ToastType } from '../types/Toast';
import { getAvatarColor } from '../types/Colors';
import { getStoryBackground } from '../util/getStoryBackground';
import { getStoryDuration } from '../util/getStoryDuration';
import { isVideoAttachment } from '../types/Attachment';
import { graphemeAndLinkAwareSlice } from '../util/graphemeAndLinkAwareSlice';
import { useEscapeHandling } from '../hooks/useEscapeHandling';
import { useRetryStorySend } from '../hooks/useRetryStorySend';
import { resolveStorySendStatus } from '../util/resolveStorySendStatus';
import { strictAssert } from '../util/assert';
import { MessageBody } from './conversation/MessageBody';
import { RenderLocation } from './conversation/MessageTextRenderer';
import { arrow } from '../util/keyboard';
import { StoryProgressSegment } from './StoryProgressSegment';
import type { EmojiSkinTone } from './fun/data/emojis';
} from '../types/Stories.js';
import { StoryViewsNRepliesModal } from './StoryViewsNRepliesModal.js';
import { Theme } from '../util/theme.js';
import { ToastType } from '../types/Toast.js';
import { getAvatarColor } from '../types/Colors.js';
import { getStoryBackground } from '../util/getStoryBackground.js';
import { getStoryDuration } from '../util/getStoryDuration.js';
import { isVideoAttachment } from '../types/Attachment.js';
import { graphemeAndLinkAwareSlice } from '../util/graphemeAndLinkAwareSlice.js';
import { useEscapeHandling } from '../hooks/useEscapeHandling.js';
import { useRetryStorySend } from '../hooks/useRetryStorySend.js';
import { resolveStorySendStatus } from '../util/resolveStorySendStatus.js';
import { strictAssert } from '../util/assert.js';
import { MessageBody } from './conversation/MessageBody.js';
import { RenderLocation } from './conversation/MessageTextRenderer.js';
import { arrow } from '../util/keyboard.js';
import { StoryProgressSegment } from './StoryProgressSegment.js';
import type { EmojiSkinTone } from './fun/data/emojis.js';
const log = createLogger('StoryViewer');