From 61a5b1a3375c2452f26d92502f9678fd374ce7e4 Mon Sep 17 00:00:00 2001
From: Shazib Hussain <me@shazib.com>
Date: Thu, 15 Jun 2023 23:11:45 +0100
Subject: [PATCH] Remove 'export' keyword where not needed. (#1139)

As discussed in #1126 creating separate PRs.

The linter rule isn't actually part of this first PR and will likely be
in the final PR as otherwise it will just fail because all the issues
aren't resolved.

The code is 'ready' though so as soon as this is merged I will open next
one(s)
---
 .../src/components/FixedSizeList.js              |  2 +-
 .../src/components/KeyHandlers.tsx               |  2 +-
 .../desktop-client/src/components/ManageRules.js | 11 ++---------
 .../src/components/NotesButton.tsx               |  2 +-
 .../desktop-client/src/components/Titlebar.js    |  2 +-
 .../src/components/accounts/MobileAccounts.js    |  6 +++---
 .../src/components/accounts/MobileTransaction.js |  8 ++++----
 .../src/components/accounts/TransactionsTable.js |  6 +++---
 .../desktop-client/src/components/alerts.tsx     |  2 +-
 .../autocomplete/AccountAutocomplete.js          |  7 +------
 .../src/components/autocomplete/Autocomplete.tsx |  4 ++--
 .../components/autocomplete/CategorySelect.tsx   |  2 +-
 .../components/autocomplete/PayeeAutocomplete.js |  2 +-
 .../components/budget/BudgetMonthCountContext.js |  2 +-
 .../src/components/budget/MobileBudgetTable.js   | 16 ++++++++--------
 .../desktop-client/src/components/budget/misc.js |  6 +++---
 .../desktop-client/src/components/common.tsx     |  2 +-
 .../src/components/common/Text.tsx               |  2 +-
 .../src/components/modals/EditRule.js            |  6 +++---
 .../src/components/modals/ImportTransactions.js  |  2 +-
 .../src/components/select/DateSelect.js          |  2 +-
 packages/desktop-client/src/components/sort.js   |  2 +-
 packages/desktop-client/src/components/table.tsx |  6 +++---
 .../desktop-client/src/hooks/useProperFocus.js   |  2 +-
 packages/desktop-client/src/util/versions.ts     |  2 +-
 upcoming-release-notes/1139.md                   |  6 ++++++
 26 files changed, 53 insertions(+), 59 deletions(-)
 create mode 100644 upcoming-release-notes/1139.md

diff --git a/packages/desktop-client/src/components/FixedSizeList.js b/packages/desktop-client/src/components/FixedSizeList.js
index e811f6518..424560f36 100644
--- a/packages/desktop-client/src/components/FixedSizeList.js
+++ b/packages/desktop-client/src/components/FixedSizeList.js
@@ -15,7 +15,7 @@ function ResizeObserver({ onResize, children }) {
   return children(ref);
 }
 
-export class FixedSizeList extends PureComponent {
+export default class FixedSizeList extends PureComponent {
   _outerRef;
   _resetIsScrollingTimeoutId = null;
 
diff --git a/packages/desktop-client/src/components/KeyHandlers.tsx b/packages/desktop-client/src/components/KeyHandlers.tsx
index fc58fc531..1a38701b5 100644
--- a/packages/desktop-client/src/components/KeyHandlers.tsx
+++ b/packages/desktop-client/src/components/KeyHandlers.tsx
@@ -29,7 +29,7 @@ type KeyHandlerProps = {
   eventType?: string;
   handler: HotKeyHandler;
 };
-export function KeyHandler({
+function KeyHandler({
   keyName,
   eventType = 'keydown',
   handler,
diff --git a/packages/desktop-client/src/components/ManageRules.js b/packages/desktop-client/src/components/ManageRules.js
index 13d817aa9..486ababc0 100644
--- a/packages/desktop-client/src/components/ManageRules.js
+++ b/packages/desktop-client/src/components/ManageRules.js
@@ -210,14 +210,7 @@ export function Value({
   }
 }
 
-export function ConditionExpression({
-  field,
-  op,
-  value,
-  options,
-  prefix,
-  style,
-}) {
+function ConditionExpression({ field, op, value, options, prefix, style }) {
   return (
     <View
       style={[
@@ -265,7 +258,7 @@ function ScheduleValue({ value }) {
   );
 }
 
-export function ActionExpression({ field, op, value, options, style }) {
+function ActionExpression({ field, op, value, options, style }) {
   return (
     <View
       style={[
diff --git a/packages/desktop-client/src/components/NotesButton.tsx b/packages/desktop-client/src/components/NotesButton.tsx
index d840ef46f..98c1c7988 100644
--- a/packages/desktop-client/src/components/NotesButton.tsx
+++ b/packages/desktop-client/src/components/NotesButton.tsx
@@ -17,7 +17,7 @@ type NotesTooltipProps = {
   position?: string;
   onClose?: (notes: string) => void;
 };
-export function NotesTooltip({
+function NotesTooltip({
   editable,
   defaultNotes,
   position = 'bottom-left',
diff --git a/packages/desktop-client/src/components/Titlebar.js b/packages/desktop-client/src/components/Titlebar.js
index 407e4c641..35093383e 100644
--- a/packages/desktop-client/src/components/Titlebar.js
+++ b/packages/desktop-client/src/components/Titlebar.js
@@ -63,7 +63,7 @@ export function TitlebarProvider({ children }) {
   );
 }
 
-export function UncategorizedButton() {
+function UncategorizedButton() {
   return (
     <SheetValue binding={queries.uncategorizedCount()}>
       {node => {
diff --git a/packages/desktop-client/src/components/accounts/MobileAccounts.js b/packages/desktop-client/src/components/accounts/MobileAccounts.js
index 3f0946095..d76baefee 100644
--- a/packages/desktop-client/src/components/accounts/MobileAccounts.js
+++ b/packages/desktop-client/src/components/accounts/MobileAccounts.js
@@ -11,7 +11,7 @@ import { Button, Text, TextOneLine, View } from '../common';
 import { Page } from '../Page';
 import CellValue from '../spreadsheet/CellValue';
 
-export function AccountHeader({ name, amount }) {
+function AccountHeader({ name, amount }) {
   return (
     <View
       style={{
@@ -40,7 +40,7 @@ export function AccountHeader({ name, amount }) {
   );
 }
 
-export function AccountCard({ account, updated, getBalanceQuery, onSelect }) {
+function AccountCard({ account, updated, getBalanceQuery, onSelect }) {
   return (
     <View
       style={{
@@ -142,7 +142,7 @@ function EmptyMessage({ onAdd }) {
   );
 }
 
-export class AccountList extends Component {
+class AccountList extends Component {
   isNewTransaction = id => {
     return this.props.newTransactions.includes(id);
   };
diff --git a/packages/desktop-client/src/components/accounts/MobileTransaction.js b/packages/desktop-client/src/components/accounts/MobileTransaction.js
index 0615a6ffe..6a0a298da 100644
--- a/packages/desktop-client/src/components/accounts/MobileTransaction.js
+++ b/packages/desktop-client/src/components/accounts/MobileTransaction.js
@@ -31,7 +31,7 @@ const zIndices = { SECTION_HEADING: 10 };
 let getPayeesById = memoizeOne(payees => groupById(payees));
 let getAccountsById = memoizeOne(accounts => groupById(accounts));
 
-export function isPreviewId(id) {
+function isPreviewId(id) {
   return id.indexOf('preview/') !== -1;
 }
 
@@ -97,7 +97,7 @@ function Status({ status }) {
   );
 }
 
-export class Transaction extends PureComponent {
+class Transaction extends PureComponent {
   render() {
     const {
       transaction,
@@ -471,9 +471,9 @@ function Option({ isLast, item, state }) {
   );
 }
 
-export const ROW_HEIGHT = 50;
+const ROW_HEIGHT = 50;
 
-export const ListItem = forwardRef(({ children, style, ...props }, ref) => {
+const ListItem = forwardRef(({ children, style, ...props }, ref) => {
   return (
     <View
       style={[
diff --git a/packages/desktop-client/src/components/accounts/TransactionsTable.js b/packages/desktop-client/src/components/accounts/TransactionsTable.js
index 2ececa01b..803decab4 100644
--- a/packages/desktop-client/src/components/accounts/TransactionsTable.js
+++ b/packages/desktop-client/src/components/accounts/TransactionsTable.js
@@ -236,7 +236,7 @@ export function SplitsExpandedProvider({ children, initialMode = 'expand' }) {
   );
 }
 
-export const TransactionHeader = memo(
+const TransactionHeader = memo(
   ({ hasSelected, showAccount, showCategory, showBalance, showCleared }) => {
     let dispatchSelected = useSelectedDispatch();
 
@@ -497,7 +497,7 @@ function CellWithScheduleIcon({ scheduleId, children }) {
   );
 }
 
-export const Transaction = memo(function Transaction(props) {
+const Transaction = memo(function Transaction(props) {
   let {
     transaction: originalTransaction,
     editing,
@@ -1067,7 +1067,7 @@ export const Transaction = memo(function Transaction(props) {
   );
 });
 
-export function TransactionError({ error, isDeposit, onAddSplit, style }) {
+function TransactionError({ error, isDeposit, onAddSplit, style }) {
   switch (error.type) {
     case 'SplitTransactionError':
       if (error.version === 1) {
diff --git a/packages/desktop-client/src/components/alerts.tsx b/packages/desktop-client/src/components/alerts.tsx
index bf04311da..64849fe63 100644
--- a/packages/desktop-client/src/components/alerts.tsx
+++ b/packages/desktop-client/src/components/alerts.tsx
@@ -17,7 +17,7 @@ type AlertProps = {
   children?: ReactNode;
 };
 
-export const Alert = ({
+const Alert = ({
   icon: Icon,
   color,
   backgroundColor,
diff --git a/packages/desktop-client/src/components/autocomplete/AccountAutocomplete.js b/packages/desktop-client/src/components/autocomplete/AccountAutocomplete.js
index d03ae0148..ade0abc8f 100644
--- a/packages/desktop-client/src/components/autocomplete/AccountAutocomplete.js
+++ b/packages/desktop-client/src/components/autocomplete/AccountAutocomplete.js
@@ -7,12 +7,7 @@ import { View } from '../common';
 
 import Autocomplete from './Autocomplete';
 
-export function AccountList({
-  items,
-  getItemProps,
-  highlightedIndex,
-  embedded,
-}) {
+function AccountList({ items, getItemProps, highlightedIndex, embedded }) {
   let lastItem = null;
 
   return (
diff --git a/packages/desktop-client/src/components/autocomplete/Autocomplete.tsx b/packages/desktop-client/src/components/autocomplete/Autocomplete.tsx
index a56ac15d7..dd5d94a0b 100644
--- a/packages/desktop-client/src/components/autocomplete/Autocomplete.tsx
+++ b/packages/desktop-client/src/components/autocomplete/Autocomplete.tsx
@@ -48,7 +48,7 @@ export function defaultFilterSuggestion(suggestion, value) {
   return getItemName(suggestion).toLowerCase().includes(value.toLowerCase());
 }
 
-export function defaultFilterSuggestions(suggestions, value) {
+function defaultFilterSuggestions(suggestions, value) {
   return suggestions.filter(suggestion =>
     defaultFilterSuggestion(suggestion, value),
   );
@@ -524,7 +524,7 @@ type MultiAutocompleteProps = Omit<
   value: unknown[];
   onSelect: (ids: unknown[], id?: string) => void;
 };
-export function MultiAutocomplete({
+function MultiAutocomplete({
   value: selectedItems,
   onSelect,
   suggestions,
diff --git a/packages/desktop-client/src/components/autocomplete/CategorySelect.tsx b/packages/desktop-client/src/components/autocomplete/CategorySelect.tsx
index 6a1824dfb..5f1b9b370 100644
--- a/packages/desktop-client/src/components/autocomplete/CategorySelect.tsx
+++ b/packages/desktop-client/src/components/autocomplete/CategorySelect.tsx
@@ -55,7 +55,7 @@ type CategoryListProps = {
   embedded: boolean;
   footer?: ReactNode;
 };
-export function CategoryList({
+function CategoryList({
   items,
   getItemProps,
   highlightedIndex,
diff --git a/packages/desktop-client/src/components/autocomplete/PayeeAutocomplete.js b/packages/desktop-client/src/components/autocomplete/PayeeAutocomplete.js
index 86904ff98..fcb35b10b 100644
--- a/packages/desktop-client/src/components/autocomplete/PayeeAutocomplete.js
+++ b/packages/desktop-client/src/components/autocomplete/PayeeAutocomplete.js
@@ -42,7 +42,7 @@ function stripNew(value) {
   return value;
 }
 
-export function PayeeList({
+function PayeeList({
   items,
   getItemProps,
   highlightedIndex,
diff --git a/packages/desktop-client/src/components/budget/BudgetMonthCountContext.js b/packages/desktop-client/src/components/budget/BudgetMonthCountContext.js
index 489cb938e..4fda12ed7 100644
--- a/packages/desktop-client/src/components/budget/BudgetMonthCountContext.js
+++ b/packages/desktop-client/src/components/budget/BudgetMonthCountContext.js
@@ -1,6 +1,6 @@
 import React, { createContext, useContext, useState } from 'react';
 
-export let BudgetMonthCountContext = createContext();
+let BudgetMonthCountContext = createContext();
 
 export function BudgetMonthCountProvider({ children }) {
   let [displayMax, setDisplayMax] = useState(1);
diff --git a/packages/desktop-client/src/components/budget/MobileBudgetTable.js b/packages/desktop-client/src/components/budget/MobileBudgetTable.js
index b2cf6ed06..58d70f683 100644
--- a/packages/desktop-client/src/components/budget/MobileBudgetTable.js
+++ b/packages/desktop-client/src/components/budget/MobileBudgetTable.js
@@ -35,7 +35,7 @@ import { AmountInput } from '../util/AmountInput';
 // import { DragDrop, Draggable, Droppable, DragDropHighlight } from './dragdrop';
 import { ListItem, ROW_HEIGHT } from './MobileTable';
 
-export function ToBudget({ toBudget, onClick }) {
+function ToBudget({ toBudget, onClick }) {
   return (
     <SheetValue binding={toBudget}>
       {({ value: amount }) => {
@@ -99,7 +99,7 @@ function Saved({ projected }) {
   );
 }
 
-export class BudgetCell extends PureComponent {
+class BudgetCell extends PureComponent {
   render() {
     const {
       name,
@@ -237,7 +237,7 @@ function BudgetCategoryPreview({ name, pending, style }) {
   );
 }
 
-export class BudgetCategory extends PureComponent {
+class BudgetCategory extends PureComponent {
   constructor(props) {
     super(props);
 
@@ -364,7 +364,7 @@ export class BudgetCategory extends PureComponent {
   }
 }
 
-export class TotalsRow extends PureComponent {
+class TotalsRow extends PureComponent {
   constructor(props) {
     super(props);
 
@@ -483,7 +483,7 @@ export class TotalsRow extends PureComponent {
   }
 }
 
-export class IncomeCategory extends PureComponent {
+class IncomeCategory extends PureComponent {
   render() {
     const { name, budget, balance, style, nameTextStyle, amountTextStyle } =
       this.props;
@@ -568,7 +568,7 @@ export class IncomeCategory extends PureComponent {
 //   );
 // }
 
-export class BudgetGroup extends PureComponent {
+class BudgetGroup extends PureComponent {
   render() {
     const {
       group,
@@ -650,7 +650,7 @@ export class BudgetGroup extends PureComponent {
   }
 }
 
-export class IncomeBudgetGroup extends Component {
+class IncomeBudgetGroup extends Component {
   render() {
     const { type, group } = this.props;
     return (
@@ -713,7 +713,7 @@ export class IncomeBudgetGroup extends Component {
   }
 }
 
-export class BudgetGroups extends Component {
+class BudgetGroups extends Component {
   getGroups = memoizeOne(groups => {
     return {
       incomeGroup: groups.find(group => group.is_income),
diff --git a/packages/desktop-client/src/components/budget/misc.js b/packages/desktop-client/src/components/budget/misc.js
index 3a9c87ef1..d32090b7a 100644
--- a/packages/desktop-client/src/components/budget/misc.js
+++ b/packages/desktop-client/src/components/budget/misc.js
@@ -317,7 +317,7 @@ const connected = connect(
 
 export { connected as BudgetTable };
 
-export function SidebarCategory({
+function SidebarCategory({
   innerRef,
   category,
   dragPreview,
@@ -470,7 +470,7 @@ export function SidebarCategory({
   );
 }
 
-export function SidebarGroup({
+function SidebarGroup({
   group,
   editing,
   collapsed,
@@ -1381,7 +1381,7 @@ function getCurrentMonthName(startMonth, currentMonth) {
     : null;
 }
 
-export const MonthPicker = ({
+const MonthPicker = ({
   startMonth,
   numDisplayed,
   monthBounds,
diff --git a/packages/desktop-client/src/components/common.tsx b/packages/desktop-client/src/components/common.tsx
index d36b3b5a7..10852738c 100644
--- a/packages/desktop-client/src/components/common.tsx
+++ b/packages/desktop-client/src/components/common.tsx
@@ -467,7 +467,7 @@ type KeybindingProps = {
   keyName: ReactNode;
 };
 
-export function Keybinding({ keyName }: KeybindingProps) {
+function Keybinding({ keyName }: KeybindingProps) {
   return <Text style={{ fontSize: 10, color: colors.n6 }}>{keyName}</Text>;
 }
 
diff --git a/packages/desktop-client/src/components/common/Text.tsx b/packages/desktop-client/src/components/common/Text.tsx
index 0d0acb824..8546e1e73 100644
--- a/packages/desktop-client/src/components/common/Text.tsx
+++ b/packages/desktop-client/src/components/common/Text.tsx
@@ -10,7 +10,7 @@ type TextProps = HTMLPropsWithStyle<HTMLSpanElement> & {
   children?: ReactNode;
 };
 
-export const Text = (props: TextProps) => {
+const Text = (props: TextProps) => {
   const { style, innerRef, ...restProps } = props;
   return (
     <span
diff --git a/packages/desktop-client/src/components/modals/EditRule.js b/packages/desktop-client/src/components/modals/EditRule.js
index 0e4b4a291..06cc775e6 100644
--- a/packages/desktop-client/src/components/modals/EditRule.js
+++ b/packages/desktop-client/src/components/modals/EditRule.js
@@ -78,7 +78,7 @@ function getTransactionFields(conditions, actions) {
   return fields;
 }
 
-export function FieldSelect({ fields, style, value, onChange }) {
+function FieldSelect({ fields, style, value, onChange }) {
   return (
     <View style={style}>
       <CustomSelect
@@ -175,7 +175,7 @@ function Editor({ error, style, children }) {
   );
 }
 
-export function ConditionEditor({
+function ConditionEditor({
   ops,
   condition,
   editorStyle,
@@ -402,7 +402,7 @@ function newInput(item) {
   return { ...item, inputKey: '' + Math.random() };
 }
 
-export function ConditionsList({
+function ConditionsList({
   conditionsOp,
   conditions,
   editorStyle,
diff --git a/packages/desktop-client/src/components/modals/ImportTransactions.js b/packages/desktop-client/src/components/modals/ImportTransactions.js
index b98f8fe4b..b954e5bba 100644
--- a/packages/desktop-client/src/components/modals/ImportTransactions.js
+++ b/packages/desktop-client/src/components/modals/ImportTransactions.js
@@ -546,7 +546,7 @@ function MultipliersField({ multiplierCB, value, onChange }) {
   );
 }
 
-export function ImportTransactions({
+function ImportTransactions({
   modalProps,
   options,
   dateFormat = 'MM/dd/yyyy',
diff --git a/packages/desktop-client/src/components/select/DateSelect.js b/packages/desktop-client/src/components/select/DateSelect.js
index ade52981b..8152c7877 100644
--- a/packages/desktop-client/src/components/select/DateSelect.js
+++ b/packages/desktop-client/src/components/select/DateSelect.js
@@ -69,7 +69,7 @@ let pickerStyles = {
   },
 };
 
-export let DatePicker = forwardRef(
+let DatePicker = forwardRef(
   ({ value, firstDayOfWeekIdx, dateFormat, onUpdate, onSelect }, ref) => {
     let picker = useRef(null);
     let mountPoint = useRef(null);
diff --git a/packages/desktop-client/src/components/sort.js b/packages/desktop-client/src/components/sort.js
index c697f7f76..7ae788054 100644
--- a/packages/desktop-client/src/components/sort.js
+++ b/packages/desktop-client/src/components/sort.js
@@ -13,7 +13,7 @@ import { colors } from '../style';
 
 import { View } from './common';
 
-export function useMergedRefs(ref1, ref2) {
+function useMergedRefs(ref1, ref2) {
   return useMemo(() => {
     function ref(value) {
       [ref1, ref2].forEach(ref => {
diff --git a/packages/desktop-client/src/components/table.tsx b/packages/desktop-client/src/components/table.tsx
index 7d50ed73e..5b8fe3edb 100644
--- a/packages/desktop-client/src/components/table.tsx
+++ b/packages/desktop-client/src/components/table.tsx
@@ -39,13 +39,13 @@ import {
   IntersectionBoundary,
   Menu,
 } from './common';
-import { FixedSizeList } from './FixedSizeList';
+import FixedSizeList from './FixedSizeList';
 import { KeyHandlers } from './KeyHandlers';
 import format from './spreadsheet/format';
 import SheetValue from './spreadsheet/SheetValue';
 
 export const ROW_HEIGHT = 32;
-export const TABLE_BACKGROUND_COLOR = colors.n11;
+const TABLE_BACKGROUND_COLOR = colors.n11;
 
 function fireBlur(onBlur, e) {
   if (document.hasFocus()) {
@@ -448,7 +448,7 @@ export function InputCell({
   );
 }
 
-export function shouldSaveFromKey(e) {
+function shouldSaveFromKey(e) {
   switch (e.key) {
     case 'Tab':
     case 'Enter':
diff --git a/packages/desktop-client/src/hooks/useProperFocus.js b/packages/desktop-client/src/hooks/useProperFocus.js
index 780c4d7ca..6d8930fff 100644
--- a/packages/desktop-client/src/hooks/useProperFocus.js
+++ b/packages/desktop-client/src/hooks/useProperFocus.js
@@ -20,7 +20,7 @@ function getFocusedKey(el) {
   return null;
 }
 
-export function focusElement(el, refocusContext) {
+function focusElement(el, refocusContext) {
   if (refocusContext) {
     let key = getFocusedKey(el);
     el.focus({ preventScroll: key && key === refocusContext.keyRef.current });
diff --git a/packages/desktop-client/src/util/versions.ts b/packages/desktop-client/src/util/versions.ts
index c87e00b2b..00dc03eab 100644
--- a/packages/desktop-client/src/util/versions.ts
+++ b/packages/desktop-client/src/util/versions.ts
@@ -5,7 +5,7 @@ function parseSemanticVersion(versionString): [number, number, number] {
     .map(n => parseInt(n));
 }
 
-export function cmpSemanticVersion(
+function cmpSemanticVersion(
   versionStringA: string,
   versionStringB: string,
 ): number {
diff --git a/upcoming-release-notes/1139.md b/upcoming-release-notes/1139.md
new file mode 100644
index 000000000..9f63e1f61
--- /dev/null
+++ b/upcoming-release-notes/1139.md
@@ -0,0 +1,6 @@
+---
+category: Bugfix
+authors: [Shazib]
+---
+
+Remove redundant usage of 'export' keyword
-- 
GitLab