diff --git a/app/soapbox/actions/custom_emojis.ts b/app/soapbox/actions/custom-emojis.ts
similarity index 100%
rename from app/soapbox/actions/custom_emojis.ts
rename to app/soapbox/actions/custom-emojis.ts
diff --git a/app/soapbox/actions/domain_blocks.ts b/app/soapbox/actions/domain-blocks.ts
similarity index 100%
rename from app/soapbox/actions/domain_blocks.ts
rename to app/soapbox/actions/domain-blocks.ts
diff --git a/app/soapbox/actions/dropdown_menu.ts b/app/soapbox/actions/dropdown-menu.ts
similarity index 100%
rename from app/soapbox/actions/dropdown_menu.ts
rename to app/soapbox/actions/dropdown-menu.ts
diff --git a/app/soapbox/actions/email_list.ts b/app/soapbox/actions/email-list.ts
similarity index 100%
rename from app/soapbox/actions/email_list.ts
rename to app/soapbox/actions/email-list.ts
diff --git a/app/soapbox/actions/emoji_reacts.ts b/app/soapbox/actions/emoji-reacts.ts
similarity index 100%
rename from app/soapbox/actions/emoji_reacts.ts
rename to app/soapbox/actions/emoji-reacts.ts
diff --git a/app/soapbox/actions/export_data.ts b/app/soapbox/actions/export-data.ts
similarity index 100%
rename from app/soapbox/actions/export_data.ts
rename to app/soapbox/actions/export-data.ts
diff --git a/app/soapbox/actions/external_auth.ts b/app/soapbox/actions/external-auth.ts
similarity index 100%
rename from app/soapbox/actions/external_auth.ts
rename to app/soapbox/actions/external-auth.ts
diff --git a/app/soapbox/actions/familiar_followers.ts b/app/soapbox/actions/familiar-followers.ts
similarity index 100%
rename from app/soapbox/actions/familiar_followers.ts
rename to app/soapbox/actions/familiar-followers.ts
diff --git a/app/soapbox/actions/import_data.ts b/app/soapbox/actions/import-data.ts
similarity index 100%
rename from app/soapbox/actions/import_data.ts
rename to app/soapbox/actions/import-data.ts
diff --git a/app/soapbox/actions/modals.ts b/app/soapbox/actions/modals.ts
index 00d4fd01a..83b52cb3e 100644
--- a/app/soapbox/actions/modals.ts
+++ b/app/soapbox/actions/modals.ts
@@ -1,4 +1,4 @@
-import type { ModalType } from 'soapbox/features/ui/components/modal_root';
+import type { ModalType } from 'soapbox/features/ui/components/modal-root';
export const MODAL_OPEN = 'MODAL_OPEN';
export const MODAL_CLOSE = 'MODAL_CLOSE';
diff --git a/app/soapbox/actions/pin_statuses.ts b/app/soapbox/actions/pin-statuses.ts
similarity index 100%
rename from app/soapbox/actions/pin_statuses.ts
rename to app/soapbox/actions/pin-statuses.ts
diff --git a/app/soapbox/actions/profile_hover_card.ts b/app/soapbox/actions/profile-hover-card.ts
similarity index 100%
rename from app/soapbox/actions/profile_hover_card.ts
rename to app/soapbox/actions/profile-hover-card.ts
diff --git a/app/soapbox/actions/push-notifications/registerer.ts b/app/soapbox/actions/push-notifications/registerer.ts
index e66e3a01a..3a9d4fb9e 100644
--- a/app/soapbox/actions/push-notifications/registerer.ts
+++ b/app/soapbox/actions/push-notifications/registerer.ts
@@ -1,4 +1,4 @@
-import { createPushSubscription, updatePushSubscription } from 'soapbox/actions/push_subscriptions';
+import { createPushSubscription, updatePushSubscription } from 'soapbox/actions/push-subscriptions';
import { pushNotificationsSetting } from 'soapbox/settings';
import { getVapidKey } from 'soapbox/utils/auth';
import { decode as decodeBase64 } from 'soapbox/utils/base64';
diff --git a/app/soapbox/actions/push_subscriptions.ts b/app/soapbox/actions/push-subscriptions.ts
similarity index 100%
rename from app/soapbox/actions/push_subscriptions.ts
rename to app/soapbox/actions/push-subscriptions.ts
diff --git a/app/soapbox/actions/remote_timeline.ts b/app/soapbox/actions/remote-timeline.ts
similarity index 100%
rename from app/soapbox/actions/remote_timeline.ts
rename to app/soapbox/actions/remote-timeline.ts
diff --git a/app/soapbox/actions/scheduled_statuses.ts b/app/soapbox/actions/scheduled-statuses.ts
similarity index 100%
rename from app/soapbox/actions/scheduled_statuses.ts
rename to app/soapbox/actions/scheduled-statuses.ts
diff --git a/app/soapbox/actions/trending_statuses.ts b/app/soapbox/actions/trending-statuses.ts
similarity index 100%
rename from app/soapbox/actions/trending_statuses.ts
rename to app/soapbox/actions/trending-statuses.ts
diff --git a/app/soapbox/build-config.js b/app/soapbox/build-config.js
index 04b48bf78..a11faa0e8 100644
--- a/app/soapbox/build-config.js
+++ b/app/soapbox/build-config.js
@@ -1,7 +1,7 @@
// @preval
/**
* Build config: configuration set at build time.
- * @module soapbox/build_config
+ * @module soapbox/build-config
*/
const trim = require('lodash/trim');
diff --git a/app/soapbox/components/birthday-input.tsx b/app/soapbox/components/birthday-input.tsx
index bd38666cf..21a10a1e5 100644
--- a/app/soapbox/components/birthday-input.tsx
+++ b/app/soapbox/components/birthday-input.tsx
@@ -2,7 +2,7 @@ import React, { useMemo } from 'react';
import { defineMessages, useIntl } from 'react-intl';
import IconButton from 'soapbox/components/icon-button';
-import BundleContainer from 'soapbox/features/ui/containers/bundle_container';
+import BundleContainer from 'soapbox/features/ui/containers/bundle-container';
import { DatePicker } from 'soapbox/features/ui/util/async-components';
import { useAppSelector, useFeatures } from 'soapbox/hooks';
diff --git a/app/soapbox/components/domain.tsx b/app/soapbox/components/domain.tsx
index 646c37205..a8096523b 100644
--- a/app/soapbox/components/domain.tsx
+++ b/app/soapbox/components/domain.tsx
@@ -2,7 +2,7 @@ import React from 'react';
import { defineMessages, useIntl } from 'react-intl';
import { useDispatch } from 'react-redux';
-import { unblockDomain } from 'soapbox/actions/domain_blocks';
+import { unblockDomain } from 'soapbox/actions/domain-blocks';
import IconButton from './icon-button';
diff --git a/app/soapbox/components/dropdown-menu.tsx b/app/soapbox/components/dropdown-menu.tsx
index 01d69483d..77be0f18d 100644
--- a/app/soapbox/components/dropdown-menu.tsx
+++ b/app/soapbox/components/dropdown-menu.tsx
@@ -8,7 +8,7 @@ import { withRouter, RouteComponentProps } from 'react-router-dom';
import { IconButton, Counter } from 'soapbox/components/ui';
import SvgIcon from 'soapbox/components/ui/icon/svg-icon';
-import Motion from 'soapbox/features/ui/util/optional_motion';
+import Motion from 'soapbox/features/ui/util/optional-motion';
import type { Status } from 'soapbox/types/entities';
diff --git a/app/soapbox/components/emoji-button-wrapper.tsx b/app/soapbox/components/emoji-button-wrapper.tsx
index 241596612..23a165fcb 100644
--- a/app/soapbox/components/emoji-button-wrapper.tsx
+++ b/app/soapbox/components/emoji-button-wrapper.tsx
@@ -3,7 +3,7 @@ import React, { useState, useEffect, useRef } from 'react';
import { usePopper } from 'react-popper';
import { useDispatch } from 'react-redux';
-import { simpleEmojiReact } from 'soapbox/actions/emoji_reacts';
+import { simpleEmojiReact } from 'soapbox/actions/emoji-reacts';
import { openModal } from 'soapbox/actions/modals';
import EmojiSelector from 'soapbox/components/ui/emoji-selector/emoji-selector';
import { useAppSelector, useOwnAccount, useSoapboxConfig } from 'soapbox/hooks';
diff --git a/app/soapbox/components/hover-ref-wrapper.tsx b/app/soapbox/components/hover-ref-wrapper.tsx
index c8536fcdf..bcde02720 100644
--- a/app/soapbox/components/hover-ref-wrapper.tsx
+++ b/app/soapbox/components/hover-ref-wrapper.tsx
@@ -6,7 +6,7 @@ import { fetchAccount } from 'soapbox/actions/accounts';
import {
openProfileHoverCard,
closeProfileHoverCard,
-} from 'soapbox/actions/profile_hover_card';
+} from 'soapbox/actions/profile-hover-card';
import { useAppDispatch } from 'soapbox/hooks';
import { isMobile } from 'soapbox/is-mobile';
diff --git a/app/soapbox/components/icon-button.js b/app/soapbox/components/icon-button.js
index cb92c2841..bdfe157a6 100644
--- a/app/soapbox/components/icon-button.js
+++ b/app/soapbox/components/icon-button.js
@@ -6,7 +6,7 @@ import spring from 'react-motion/lib/spring';
import Icon from 'soapbox/components/icon';
import emojify from 'soapbox/features/emoji/emoji';
-import Motion from '../features/ui/util/optional_motion';
+import Motion from '../features/ui/util/optional-motion';
export default class IconButton extends React.PureComponent {
diff --git a/app/soapbox/components/modal-root.tsx b/app/soapbox/components/modal-root.tsx
index d17be3efc..f3cdac7da 100644
--- a/app/soapbox/components/modal-root.tsx
+++ b/app/soapbox/components/modal-root.tsx
@@ -9,7 +9,7 @@ import { openModal, closeModal } from 'soapbox/actions/modals';
import { useAppDispatch, useAppSelector, usePrevious } from 'soapbox/hooks';
import type { UnregisterCallback } from 'history';
-import type { ModalType } from 'soapbox/features/ui/components/modal_root';
+import type { ModalType } from 'soapbox/features/ui/components/modal-root';
import type { ReducerCompose } from 'soapbox/reducers/compose';
const messages = defineMessages({
diff --git a/app/soapbox/components/profile-hover-card.tsx b/app/soapbox/components/profile-hover-card.tsx
index 1fce4feb3..367c788e0 100644
--- a/app/soapbox/components/profile-hover-card.tsx
+++ b/app/soapbox/components/profile-hover-card.tsx
@@ -8,10 +8,10 @@ import { fetchRelationships } from 'soapbox/actions/accounts';
import {
closeProfileHoverCard,
updateProfileHoverCard,
-} from 'soapbox/actions/profile_hover_card';
+} from 'soapbox/actions/profile-hover-card';
import Badge from 'soapbox/components/badge';
import ActionButton from 'soapbox/features/ui/components/action-button';
-import BundleContainer from 'soapbox/features/ui/containers/bundle_container';
+import BundleContainer from 'soapbox/features/ui/containers/bundle-container';
import { UserPanel } from 'soapbox/features/ui/util/async-components';
import { useAppSelector, useAppDispatch } from 'soapbox/hooks';
import { makeGetAccount } from 'soapbox/selectors';
diff --git a/app/soapbox/components/sidebar-menu.tsx b/app/soapbox/components/sidebar-menu.tsx
index 2c695e5a1..0e0ae7f6f 100644
--- a/app/soapbox/components/sidebar-menu.tsx
+++ b/app/soapbox/components/sidebar-menu.tsx
@@ -9,7 +9,7 @@ import { getSettings } from 'soapbox/actions/settings';
import { closeSidebar } from 'soapbox/actions/sidebar';
import Account from 'soapbox/components/account';
import { Stack } from 'soapbox/components/ui';
-import ProfileStats from 'soapbox/features/ui/components/profile_stats';
+import ProfileStats from 'soapbox/features/ui/components/profile-stats';
import { useAppSelector, useFeatures } from 'soapbox/hooks';
import { makeGetAccount, makeGetOtherAccounts } from 'soapbox/selectors';
diff --git a/app/soapbox/components/status-list.tsx b/app/soapbox/components/status-list.tsx
index dc782248f..68dba32c6 100644
--- a/app/soapbox/components/status-list.tsx
+++ b/app/soapbox/components/status-list.tsx
@@ -12,7 +12,7 @@ import Ad from 'soapbox/features/ads/components/ad';
import FeedSuggestions from 'soapbox/features/feed-suggestions/feed-suggestions';
import PlaceholderStatus from 'soapbox/features/placeholder/components/placeholder-status';
import { ALGORITHMS } from 'soapbox/features/timeline-insertion';
-import PendingStatus from 'soapbox/features/ui/components/pending_status';
+import PendingStatus from 'soapbox/features/ui/components/pending-status';
import { useSoapboxConfig } from 'soapbox/hooks';
import useAds from 'soapbox/queries/ads';
diff --git a/app/soapbox/components/upload-progress.tsx b/app/soapbox/components/upload-progress.tsx
index a7996e1bf..fe9b84797 100644
--- a/app/soapbox/components/upload-progress.tsx
+++ b/app/soapbox/components/upload-progress.tsx
@@ -3,7 +3,7 @@ import { FormattedMessage } from 'react-intl';
import { spring } from 'react-motion';
import { HStack, Icon, Stack, Text } from 'soapbox/components/ui';
-import Motion from 'soapbox/features/ui/util/optional_motion';
+import Motion from 'soapbox/features/ui/util/optional-motion';
interface IUploadProgress {
/** Number between 0 and 1 to represent the percentage complete. */
diff --git a/app/soapbox/containers/dropdown-menu-container.ts b/app/soapbox/containers/dropdown-menu-container.ts
index 173203e50..936e3c5c2 100644
--- a/app/soapbox/containers/dropdown-menu-container.ts
+++ b/app/soapbox/containers/dropdown-menu-container.ts
@@ -1,6 +1,6 @@
import { connect } from 'react-redux';
-import { openDropdownMenu, closeDropdownMenu } from '../actions/dropdown_menu';
+import { openDropdownMenu, closeDropdownMenu } from '../actions/dropdown-menu';
import { openModal, closeModal } from '../actions/modals';
import DropdownMenu from '../components/dropdown-menu';
import { isUserTouching } from '../is-mobile';
diff --git a/app/soapbox/containers/soapbox.tsx b/app/soapbox/containers/soapbox.tsx
index 10d4d3950..f1623f585 100644
--- a/app/soapbox/containers/soapbox.tsx
+++ b/app/soapbox/containers/soapbox.tsx
@@ -20,7 +20,7 @@ import LoadingScreen from 'soapbox/components/loading-screen';
import AuthLayout from 'soapbox/features/auth-layout';
import EmbeddedStatus from 'soapbox/features/embedded-status';
import PublicLayout from 'soapbox/features/public-layout';
-import BundleContainer from 'soapbox/features/ui/containers/bundle_container';
+import BundleContainer from 'soapbox/features/ui/containers/bundle-container';
import {
ModalContainer,
NotificationsContainer,
diff --git a/app/soapbox/features/account/components/header.tsx b/app/soapbox/features/account/components/header.tsx
index 5454d7b50..a015db3bd 100644
--- a/app/soapbox/features/account/components/header.tsx
+++ b/app/soapbox/features/account/components/header.tsx
@@ -8,7 +8,7 @@ import { Link, useHistory } from 'react-router-dom';
import { blockAccount, followAccount, pinAccount, removeFromFollowers, unblockAccount, unmuteAccount, unpinAccount } from 'soapbox/actions/accounts';
import { launchChat } from 'soapbox/actions/chats';
import { mentionCompose, directCompose } from 'soapbox/actions/compose';
-import { blockDomain, unblockDomain } from 'soapbox/actions/domain_blocks';
+import { blockDomain, unblockDomain } from 'soapbox/actions/domain-blocks';
import { openModal } from 'soapbox/actions/modals';
import { initMuteModal } from 'soapbox/actions/mutes';
import { initReport } from 'soapbox/actions/reports';
diff --git a/app/soapbox/features/admin/tabs/dashboard.tsx b/app/soapbox/features/admin/tabs/dashboard.tsx
index 876cab00b..495f0ff37 100644
--- a/app/soapbox/features/admin/tabs/dashboard.tsx
+++ b/app/soapbox/features/admin/tabs/dashboard.tsx
@@ -2,7 +2,7 @@ import React from 'react';
import { FormattedMessage, FormattedNumber } from 'react-intl';
import { Link } from 'react-router-dom';
-import { getSubscribersCsv, getUnsubscribersCsv, getCombinedCsv } from 'soapbox/actions/email_list';
+import { getSubscribersCsv, getUnsubscribersCsv, getCombinedCsv } from 'soapbox/actions/email-list';
import { Text } from 'soapbox/components/ui';
import { useAppSelector, useAppDispatch, useOwnAccount, useFeatures } from 'soapbox/hooks';
import sourceCode from 'soapbox/utils/code';
diff --git a/app/soapbox/features/auth-layout/index.tsx b/app/soapbox/features/auth-layout/index.tsx
index 556db1042..b4f7ee12b 100644
--- a/app/soapbox/features/auth-layout/index.tsx
+++ b/app/soapbox/features/auth-layout/index.tsx
@@ -7,15 +7,15 @@ import SiteLogo from 'soapbox/components/site-logo';
import { useAppSelector, useFeatures, useSoapboxConfig, useOwnAccount } from 'soapbox/hooks';
import { Button, Card, CardBody } from '../../components/ui';
-import LoginPage from '../auth-login/components/login_page';
-import PasswordReset from '../auth-login/components/password_reset';
-import PasswordResetConfirm from '../auth-login/components/password_reset_confirm';
-import RegistrationForm from '../auth-login/components/registration_form';
+import LoginPage from '../auth-login/components/login-page';
+import PasswordReset from '../auth-login/components/password-reset';
+import PasswordResetConfirm from '../auth-login/components/password-reset-confirm';
+import RegistrationForm from '../auth-login/components/registration-form';
import ExternalLoginForm from '../external-login/components/external-login-form';
import Footer from '../public-layout/components/footer';
import RegisterInvite from '../register-invite';
import Verification from '../verification';
-import EmailPassthru from '../verification/email_passthru';
+import EmailPassthru from '../verification/email-passthru';
const messages = defineMessages({
register: { id: 'auth_layout.register', defaultMessage: 'Create an account' },
diff --git a/app/soapbox/features/auth-login/components/__tests__/login_form.test.tsx b/app/soapbox/features/auth-login/components/__tests__/login-form.test.tsx
similarity index 96%
rename from app/soapbox/features/auth-login/components/__tests__/login_form.test.tsx
rename to app/soapbox/features/auth-login/components/__tests__/login-form.test.tsx
index 8c388601f..52a9210bb 100644
--- a/app/soapbox/features/auth-login/components/__tests__/login_form.test.tsx
+++ b/app/soapbox/features/auth-login/components/__tests__/login-form.test.tsx
@@ -3,7 +3,7 @@ import React from 'react';
import { normalizeInstance } from 'soapbox/normalizers';
import { fireEvent, render, screen } from '../../../../jest/test-helpers';
-import LoginForm from '../login_form';
+import LoginForm from '../login-form';
describe('', () => {
it('renders for Pleroma', () => {
diff --git a/app/soapbox/features/auth-login/components/__tests__/login_page.test.tsx b/app/soapbox/features/auth-login/components/__tests__/login-page.test.tsx
similarity index 97%
rename from app/soapbox/features/auth-login/components/__tests__/login_page.test.tsx
rename to app/soapbox/features/auth-login/components/__tests__/login-page.test.tsx
index 70a0f3b95..987403bce 100644
--- a/app/soapbox/features/auth-login/components/__tests__/login_page.test.tsx
+++ b/app/soapbox/features/auth-login/components/__tests__/login-page.test.tsx
@@ -3,7 +3,7 @@ import React from 'react';
import { normalizeInstance } from 'soapbox/normalizers';
import { render, screen } from '../../../../jest/test-helpers';
-import LoginPage from '../login_page';
+import LoginPage from '../login-page';
describe('', () => {
it('renders correctly on load', () => {
diff --git a/app/soapbox/features/auth-login/components/__tests__/otp_auth_form.test.tsx b/app/soapbox/features/auth-login/components/__tests__/otp-auth-form.test.tsx
similarity index 88%
rename from app/soapbox/features/auth-login/components/__tests__/otp_auth_form.test.tsx
rename to app/soapbox/features/auth-login/components/__tests__/otp-auth-form.test.tsx
index 2217d62e5..3b1890102 100644
--- a/app/soapbox/features/auth-login/components/__tests__/otp_auth_form.test.tsx
+++ b/app/soapbox/features/auth-login/components/__tests__/otp-auth-form.test.tsx
@@ -1,7 +1,7 @@
import React from 'react';
import { render, screen } from '../../../../jest/test-helpers';
-import OtpAuthForm from '../otp_auth_form';
+import OtpAuthForm from '../otp-auth-form';
describe('', () => {
it('renders correctly', () => {
diff --git a/app/soapbox/features/auth-login/components/__tests__/password_reset_confirm.test.tsx b/app/soapbox/features/auth-login/components/__tests__/password-reset-confirm.test.tsx
similarity index 96%
rename from app/soapbox/features/auth-login/components/__tests__/password_reset_confirm.test.tsx
rename to app/soapbox/features/auth-login/components/__tests__/password-reset-confirm.test.tsx
index 1d38e6e58..0213d1a59 100644
--- a/app/soapbox/features/auth-login/components/__tests__/password_reset_confirm.test.tsx
+++ b/app/soapbox/features/auth-login/components/__tests__/password-reset-confirm.test.tsx
@@ -4,7 +4,7 @@ import { Route, Switch } from 'react-router-dom';
import { __stub } from 'soapbox/api';
import { fireEvent, render, screen, waitFor } from '../../../../jest/test-helpers';
-import PasswordResetConfirm from '../password_reset_confirm';
+import PasswordResetConfirm from '../password-reset-confirm';
const TestableComponent = () => (
diff --git a/app/soapbox/features/auth-login/components/login_form.tsx b/app/soapbox/features/auth-login/components/login-form.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/login_form.tsx
rename to app/soapbox/features/auth-login/components/login-form.tsx
diff --git a/app/soapbox/features/auth-login/components/login_page.tsx b/app/soapbox/features/auth-login/components/login-page.tsx
similarity index 96%
rename from app/soapbox/features/auth-login/components/login_page.tsx
rename to app/soapbox/features/auth-login/components/login-page.tsx
index dd37e5f63..c137d0165 100644
--- a/app/soapbox/features/auth-login/components/login_page.tsx
+++ b/app/soapbox/features/auth-login/components/login-page.tsx
@@ -8,8 +8,8 @@ import { useAppDispatch, useAppSelector } from 'soapbox/hooks';
import { getRedirectUrl } from 'soapbox/utils/redirect';
import { isStandalone } from 'soapbox/utils/state';
-import LoginForm from './login_form';
-import OtpAuthForm from './otp_auth_form';
+import LoginForm from './login-form';
+import OtpAuthForm from './otp-auth-form';
import type { AxiosError } from 'axios';
diff --git a/app/soapbox/features/auth-login/components/otp_auth_form.tsx b/app/soapbox/features/auth-login/components/otp-auth-form.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/otp_auth_form.tsx
rename to app/soapbox/features/auth-login/components/otp-auth-form.tsx
diff --git a/app/soapbox/features/auth-login/components/password_reset_confirm.tsx b/app/soapbox/features/auth-login/components/password-reset-confirm.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/password_reset_confirm.tsx
rename to app/soapbox/features/auth-login/components/password-reset-confirm.tsx
diff --git a/app/soapbox/features/auth-login/components/password_reset.tsx b/app/soapbox/features/auth-login/components/password-reset.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/password_reset.tsx
rename to app/soapbox/features/auth-login/components/password-reset.tsx
diff --git a/app/soapbox/features/auth-login/components/registration_form.tsx b/app/soapbox/features/auth-login/components/registration-form.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/registration_form.tsx
rename to app/soapbox/features/auth-login/components/registration-form.tsx
diff --git a/app/soapbox/features/backups/index.tsx b/app/soapbox/features/backups/index.tsx
index bbffec85f..27930f208 100644
--- a/app/soapbox/features/backups/index.tsx
+++ b/app/soapbox/features/backups/index.tsx
@@ -6,7 +6,7 @@ import { fetchBackups, createBackup } from 'soapbox/actions/backups';
import ScrollableList from 'soapbox/components/scrollable-list';
import { useAppDispatch, useAppSelector } from 'soapbox/hooks';
-import Column from '../ui/components/better_column';
+import Column from '../ui/components/better-column';
const messages = defineMessages({
heading: { id: 'column.backups', defaultMessage: 'Backups' },
diff --git a/app/soapbox/features/compose/components/privacy-dropdown.tsx b/app/soapbox/features/compose/components/privacy-dropdown.tsx
index 074e86ec4..2543763da 100644
--- a/app/soapbox/features/compose/components/privacy-dropdown.tsx
+++ b/app/soapbox/features/compose/components/privacy-dropdown.tsx
@@ -13,7 +13,7 @@ import { IconButton } from 'soapbox/components/ui';
import { useAppDispatch, useCompose } from 'soapbox/hooks';
import { isUserTouching } from 'soapbox/is-mobile';
-import Motion from '../../ui/util/optional_motion';
+import Motion from '../../ui/util/optional-motion';
const messages = defineMessages({
public_short: { id: 'privacy.public.short', defaultMessage: 'Public' },
diff --git a/app/soapbox/features/compose/components/schedule-form.tsx b/app/soapbox/features/compose/components/schedule-form.tsx
index d08e3d252..bb8ef7368 100644
--- a/app/soapbox/features/compose/components/schedule-form.tsx
+++ b/app/soapbox/features/compose/components/schedule-form.tsx
@@ -7,7 +7,7 @@ import { defineMessages, FormattedMessage, useIntl } from 'react-intl';
import { setSchedule, removeSchedule } from 'soapbox/actions/compose';
import IconButton from 'soapbox/components/icon-button';
import { HStack, Stack, Text } from 'soapbox/components/ui';
-import BundleContainer from 'soapbox/features/ui/containers/bundle_container';
+import BundleContainer from 'soapbox/features/ui/containers/bundle-container';
import { DatePicker } from 'soapbox/features/ui/util/async-components';
import { useAppDispatch, useCompose } from 'soapbox/hooks';
diff --git a/app/soapbox/features/compose/components/search-results.tsx b/app/soapbox/features/compose/components/search-results.tsx
index ed8c973c2..4484ea281 100644
--- a/app/soapbox/features/compose/components/search-results.tsx
+++ b/app/soapbox/features/compose/components/search-results.tsx
@@ -3,7 +3,7 @@ import React, { useEffect, useRef } from 'react';
import { FormattedMessage, defineMessages, useIntl } from 'react-intl';
import { expandSearch, setFilter, setSearchAccount } from 'soapbox/actions/search';
-import { fetchTrendingStatuses } from 'soapbox/actions/trending_statuses';
+import { fetchTrendingStatuses } from 'soapbox/actions/trending-statuses';
import Hashtag from 'soapbox/components/hashtag';
import IconButton from 'soapbox/components/icon-button';
import ScrollableList from 'soapbox/components/scrollable-list';
diff --git a/app/soapbox/features/compose/components/upload.tsx b/app/soapbox/features/compose/components/upload.tsx
index f2f199d6e..769efcdd1 100644
--- a/app/soapbox/features/compose/components/upload.tsx
+++ b/app/soapbox/features/compose/components/upload.tsx
@@ -12,7 +12,7 @@ import Icon from 'soapbox/components/icon';
import IconButton from 'soapbox/components/icon-button';
import { useAppDispatch, useAppSelector, useCompose } from 'soapbox/hooks';
-import Motion from '../../ui/util/optional_motion';
+import Motion from '../../ui/util/optional-motion';
const bookIcon = require('@tabler/icons/book.svg');
const fileCodeIcon = require('@tabler/icons/file-code.svg');
diff --git a/app/soapbox/features/compose/components/warning.tsx b/app/soapbox/features/compose/components/warning.tsx
index b8ec90e09..8100e3781 100644
--- a/app/soapbox/features/compose/components/warning.tsx
+++ b/app/soapbox/features/compose/components/warning.tsx
@@ -1,7 +1,7 @@
import React from 'react';
import { spring } from 'react-motion';
-import Motion from '../../ui/util/optional_motion';
+import Motion from '../../ui/util/optional-motion';
interface IWarning {
message: React.ReactNode,
diff --git a/app/soapbox/features/compose/containers/schedule-form-container.tsx b/app/soapbox/features/compose/containers/schedule-form-container.tsx
index efa30a894..7044f4cd2 100644
--- a/app/soapbox/features/compose/containers/schedule-form-container.tsx
+++ b/app/soapbox/features/compose/containers/schedule-form-container.tsx
@@ -1,6 +1,6 @@
import React from 'react';
-import BundleContainer from 'soapbox/features/ui/containers/bundle_container';
+import BundleContainer from 'soapbox/features/ui/containers/bundle-container';
import { ScheduleForm } from 'soapbox/features/ui/util/async-components';
import type { IScheduleForm } from '../components/schedule-form';
diff --git a/app/soapbox/features/directory/components/account_card.tsx b/app/soapbox/features/directory/components/account-card.tsx
similarity index 100%
rename from app/soapbox/features/directory/components/account_card.tsx
rename to app/soapbox/features/directory/components/account-card.tsx
diff --git a/app/soapbox/features/directory/index.tsx b/app/soapbox/features/directory/index.tsx
index ff06e6659..218df836f 100644
--- a/app/soapbox/features/directory/index.tsx
+++ b/app/soapbox/features/directory/index.tsx
@@ -11,7 +11,7 @@ import Column from 'soapbox/features/ui/components/column';
import { useAppSelector } from 'soapbox/hooks';
import { getFeatures } from 'soapbox/utils/features';
-import AccountCard from './components/account_card';
+import AccountCard from './components/account-card';
const messages = defineMessages({
title: { id: 'column.directory', defaultMessage: 'Browse profiles' },
diff --git a/app/soapbox/features/domain-blocks/index.tsx b/app/soapbox/features/domain-blocks/index.tsx
index 91c0337c9..531ad1874 100644
--- a/app/soapbox/features/domain-blocks/index.tsx
+++ b/app/soapbox/features/domain-blocks/index.tsx
@@ -3,7 +3,7 @@ import React from 'react';
import { defineMessages, useIntl, FormattedMessage } from 'react-intl';
import { useDispatch } from 'react-redux';
-import { fetchDomainBlocks, expandDomainBlocks } from 'soapbox/actions/domain_blocks';
+import { fetchDomainBlocks, expandDomainBlocks } from 'soapbox/actions/domain-blocks';
import Domain from 'soapbox/components/domain';
import ScrollableList from 'soapbox/components/scrollable-list';
import { Spinner } from 'soapbox/components/ui';
diff --git a/app/soapbox/features/export-data/index.tsx b/app/soapbox/features/export-data/index.tsx
index d05c94293..5883f5ac2 100644
--- a/app/soapbox/features/export-data/index.tsx
+++ b/app/soapbox/features/export-data/index.tsx
@@ -5,7 +5,7 @@ import {
exportFollows,
exportBlocks,
exportMutes,
-} from 'soapbox/actions/export_data';
+} from 'soapbox/actions/export-data';
import Column from '../ui/components/column';
diff --git a/app/soapbox/features/external-login/components/external-login-form.tsx b/app/soapbox/features/external-login/components/external-login-form.tsx
index f56f6678a..4a9e6edbf 100644
--- a/app/soapbox/features/external-login/components/external-login-form.tsx
+++ b/app/soapbox/features/external-login/components/external-login-form.tsx
@@ -1,7 +1,7 @@
import React, { useState, useEffect } from 'react';
import { useIntl, FormattedMessage, defineMessages } from 'react-intl';
-import { externalLogin, loginWithCode } from 'soapbox/actions/external_auth';
+import { externalLogin, loginWithCode } from 'soapbox/actions/external-auth';
import snackbar from 'soapbox/actions/snackbar';
import { Button, Form, FormActions, FormGroup, Input, Spinner } from 'soapbox/components/ui';
import { useAppDispatch } from 'soapbox/hooks';
diff --git a/app/soapbox/features/import-data/index.tsx b/app/soapbox/features/import-data/index.tsx
index ca03e6701..9955ec6c3 100644
--- a/app/soapbox/features/import-data/index.tsx
+++ b/app/soapbox/features/import-data/index.tsx
@@ -5,7 +5,7 @@ import {
importFollows,
importBlocks,
importMutes,
-} from 'soapbox/actions/import_data';
+} from 'soapbox/actions/import-data';
import Column from '../ui/components/column';
diff --git a/app/soapbox/features/landing-page/index.tsx b/app/soapbox/features/landing-page/index.tsx
index 04e59044a..b5332fa34 100644
--- a/app/soapbox/features/landing-page/index.tsx
+++ b/app/soapbox/features/landing-page/index.tsx
@@ -4,7 +4,7 @@ import { FormattedMessage } from 'react-intl';
import { prepareRequest } from 'soapbox/actions/consumer-auth';
import { Button, Card, CardBody, Stack, Text } from 'soapbox/components/ui';
import VerificationBadge from 'soapbox/components/verification-badge';
-import RegistrationForm from 'soapbox/features/auth-login/components/registration_form';
+import RegistrationForm from 'soapbox/features/auth-login/components/registration-form';
import { useAppDispatch, useAppSelector, useFeatures, useSoapboxConfig } from 'soapbox/hooks';
import { capitalize } from 'soapbox/utils/strings';
diff --git a/app/soapbox/features/list_editor/components/account.tsx b/app/soapbox/features/list-editor/components/account.tsx
similarity index 100%
rename from app/soapbox/features/list_editor/components/account.tsx
rename to app/soapbox/features/list-editor/components/account.tsx
diff --git a/app/soapbox/features/list_editor/components/edit_list_form.tsx b/app/soapbox/features/list-editor/components/edit-list-form.tsx
similarity index 100%
rename from app/soapbox/features/list_editor/components/edit_list_form.tsx
rename to app/soapbox/features/list-editor/components/edit-list-form.tsx
diff --git a/app/soapbox/features/list_editor/components/search.tsx b/app/soapbox/features/list-editor/components/search.tsx
similarity index 100%
rename from app/soapbox/features/list_editor/components/search.tsx
rename to app/soapbox/features/list-editor/components/search.tsx
diff --git a/app/soapbox/features/list_editor/index.tsx b/app/soapbox/features/list-editor/index.tsx
similarity index 97%
rename from app/soapbox/features/list_editor/index.tsx
rename to app/soapbox/features/list-editor/index.tsx
index c2a784adc..38726ceac 100644
--- a/app/soapbox/features/list_editor/index.tsx
+++ b/app/soapbox/features/list-editor/index.tsx
@@ -6,7 +6,7 @@ import { CardHeader, CardTitle, Modal } from 'soapbox/components/ui';
import { useAppSelector, useAppDispatch } from 'soapbox/hooks';
import Account from './components/account';
-import EditListForm from './components/edit_list_form';
+import EditListForm from './components/edit-list-form';
import Search from './components/search';
const messages = defineMessages({
diff --git a/app/soapbox/features/list_timeline/index.tsx b/app/soapbox/features/list-timeline/index.tsx
similarity index 100%
rename from app/soapbox/features/list_timeline/index.tsx
rename to app/soapbox/features/list-timeline/index.tsx
diff --git a/app/soapbox/features/pinned-statuses/index.tsx b/app/soapbox/features/pinned-statuses/index.tsx
index c04643647..54c7b7d08 100644
--- a/app/soapbox/features/pinned-statuses/index.tsx
+++ b/app/soapbox/features/pinned-statuses/index.tsx
@@ -2,7 +2,7 @@ import React, { useEffect } from 'react';
import { defineMessages, FormattedMessage, useIntl } from 'react-intl';
import { useParams } from 'react-router-dom';
-import { fetchPinnedStatuses } from 'soapbox/actions/pin_statuses';
+import { fetchPinnedStatuses } from 'soapbox/actions/pin-statuses';
import MissingIndicator from 'soapbox/components/missing-indicator';
import StatusList from 'soapbox/components/status-list';
import { useAppDispatch, useAppSelector } from 'soapbox/hooks';
diff --git a/app/soapbox/features/register-invite/index.tsx b/app/soapbox/features/register-invite/index.tsx
index 3614fb91f..c97469011 100644
--- a/app/soapbox/features/register-invite/index.tsx
+++ b/app/soapbox/features/register-invite/index.tsx
@@ -3,7 +3,7 @@ import { FormattedMessage } from 'react-intl';
import { useParams } from 'react-router-dom';
import { Stack, CardTitle, Text } from 'soapbox/components/ui';
-import RegistrationForm from 'soapbox/features/auth-login/components/registration_form';
+import RegistrationForm from 'soapbox/features/auth-login/components/registration-form';
import { useAppSelector } from 'soapbox/hooks';
interface RegisterInviteParams {
diff --git a/app/soapbox/features/scheduled-statuses/components/scheduled-status-action-bar.tsx b/app/soapbox/features/scheduled-statuses/components/scheduled-status-action-bar.tsx
index d22a90bf3..6ee898eb6 100644
--- a/app/soapbox/features/scheduled-statuses/components/scheduled-status-action-bar.tsx
+++ b/app/soapbox/features/scheduled-statuses/components/scheduled-status-action-bar.tsx
@@ -2,7 +2,7 @@ import React from 'react';
import { defineMessages, useIntl } from 'react-intl';
import { openModal } from 'soapbox/actions/modals';
-import { cancelScheduledStatus } from 'soapbox/actions/scheduled_statuses';
+import { cancelScheduledStatus } from 'soapbox/actions/scheduled-statuses';
import { getSettings } from 'soapbox/actions/settings';
import IconButton from 'soapbox/components/icon-button';
import { HStack } from 'soapbox/components/ui';
diff --git a/app/soapbox/features/scheduled-statuses/components/scheduled-status.tsx b/app/soapbox/features/scheduled-statuses/components/scheduled-status.tsx
index e0e174dfb..1d1a68c94 100644
--- a/app/soapbox/features/scheduled-statuses/components/scheduled-status.tsx
+++ b/app/soapbox/features/scheduled-statuses/components/scheduled-status.tsx
@@ -6,7 +6,7 @@ import StatusContent from 'soapbox/components/status-content';
import StatusReplyMentions from 'soapbox/components/status-reply-mentions';
import { HStack } from 'soapbox/components/ui';
import AccountContainer from 'soapbox/containers/account-container';
-import PollPreview from 'soapbox/features/ui/components/poll_preview';
+import PollPreview from 'soapbox/features/ui/components/poll-preview';
import { useAppSelector } from 'soapbox/hooks';
import { buildStatus } from '../builder';
diff --git a/app/soapbox/features/scheduled-statuses/index.tsx b/app/soapbox/features/scheduled-statuses/index.tsx
index 03d27512e..1982af5b9 100644
--- a/app/soapbox/features/scheduled-statuses/index.tsx
+++ b/app/soapbox/features/scheduled-statuses/index.tsx
@@ -2,7 +2,7 @@ import debounce from 'lodash/debounce';
import React, { useEffect } from 'react';
import { defineMessages, FormattedMessage, useIntl } from 'react-intl';
-import { fetchScheduledStatuses, expandScheduledStatuses } from 'soapbox/actions/scheduled_statuses';
+import { fetchScheduledStatuses, expandScheduledStatuses } from 'soapbox/actions/scheduled-statuses';
import ScrollableList from 'soapbox/components/scrollable-list';
import { useAppSelector, useAppDispatch } from 'soapbox/hooks';
diff --git a/app/soapbox/features/server-info/index.tsx b/app/soapbox/features/server-info/index.tsx
index 0e12538d4..cadcf26a4 100644
--- a/app/soapbox/features/server-info/index.tsx
+++ b/app/soapbox/features/server-info/index.tsx
@@ -4,8 +4,8 @@ import { defineMessages, useIntl } from 'react-intl';
import { useAppSelector } from 'soapbox/hooks';
import Column from '../ui/components/column';
-import LinkFooter from '../ui/components/link_footer';
-import PromoPanel from '../ui/components/promo_panel';
+import LinkFooter from '../ui/components/link-footer';
+import PromoPanel from '../ui/components/promo-panel';
const messages = defineMessages({
heading: { id: 'column.info', defaultMessage: 'Server information' },
diff --git a/app/soapbox/features/soapbox-config/components/site-preview.tsx b/app/soapbox/features/soapbox-config/components/site-preview.tsx
index 94c349e25..b9f795d4a 100644
--- a/app/soapbox/features/soapbox-config/components/site-preview.tsx
+++ b/app/soapbox/features/soapbox-config/components/site-preview.tsx
@@ -4,7 +4,7 @@ import { FormattedMessage } from 'react-intl';
import { defaultSettings } from 'soapbox/actions/settings';
import SiteLogo from 'soapbox/components/site-logo';
-import BackgroundShapes from 'soapbox/features/ui/components/background_shapes';
+import BackgroundShapes from 'soapbox/features/ui/components/background-shapes';
import { useSystemTheme } from 'soapbox/hooks';
import { normalizeSoapboxConfig } from 'soapbox/normalizers';
import { generateThemeCss } from 'soapbox/utils/theme';
diff --git a/app/soapbox/features/status/index.tsx b/app/soapbox/features/status/index.tsx
index 37598c45c..c043a9b2a 100644
--- a/app/soapbox/features/status/index.tsx
+++ b/app/soapbox/features/status/index.tsx
@@ -33,7 +33,7 @@ import SubNavigation from 'soapbox/components/sub-navigation';
import Tombstone from 'soapbox/components/tombstone';
import { Column, Stack } from 'soapbox/components/ui';
import PlaceholderStatus from 'soapbox/features/placeholder/components/placeholder-status';
-import PendingStatus from 'soapbox/features/ui/components/pending_status';
+import PendingStatus from 'soapbox/features/ui/components/pending-status';
import { useAppDispatch, useAppSelector, useSettings } from 'soapbox/hooks';
import { makeGetStatus } from 'soapbox/selectors';
import { defaultMediaVisibility, textForScreenReader } from 'soapbox/utils/status';
diff --git a/app/soapbox/features/ui/__tests__/index.test.tsx b/app/soapbox/features/ui/__tests__/index.test.tsx
index c28c21589..1d3164f77 100644
--- a/app/soapbox/features/ui/__tests__/index.test.tsx
+++ b/app/soapbox/features/ui/__tests__/index.test.tsx
@@ -5,7 +5,7 @@ import { Route, Switch } from 'react-router-dom';
import { render, screen, waitFor } from '../../../jest/test-helpers';
import { normalizeAccount } from '../../../normalizers';
import UI from '../index';
-import { WrappedRoute } from '../util/react_router_helpers';
+import { WrappedRoute } from '../util/react-router-helpers';
const TestableComponent = () => (
diff --git a/app/soapbox/features/ui/components/account_note_modal.tsx b/app/soapbox/features/ui/components/account-note-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/account_note_modal.tsx
rename to app/soapbox/features/ui/components/account-note-modal.tsx
diff --git a/app/soapbox/features/ui/components/actions_modal.tsx b/app/soapbox/features/ui/components/actions-modal.tsx
similarity index 98%
rename from app/soapbox/features/ui/components/actions_modal.tsx
rename to app/soapbox/features/ui/components/actions-modal.tsx
index 43815a3dd..9e833be16 100644
--- a/app/soapbox/features/ui/components/actions_modal.tsx
+++ b/app/soapbox/features/ui/components/actions-modal.tsx
@@ -8,7 +8,7 @@ import StatusContent from 'soapbox/components/status-content';
import { Stack } from 'soapbox/components/ui';
import AccountContainer from 'soapbox/containers/account-container';
-import Motion from '../util/optional_motion';
+import Motion from '../util/optional-motion';
import type { Menu, MenuItem } from 'soapbox/components/dropdown-menu';
import type { Status as StatusEntity } from 'soapbox/types/entities';
diff --git a/app/soapbox/features/ui/components/background_shapes.tsx b/app/soapbox/features/ui/components/background-shapes.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/background_shapes.tsx
rename to app/soapbox/features/ui/components/background-shapes.tsx
diff --git a/app/soapbox/features/ui/components/better_column.js b/app/soapbox/features/ui/components/better-column.js
similarity index 96%
rename from app/soapbox/features/ui/components/better_column.js
rename to app/soapbox/features/ui/components/better-column.js
index cbbf067a3..2547acb33 100644
--- a/app/soapbox/features/ui/components/better_column.js
+++ b/app/soapbox/features/ui/components/better-column.js
@@ -4,7 +4,7 @@ import React from 'react';
import { Column } from 'soapbox/components/ui';
import DropdownMenu from 'soapbox/containers/dropdown-menu-container';
-import ColumnHeader from './column_header';
+import ColumnHeader from './column-header';
// Yes, there are 3 types of columns at this point, but this one is better, I swear
export default class BetterColumn extends React.PureComponent {
diff --git a/app/soapbox/features/ui/components/birthdays_modal.tsx b/app/soapbox/features/ui/components/birthdays-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/birthdays_modal.tsx
rename to app/soapbox/features/ui/components/birthdays-modal.tsx
diff --git a/app/soapbox/features/ui/components/boost_modal.tsx b/app/soapbox/features/ui/components/boost-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/boost_modal.tsx
rename to app/soapbox/features/ui/components/boost-modal.tsx
diff --git a/app/soapbox/features/ui/components/bundle_column_error.tsx b/app/soapbox/features/ui/components/bundle-column-error.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/bundle_column_error.tsx
rename to app/soapbox/features/ui/components/bundle-column-error.tsx
diff --git a/app/soapbox/features/ui/components/bundle_modal_error.tsx b/app/soapbox/features/ui/components/bundle-modal-error.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/bundle_modal_error.tsx
rename to app/soapbox/features/ui/components/bundle-modal-error.tsx
diff --git a/app/soapbox/features/ui/components/column_forbidden.tsx b/app/soapbox/features/ui/components/column-forbidden.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/column_forbidden.tsx
rename to app/soapbox/features/ui/components/column-forbidden.tsx
diff --git a/app/soapbox/features/ui/components/column_header.tsx b/app/soapbox/features/ui/components/column-header.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/column_header.tsx
rename to app/soapbox/features/ui/components/column-header.tsx
diff --git a/app/soapbox/features/ui/components/column_loading.tsx b/app/soapbox/features/ui/components/column-loading.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/column_loading.tsx
rename to app/soapbox/features/ui/components/column-loading.tsx
diff --git a/app/soapbox/features/ui/components/column.tsx b/app/soapbox/features/ui/components/column.tsx
index f0bc6cfdf..9604049b4 100644
--- a/app/soapbox/features/ui/components/column.tsx
+++ b/app/soapbox/features/ui/components/column.tsx
@@ -3,7 +3,7 @@ import React from 'react';
import Pullable from 'soapbox/components/pullable';
import { Column } from 'soapbox/components/ui';
-import ColumnHeader from './column_header';
+import ColumnHeader from './column-header';
import type { IColumn } from 'soapbox/components/ui/column/column';
diff --git a/app/soapbox/features/ui/components/columns_area.tsx b/app/soapbox/features/ui/components/columns-area.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/columns_area.tsx
rename to app/soapbox/features/ui/components/columns-area.tsx
diff --git a/app/soapbox/features/ui/components/compare_history_modal.tsx b/app/soapbox/features/ui/components/compare-history-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/compare_history_modal.tsx
rename to app/soapbox/features/ui/components/compare-history-modal.tsx
diff --git a/app/soapbox/features/ui/components/component_modal.tsx b/app/soapbox/features/ui/components/component-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/component_modal.tsx
rename to app/soapbox/features/ui/components/component-modal.tsx
diff --git a/app/soapbox/features/ui/components/compose_modal.tsx b/app/soapbox/features/ui/components/compose-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/compose_modal.tsx
rename to app/soapbox/features/ui/components/compose-modal.tsx
diff --git a/app/soapbox/features/ui/components/confirmation_modal.tsx b/app/soapbox/features/ui/components/confirmation-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/confirmation_modal.tsx
rename to app/soapbox/features/ui/components/confirmation-modal.tsx
diff --git a/app/soapbox/features/ui/components/crypto_donate_modal.tsx b/app/soapbox/features/ui/components/crypto-donate-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/crypto_donate_modal.tsx
rename to app/soapbox/features/ui/components/crypto-donate-modal.tsx
diff --git a/app/soapbox/features/ui/components/edit_federation_modal.tsx b/app/soapbox/features/ui/components/edit-federation-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/edit_federation_modal.tsx
rename to app/soapbox/features/ui/components/edit-federation-modal.tsx
diff --git a/app/soapbox/features/ui/components/familiar_followers_modal.tsx b/app/soapbox/features/ui/components/familiar-followers-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/familiar_followers_modal.tsx
rename to app/soapbox/features/ui/components/familiar-followers-modal.tsx
diff --git a/app/soapbox/features/ui/components/funding_panel.tsx b/app/soapbox/features/ui/components/funding-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/funding_panel.tsx
rename to app/soapbox/features/ui/components/funding-panel.tsx
diff --git a/app/soapbox/features/ui/components/hotkeys_modal.tsx b/app/soapbox/features/ui/components/hotkeys-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/hotkeys_modal.tsx
rename to app/soapbox/features/ui/components/hotkeys-modal.tsx
diff --git a/app/soapbox/features/ui/components/instance_info_panel.tsx b/app/soapbox/features/ui/components/instance-info-panel.tsx
similarity index 96%
rename from app/soapbox/features/ui/components/instance_info_panel.tsx
rename to app/soapbox/features/ui/components/instance-info-panel.tsx
index 3467455b3..281182cbc 100644
--- a/app/soapbox/features/ui/components/instance_info_panel.tsx
+++ b/app/soapbox/features/ui/components/instance-info-panel.tsx
@@ -3,7 +3,7 @@
import React from 'react';
import { useIntl, defineMessages } from 'react-intl';
-import { pinHost, unpinHost } from 'soapbox/actions/remote_timeline';
+import { pinHost, unpinHost } from 'soapbox/actions/remote-timeline';
import { Widget } from 'soapbox/components/ui';
import { useAppSelector, useAppDispatch, useSettings } from 'soapbox/hooks';
import { makeGetRemoteInstance } from 'soapbox/selectors';
diff --git a/app/soapbox/features/ui/components/instance_moderation_panel.tsx b/app/soapbox/features/ui/components/instance-moderation-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/instance_moderation_panel.tsx
rename to app/soapbox/features/ui/components/instance-moderation-panel.tsx
diff --git a/app/soapbox/features/ui/components/link_footer.tsx b/app/soapbox/features/ui/components/link-footer.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/link_footer.tsx
rename to app/soapbox/features/ui/components/link-footer.tsx
diff --git a/app/soapbox/features/ui/components/list_panel.tsx b/app/soapbox/features/ui/components/list-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/list_panel.tsx
rename to app/soapbox/features/ui/components/list-panel.tsx
diff --git a/app/soapbox/features/ui/components/mentions_modal.tsx b/app/soapbox/features/ui/components/mentions-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/mentions_modal.tsx
rename to app/soapbox/features/ui/components/mentions-modal.tsx
diff --git a/app/soapbox/features/ui/components/missing_description_modal.tsx b/app/soapbox/features/ui/components/missing-description-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/missing_description_modal.tsx
rename to app/soapbox/features/ui/components/missing-description-modal.tsx
diff --git a/app/soapbox/features/ui/components/modal_loading.tsx b/app/soapbox/features/ui/components/modal-loading.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modal_loading.tsx
rename to app/soapbox/features/ui/components/modal-loading.tsx
diff --git a/app/soapbox/features/ui/components/modal_root.tsx b/app/soapbox/features/ui/components/modal-root.tsx
similarity index 95%
rename from app/soapbox/features/ui/components/modal_root.tsx
rename to app/soapbox/features/ui/components/modal-root.tsx
index 282bb4104..ceee5c1ec 100644
--- a/app/soapbox/features/ui/components/modal_root.tsx
+++ b/app/soapbox/features/ui/components/modal-root.tsx
@@ -33,11 +33,11 @@ import {
AccountModerationModal,
} from 'soapbox/features/ui/util/async-components';
-import BundleContainer from '../containers/bundle_container';
+import BundleContainer from '../containers/bundle-container';
import { BundleProps } from './bundle';
-import BundleModalError from './bundle_modal_error';
-import ModalLoading from './modal_loading';
+import BundleModalError from './bundle-modal-error';
+import ModalLoading from './modal-loading';
const MODAL_COMPONENTS = {
'MEDIA': MediaModal,
diff --git a/app/soapbox/features/ui/components/mute_modal.tsx b/app/soapbox/features/ui/components/mute-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/mute_modal.tsx
rename to app/soapbox/features/ui/components/mute-modal.tsx
diff --git a/app/soapbox/features/ui/components/pending_status.tsx b/app/soapbox/features/ui/components/pending-status.tsx
similarity index 96%
rename from app/soapbox/features/ui/components/pending_status.tsx
rename to app/soapbox/features/ui/components/pending-status.tsx
index 343c88f43..5ea14a72b 100644
--- a/app/soapbox/features/ui/components/pending_status.tsx
+++ b/app/soapbox/features/ui/components/pending-status.tsx
@@ -10,9 +10,9 @@ import PlaceholderMediaGallery from 'soapbox/features/placeholder/components/pla
import QuotedStatus from 'soapbox/features/status/containers/quoted-status-container';
import { useAppSelector } from 'soapbox/hooks';
-import { buildStatus } from '../util/pending_status_builder';
+import { buildStatus } from '../util/pending-status-builder';
-import PollPreview from './poll_preview';
+import PollPreview from './poll-preview';
import type { Account as AccountEntity, Status as StatusEntity } from 'soapbox/types/entities';
diff --git a/app/soapbox/features/ui/components/pinned_accounts_panel.tsx b/app/soapbox/features/ui/components/pinned-accounts-panel.tsx
similarity index 99%
rename from app/soapbox/features/ui/components/pinned_accounts_panel.tsx
rename to app/soapbox/features/ui/components/pinned-accounts-panel.tsx
index f99cb02df..8139f342e 100644
--- a/app/soapbox/features/ui/components/pinned_accounts_panel.tsx
+++ b/app/soapbox/features/ui/components/pinned-accounts-panel.tsx
@@ -5,7 +5,7 @@ import { FormattedMessage } from 'react-intl';
import { fetchPinnedAccounts } from 'soapbox/actions/accounts';
import { Widget } from 'soapbox/components/ui';
import AccountContainer from 'soapbox/containers/account-container';
-import BundleContainer from 'soapbox/features/ui/containers/bundle_container';
+import BundleContainer from 'soapbox/features/ui/containers/bundle-container';
import { WhoToFollowPanel } from 'soapbox/features/ui/util/async-components';
import { useAppDispatch, useAppSelector } from 'soapbox/hooks';
diff --git a/app/soapbox/features/ui/components/poll_preview.tsx b/app/soapbox/features/ui/components/poll-preview.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/poll_preview.tsx
rename to app/soapbox/features/ui/components/poll-preview.tsx
diff --git a/app/soapbox/features/ui/components/profile_familiar_followers.tsx b/app/soapbox/features/ui/components/profile-familiar-followers.tsx
similarity index 97%
rename from app/soapbox/features/ui/components/profile_familiar_followers.tsx
rename to app/soapbox/features/ui/components/profile-familiar-followers.tsx
index 2d395a2a6..5a9d9ede9 100644
--- a/app/soapbox/features/ui/components/profile_familiar_followers.tsx
+++ b/app/soapbox/features/ui/components/profile-familiar-followers.tsx
@@ -4,7 +4,7 @@ import { FormattedList, FormattedMessage } from 'react-intl';
import { useDispatch } from 'react-redux';
import { Link } from 'react-router-dom';
-import { fetchAccountFamiliarFollowers } from 'soapbox/actions/familiar_followers';
+import { fetchAccountFamiliarFollowers } from 'soapbox/actions/familiar-followers';
import { openModal } from 'soapbox/actions/modals';
import HoverRefWrapper from 'soapbox/components/hover-ref-wrapper';
import { Text } from 'soapbox/components/ui';
diff --git a/app/soapbox/features/ui/components/profile_fields_panel.tsx b/app/soapbox/features/ui/components/profile-fields-panel.tsx
similarity index 99%
rename from app/soapbox/features/ui/components/profile_fields_panel.tsx
rename to app/soapbox/features/ui/components/profile-fields-panel.tsx
index 053226dcc..dfa4dc84a 100644
--- a/app/soapbox/features/ui/components/profile_fields_panel.tsx
+++ b/app/soapbox/features/ui/components/profile-fields-panel.tsx
@@ -3,7 +3,7 @@ import React from 'react';
import { defineMessages, useIntl, FormattedMessage, FormatDateOptions } from 'react-intl';
import { Widget, Stack, HStack, Icon, Text } from 'soapbox/components/ui';
-import BundleContainer from 'soapbox/features/ui/containers/bundle_container';
+import BundleContainer from 'soapbox/features/ui/containers/bundle-container';
import { CryptoAddress } from 'soapbox/features/ui/util/async-components';
import type { Account, Field } from 'soapbox/types/entities';
diff --git a/app/soapbox/features/ui/components/profile_info_panel.tsx b/app/soapbox/features/ui/components/profile-info-panel.tsx
similarity index 98%
rename from app/soapbox/features/ui/components/profile_info_panel.tsx
rename to app/soapbox/features/ui/components/profile-info-panel.tsx
index ce39c9b3c..cf97b78e7 100644
--- a/app/soapbox/features/ui/components/profile_info_panel.tsx
+++ b/app/soapbox/features/ui/components/profile-info-panel.tsx
@@ -11,8 +11,8 @@ import { isLocal } from 'soapbox/utils/accounts';
import { badgeToTag, getBadges as getAccountBadges } from 'soapbox/utils/badges';
import { capitalize } from 'soapbox/utils/strings';
-import ProfileFamiliarFollowers from './profile_familiar_followers';
-import ProfileStats from './profile_stats';
+import ProfileFamiliarFollowers from './profile-familiar-followers';
+import ProfileStats from './profile-stats';
import type { Account } from 'soapbox/types/entities';
diff --git a/app/soapbox/features/ui/components/profile_media_panel.tsx b/app/soapbox/features/ui/components/profile-media-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/profile_media_panel.tsx
rename to app/soapbox/features/ui/components/profile-media-panel.tsx
diff --git a/app/soapbox/features/ui/components/profile_stats.tsx b/app/soapbox/features/ui/components/profile-stats.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/profile_stats.tsx
rename to app/soapbox/features/ui/components/profile-stats.tsx
diff --git a/app/soapbox/features/ui/components/promo_panel.tsx b/app/soapbox/features/ui/components/promo-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/promo_panel.tsx
rename to app/soapbox/features/ui/components/promo-panel.tsx
diff --git a/app/soapbox/features/ui/components/reactions_modal.tsx b/app/soapbox/features/ui/components/reactions-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/reactions_modal.tsx
rename to app/soapbox/features/ui/components/reactions-modal.tsx
diff --git a/app/soapbox/features/ui/components/reblogs_modal.tsx b/app/soapbox/features/ui/components/reblogs-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/reblogs_modal.tsx
rename to app/soapbox/features/ui/components/reblogs-modal.tsx
diff --git a/app/soapbox/features/ui/components/reply_mentions_modal.tsx b/app/soapbox/features/ui/components/reply-mentions-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/reply_mentions_modal.tsx
rename to app/soapbox/features/ui/components/reply-mentions-modal.tsx
diff --git a/app/soapbox/features/ui/components/unauthorized_modal.tsx b/app/soapbox/features/ui/components/unauthorized-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/unauthorized_modal.tsx
rename to app/soapbox/features/ui/components/unauthorized-modal.tsx
diff --git a/app/soapbox/features/ui/components/upload_area.tsx b/app/soapbox/features/ui/components/upload-area.tsx
similarity index 97%
rename from app/soapbox/features/ui/components/upload_area.tsx
rename to app/soapbox/features/ui/components/upload-area.tsx
index 6aeb5caa2..5cc0c9e64 100644
--- a/app/soapbox/features/ui/components/upload_area.tsx
+++ b/app/soapbox/features/ui/components/upload-area.tsx
@@ -5,7 +5,7 @@ import { spring } from 'react-motion';
import { Icon, Stack, Text } from 'soapbox/components/ui';
-import Motion from '../../ui/util/optional_motion';
+import Motion from '../util/optional-motion';
interface IUploadArea {
/** Whether the upload area is active. */
diff --git a/app/soapbox/features/ui/components/user_panel.tsx b/app/soapbox/features/ui/components/user-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/user_panel.tsx
rename to app/soapbox/features/ui/components/user-panel.tsx
diff --git a/app/soapbox/features/ui/components/video_modal.tsx b/app/soapbox/features/ui/components/video-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/video_modal.tsx
rename to app/soapbox/features/ui/components/video-modal.tsx
diff --git a/app/soapbox/features/ui/containers/bundle_container.tsx b/app/soapbox/features/ui/containers/bundle-container.tsx
similarity index 100%
rename from app/soapbox/features/ui/containers/bundle_container.tsx
rename to app/soapbox/features/ui/containers/bundle-container.tsx
diff --git a/app/soapbox/features/ui/containers/modal_container.ts b/app/soapbox/features/ui/containers/modal-container.ts
similarity index 93%
rename from app/soapbox/features/ui/containers/modal_container.ts
rename to app/soapbox/features/ui/containers/modal-container.ts
index dc24254c3..987a8d574 100644
--- a/app/soapbox/features/ui/containers/modal_container.ts
+++ b/app/soapbox/features/ui/containers/modal-container.ts
@@ -4,7 +4,7 @@ import { cancelReplyCompose } from 'soapbox/actions/compose';
import { closeModal } from 'soapbox/actions/modals';
import { cancelReport } from 'soapbox/actions/reports';
-import ModalRoot, { ModalType } from '../components/modal_root';
+import ModalRoot, { ModalType } from '../components/modal-root';
import type { AppDispatch, RootState } from 'soapbox/store';
diff --git a/app/soapbox/features/ui/containers/notifications_container.tsx b/app/soapbox/features/ui/containers/notifications-container.tsx
similarity index 100%
rename from app/soapbox/features/ui/containers/notifications_container.tsx
rename to app/soapbox/features/ui/containers/notifications-container.tsx
diff --git a/app/soapbox/features/ui/index.tsx b/app/soapbox/features/ui/index.tsx
index 1ce57e0c7..019c14997 100644
--- a/app/soapbox/features/ui/index.tsx
+++ b/app/soapbox/features/ui/index.tsx
@@ -11,13 +11,13 @@ import { fetchReports, fetchUsers, fetchConfig } from 'soapbox/actions/admin';
import { fetchAnnouncements } from 'soapbox/actions/announcements';
import { fetchChats } from 'soapbox/actions/chats';
import { uploadCompose, resetCompose } from 'soapbox/actions/compose';
-import { fetchCustomEmojis } from 'soapbox/actions/custom_emojis';
+import { fetchCustomEmojis } from 'soapbox/actions/custom-emojis';
import { fetchFilters } from 'soapbox/actions/filters';
import { fetchMarker } from 'soapbox/actions/markers';
import { openModal } from 'soapbox/actions/modals';
import { expandNotifications } from 'soapbox/actions/notifications';
import { register as registerPushNotifications } from 'soapbox/actions/push-notifications';
-import { fetchScheduledStatuses } from 'soapbox/actions/scheduled_statuses';
+import { fetchScheduledStatuses } from 'soapbox/actions/scheduled-statuses';
import { connectUserStream } from 'soapbox/actions/streaming';
import { fetchSuggestionsForTimeline } from 'soapbox/actions/suggestions';
import { expandHomeTimeline } from 'soapbox/actions/timelines';
@@ -38,9 +38,9 @@ import { getAccessToken, getVapidKey } from 'soapbox/utils/auth';
import { isStandalone } from 'soapbox/utils/state';
// import GroupSidebarPanel from '../groups/sidebar_panel';
-import BackgroundShapes from './components/background_shapes';
+import BackgroundShapes from './components/background-shapes';
import Navbar from './components/navbar';
-import BundleContainer from './containers/bundle_container';
+import BundleContainer from './containers/bundle-container';
import {
Status,
CommunityTimeline,
@@ -114,7 +114,7 @@ import {
AuthTokenList,
ServiceWorkerInfo,
} from './util/async-components';
-import { WrappedRoute } from './util/react_router_helpers';
+import { WrappedRoute } from './util/react-router-helpers';
// Dummy import, to make sure that ends up in the application bundle.
// Without this it ends up in ~8 very commonly used bundles.
diff --git a/app/soapbox/features/ui/util/async-components.ts b/app/soapbox/features/ui/util/async-components.ts
index 997f6b7da..8280a59c2 100644
--- a/app/soapbox/features/ui/util/async-components.ts
+++ b/app/soapbox/features/ui/util/async-components.ts
@@ -35,7 +35,7 @@ export function Conversations() {
}
export function ListTimeline() {
- return import(/* webpackChunkName: "features/list_timeline" */'../../list_timeline');
+ return import(/* webpackChunkName: "features/list_timeline" */'../../list-timeline');
}
export function Lists() {
@@ -95,7 +95,7 @@ export function Mutes() {
}
export function MuteModal() {
- return import(/* webpackChunkName: "modals/mute_modal" */'../components/mute_modal');
+ return import(/* webpackChunkName: "modals/mute_modal" */'../components/mute-modal');
}
export function Filters() {
@@ -127,43 +127,43 @@ export function MediaModal() {
}
export function VideoModal() {
- return import(/* webpackChunkName: "features/ui" */'../components/video_modal');
+ return import(/* webpackChunkName: "features/ui" */'../components/video-modal');
}
export function BoostModal() {
- return import(/* webpackChunkName: "features/ui" */'../components/boost_modal');
+ return import(/* webpackChunkName: "features/ui" */'../components/boost-modal');
}
export function ConfirmationModal() {
- return import(/* webpackChunkName: "features/ui" */'../components/confirmation_modal');
+ return import(/* webpackChunkName: "features/ui" */'../components/confirmation-modal');
}
export function MissingDescriptionModal() {
- return import(/* webpackChunkName: "features/ui" */'../components/missing_description_modal');
+ return import(/* webpackChunkName: "features/ui" */'../components/missing-description-modal');
}
export function ActionsModal() {
- return import(/* webpackChunkName: "features/ui" */'../components/actions_modal');
+ return import(/* webpackChunkName: "features/ui" */'../components/actions-modal');
}
export function HotkeysModal() {
- return import(/* webpackChunkName: "features/ui" */'../components/hotkeys_modal');
+ return import(/* webpackChunkName: "features/ui" */'../components/hotkeys-modal');
}
export function ComposeModal() {
- return import(/* webpackChunkName: "features/ui" */'../components/compose_modal');
+ return import(/* webpackChunkName: "features/ui" */'../components/compose-modal');
}
export function ReplyMentionsModal() {
- return import(/* webpackChunkName: "features/ui" */'../components/reply_mentions_modal');
+ return import(/* webpackChunkName: "features/ui" */'../components/reply-mentions-modal');
}
export function UnauthorizedModal() {
- return import(/* webpackChunkName: "features/ui" */'../components/unauthorized_modal');
+ return import(/* webpackChunkName: "features/ui" */'../components/unauthorized-modal');
}
export function EditFederationModal() {
- return import(/* webpackChunkName: "features/ui" */'../components/edit_federation_modal');
+ return import(/* webpackChunkName: "features/ui" */'../components/edit-federation-modal');
}
export function EmbedModal() {
@@ -171,11 +171,11 @@ export function EmbedModal() {
}
export function ComponentModal() {
- return import(/* webpackChunkName: "features/ui" */'../components/component_modal');
+ return import(/* webpackChunkName: "features/ui" */'../components/component-modal');
}
export function ReblogsModal() {
- return import(/* webpackChunkName: "features/ui" */'../components/reblogs_modal');
+ return import(/* webpackChunkName: "features/ui" */'../components/reblogs-modal');
}
export function FavouritesModal() {
@@ -183,11 +183,11 @@ export function FavouritesModal() {
}
export function ReactionsModal() {
- return import(/* webpackChunkName: "features/ui" */'../components/reactions_modal');
+ return import(/* webpackChunkName: "features/ui" */'../components/reactions-modal');
}
export function MentionsModal() {
- return import(/* webpackChunkName: "features/ui" */'../components/mentions_modal');
+ return import(/* webpackChunkName: "features/ui" */'../components/mentions-modal');
}
export function LandingPageModal() {
@@ -195,7 +195,7 @@ export function LandingPageModal() {
}
export function BirthdaysModal() {
- return import(/* webpackChunkName: "features/ui" */'../components/birthdays_modal');
+ return import(/* webpackChunkName: "features/ui" */'../components/birthdays-modal');
}
export function BirthdayPanel() {
@@ -203,11 +203,11 @@ export function BirthdayPanel() {
}
export function AccountNoteModal() {
- return import(/* webpackChunkName: "features/ui" */'../components/account_note_modal');
+ return import(/* webpackChunkName: "features/ui" */'../components/account-note-modal');
}
export function ListEditor() {
- return import(/* webpackChunkName: "features/list_editor" */'../../list_editor');
+ return import(/* webpackChunkName: "features/list_editor" */'../../list-editor');
}
export function ListAdder() {
@@ -219,7 +219,7 @@ export function Search() {
}
export function LoginPage() {
- return import(/* webpackChunkName: "features/auth_login" */'../../auth-login/components/login_page');
+ return import(/* webpackChunkName: "features/auth_login" */'../../auth-login/components/login-page');
}
export function ExternalLogin() {
@@ -275,11 +275,11 @@ export function Backups() {
}
export function PasswordReset() {
- return import(/* webpackChunkName: "features/auth_login" */'../../auth-login/components/password_reset');
+ return import(/* webpackChunkName: "features/auth_login" */'../../auth-login/components/password-reset');
}
export function PasswordResetConfirm() {
- return import(/* webpackChunkName: "features/auth_login/password_reset_confirm" */'../../auth-login/components/password_reset_confirm');
+ return import(/* webpackChunkName: "features/auth_login/password_reset_confirm" */'../../auth-login/components/password-reset-confirm');
}
export function MfaForm() {
@@ -311,11 +311,11 @@ export function ModerationLog() {
}
export function UserPanel() {
- return import(/* webpackChunkName: "features/ui" */'../components/user_panel');
+ return import(/* webpackChunkName: "features/ui" */'../components/user-panel');
}
export function PromoPanel() {
- return import(/* webpackChunkName: "features/ui" */'../components/promo_panel');
+ return import(/* webpackChunkName: "features/ui" */'../components/promo-panel');
}
export function SignUpPanel() {
@@ -327,7 +327,7 @@ export function CtaBanner() {
}
export function FundingPanel() {
- return import(/* webpackChunkName: "features/ui" */'../components/funding_panel');
+ return import(/* webpackChunkName: "features/ui" */'../components/funding-panel');
}
export function TrendsPanel() {
@@ -335,27 +335,27 @@ export function TrendsPanel() {
}
export function ProfileInfoPanel() {
- return import(/* webpackChunkName: "features/account_timeline" */'../components/profile_info_panel');
+ return import(/* webpackChunkName: "features/account_timeline" */'../components/profile-info-panel');
}
export function ProfileMediaPanel() {
- return import(/* webpackChunkName: "features/account_gallery" */'../components/profile_media_panel');
+ return import(/* webpackChunkName: "features/account_gallery" */'../components/profile-media-panel');
}
export function ProfileFieldsPanel() {
- return import(/* webpackChunkName: "features/account_timeline" */'../components/profile_fields_panel');
+ return import(/* webpackChunkName: "features/account_timeline" */'../components/profile-fields-panel');
}
export function PinnedAccountsPanel() {
- return import(/* webpackChunkName: "features/pinned_accounts" */'../components/pinned_accounts_panel');
+ return import(/* webpackChunkName: "features/pinned_accounts" */'../components/pinned-accounts-panel');
}
export function InstanceInfoPanel() {
- return import(/* webpackChunkName: "features/remote_timeline" */'../components/instance_info_panel');
+ return import(/* webpackChunkName: "features/remote_timeline" */'../components/instance-info-panel');
}
export function InstanceModerationPanel() {
- return import(/* webpackChunkName: "features/remote_timeline" */'../components/instance_moderation_panel');
+ return import(/* webpackChunkName: "features/remote_timeline" */'../components/instance-moderation-panel');
}
export function LatestAccountsPanel() {
@@ -367,15 +367,15 @@ export function SidebarMenu() {
}
export function UploadArea() {
- return import(/* webpackChunkName: "features/compose" */'../components/upload_area');
+ return import(/* webpackChunkName: "features/compose" */'../components/upload-area');
}
export function NotificationsContainer() {
- return import(/* webpackChunkName: "features/ui" */'../containers/notifications_container');
+ return import(/* webpackChunkName: "features/ui" */'../containers/notifications-container');
}
export function ModalContainer() {
- return import(/* webpackChunkName: "features/ui" */'../containers/modal_container');
+ return import(/* webpackChunkName: "features/ui" */'../containers/modal-container');
}
export function ProfileHoverCard() {
@@ -399,7 +399,7 @@ export function CryptoAddress() {
}
export function CryptoDonateModal() {
- return import(/* webpackChunkName: "features/crypto_donate" */'../components/crypto_donate_modal');
+ return import(/* webpackChunkName: "features/crypto_donate" */'../components/crypto-donate-modal');
}
export function ScheduledStatuses() {
@@ -483,11 +483,11 @@ export function OnboardingWizard() {
}
export function WaitlistPage() {
- return import(/* webpackChunkName: "features/verification" */'../../verification/waitlist_page');
+ return import(/* webpackChunkName: "features/verification" */'../../verification/waitlist-page');
}
export function CompareHistoryModal() {
- return import(/*webpackChunkName: "modals/compare_history_modal" */'../components/compare_history_modal');
+ return import(/*webpackChunkName: "modals/compare_history_modal" */'../components/compare-history-modal');
}
export function AuthTokenList() {
@@ -499,7 +499,7 @@ export function VerifySmsModal() {
}
export function FamiliarFollowersModal() {
- return import(/*webpackChunkName: "modals/familiar_followers_modal" */'../components/familiar_followers_modal');
+ return import(/*webpackChunkName: "modals/familiar_followers_modal" */'../components/familiar-followers-modal');
}
export function AnnouncementsPanel() {
diff --git a/app/soapbox/features/ui/util/optional_motion.tsx b/app/soapbox/features/ui/util/optional-motion.tsx
similarity index 88%
rename from app/soapbox/features/ui/util/optional_motion.tsx
rename to app/soapbox/features/ui/util/optional-motion.tsx
index 15c0d0cd1..a51e84766 100644
--- a/app/soapbox/features/ui/util/optional_motion.tsx
+++ b/app/soapbox/features/ui/util/optional-motion.tsx
@@ -3,7 +3,7 @@ import { Motion, MotionProps } from 'react-motion';
import { useSettings } from 'soapbox/hooks';
-import ReducedMotion from './reduced_motion';
+import ReducedMotion from './reduced-motion';
const OptionalMotion = (props: MotionProps) => {
const reduceMotion = useSettings().get('reduceMotion');
diff --git a/app/soapbox/features/ui/util/pending_status_builder.ts b/app/soapbox/features/ui/util/pending-status-builder.ts
similarity index 100%
rename from app/soapbox/features/ui/util/pending_status_builder.ts
rename to app/soapbox/features/ui/util/pending-status-builder.ts
diff --git a/app/soapbox/features/ui/util/react_router_helpers.tsx b/app/soapbox/features/ui/util/react-router-helpers.tsx
similarity index 90%
rename from app/soapbox/features/ui/util/react_router_helpers.tsx
rename to app/soapbox/features/ui/util/react-router-helpers.tsx
index 992a60e2b..bb911af18 100644
--- a/app/soapbox/features/ui/util/react_router_helpers.tsx
+++ b/app/soapbox/features/ui/util/react-router-helpers.tsx
@@ -4,11 +4,11 @@ import { Redirect, Route, useHistory, RouteProps, RouteComponentProps, match as
import { Layout } from 'soapbox/components/ui';
import { useOwnAccount, useSettings } from 'soapbox/hooks';
-import BundleColumnError from '../components/bundle_column_error';
-import ColumnForbidden from '../components/column_forbidden';
-import ColumnLoading from '../components/column_loading';
-import ColumnsArea from '../components/columns_area';
-import BundleContainer from '../containers/bundle_container';
+import BundleColumnError from '../components/bundle-column-error';
+import ColumnForbidden from '../components/column-forbidden';
+import ColumnLoading from '../components/column-loading';
+import ColumnsArea from '../components/columns-area';
+import BundleContainer from '../containers/bundle-container';
type PageProps = {
params?: MatchType['params'],
diff --git a/app/soapbox/features/ui/util/reduced_motion.tsx b/app/soapbox/features/ui/util/reduced-motion.tsx
similarity index 100%
rename from app/soapbox/features/ui/util/reduced_motion.tsx
rename to app/soapbox/features/ui/util/reduced-motion.tsx
diff --git a/app/soapbox/features/verification/email_passthru.tsx b/app/soapbox/features/verification/email-passthru.tsx
similarity index 100%
rename from app/soapbox/features/verification/email_passthru.tsx
rename to app/soapbox/features/verification/email-passthru.tsx
diff --git a/app/soapbox/features/verification/waitlist_page.tsx b/app/soapbox/features/verification/waitlist-page.tsx
similarity index 100%
rename from app/soapbox/features/verification/waitlist_page.tsx
rename to app/soapbox/features/verification/waitlist-page.tsx
diff --git a/app/soapbox/jest/test-helpers.tsx b/app/soapbox/jest/test-helpers.tsx
index 721783879..85e0c5bec 100644
--- a/app/soapbox/jest/test-helpers.tsx
+++ b/app/soapbox/jest/test-helpers.tsx
@@ -11,7 +11,7 @@ import { Action, applyMiddleware, createStore } from 'redux';
import thunk from 'redux-thunk';
import '@testing-library/jest-dom';
-import NotificationsContainer from '../features/ui/containers/notifications_container';
+import NotificationsContainer from '../features/ui/containers/notifications-container';
import { default as rootReducer } from '../reducers';
import type { AnyAction } from 'redux';
diff --git a/app/soapbox/pages/admin-page.tsx b/app/soapbox/pages/admin-page.tsx
index 909955abe..eeccc004c 100644
--- a/app/soapbox/pages/admin-page.tsx
+++ b/app/soapbox/pages/admin-page.tsx
@@ -1,12 +1,12 @@
import React from 'react';
import { Layout } from 'soapbox/components/ui';
-import BundleContainer from 'soapbox/features/ui/containers/bundle_container';
+import BundleContainer from 'soapbox/features/ui/containers/bundle-container';
import {
LatestAccountsPanel,
} from 'soapbox/features/ui/util/async-components';
-import LinkFooter from '../features/ui/components/link_footer';
+import LinkFooter from '../features/ui/components/link-footer';
const AdminPage: React.FC = ({ children }) => {
return (
diff --git a/app/soapbox/pages/default-page.tsx b/app/soapbox/pages/default-page.tsx
index f6561cbf0..c95ca5bf1 100644
--- a/app/soapbox/pages/default-page.tsx
+++ b/app/soapbox/pages/default-page.tsx
@@ -1,7 +1,7 @@
import React from 'react';
-import LinkFooter from 'soapbox/features/ui/components/link_footer';
-import BundleContainer from 'soapbox/features/ui/containers/bundle_container';
+import LinkFooter from 'soapbox/features/ui/components/link-footer';
+import BundleContainer from 'soapbox/features/ui/containers/bundle-container';
import {
WhoToFollowPanel,
TrendsPanel,
diff --git a/app/soapbox/pages/home-page.tsx b/app/soapbox/pages/home-page.tsx
index 2d73673d7..d3908fd1e 100644
--- a/app/soapbox/pages/home-page.tsx
+++ b/app/soapbox/pages/home-page.tsx
@@ -2,7 +2,7 @@ import React, { useRef } from 'react';
import { Link } from 'react-router-dom';
import FeedCarousel from 'soapbox/features/feed-filtering/feed-carousel';
-import LinkFooter from 'soapbox/features/ui/components/link_footer';
+import LinkFooter from 'soapbox/features/ui/components/link-footer';
import {
WhoToFollowPanel,
TrendsPanel,
@@ -19,7 +19,7 @@ import { useAppSelector, useOwnAccount, useFeatures, useSoapboxConfig } from 'so
import Avatar from '../components/avatar';
import { Card, CardBody, Layout } from '../components/ui';
import ComposeForm from '../features/compose/components/compose-form';
-import BundleContainer from '../features/ui/containers/bundle_container';
+import BundleContainer from '../features/ui/containers/bundle-container';
// import GroupSidebarPanel from '../features/groups/sidebar_panel';
const HomePage: React.FC = ({ children }) => {
diff --git a/app/soapbox/pages/profile-page.tsx b/app/soapbox/pages/profile-page.tsx
index 1cc5f64fe..95f35bc6a 100644
--- a/app/soapbox/pages/profile-page.tsx
+++ b/app/soapbox/pages/profile-page.tsx
@@ -4,8 +4,8 @@ import { Redirect, useHistory } from 'react-router-dom';
import { Column, Layout, Tabs } from 'soapbox/components/ui';
import Header from 'soapbox/features/account/components/header';
-import LinkFooter from 'soapbox/features/ui/components/link_footer';
-import BundleContainer from 'soapbox/features/ui/containers/bundle_container';
+import LinkFooter from 'soapbox/features/ui/components/link-footer';
+import BundleContainer from 'soapbox/features/ui/containers/bundle-container';
import {
WhoToFollowPanel,
ProfileInfoPanel,
diff --git a/app/soapbox/pages/remote-instance-page.tsx b/app/soapbox/pages/remote-instance-page.tsx
index e3488908c..92f1eb56a 100644
--- a/app/soapbox/pages/remote-instance-page.tsx
+++ b/app/soapbox/pages/remote-instance-page.tsx
@@ -1,7 +1,7 @@
import React from 'react';
-import LinkFooter from 'soapbox/features/ui/components/link_footer';
-import BundleContainer from 'soapbox/features/ui/containers/bundle_container';
+import LinkFooter from 'soapbox/features/ui/components/link-footer';
+import BundleContainer from 'soapbox/features/ui/containers/bundle-container';
import {
PromoPanel,
InstanceInfoPanel,
diff --git a/app/soapbox/pages/status-page.tsx b/app/soapbox/pages/status-page.tsx
index c0c99abd7..feb9de202 100644
--- a/app/soapbox/pages/status-page.tsx
+++ b/app/soapbox/pages/status-page.tsx
@@ -1,6 +1,6 @@
import React from 'react';
-import LinkFooter from 'soapbox/features/ui/components/link_footer';
+import LinkFooter from 'soapbox/features/ui/components/link-footer';
import {
WhoToFollowPanel,
TrendsPanel,
@@ -10,7 +10,7 @@ import {
import { useAppSelector, useFeatures } from 'soapbox/hooks';
import { Layout } from '../components/ui';
-import BundleContainer from '../features/ui/containers/bundle_container';
+import BundleContainer from '../features/ui/containers/bundle-container';
interface IStatusPage {
children: React.ReactNode,
diff --git a/app/soapbox/reducers/accounts_meta.ts b/app/soapbox/reducers/accounts-meta.ts
similarity index 100%
rename from app/soapbox/reducers/accounts_meta.ts
rename to app/soapbox/reducers/accounts-meta.ts
diff --git a/app/soapbox/reducers/custom-emojis.ts b/app/soapbox/reducers/custom-emojis.ts
index eb4ab3b1c..06b6bf79d 100644
--- a/app/soapbox/reducers/custom-emojis.ts
+++ b/app/soapbox/reducers/custom-emojis.ts
@@ -3,7 +3,7 @@ import { List as ImmutableList, Map as ImmutableMap, fromJS } from 'immutable';
import { emojis as emojiData } from 'soapbox/features/emoji/emoji-mart-data-light';
import { addCustomToPool } from 'soapbox/features/emoji/emoji-mart-search-light';
-import { CUSTOM_EMOJIS_FETCH_SUCCESS } from '../actions/custom_emojis';
+import { CUSTOM_EMOJIS_FETCH_SUCCESS } from '../actions/custom-emojis';
import { buildCustomEmojis } from '../features/emoji/emoji';
import type { AnyAction } from 'redux';
diff --git a/app/soapbox/reducers/domain-lists.ts b/app/soapbox/reducers/domain-lists.ts
index 78af7f515..30f55aaf8 100644
--- a/app/soapbox/reducers/domain-lists.ts
+++ b/app/soapbox/reducers/domain-lists.ts
@@ -4,7 +4,7 @@ import {
DOMAIN_BLOCKS_FETCH_SUCCESS,
DOMAIN_BLOCKS_EXPAND_SUCCESS,
DOMAIN_UNBLOCK_SUCCESS,
-} from '../actions/domain_blocks';
+} from '../actions/domain-blocks';
import type { AnyAction } from 'redux';
diff --git a/app/soapbox/reducers/dropdown-menu.ts b/app/soapbox/reducers/dropdown-menu.ts
index 64bc316b9..dd5c70369 100644
--- a/app/soapbox/reducers/dropdown-menu.ts
+++ b/app/soapbox/reducers/dropdown-menu.ts
@@ -3,7 +3,7 @@ import { Record as ImmutableRecord } from 'immutable';
import {
DROPDOWN_MENU_OPEN,
DROPDOWN_MENU_CLOSE,
-} from '../actions/dropdown_menu';
+} from '../actions/dropdown-menu';
import type { AnyAction } from 'redux';
import type { DropdownPlacement } from 'soapbox/components/dropdown-menu';
diff --git a/app/soapbox/reducers/index.ts b/app/soapbox/reducers/index.ts
index 1caa7d976..c900be16c 100644
--- a/app/soapbox/reducers/index.ts
+++ b/app/soapbox/reducers/index.ts
@@ -7,7 +7,7 @@ import * as BuildConfig from 'soapbox/build-config';
import account_notes from './account-notes';
import accounts from './accounts';
import accounts_counters from './accounts-counters';
-import accounts_meta from './accounts_meta';
+import accounts_meta from './accounts-meta';
import admin from './admin';
import admin_log from './admin-log';
import alerts from './alerts';
diff --git a/app/soapbox/reducers/profile-hover-card.ts b/app/soapbox/reducers/profile-hover-card.ts
index b07897715..f662a3b99 100644
--- a/app/soapbox/reducers/profile-hover-card.ts
+++ b/app/soapbox/reducers/profile-hover-card.ts
@@ -4,7 +4,7 @@ import {
PROFILE_HOVER_CARD_OPEN,
PROFILE_HOVER_CARD_CLOSE,
PROFILE_HOVER_CARD_UPDATE,
-} from 'soapbox/actions/profile_hover_card';
+} from 'soapbox/actions/profile-hover-card';
import type { AnyAction } from 'redux';
diff --git a/app/soapbox/reducers/relationships.ts b/app/soapbox/reducers/relationships.ts
index 9aafa5542..47e222260 100644
--- a/app/soapbox/reducers/relationships.ts
+++ b/app/soapbox/reducers/relationships.ts
@@ -26,7 +26,7 @@ import {
import {
DOMAIN_BLOCK_SUCCESS,
DOMAIN_UNBLOCK_SUCCESS,
-} from '../actions/domain_blocks';
+} from '../actions/domain-blocks';
import {
ACCOUNT_IMPORT,
ACCOUNTS_IMPORT,
diff --git a/app/soapbox/reducers/scheduled-statuses.ts b/app/soapbox/reducers/scheduled-statuses.ts
index 13b4a934d..edcc86337 100644
--- a/app/soapbox/reducers/scheduled-statuses.ts
+++ b/app/soapbox/reducers/scheduled-statuses.ts
@@ -5,7 +5,7 @@ import {
SCHEDULED_STATUSES_FETCH_SUCCESS,
SCHEDULED_STATUS_CANCEL_REQUEST,
SCHEDULED_STATUS_CANCEL_SUCCESS,
-} from 'soapbox/actions/scheduled_statuses';
+} from 'soapbox/actions/scheduled-statuses';
import { STATUS_CREATE_SUCCESS } from 'soapbox/actions/statuses';
import type { AnyAction } from 'redux';
diff --git a/app/soapbox/reducers/status-lists.ts b/app/soapbox/reducers/status-lists.ts
index be87e2910..3a19c5eea 100644
--- a/app/soapbox/reducers/status-lists.ts
+++ b/app/soapbox/reducers/status-lists.ts
@@ -36,7 +36,7 @@ import {
} from '../actions/interactions';
import {
PINNED_STATUSES_FETCH_SUCCESS,
-} from '../actions/pin_statuses';
+} from '../actions/pin-statuses';
import {
SCHEDULED_STATUSES_FETCH_REQUEST,
SCHEDULED_STATUSES_FETCH_SUCCESS,
@@ -46,7 +46,7 @@ import {
SCHEDULED_STATUSES_EXPAND_FAIL,
SCHEDULED_STATUS_CANCEL_REQUEST,
SCHEDULED_STATUS_CANCEL_SUCCESS,
-} from '../actions/scheduled_statuses';
+} from '../actions/scheduled-statuses';
import type { AnyAction } from 'redux';
import type { Status as StatusEntity } from 'soapbox/types/entities';
diff --git a/app/soapbox/reducers/statuses.ts b/app/soapbox/reducers/statuses.ts
index e63cd48c3..2c19b2511 100644
--- a/app/soapbox/reducers/statuses.ts
+++ b/app/soapbox/reducers/statuses.ts
@@ -10,7 +10,7 @@ import { makeEmojiMap, normalizeId } from 'soapbox/utils/normalizers';
import {
EMOJI_REACT_REQUEST,
UNEMOJI_REACT_REQUEST,
-} from '../actions/emoji_reacts';
+} from '../actions/emoji-reacts';
import { STATUS_IMPORT, STATUSES_IMPORT } from '../actions/importer';
import {
REBLOG_REQUEST,
diff --git a/app/soapbox/reducers/suggestions.ts b/app/soapbox/reducers/suggestions.ts
index 8335ff9ec..e3d72a34c 100644
--- a/app/soapbox/reducers/suggestions.ts
+++ b/app/soapbox/reducers/suggestions.ts
@@ -1,7 +1,7 @@
import { OrderedSet as ImmutableOrderedSet, Record as ImmutableRecord } from 'immutable';
import { ACCOUNT_BLOCK_SUCCESS, ACCOUNT_MUTE_SUCCESS } from 'soapbox/actions/accounts';
-import { DOMAIN_BLOCK_SUCCESS } from 'soapbox/actions/domain_blocks';
+import { DOMAIN_BLOCK_SUCCESS } from 'soapbox/actions/domain-blocks';
import {
SUGGESTIONS_FETCH_REQUEST,
SUGGESTIONS_FETCH_SUCCESS,
diff --git a/app/soapbox/reducers/trending-statuses.ts b/app/soapbox/reducers/trending-statuses.ts
index c27ab31a0..189f7006d 100644
--- a/app/soapbox/reducers/trending-statuses.ts
+++ b/app/soapbox/reducers/trending-statuses.ts
@@ -3,7 +3,7 @@ import { OrderedSet as ImmutableOrderedSet, Record as ImmutableRecord } from 'im
import {
TRENDING_STATUSES_FETCH_REQUEST,
TRENDING_STATUSES_FETCH_SUCCESS,
-} from 'soapbox/actions/trending_statuses';
+} from 'soapbox/actions/trending-statuses';
import { APIEntity } from 'soapbox/types/entities';
import type { AnyAction } from 'redux';
diff --git a/app/soapbox/reducers/user-lists.ts b/app/soapbox/reducers/user-lists.ts
index 4c84f1836..721af9b73 100644
--- a/app/soapbox/reducers/user-lists.ts
+++ b/app/soapbox/reducers/user-lists.ts
@@ -31,7 +31,7 @@ import {
} from '../actions/directory';
import {
FAMILIAR_FOLLOWERS_FETCH_SUCCESS,
-} from '../actions/familiar_followers';
+} from '../actions/familiar-followers';
import {
REBLOGS_FETCH_SUCCESS,
FAVOURITES_FETCH_SUCCESS,
diff --git a/app/styles/application.scss b/app/styles/application.scss
index e7974c887..1c14c5c0e 100644
--- a/app/styles/application.scss
+++ b/app/styles/application.scss
@@ -19,7 +19,7 @@
@import 'loading';
@import 'ui';
// @import 'introduction';
-@import 'emoji_picker';
+@import 'emoji-picker';
@import 'about';
@import 'rtl';
@import 'accessibility';
@@ -58,7 +58,7 @@
@import 'components/spoiler-button';
@import 'components/video-player';
@import 'components/audio-player';
-@import 'components/profile_hover_card';
+@import 'components/profile-hover-card';
@import 'components/filters';
@import 'components/snackbar';
@import 'components/accordion';
diff --git a/app/styles/components/profile_hover_card.scss b/app/styles/components/profile-hover-card.scss
similarity index 100%
rename from app/styles/components/profile_hover_card.scss
rename to app/styles/components/profile-hover-card.scss
diff --git a/app/styles/emoji_picker.scss b/app/styles/emoji-picker.scss
similarity index 100%
rename from app/styles/emoji_picker.scss
rename to app/styles/emoji-picker.scss
diff --git a/jsdoc.conf.js b/jsdoc.conf.js
index e3d2325a0..ec2335fbe 100644
--- a/jsdoc.conf.js
+++ b/jsdoc.conf.js
@@ -5,7 +5,7 @@ const { join } = require('path');
const {
FE_BUILD_DIR,
FE_SUBDIRECTORY,
-} = require(join(__dirname, 'app', 'soapbox', 'build_config'));
+} = require(join(__dirname, 'app', 'soapbox', 'build-config'));
module.exports = {
plugins: [],
diff --git a/webpack/configuration.ts b/webpack/configuration.ts
index 9596cf8e3..39b8bef8e 100644
--- a/webpack/configuration.ts
+++ b/webpack/configuration.ts
@@ -4,7 +4,7 @@ import { env } from 'process';
const {
FE_SUBDIRECTORY,
FE_BUILD_DIR,
-} = require(join(__dirname, '..', 'app', 'soapbox', 'build_config'));
+} = require(join(__dirname, '..', 'app', 'soapbox', 'build-config'));
const settings = {
source_path: 'app',
diff --git a/webpack/development.ts b/webpack/development.ts
index 1b8593717..57401e7d3 100644
--- a/webpack/development.ts
+++ b/webpack/development.ts
@@ -24,7 +24,7 @@ const DEFAULTS = {
PATRON_URL: 'http://localhost:3037',
};
-const { FE_SUBDIRECTORY } = require(join(__dirname, '..', 'app', 'soapbox', 'build_config'));
+const { FE_SUBDIRECTORY } = require(join(__dirname, '..', 'app', 'soapbox', 'build-config'));
const backendEndpoints = [
'/api',
diff --git a/webpack/production.ts b/webpack/production.ts
index 6115b6aa4..9632754ce 100644
--- a/webpack/production.ts
+++ b/webpack/production.ts
@@ -12,7 +12,7 @@ import sharedConfig from './shared';
import type { Configuration } from 'webpack';
-const { FE_SUBDIRECTORY } = require(join(__dirname, '..', 'app', 'soapbox', 'build_config'));
+const { FE_SUBDIRECTORY } = require(join(__dirname, '..', 'app', 'soapbox', 'build-config'));
const joinPublicPath = (...paths: string[]) => join(FE_SUBDIRECTORY, ...paths);
const configuration: Configuration = {
diff --git a/webpack/rules/babel-build-config.ts b/webpack/rules/babel-build-config.ts
index 9e2e4e657..0e1fa0b7c 100644
--- a/webpack/rules/babel-build-config.ts
+++ b/webpack/rules/babel-build-config.ts
@@ -4,11 +4,11 @@ import { env } from '../configuration';
import type { RuleSetRule } from 'webpack';
-// This is a hack, used to force build_config @preval to recompile
+// This is a hack, used to force build-config @preval to recompile
// https://github.com/kentcdodds/babel-plugin-preval/issues/19
const rule: RuleSetRule = {
- test: resolve(__dirname, '../../app/soapbox/build_config.js'),
+ test: resolve(__dirname, '../../app/soapbox/build-config.js'),
use: [
{
loader: 'babel-loader',
diff --git a/webpack/shared.ts b/webpack/shared.ts
index eb587cfaf..2f56ccca4 100644
--- a/webpack/shared.ts
+++ b/webpack/shared.ts
@@ -15,7 +15,7 @@ import DeadCodePlugin from 'webpack-deadcode-plugin';
import { env, settings, output } from './configuration';
import rules from './rules';
-const { FE_SUBDIRECTORY, FE_INSTANCE_SOURCE_DIR } = require(join(__dirname, '..', 'app', 'soapbox', 'build_config'));
+const { FE_SUBDIRECTORY, FE_INSTANCE_SOURCE_DIR } = require(join(__dirname, '..', 'app', 'soapbox', 'build-config'));
/** Return file as string, or return empty string. */
const readFile = (filename: string) => {