diff --git a/.eslintrc.js b/.eslintrc.js index f0ee86d..46cbd36 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,10 +1,35 @@ module.exports = { - plugins: ['prettier'], + plugins: ['prettier', 'import'], extends: ['react-app'], rules: { 'prettier/prettier': 'error', 'no-unused-vars': 'off', 'no-loop-func': 'off', - 'no-restricted-globals': 'off' + 'no-restricted-globals': 'off', + + 'import/no-useless-path-segments': 'error', + 'import/order': [ + 'error', + { + groups: [ + 'builtin', // Built-in types are first + 'external', + ['sibling', 'parent'], // Then sibling and parent types. They can be mingled together + 'index' // Then the index file + ], + 'newlines-between': 'always', + pathGroups: [ + // Enforce that React (and react-related packages) is the first import + { group: 'builtin', pattern: 'react?(-*)', position: 'before' }, + // Separate imports from Actual from "real" external imports + { + group: 'external', + pattern: 'loot-{core,design}/**/*', + position: 'after' + } + ], + pathGroupsExcludedImportTypes: ['react'] + } + ] } }; diff --git a/packages/desktop-client/package.json b/packages/desktop-client/package.json index cd8c29b..b5cfe67 100644 --- a/packages/desktop-client/package.json +++ b/packages/desktop-client/package.json @@ -32,7 +32,7 @@ "eslint-config-react-app": "3.0.5", "eslint-loader": "2.1.1", "eslint-plugin-flowtype": "2.50.1", - "eslint-plugin-import": "2.14.0", + "eslint-plugin-import": "^2.26.0", "eslint-plugin-jsx-a11y": "6.1.2", "eslint-plugin-prettier": "^3.1.4", "eslint-plugin-react": "7.11.1", diff --git a/packages/desktop-client/src/components/AnimatedRefresh.js b/packages/desktop-client/src/components/AnimatedRefresh.js index 4318fea..175529f 100644 --- a/packages/desktop-client/src/components/AnimatedRefresh.js +++ b/packages/desktop-client/src/components/AnimatedRefresh.js @@ -1,5 +1,7 @@ import React from 'react'; + import { css } from 'glamor'; + import { View } from 'loot-design/src/components/common'; import Refresh from 'loot-design/src/svg/v1/Refresh'; diff --git a/packages/desktop-client/src/components/App.js b/packages/desktop-client/src/components/App.js index 2280386..1f4d8f8 100644 --- a/packages/desktop-client/src/components/App.js +++ b/packages/desktop-client/src/components/App.js @@ -1,12 +1,15 @@ import React from 'react'; import { connect } from 'react-redux'; + import { css } from 'glamor'; + import * as actions from 'loot-core/src/client/actions'; import { init as initConnection, send } from 'loot-core/src/platform/client/fetch'; import { styles, hasHiddenScrollbars } from 'loot-design/src/style'; + import installPolyfills from '../polyfills'; import FatalError from './FatalError'; import ManagementApp from './manager/ManagementApp'; diff --git a/packages/desktop-client/src/components/AppBackground.js b/packages/desktop-client/src/components/AppBackground.js index f01ff69..c617e4f 100644 --- a/packages/desktop-client/src/components/AppBackground.js +++ b/packages/desktop-client/src/components/AppBackground.js @@ -1,8 +1,11 @@ import React from 'react'; -import { View, Block } from 'loot-design/src/components/common'; + import { css } from 'glamor'; + +import { View, Block } from 'loot-design/src/components/common'; import AnimatedLoading from 'loot-design/src/svg/v1/AnimatedLoading'; import { colors } from 'loot-design/src/style'; + import Background from './Background'; function AppBackground({ initializing, loadingText }) { diff --git a/packages/desktop-client/src/components/Background.js b/packages/desktop-client/src/components/Background.js index fe39d02..7d337ad 100644 --- a/packages/desktop-client/src/components/Background.js +++ b/packages/desktop-client/src/components/Background.js @@ -1,4 +1,5 @@ import React from 'react'; + import { css } from 'glamor'; import BG from './manager/bg.svg'; diff --git a/packages/desktop-client/src/components/BankSyncStatus.js b/packages/desktop-client/src/components/BankSyncStatus.js index dddc3fc..1387516 100644 --- a/packages/desktop-client/src/components/BankSyncStatus.js +++ b/packages/desktop-client/src/components/BankSyncStatus.js @@ -1,9 +1,11 @@ import React from 'react'; import { connect } from 'react-redux'; import { useTransition, animated } from 'react-spring'; + import * as actions from 'loot-core/src/client/actions'; import { View, Text } from 'loot-design/src/components/common'; import { colors, styles } from 'loot-design/src/style'; + import AnimatedRefresh from './AnimatedRefresh'; function BankSyncStatus({ accountsSyncing }) { diff --git a/packages/desktop-client/src/components/Debugger.js b/packages/desktop-client/src/components/Debugger.js index 770ab6b..eb37911 100644 --- a/packages/desktop-client/src/components/Debugger.js +++ b/packages/desktop-client/src/components/Debugger.js @@ -1,10 +1,12 @@ import React from 'react'; + +import CodeMirror from 'codemirror'; + import { send, init as initConnection } from 'loot-core/src/platform/client/fetch'; import * as spreadsheet from 'loot-core/src/client/sheetql/spreadsheet'; -import CodeMirror from 'codemirror'; import { View, Button, diff --git a/packages/desktop-client/src/components/FatalError.js b/packages/desktop-client/src/components/FatalError.js index 48dd267..6666c86 100644 --- a/packages/desktop-client/src/components/FatalError.js +++ b/packages/desktop-client/src/components/FatalError.js @@ -1,4 +1,5 @@ import React from 'react'; + import { View, Stack, diff --git a/packages/desktop-client/src/components/FinancesApp.js b/packages/desktop-client/src/components/FinancesApp.js index f28507d..04cd497 100644 --- a/packages/desktop-client/src/components/FinancesApp.js +++ b/packages/desktop-client/src/components/FinancesApp.js @@ -1,10 +1,12 @@ import React, { useMemo } from 'react'; import { Router, Route, Redirect, Switch, useLocation } from 'react-router-dom'; -import { createBrowserHistory } from 'history'; import { connect } from 'react-redux'; import { DndProvider } from 'react-dnd'; import Backend from 'react-dnd-html5-backend'; + +import { createBrowserHistory } from 'history'; import hotkeys from 'hotkeys-js'; + import * as actions from 'loot-core/src/client/actions'; import { SpreadsheetProvider } from 'loot-core/src/client/SpreadsheetProvider'; import checkForUpgradeNotifications from 'loot-core/src/client/upgrade-notifications'; @@ -14,12 +16,12 @@ import { BudgetMonthCountProvider } from 'loot-design/src/components/budget/Budg import * as undo from 'loot-core/src/platform/client/undo'; import { PayeesProvider } from 'loot-core/src/client/data-hooks/payees'; import { AccountsProvider } from 'loot-core/src/client/data-hooks/accounts'; + import { getLocationState } from '../util/location-state'; import { makeLocationState } from '../util/location-state'; import { PageTypeProvider } from './Page'; import { ActiveLocationProvider } from './ActiveLocation'; import BankSyncStatus from './BankSyncStatus'; - import Titlebar, { TitlebarProvider } from './Titlebar'; import FloatableSidebar, { SidebarProvider } from './FloatableSidebar'; import Account from './accounts/Account'; diff --git a/packages/desktop-client/src/components/FloatableSidebar.js b/packages/desktop-client/src/components/FloatableSidebar.js index 3d676f2..a272c61 100644 --- a/packages/desktop-client/src/components/FloatableSidebar.js +++ b/packages/desktop-client/src/components/FloatableSidebar.js @@ -1,7 +1,9 @@ import React, { useState, useEffect, useContext } from 'react'; import { connect } from 'react-redux'; import { withRouter } from 'react-router-dom'; + import mitt from 'mitt'; + import * as actions from 'loot-core/src/client/actions'; import { View } from 'loot-design/src/components/common'; import { SIDEBAR_WIDTH } from 'loot-design/src/components/sidebar'; diff --git a/packages/desktop-client/src/components/GlobalKeys.js b/packages/desktop-client/src/components/GlobalKeys.js index 08d3ad8..0b38966 100644 --- a/packages/desktop-client/src/components/GlobalKeys.js +++ b/packages/desktop-client/src/components/GlobalKeys.js @@ -1,5 +1,6 @@ import React from 'react'; import { withRouter } from 'react-router-dom'; + import Platform from 'loot-core/src/client/platform'; class GlobalKeys extends React.Component { diff --git a/packages/desktop-client/src/components/LoggedInUser.js b/packages/desktop-client/src/components/LoggedInUser.js index 46d472f..c02a23c 100644 --- a/packages/desktop-client/src/components/LoggedInUser.js +++ b/packages/desktop-client/src/components/LoggedInUser.js @@ -1,6 +1,7 @@ import React, { useState, useEffect } from 'react'; import { connect } from 'react-redux'; import { withRouter } from 'react-router'; + import * as actions from 'loot-core/src/client/actions'; import { View, diff --git a/packages/desktop-client/src/components/MobileWebMessage.js b/packages/desktop-client/src/components/MobileWebMessage.js index ad0666a..cca240e 100644 --- a/packages/desktop-client/src/components/MobileWebMessage.js +++ b/packages/desktop-client/src/components/MobileWebMessage.js @@ -1,4 +1,5 @@ import React, { useState } from 'react'; + import { View, Text, diff --git a/packages/desktop-client/src/components/Modals.js b/packages/desktop-client/src/components/Modals.js index 5e756bb..ee19f3a 100644 --- a/packages/desktop-client/src/components/Modals.js +++ b/packages/desktop-client/src/components/Modals.js @@ -1,12 +1,13 @@ import React from 'react'; -import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; import { Route, Switch } from 'react-router-dom'; + +import { bindActionCreators } from 'redux'; import { createLocation } from 'history'; import Component from '@reactions/component'; + import * as actions from 'loot-core/src/client/actions'; import { send, listen, unlisten } from 'loot-core/src/platform/client/fetch'; - import CreateLocalAccount from 'loot-design/src/components/modals/CreateLocalAccount'; import CloseAccount from 'loot-design/src/components/modals/CloseAccount'; import SelectLinkedAccounts from 'loot-design/src/components/modals/SelectLinkedAccounts'; @@ -15,6 +16,7 @@ import LoadBackup from 'loot-design/src/components/modals/LoadBackup'; import PlaidExternalMsg from 'loot-design/src/components/modals/PlaidExternalMsg'; import ImportTransactions from 'loot-design/src/components/modals/ImportTransactions'; import EditField from 'loot-design/src/components/modals/EditField'; + import CreateAccount from './modals/CreateAccount'; import ManagePayeesWithData from './payees/ManagePayeesWithData'; import ManageRules from './modals/ManageRules'; diff --git a/packages/desktop-client/src/components/Notifications.js b/packages/desktop-client/src/components/Notifications.js index ff03df4..3875c49 100644 --- a/packages/desktop-client/src/components/Notifications.js +++ b/packages/desktop-client/src/components/Notifications.js @@ -1,6 +1,8 @@ import React, { useState, useEffect, useMemo } from 'react'; -import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; + +import { bindActionCreators } from 'redux'; + import * as actions from 'loot-core/src/client/actions'; import { View, diff --git a/packages/desktop-client/src/components/Page.js b/packages/desktop-client/src/components/Page.js index 757993d..f18332d 100644 --- a/packages/desktop-client/src/components/Page.js +++ b/packages/desktop-client/src/components/Page.js @@ -1,5 +1,6 @@ import React from 'react'; import { useHistory } from 'react-router-dom'; + import { Modal, View, Text } from 'loot-design/src/components/common'; import { styles } from 'loot-design/src/style'; diff --git a/packages/desktop-client/src/components/Settings.js b/packages/desktop-client/src/components/Settings.js index e9c9a68..f2cb991 100644 --- a/packages/desktop-client/src/components/Settings.js +++ b/packages/desktop-client/src/components/Settings.js @@ -1,7 +1,9 @@ import React, { useState, useEffect, useRef } from 'react'; import { connect } from 'react-redux'; -import { css } from 'glamor'; import { Route, Switch, Redirect } from 'react-router-dom'; + +import { css } from 'glamor'; + import * as actions from 'loot-core/src/client/actions'; import { View, diff --git a/packages/desktop-client/src/components/SidebarWithData.js b/packages/desktop-client/src/components/SidebarWithData.js index eeaa5e2..1943bbb 100644 --- a/packages/desktop-client/src/components/SidebarWithData.js +++ b/packages/desktop-client/src/components/SidebarWithData.js @@ -1,7 +1,9 @@ import React, { useState, useEffect } from 'react'; -import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; import { withRouter } from 'react-router-dom'; + +import { bindActionCreators } from 'redux'; + import { send } from 'loot-core/src/platform/client/fetch'; import { styles, colors } from 'loot-design/src/style'; import { diff --git a/packages/desktop-client/src/components/SpreadsheetInterface.js b/packages/desktop-client/src/components/SpreadsheetInterface.js index 856ddc6..4066530 100644 --- a/packages/desktop-client/src/components/SpreadsheetInterface.js +++ b/packages/desktop-client/src/components/SpreadsheetInterface.js @@ -1,4 +1,5 @@ import React from 'react'; + import Cell from 'loot-design/src/components/spreadsheet/Cell'; import { View } from 'loot-design/src/components/common'; diff --git a/packages/desktop-client/src/components/Titlebar.js b/packages/desktop-client/src/components/Titlebar.js index b96d5a9..dcbdd8f 100644 --- a/packages/desktop-client/src/components/Titlebar.js +++ b/packages/desktop-client/src/components/Titlebar.js @@ -1,6 +1,7 @@ import React, { useState, useEffect, useRef, useContext } from 'react'; import { Switch, Route, withRouter } from 'react-router-dom'; import { connect } from 'react-redux'; + import * as actions from 'loot-core/src/client/actions'; import * as queries from 'loot-core/src/client/queries'; import { listen } from 'loot-core/src/platform/client/fetch'; @@ -20,6 +21,7 @@ import ArrowButtonRight1 from 'loot-design/src/svg/v2/ArrowButtonRight1'; import NavigationMenu from 'loot-design/src/svg/v2/NavigationMenu'; import ArrowLeft from 'loot-design/src/svg/v1/ArrowLeft'; import AlertTriangle from 'loot-design/src/svg/v2/AlertTriangle'; + import { MonthCountSelector } from './budget/MonthCountSelector'; import AccountSyncCheck from './accounts/AccountSyncCheck'; import LoggedInUser from './LoggedInUser'; diff --git a/packages/desktop-client/src/components/Tutorial.js b/packages/desktop-client/src/components/Tutorial.js index aeaa4e3..3cbe6e9 100644 --- a/packages/desktop-client/src/components/Tutorial.js +++ b/packages/desktop-client/src/components/Tutorial.js @@ -1,9 +1,12 @@ import React from 'react'; import ReactDOM from 'react-dom'; +import { connect } from 'react-redux'; + import PropTypes from 'prop-types'; import { bindActionCreators } from 'redux'; -import { connect } from 'react-redux'; + import * as actions from 'loot-core/src/client/actions'; + import Intro from './tutorial/Intro'; import BudgetSummary from './tutorial/BudgetSummary'; import BudgetCategories from './tutorial/BudgetCategories'; diff --git a/packages/desktop-client/src/components/TutorialPoints.js b/packages/desktop-client/src/components/TutorialPoints.js index 91ed03a..f7027e1 100644 --- a/packages/desktop-client/src/components/TutorialPoints.js +++ b/packages/desktop-client/src/components/TutorialPoints.js @@ -1,5 +1,6 @@ import React from 'react'; import { connect } from 'react-redux'; + import PropTypes from 'prop-types'; class Tutorial extends React.Component { diff --git a/packages/desktop-client/src/components/UpdateNotification.js b/packages/desktop-client/src/components/UpdateNotification.js index a2af5e8..5804946 100644 --- a/packages/desktop-client/src/components/UpdateNotification.js +++ b/packages/desktop-client/src/components/UpdateNotification.js @@ -1,6 +1,8 @@ import React from 'react'; -import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; + +import { bindActionCreators } from 'redux'; + import * as actions from 'loot-core/src/client/actions'; import { View, Text, Link, Button } from 'loot-design/src/components/common'; import { colors } from 'loot-design/src/style'; diff --git a/packages/desktop-client/src/components/accounts/Account.js b/packages/desktop-client/src/components/accounts/Account.js index 9702010..636f557 100644 --- a/packages/desktop-client/src/components/accounts/Account.js +++ b/packages/desktop-client/src/components/accounts/Account.js @@ -1,8 +1,10 @@ import React, { useState, useEffect, useRef, useMemo } from 'react'; -import { bindActionCreators } from 'redux'; import { useSelector, useDispatch } from 'react-redux'; import { Redirect, useParams, useHistory, useLocation } from 'react-router-dom'; + +import { bindActionCreators } from 'redux'; import { debounce } from 'debounce'; + import { send, listen } from 'loot-core/src/platform/client/fetch'; import * as actions from 'loot-core/src/client/actions'; import { @@ -52,6 +54,7 @@ import { SchedulesProvider, useCachedSchedules } from 'loot-core/src/client/data-hooks/schedules'; + import { authorizeBank } from '../../plaid'; import AnimatedRefresh from '../AnimatedRefresh'; import { useActiveLocation } from '../ActiveLocation'; diff --git a/packages/desktop-client/src/components/accounts/AccountSyncCheck.js b/packages/desktop-client/src/components/accounts/AccountSyncCheck.js index d32311e..c6e6955 100644 --- a/packages/desktop-client/src/components/accounts/AccountSyncCheck.js +++ b/packages/desktop-client/src/components/accounts/AccountSyncCheck.js @@ -1,9 +1,11 @@ import React, { useState } from 'react'; import { connect } from 'react-redux'; + import * as actions from 'loot-core/src/client/actions'; import { View, Button, Tooltip } from 'loot-design/src/components/common'; import ExclamationOutline from 'loot-design/src/svg/v1/ExclamationOutline'; import { colors } from 'loot-design/src/style'; + import { reauthorizeBank } from '../../plaid'; function getErrorMessage(type, code) { diff --git a/packages/desktop-client/src/components/accounts/Filters.js b/packages/desktop-client/src/components/accounts/Filters.js index e39a9cd..495bfe7 100644 --- a/packages/desktop-client/src/components/accounts/Filters.js +++ b/packages/desktop-client/src/components/accounts/Filters.js @@ -1,11 +1,13 @@ import React, { useState, useRef, useEffect, useReducer } from 'react'; import { useSelector } from 'react-redux'; + import scopeTab from 'react-modal/lib/helpers/scopeTab'; import { parse as parseDate, format as formatDate, isValid as isDateValid } from 'date-fns'; + import { send } from 'loot-core/src/platform/client/fetch'; import { getMonthYearFormat } from 'loot-core/src/shared/months'; import { titleFirst } from 'loot-core/src/shared/util'; @@ -31,6 +33,7 @@ import { import DeleteIcon from 'loot-design/src/svg/Delete'; import SettingsSliderAlternate from 'loot-design/src/svg/v2/SettingsSliderAlternate'; import { colors } from 'loot-design/src/style'; + import GenericInput from '../util/GenericInput'; import { Value } from '../modals/ManageRules'; diff --git a/packages/desktop-client/src/components/accounts/SimpleTransactionsTable.js b/packages/desktop-client/src/components/accounts/SimpleTransactionsTable.js index ea84192..1db3fa0 100644 --- a/packages/desktop-client/src/components/accounts/SimpleTransactionsTable.js +++ b/packages/desktop-client/src/components/accounts/SimpleTransactionsTable.js @@ -1,10 +1,12 @@ import React, { useMemo, useCallback } from 'react'; import { useSelector } from 'react-redux'; + import { format as formatDate, parseISO, isValid as isDateValid } from 'date-fns'; + import { Table, Row, @@ -23,6 +25,7 @@ import { } from 'loot-core/src/client/reducers/queries'; import ArrowsSynchronize from 'loot-design/src/svg/v2/ArrowsSynchronize'; import { styles } from 'loot-design/src/style'; + import DisplayId from '../util/DisplayId'; function serializeTransaction(transaction, dateFormat) { diff --git a/packages/desktop-client/src/components/accounts/TransactionList.js b/packages/desktop-client/src/components/accounts/TransactionList.js index a07c31f..7ea870d 100644 --- a/packages/desktop-client/src/components/accounts/TransactionList.js +++ b/packages/desktop-client/src/components/accounts/TransactionList.js @@ -1,5 +1,6 @@ import React, { useRef, useEffect, useCallback, useLayoutEffect } from 'react'; import { useDispatch } from 'react-redux'; + import { splitTransaction, updateTransaction, @@ -9,7 +10,9 @@ import { } from 'loot-core/src/shared/transactions'; import { send } from 'loot-core/src/platform/client/fetch'; import { getChangedValues, applyChanges } from 'loot-core/src/shared/util'; + import { TransactionTable } from './TransactionsTable'; + const uuid = require('loot-core/src/platform/uuid'); // When data changes, there are two ways to update the UI: diff --git a/packages/desktop-client/src/components/accounts/TransactionsTable.js b/packages/desktop-client/src/components/accounts/TransactionsTable.js index 3ba3d9d..0fd3469 100644 --- a/packages/desktop-client/src/components/accounts/TransactionsTable.js +++ b/packages/desktop-client/src/components/accounts/TransactionsTable.js @@ -9,11 +9,13 @@ import React, { useReducer } from 'react'; import { useSelector, useDispatch } from 'react-redux'; + import { format as formatDate, parseISO, isValid as isDateValid } from 'date-fns'; + import { View, Text, Tooltip, Button } from 'loot-design/src/components/common'; import CategoryAutocomplete from 'loot-design/src/components/CategorySelect'; import PayeeAutocomplete from 'loot-design/src/components/PayeeAutocomplete'; @@ -63,6 +65,7 @@ import { import { useMergedRefs } from 'loot-design/src/components/useMergedRefs'; import { useCachedSchedules } from 'loot-core/src/client/data-hooks/schedules'; import { getScheduledAmount } from 'loot-core/src/shared/schedules'; + import { getStatusProps } from '../schedules/StatusBadge'; let TABLE_BACKGROUND_COLOR = colors.n11; diff --git a/packages/desktop-client/src/components/accounts/TransactionsTable.test.js b/packages/desktop-client/src/components/accounts/TransactionsTable.test.js index eb4a9f3..f3f5519 100644 --- a/packages/desktop-client/src/components/accounts/TransactionsTable.test.js +++ b/packages/desktop-client/src/components/accounts/TransactionsTable.test.js @@ -1,7 +1,9 @@ import React from 'react'; + import { act } from 'react-dom/test-utils'; import { render, fireEvent } from '@testing-library/react'; import { format as formatDate, parse as parseDate } from 'date-fns'; + import { integerToCurrency } from 'loot-core/src/shared/util'; import { initServer } from 'loot-core/src/platform/client/fetch'; import { @@ -17,7 +19,9 @@ import { updateTransaction } from 'loot-core/src/shared'; import { SelectedProviderWithItems } from 'loot-design/src/components'; + import { SplitsExpandedProvider, TransactionTable } from './TransactionsTable'; + const uuid = require('loot-core/src/platform/uuid'); const accounts = [generateAccount('Bank of America')]; diff --git a/packages/desktop-client/src/components/budget/MonthCountSelector.js b/packages/desktop-client/src/components/budget/MonthCountSelector.js index ce90820..b11b28b 100644 --- a/packages/desktop-client/src/components/budget/MonthCountSelector.js +++ b/packages/desktop-client/src/components/budget/MonthCountSelector.js @@ -1,4 +1,5 @@ import React from 'react'; + import { colors } from 'loot-design/src/style'; import { View } from 'loot-design/src/components/common'; import { useBudgetMonthCount } from 'loot-design/src/components/budget/BudgetMonthCountContext'; diff --git a/packages/desktop-client/src/components/budget/index.js b/packages/desktop-client/src/components/budget/index.js index b1d862d..a063fe8 100644 --- a/packages/desktop-client/src/components/budget/index.js +++ b/packages/desktop-client/src/components/budget/index.js @@ -1,16 +1,14 @@ import React, { useContext, useMemo } from 'react'; import { connect } from 'react-redux'; + import * as actions from 'loot-core/src/client/actions'; import { send, listen } from 'loot-core/src/platform/client/fetch'; import * as monthUtils from 'loot-core/src/shared/months'; import { getValidMonthBounds } from 'loot-design/src/components/budget/MonthsContext'; - import * as rollover from 'loot-design/src/components/budget/rollover/rollover-components'; import { RolloverContext } from 'loot-design/src/components/budget/rollover/RolloverContext'; - import * as report from 'loot-design/src/components/budget/report/components'; import { ReportProvider } from 'loot-design/src/components/budget/report/ReportContext'; - import DynamicBudgetTable from 'loot-design/src/components/budget/DynamicBudgetTable'; import SpreadsheetContext from 'loot-design/src/components/spreadsheet/SpreadsheetContext'; import { View } from 'loot-design/src/components/common'; @@ -25,6 +23,7 @@ import { updateGroup, deleteGroup } from 'loot-core/src/shared/categories.js'; + import { TitlebarContext } from '../Titlebar'; let _initialBudgetMonth = null; diff --git a/packages/desktop-client/src/components/debug/index.js b/packages/desktop-client/src/components/debug/index.js index f7419d8..9270c49 100644 --- a/packages/desktop-client/src/components/debug/index.js +++ b/packages/desktop-client/src/components/debug/index.js @@ -1,5 +1,7 @@ import React from 'react'; + import styled from 'styled-components'; + import { send } from 'loot-core/src/platform/client/fetch'; const Container = styled.div` diff --git a/packages/desktop-client/src/components/manager/ConfigServer.js b/packages/desktop-client/src/components/manager/ConfigServer.js index b9380b0..81ca32e 100644 --- a/packages/desktop-client/src/components/manager/ConfigServer.js +++ b/packages/desktop-client/src/components/manager/ConfigServer.js @@ -1,6 +1,7 @@ import React, { useState, useEffect } from 'react'; import { useDispatch } from 'react-redux'; import { useHistory } from 'react-router-dom'; + import { View, Text, @@ -10,6 +11,7 @@ import { import { colors } from 'loot-design/src/style'; import { signOut, loggedIn } from 'loot-core/src/client/actions/user'; import { send } from 'loot-core/src/platform/client/fetch'; + import { Title, Input } from './subscribe/common'; export default function ConfigServer() { diff --git a/packages/desktop-client/src/components/manager/ManagementApp.js b/packages/desktop-client/src/components/manager/ManagementApp.js index 7d574c7..4bb4b1a 100644 --- a/packages/desktop-client/src/components/manager/ManagementApp.js +++ b/packages/desktop-client/src/components/manager/ManagementApp.js @@ -1,15 +1,17 @@ import React from 'react'; import { connect } from 'react-redux'; -import { createBrowserHistory } from 'history'; import { Switch, Redirect, Router, Route } from 'react-router-dom'; + +import { createBrowserHistory } from 'history'; + import * as actions from 'loot-core/src/client/actions'; import { View, Text } from 'loot-design/src/components/common'; import { colors } from 'loot-design/src/style'; + import LoggedInUser from '../LoggedInUser'; import Notifications from '../Notifications'; import useServerVersion from '../../hooks/useServerVersion'; import ServerURL from './ServerURL'; - import Modals from './Modals'; import Login from './subscribe/Login'; import Bootstrap from './subscribe/Bootstrap'; diff --git a/packages/desktop-client/src/components/manager/Modals.js b/packages/desktop-client/src/components/manager/Modals.js index e45b1ec..6fa892a 100644 --- a/packages/desktop-client/src/components/manager/Modals.js +++ b/packages/desktop-client/src/components/manager/Modals.js @@ -1,7 +1,9 @@ import React from 'react'; -import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; + +import { bindActionCreators } from 'redux'; import Component from '@reactions/component'; + import { send } from 'loot-core/src/platform/client/fetch'; import * as actions from 'loot-core/src/client/actions'; import { View } from 'loot-design/src/components/common'; @@ -12,6 +14,7 @@ import ImportYNAB4 from 'loot-design/src/components/manager/ImportYNAB4'; import ImportYNAB5 from 'loot-design/src/components/manager/ImportYNAB5'; import ImportActual from 'loot-design/src/components/manager/ImportActual'; import DeleteFile from 'loot-design/src/components/manager/DeleteFile'; + import CreateEncryptionKey from '../modals/CreateEncryptionKey'; import FixEncryptionKey from '../modals/FixEncryptionKey'; diff --git a/packages/desktop-client/src/components/manager/ServerURL.js b/packages/desktop-client/src/components/manager/ServerURL.js index c1ba72f..ef3f6f0 100644 --- a/packages/desktop-client/src/components/manager/ServerURL.js +++ b/packages/desktop-client/src/components/manager/ServerURL.js @@ -1,4 +1,5 @@ import React, { useState, useEffect } from 'react'; + import { View, Text, AnchorLink } from 'loot-design/src/components/common'; import { send } from 'loot-core/src/platform/client/fetch'; diff --git a/packages/desktop-client/src/components/manager/subscribe/Bootstrap.js b/packages/desktop-client/src/components/manager/subscribe/Bootstrap.js index 534c90c..7824a3f 100644 --- a/packages/desktop-client/src/components/manager/subscribe/Bootstrap.js +++ b/packages/desktop-client/src/components/manager/subscribe/Bootstrap.js @@ -1,11 +1,13 @@ import React, { useState } from 'react'; import { useDispatch } from 'react-redux'; import { useHistory } from 'react-router-dom'; + import { View, Text, Button } from 'loot-design/src/components/common'; import { colors } from 'loot-design/src/style'; import { loggedIn } from 'loot-core/src/client/actions/user'; import { createBudget } from 'loot-core/src/client/actions/budgets'; import { send } from 'loot-core/src/platform/client/fetch'; + import { ConfirmPasswordForm } from './ConfirmPasswordForm'; import { useBootstrapped, Title } from './common'; diff --git a/packages/desktop-client/src/components/manager/subscribe/ChangePassword.js b/packages/desktop-client/src/components/manager/subscribe/ChangePassword.js index 60daf23..b77834a 100644 --- a/packages/desktop-client/src/components/manager/subscribe/ChangePassword.js +++ b/packages/desktop-client/src/components/manager/subscribe/ChangePassword.js @@ -1,9 +1,11 @@ import React, { useState } from 'react'; import { useDispatch } from 'react-redux'; import { useHistory } from 'react-router-dom'; + import { View, Text, Button } from 'loot-design/src/components/common'; import { colors } from 'loot-design/src/style'; import { send } from 'loot-core/src/platform/client/fetch'; + import { ConfirmPasswordForm } from './ConfirmPasswordForm'; import { Title } from './common'; diff --git a/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.js b/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.js index c71f7a5..52453cd 100644 --- a/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.js +++ b/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.js @@ -1,5 +1,7 @@ import React, { useState } from 'react'; + import { View, ButtonWithLoading } from 'loot-design/src/components/common'; + import { Input } from './common'; export function ConfirmPasswordForm({ buttons, onSetPassword, onError }) { diff --git a/packages/desktop-client/src/components/manager/subscribe/Error.js b/packages/desktop-client/src/components/manager/subscribe/Error.js index 8de45a9..82903b1 100644 --- a/packages/desktop-client/src/components/manager/subscribe/Error.js +++ b/packages/desktop-client/src/components/manager/subscribe/Error.js @@ -1,5 +1,6 @@ import React from 'react'; import { useHistory, useLocation } from 'react-router-dom'; + import { View, Text, Button } from 'loot-design/src/components/common'; import { colors } from 'loot-design/src/style'; diff --git a/packages/desktop-client/src/components/manager/subscribe/Login.js b/packages/desktop-client/src/components/manager/subscribe/Login.js index 76befa8..0844a46 100644 --- a/packages/desktop-client/src/components/manager/subscribe/Login.js +++ b/packages/desktop-client/src/components/manager/subscribe/Login.js @@ -1,6 +1,7 @@ import React, { useState } from 'react'; import { useDispatch } from 'react-redux'; import { useHistory } from 'react-router-dom'; + import { View, Text, @@ -11,6 +12,7 @@ import { colors } from 'loot-design/src/style'; import { loggedIn } from 'loot-core/src/client/actions/user'; import { createBudget } from 'loot-core/src/client/actions/budgets'; import { send } from 'loot-core/src/platform/client/fetch'; + import { useBootstrapped, Title, Input } from './common'; export default function Login() { diff --git a/packages/desktop-client/src/components/manager/subscribe/common.js b/packages/desktop-client/src/components/manager/subscribe/common.js index 4c5a25c..2d0778f 100644 --- a/packages/desktop-client/src/components/manager/subscribe/common.js +++ b/packages/desktop-client/src/components/manager/subscribe/common.js @@ -1,5 +1,6 @@ import React, { useEffect, useState } from 'react'; import { useHistory, useLocation } from 'react-router-dom'; + import { Text, Button, diff --git a/packages/desktop-client/src/components/modals/ConfirmCategoryDelete.js b/packages/desktop-client/src/components/modals/ConfirmCategoryDelete.js index dd315a8..74af79b 100644 --- a/packages/desktop-client/src/components/modals/ConfirmCategoryDelete.js +++ b/packages/desktop-client/src/components/modals/ConfirmCategoryDelete.js @@ -1,4 +1,5 @@ import React from 'react'; + import { View, Text, diff --git a/packages/desktop-client/src/components/modals/CreateAccount.js b/packages/desktop-client/src/components/modals/CreateAccount.js index 1930d2f..c81e295 100644 --- a/packages/desktop-client/src/components/modals/CreateAccount.js +++ b/packages/desktop-client/src/components/modals/CreateAccount.js @@ -1,9 +1,12 @@ import React from 'react'; -import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; + +import { bindActionCreators } from 'redux'; + import * as actions from 'loot-core/src/client/actions'; import { View, Text, Modal, Button } from 'loot-design/src/components/common'; import { colors } from 'loot-design/src/style'; + import { authorizeBank } from '../../plaid'; class CreateAccount extends React.Component { diff --git a/packages/desktop-client/src/components/modals/CreateEncryptionKey.js b/packages/desktop-client/src/components/modals/CreateEncryptionKey.js index c26de87..ff5ad00 100644 --- a/packages/desktop-client/src/components/modals/CreateEncryptionKey.js +++ b/packages/desktop-client/src/components/modals/CreateEncryptionKey.js @@ -1,5 +1,7 @@ import React, { useState } from 'react'; + import { css } from 'glamor'; + import { View, Text, diff --git a/packages/desktop-client/src/components/modals/EditRule.js b/packages/desktop-client/src/components/modals/EditRule.js index c55c2c3..9d33ca0 100644 --- a/packages/desktop-client/src/components/modals/EditRule.js +++ b/packages/desktop-client/src/components/modals/EditRule.js @@ -1,5 +1,6 @@ import React, { useState, useEffect, useRef, useCallback } from 'react'; import { useDispatch, useSelector } from 'react-redux'; + import { initiallyLoadPayees, setUndoEnabled @@ -39,6 +40,7 @@ import { amountToInteger } from 'loot-core/src/shared/util'; import * as monthUtils from 'loot-core/src/shared/months'; + import SimpleTransactionsTable from '../accounts/SimpleTransactionsTable'; import { StatusBadge } from '../schedules/StatusBadge'; import DisplayId from '../util/DisplayId'; diff --git a/packages/desktop-client/src/components/modals/FixEncryptionKey.js b/packages/desktop-client/src/components/modals/FixEncryptionKey.js index c9c43ca..b196ee4 100644 --- a/packages/desktop-client/src/components/modals/FixEncryptionKey.js +++ b/packages/desktop-client/src/components/modals/FixEncryptionKey.js @@ -1,4 +1,5 @@ import React, { useState } from 'react'; + import { View, Text, diff --git a/packages/desktop-client/src/components/modals/ManageRules.js b/packages/desktop-client/src/components/modals/ManageRules.js index 61f89bb..3fdd12c 100644 --- a/packages/desktop-client/src/components/modals/ManageRules.js +++ b/packages/desktop-client/src/components/modals/ManageRules.js @@ -1,7 +1,9 @@ import React, { useState, useEffect, useRef, useCallback } from 'react'; import { useDispatch, useSelector } from 'react-redux'; + import { css } from 'glamor'; import { format as formatDate, parseISO } from 'date-fns'; + import * as undo from 'loot-core/src/platform/client/undo'; import { initiallyLoadPayees } from 'loot-core/src/client/actions/queries'; import q from 'loot-core/src/client/query-helpers'; diff --git a/packages/desktop-client/src/components/modals/MergeUnusedPayees.js b/packages/desktop-client/src/components/modals/MergeUnusedPayees.js index 58920d0..0f705e9 100644 --- a/packages/desktop-client/src/components/modals/MergeUnusedPayees.js +++ b/packages/desktop-client/src/components/modals/MergeUnusedPayees.js @@ -1,5 +1,6 @@ import React, { useState, useRef, useEffect } from 'react'; import { useDispatch, useSelector } from 'react-redux'; + import { View, Text, diff --git a/packages/desktop-client/src/components/modals/WelcomeScreen.js b/packages/desktop-client/src/components/modals/WelcomeScreen.js index 8cab2fe..b627230 100644 --- a/packages/desktop-client/src/components/modals/WelcomeScreen.js +++ b/packages/desktop-client/src/components/modals/WelcomeScreen.js @@ -1,5 +1,6 @@ import React from 'react'; import { connect } from 'react-redux'; + import * as actions from 'loot-core/src/client/actions'; import { View, diff --git a/packages/desktop-client/src/components/payees/ManagePayeesWithData.js b/packages/desktop-client/src/components/payees/ManagePayeesWithData.js index c80927f..89be6a2 100644 --- a/packages/desktop-client/src/components/payees/ManagePayeesWithData.js +++ b/packages/desktop-client/src/components/payees/ManagePayeesWithData.js @@ -1,5 +1,6 @@ import React, { useState, useEffect, useRef } from 'react'; import { connect } from 'react-redux'; + import * as actions from 'loot-core/src/client/actions'; import * as undo from 'loot-core/src/platform/client/undo'; import { send, listen } from 'loot-core/src/platform/client/fetch'; diff --git a/packages/desktop-client/src/components/reports/CashFlow.js b/packages/desktop-client/src/components/reports/CashFlow.js index 45b3ee4..a970144 100644 --- a/packages/desktop-client/src/components/reports/CashFlow.js +++ b/packages/desktop-client/src/components/reports/CashFlow.js @@ -1,5 +1,7 @@ import React, { useState, useEffect } from 'react'; + import * as d from 'date-fns'; + import { View, Text, @@ -12,6 +14,7 @@ import { send } from 'loot-core/src/platform/client/fetch'; import * as monthUtils from 'loot-core/src/shared/months'; import { integerToCurrency } from 'loot-core/src/shared/util'; import { colors } from 'loot-design/src/style'; + import Header from './Header'; import Change from './Change'; import CashFlowGraph from './graphs/CashFlowGraph'; diff --git a/packages/desktop-client/src/components/reports/Change.js b/packages/desktop-client/src/components/reports/Change.js index 61e9a37..cbdfc0f 100644 --- a/packages/desktop-client/src/components/reports/Change.js +++ b/packages/desktop-client/src/components/reports/Change.js @@ -1,4 +1,5 @@ import React from 'react'; + import { styles } from 'loot-design/src/style'; import { integerToCurrency } from 'loot-core/src/shared/util'; import { Block } from 'loot-design/src/components/common'; diff --git a/packages/desktop-client/src/components/reports/Container.js b/packages/desktop-client/src/components/reports/Container.js index 0c53f5d..5542081 100644 --- a/packages/desktop-client/src/components/reports/Container.js +++ b/packages/desktop-client/src/components/reports/Container.js @@ -1,7 +1,8 @@ import React from 'react'; -import { View } from 'loot-design/src/components/common'; import AutoSizer from 'react-virtualized-auto-sizer'; +import { View } from 'loot-design/src/components/common'; + class Container extends React.Component { render() { const { style, children } = this.props; diff --git a/packages/desktop-client/src/components/reports/DateRange.js b/packages/desktop-client/src/components/reports/DateRange.js index 33719b4..0a98466 100644 --- a/packages/desktop-client/src/components/reports/DateRange.js +++ b/packages/desktop-client/src/components/reports/DateRange.js @@ -1,5 +1,7 @@ import React from 'react'; + import * as d from 'date-fns'; + import { colors } from 'loot-design/src/style'; import { Block } from 'loot-design/src/components/common'; diff --git a/packages/desktop-client/src/components/reports/Header.js b/packages/desktop-client/src/components/reports/Header.js index a73c9e8..546f7c4 100644 --- a/packages/desktop-client/src/components/reports/Header.js +++ b/packages/desktop-client/src/components/reports/Header.js @@ -1,4 +1,5 @@ import React from 'react'; + import { styles } from 'loot-design/src/style'; import { View, diff --git a/packages/desktop-client/src/components/reports/NetWorth.js b/packages/desktop-client/src/components/reports/NetWorth.js index 40e007d..f2ffec7 100644 --- a/packages/desktop-client/src/components/reports/NetWorth.js +++ b/packages/desktop-client/src/components/reports/NetWorth.js @@ -1,13 +1,16 @@ import React, { useState, useEffect } from 'react'; -import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; + +import { bindActionCreators } from 'redux'; import * as d from 'date-fns'; + import * as actions from 'loot-core/src/client/actions'; import { View, P } from 'loot-design/src/components/common'; import { styles } from 'loot-design/src/style'; import * as monthUtils from 'loot-core/src/shared/months'; import { integerToCurrency } from 'loot-core/src/shared/util'; import { send } from 'loot-core/src/platform/client/fetch'; + import Header from './Header'; import { fromDateRepr } from './util'; import useReport from './useReport'; diff --git a/packages/desktop-client/src/components/reports/Overview.js b/packages/desktop-client/src/components/reports/Overview.js index 2366656..456a52c 100644 --- a/packages/desktop-client/src/components/reports/Overview.js +++ b/packages/desktop-client/src/components/reports/Overview.js @@ -1,12 +1,15 @@ import React from 'react'; -import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; + +import { bindActionCreators } from 'redux'; import { VictoryBar, VictoryGroup, VictoryVoronoiContainer } from 'victory'; + import * as actions from 'loot-core/src/client/actions'; import { View, Block, AnchorLink } from 'loot-design/src/components/common'; import { colors, styles } from 'loot-design/src/style'; import * as monthUtils from 'loot-core/src/shared/months'; import { integerToCurrency } from 'loot-core/src/shared/util'; + import { useArgsMemo } from './util'; import theme from './chart-theme'; import Container from './Container'; diff --git a/packages/desktop-client/src/components/reports/Tooltip.js b/packages/desktop-client/src/components/reports/Tooltip.js index b2a1654..254b9a2 100644 --- a/packages/desktop-client/src/components/reports/Tooltip.js +++ b/packages/desktop-client/src/components/reports/Tooltip.js @@ -1,7 +1,9 @@ import React from 'react'; import ReactDOM from 'react-dom'; + import { VictoryTooltip } from 'victory'; import { css, before } from 'glamor'; + import { colors } from 'loot-design/src/style'; class Tooltip extends React.Component { diff --git a/packages/desktop-client/src/components/reports/graphs/CashFlowGraph.js b/packages/desktop-client/src/components/reports/graphs/CashFlowGraph.js index ea050ab..3091921 100644 --- a/packages/desktop-client/src/components/reports/graphs/CashFlowGraph.js +++ b/packages/desktop-client/src/components/reports/graphs/CashFlowGraph.js @@ -1,4 +1,5 @@ import React from 'react'; + import { VictoryChart, VictoryBar, @@ -8,7 +9,9 @@ import { VictoryGroup } from 'victory'; import * as d from 'date-fns'; + import { colors } from 'loot-design/src/style'; + import Container from '../Container'; import Tooltip from '../Tooltip'; import theme from '../chart-theme'; diff --git a/packages/desktop-client/src/components/reports/graphs/NetWorthGraph.js b/packages/desktop-client/src/components/reports/graphs/NetWorthGraph.js index 0a894fd..43502f5 100644 --- a/packages/desktop-client/src/components/reports/graphs/NetWorthGraph.js +++ b/packages/desktop-client/src/components/reports/graphs/NetWorthGraph.js @@ -1,4 +1,5 @@ import React from 'react'; + import { VictoryChart, VictoryBar, @@ -8,6 +9,7 @@ import { VictoryGroup } from 'victory'; import * as d from 'date-fns'; + import Container from '../Container'; import Tooltip from '../Tooltip'; import theme from '../chart-theme'; diff --git a/packages/desktop-client/src/components/reports/graphs/cash-flow-spreadsheet.js b/packages/desktop-client/src/components/reports/graphs/cash-flow-spreadsheet.js index e7400fa..a632d81 100644 --- a/packages/desktop-client/src/components/reports/graphs/cash-flow-spreadsheet.js +++ b/packages/desktop-client/src/components/reports/graphs/cash-flow-spreadsheet.js @@ -1,9 +1,12 @@ import React from 'react'; -import * as monthUtils from 'loot-core/src/shared/months'; + import * as d from 'date-fns'; + +import * as monthUtils from 'loot-core/src/shared/months'; import { AlignedText } from 'loot-design/src/components/common'; import { integerToCurrency, integerToAmount } from 'loot-core/src/shared/util'; import q from 'loot-core/src/client/query-helpers'; + import { fromDateRepr, fromDateReprToDay, runAll, index } from '../util'; export function simpleCashFlow(start, end) { diff --git a/packages/desktop-client/src/components/reports/graphs/net-worth-spreadsheet.js b/packages/desktop-client/src/components/reports/graphs/net-worth-spreadsheet.js index 7c09f2b..58135c5 100644 --- a/packages/desktop-client/src/components/reports/graphs/net-worth-spreadsheet.js +++ b/packages/desktop-client/src/components/reports/graphs/net-worth-spreadsheet.js @@ -1,6 +1,8 @@ import React from 'react'; -import * as monthUtils from 'loot-core/src/shared/months'; + import * as d from 'date-fns'; + +import * as monthUtils from 'loot-core/src/shared/months'; import { AlignedText } from 'loot-design/src/components/common'; import q, { runQuery } from 'loot-core/src/client/query-helpers'; import { @@ -8,6 +10,7 @@ import { integerToAmount, amountToInteger } from 'loot-core/src/shared/util'; + import { index } from '../util'; export default function createSpreadsheet(start, end, accounts) { diff --git a/packages/desktop-client/src/components/reports/index.js b/packages/desktop-client/src/components/reports/index.js index b4ff198..07f2f1d 100644 --- a/packages/desktop-client/src/components/reports/index.js +++ b/packages/desktop-client/src/components/reports/index.js @@ -1,6 +1,8 @@ import React from 'react'; import { Route } from 'react-router-dom'; + import { View } from 'loot-design/src/components/common'; + import Overview from './Overview'; import NetWorth from './NetWorth'; import CashFlow from './CashFlow'; diff --git a/packages/desktop-client/src/components/reports/util.js b/packages/desktop-client/src/components/reports/util.js index 5c297ca..078d54d 100644 --- a/packages/desktop-client/src/components/reports/util.js +++ b/packages/desktop-client/src/components/reports/util.js @@ -1,4 +1,5 @@ import { useMemo } from 'react'; + import { runQuery } from 'loot-core/src/client/query-helpers'; export function useArgsMemo(func) { diff --git a/packages/desktop-client/src/components/schedules/DiscoverSchedules.js b/packages/desktop-client/src/components/schedules/DiscoverSchedules.js index ae2602c..86c5d52 100644 --- a/packages/desktop-client/src/components/schedules/DiscoverSchedules.js +++ b/packages/desktop-client/src/components/schedules/DiscoverSchedules.js @@ -1,5 +1,6 @@ import React, { useState, useEffect } from 'react'; import { useLocation, useHistory } from 'react-router-dom'; + import q, { runQuery } from 'loot-core/src/client/query-helpers'; import Platform from 'loot-core/src/client/platform'; import { send } from 'loot-core/src/platform/client/fetch'; @@ -24,6 +25,7 @@ import useSelected, { useSelectedItems, SelectedProvider } from 'loot-design/src/components/useSelected'; + import { Page } from '../Page'; import DisplayId from '../util/DisplayId'; import { ScheduleAmountCell } from './SchedulesTable'; diff --git a/packages/desktop-client/src/components/schedules/EditSchedule.js b/packages/desktop-client/src/components/schedules/EditSchedule.js index 0e25e3b..8af6f50 100644 --- a/packages/desktop-client/src/components/schedules/EditSchedule.js +++ b/packages/desktop-client/src/components/schedules/EditSchedule.js @@ -1,6 +1,7 @@ import React, { useEffect, useReducer } from 'react'; import { useParams, useHistory } from 'react-router-dom'; import { useDispatch, useSelector } from 'react-redux'; + import { pushModal } from 'loot-core/src/client/actions/modals'; import { send, sendCatch } from 'loot-core/src/platform/client/fetch'; import q, { runQuery, liveQuery } from 'loot-core/src/client/query-helpers'; @@ -22,6 +23,7 @@ import useSelected, { SelectedProvider } from 'loot-design/src/components/useSelected'; import RecurringSchedulePicker from 'loot-design/src/components/RecurringSchedulePicker'; + import SimpleTransactionsTable from '../accounts/SimpleTransactionsTable'; import { usePageType } from '../Page'; import { Page } from '../Page'; diff --git a/packages/desktop-client/src/components/schedules/LinkSchedule.js b/packages/desktop-client/src/components/schedules/LinkSchedule.js index 1daa056..07d1b46 100644 --- a/packages/desktop-client/src/components/schedules/LinkSchedule.js +++ b/packages/desktop-client/src/components/schedules/LinkSchedule.js @@ -1,9 +1,11 @@ import React, { useCallback } from 'react'; import { useSelector } from 'react-redux'; import { useLocation, useHistory } from 'react-router-dom'; + import { useSchedules } from 'loot-core/src/client/data-hooks/schedules'; import { send } from 'loot-core/src/platform/client/fetch'; import { Text } from 'loot-design/src/components/common'; + import { Page } from '../Page'; import { SchedulesTable } from './SchedulesTable'; diff --git a/packages/desktop-client/src/components/schedules/PostsOfflineNotification.js b/packages/desktop-client/src/components/schedules/PostsOfflineNotification.js index 2d7cdcd..722379c 100644 --- a/packages/desktop-client/src/components/schedules/PostsOfflineNotification.js +++ b/packages/desktop-client/src/components/schedules/PostsOfflineNotification.js @@ -1,8 +1,10 @@ import React from 'react'; import { useLocation, useHistory } from 'react-router-dom'; + import { send } from 'loot-core/src/platform/client/fetch'; import { Text, P, Button, Stack } from 'loot-design/src/components/common'; import { colors } from 'loot-design/src/style'; + import { Page } from '../Page'; import DisplayId from '../util/DisplayId'; diff --git a/packages/desktop-client/src/components/schedules/SchedulesTable.js b/packages/desktop-client/src/components/schedules/SchedulesTable.js index fa2a339..6d8d732 100644 --- a/packages/desktop-client/src/components/schedules/SchedulesTable.js +++ b/packages/desktop-client/src/components/schedules/SchedulesTable.js @@ -1,5 +1,6 @@ import React, { useState, useMemo } from 'react'; import { useSelector } from 'react-redux'; + import { integerToCurrency } from 'loot-core/src/shared/util'; import { colors } from 'loot-design/src/style'; import { @@ -20,6 +21,7 @@ import * as monthUtils from 'loot-core/src/shared/months'; import { getScheduledAmount } from 'loot-core/src/shared/schedules'; import DotsHorizontalTriple from 'loot-design/src/svg/v1/DotsHorizontalTriple'; import Check from 'loot-design/src/svg/v2/Check'; + import DisplayId from '../util/DisplayId'; import { StatusBadge } from './StatusBadge'; diff --git a/packages/desktop-client/src/components/schedules/StatusBadge.js b/packages/desktop-client/src/components/schedules/StatusBadge.js index 8a2eb5f..2f97a04 100644 --- a/packages/desktop-client/src/components/schedules/StatusBadge.js +++ b/packages/desktop-client/src/components/schedules/StatusBadge.js @@ -1,8 +1,8 @@ import React from 'react'; + import { colors } from 'loot-design/src/style'; import { View, Text } from 'loot-design/src/components/common'; import { titleFirst } from 'loot-core/src/shared/util'; - import EditSkull1 from 'loot-design/src/svg/v2/EditSkull1'; import AlertTriangle from 'loot-design/src/svg/v2/AlertTriangle'; import CalendarIcon from 'loot-design/src/svg/v2/Calendar'; diff --git a/packages/desktop-client/src/components/schedules/index.js b/packages/desktop-client/src/components/schedules/index.js index ede1a8c..2e39691 100644 --- a/packages/desktop-client/src/components/schedules/index.js +++ b/packages/desktop-client/src/components/schedules/index.js @@ -1,8 +1,10 @@ import React from 'react'; import { useHistory } from 'react-router-dom'; + import { View, Button } from 'loot-design/src/components/common'; import { send } from 'loot-core/src/platform/client/fetch'; import { useSchedules } from 'loot-core/src/client/data-hooks/schedules'; + import { Page } from '../Page'; import { SchedulesTable, ROW_HEIGHT } from './SchedulesTable'; diff --git a/packages/desktop-client/src/components/tools/FixSplitsTool.js b/packages/desktop-client/src/components/tools/FixSplitsTool.js index 15e5026..2d82c85 100644 --- a/packages/desktop-client/src/components/tools/FixSplitsTool.js +++ b/packages/desktop-client/src/components/tools/FixSplitsTool.js @@ -1,7 +1,9 @@ import React, { useState } from 'react'; + import { send } from 'loot-core/src/platform/client/fetch'; import { colors } from 'loot-design/src/style'; import { View, P, ButtonWithLoading } from 'loot-design/src/components/common'; + import { Page } from '../Page'; function renderResults(results) { diff --git a/packages/desktop-client/src/components/tutorial/BudgetCategories.js b/packages/desktop-client/src/components/tutorial/BudgetCategories.js index 3efb8de..fbda816 100644 --- a/packages/desktop-client/src/components/tutorial/BudgetCategories.js +++ b/packages/desktop-client/src/components/tutorial/BudgetCategories.js @@ -1,6 +1,8 @@ import React from 'react'; + import { Tooltip, Pointer, P } from 'loot-design/src/components/common'; import { colors } from 'loot-design/src/style'; + import Navigation from './Navigation'; import { Title } from './common'; diff --git a/packages/desktop-client/src/components/tutorial/BudgetInitial.js b/packages/desktop-client/src/components/tutorial/BudgetInitial.js index 55d5bf2..ba10504 100644 --- a/packages/desktop-client/src/components/tutorial/BudgetInitial.js +++ b/packages/desktop-client/src/components/tutorial/BudgetInitial.js @@ -1,8 +1,11 @@ import React from 'react'; -import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; + +import { bindActionCreators } from 'redux'; + import * as actions from 'loot-core/src/client/actions'; import { P, Button } from 'loot-design/src/components/common'; + import { Title, Standalone, useMinimized } from './common'; import Navigation from './Navigation'; diff --git a/packages/desktop-client/src/components/tutorial/BudgetNewIncome.js b/packages/desktop-client/src/components/tutorial/BudgetNewIncome.js index ff1bf88..9222b2e 100644 --- a/packages/desktop-client/src/components/tutorial/BudgetNewIncome.js +++ b/packages/desktop-client/src/components/tutorial/BudgetNewIncome.js @@ -1,6 +1,8 @@ import React from 'react'; + import { Tooltip, Pointer, P } from 'loot-design/src/components/common'; import { colors } from 'loot-design/src/style'; + import Navigation from './Navigation'; import { Title } from './common'; diff --git a/packages/desktop-client/src/components/tutorial/BudgetNextMonth.js b/packages/desktop-client/src/components/tutorial/BudgetNextMonth.js index 7e36c49..708368f 100644 --- a/packages/desktop-client/src/components/tutorial/BudgetNextMonth.js +++ b/packages/desktop-client/src/components/tutorial/BudgetNextMonth.js @@ -1,8 +1,11 @@ import React from 'react'; -import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; + +import { bindActionCreators } from 'redux'; + import * as actions from 'loot-core/src/client/actions'; import { View, P, Button } from 'loot-design/src/components/common'; + import Navigation from './Navigation'; import { Standalone, Title, useMinimized } from './common'; diff --git a/packages/desktop-client/src/components/tutorial/BudgetSummary.js b/packages/desktop-client/src/components/tutorial/BudgetSummary.js index 0a3e4ab..dae0ae7 100644 --- a/packages/desktop-client/src/components/tutorial/BudgetSummary.js +++ b/packages/desktop-client/src/components/tutorial/BudgetSummary.js @@ -1,6 +1,8 @@ import React from 'react'; + import { Tooltip, Pointer, P } from 'loot-design/src/components/common'; import { colors } from 'loot-design/src/style'; + import Navigation from './Navigation'; import { Title } from './common'; diff --git a/packages/desktop-client/src/components/tutorial/CategoryBalance.js b/packages/desktop-client/src/components/tutorial/CategoryBalance.js index ff99329..861c55b 100644 --- a/packages/desktop-client/src/components/tutorial/CategoryBalance.js +++ b/packages/desktop-client/src/components/tutorial/CategoryBalance.js @@ -1,5 +1,7 @@ import React from 'react'; + import { P, Button } from 'loot-design/src/components/common'; + import Navigation from './Navigation'; import { Standalone, Title, useMinimized } from './common'; diff --git a/packages/desktop-client/src/components/tutorial/DeleteTransactions.js b/packages/desktop-client/src/components/tutorial/DeleteTransactions.js index b432a71..69eb52f 100644 --- a/packages/desktop-client/src/components/tutorial/DeleteTransactions.js +++ b/packages/desktop-client/src/components/tutorial/DeleteTransactions.js @@ -1,5 +1,7 @@ import React from 'react'; + import { P } from 'loot-design/src/components/common'; + import Navigation from './Navigation'; import { Standalone, Title } from './common'; diff --git a/packages/desktop-client/src/components/tutorial/Final.js b/packages/desktop-client/src/components/tutorial/Final.js index 91d8a70..7b11fb0 100644 --- a/packages/desktop-client/src/components/tutorial/Final.js +++ b/packages/desktop-client/src/components/tutorial/Final.js @@ -1,5 +1,7 @@ import React from 'react'; + import { P, ModalButtons, Button } from 'loot-design/src/components/common'; + import { Standalone, Title, ExternalLink } from './common'; function Final({ targetRect, navigationProps }) { diff --git a/packages/desktop-client/src/components/tutorial/Intro.js b/packages/desktop-client/src/components/tutorial/Intro.js index 2bab2fb..2bb9396 100644 --- a/packages/desktop-client/src/components/tutorial/Intro.js +++ b/packages/desktop-client/src/components/tutorial/Intro.js @@ -1,4 +1,5 @@ import React from 'react'; + import { View, Text, @@ -6,6 +7,7 @@ import { ModalButtons, Button } from 'loot-design/src/components/common'; + import { Standalone, Title, ExternalLink } from './common'; function Intro({ fromYNAB, nextTutorialStage, closeTutorial }) { diff --git a/packages/desktop-client/src/components/tutorial/Navigation.js b/packages/desktop-client/src/components/tutorial/Navigation.js index 5301db3..2ab184c 100644 --- a/packages/desktop-client/src/components/tutorial/Navigation.js +++ b/packages/desktop-client/src/components/tutorial/Navigation.js @@ -1,4 +1,5 @@ import React from 'react'; + import { Button, ModalButtons } from 'loot-design/src/components/common'; function Navigation({ diff --git a/packages/desktop-client/src/components/tutorial/Overspending.js b/packages/desktop-client/src/components/tutorial/Overspending.js index 26b9a3c..bb7dd06 100644 --- a/packages/desktop-client/src/components/tutorial/Overspending.js +++ b/packages/desktop-client/src/components/tutorial/Overspending.js @@ -1,12 +1,15 @@ import React from 'react'; -import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; + +import { bindActionCreators } from 'redux'; + import * as actions from 'loot-core/src/client/actions'; import SheetValue from 'loot-design/src/components/spreadsheet/SheetValue'; import NamespaceContext from 'loot-design/src/components/spreadsheet/NamespaceContext'; import { P, View, Text, Button } from 'loot-design/src/components/common'; import * as monthUtils from 'loot-core/src/shared/months'; import { integerToCurrency } from 'loot-core/src/shared/util'; + import Navigation from './Navigation'; import { Standalone, Title, useMinimized } from './common'; diff --git a/packages/desktop-client/src/components/tutorial/TransactionAdd.js b/packages/desktop-client/src/components/tutorial/TransactionAdd.js index 5f2e9b0..d97118e 100644 --- a/packages/desktop-client/src/components/tutorial/TransactionAdd.js +++ b/packages/desktop-client/src/components/tutorial/TransactionAdd.js @@ -1,6 +1,8 @@ import React from 'react'; + import { Tooltip, Pointer, P } from 'loot-design/src/components/common'; import { colors } from 'loot-design/src/style'; + import Navigation from './Navigation'; import { Title } from './common'; diff --git a/packages/desktop-client/src/components/tutorial/TransactionEnter.js b/packages/desktop-client/src/components/tutorial/TransactionEnter.js index f06ecc1..f70e32d 100644 --- a/packages/desktop-client/src/components/tutorial/TransactionEnter.js +++ b/packages/desktop-client/src/components/tutorial/TransactionEnter.js @@ -1,6 +1,8 @@ import React from 'react'; + import { P } from 'loot-design/src/components/common'; import * as monthUtils from 'loot-core/src/shared/months'; + import Navigation from './Navigation'; import { Standalone, Title } from './common'; diff --git a/packages/desktop-client/src/components/tutorial/TransactionFinalize.js b/packages/desktop-client/src/components/tutorial/TransactionFinalize.js index 266e583..deebba9 100644 --- a/packages/desktop-client/src/components/tutorial/TransactionFinalize.js +++ b/packages/desktop-client/src/components/tutorial/TransactionFinalize.js @@ -1,6 +1,9 @@ import React from 'react'; -import { P } from 'loot-design/src/components/common'; + import { css } from 'glamor'; + +import { P } from 'loot-design/src/components/common'; + import Navigation from './Navigation'; import { Standalone } from './common'; diff --git a/packages/desktop-client/src/components/tutorial/common.js b/packages/desktop-client/src/components/tutorial/common.js index 8ec1f69..39d64bb 100644 --- a/packages/desktop-client/src/components/tutorial/common.js +++ b/packages/desktop-client/src/components/tutorial/common.js @@ -1,6 +1,8 @@ import React, { useState } from 'react'; + import { View, AnchorLink } from 'loot-design/src/components/common'; import { colors } from 'loot-design/src/style'; + import AnimateIn from './AnimateIn'; export function Title({ children }) { diff --git a/packages/desktop-client/src/components/util/AmountInput.js b/packages/desktop-client/src/components/util/AmountInput.js index 1e4184c..bdf657e 100644 --- a/packages/desktop-client/src/components/util/AmountInput.js +++ b/packages/desktop-client/src/components/util/AmountInput.js @@ -1,4 +1,5 @@ import React, { useState } from 'react'; + import { integerToCurrency, currencyToInteger diff --git a/packages/desktop-client/src/components/util/DisplayId.js b/packages/desktop-client/src/components/util/DisplayId.js index c69df07..c3bef77 100644 --- a/packages/desktop-client/src/components/util/DisplayId.js +++ b/packages/desktop-client/src/components/util/DisplayId.js @@ -1,4 +1,5 @@ import React from 'react'; + import { CachedPayees } from 'loot-core/src/client/data-hooks/payees'; import { CachedAccounts } from 'loot-core/src/client/data-hooks/accounts'; import { Text } from 'loot-design/src/components/common'; diff --git a/packages/desktop-client/src/components/util/GenericInput.js b/packages/desktop-client/src/components/util/GenericInput.js index ffefd22..f4a2cd3 100644 --- a/packages/desktop-client/src/components/util/GenericInput.js +++ b/packages/desktop-client/src/components/util/GenericInput.js @@ -1,5 +1,6 @@ import React from 'react'; import { useSelector } from 'react-redux'; + import { getMonthYearFormat } from 'loot-core/src/shared/months'; import { View, Input } from 'loot-design/src/components/common'; import PayeeAutocomplete from 'loot-design/src/components/PayeeAutocomplete'; diff --git a/packages/desktop-client/src/hooks/useServerVersion.js b/packages/desktop-client/src/hooks/useServerVersion.js index 3b3f272..07fd31d 100644 --- a/packages/desktop-client/src/hooks/useServerVersion.js +++ b/packages/desktop-client/src/hooks/useServerVersion.js @@ -1,4 +1,5 @@ import { useState, useEffect } from 'react'; + import { send } from 'loot-core/src/platform/client/fetch'; function useServerVersion() { diff --git a/packages/desktop-client/src/index.js b/packages/desktop-client/src/index.js index 2134f6d..067cc2d 100644 --- a/packages/desktop-client/src/index.js +++ b/packages/desktop-client/src/index.js @@ -7,20 +7,23 @@ import '@reach/listbox/styles.css'; import React from 'react'; import ReactDOM from 'react-dom'; +import { Provider } from 'react-redux'; + import { createStore, combineReducers, applyMiddleware, bindActionCreators } from 'redux'; -import { Provider } from 'react-redux'; +import thunk from 'redux-thunk'; + import constants from 'loot-core/src/client/constants'; import reducers from 'loot-core/src/client/reducers'; import { send } from 'loot-core/src/platform/client/fetch'; import q, { runQuery } from 'loot-core/src/client/query-helpers'; import * as actions from 'loot-core/src/client/actions'; -import thunk from 'redux-thunk'; import { initialState as initialAppState } from 'loot-core/src/client/reducers/app'; + import { handleGlobalEvents } from './global-events'; import App from './components/App'; diff --git a/packages/loot-core/package.json b/packages/loot-core/package.json index 48b50c3..72dbd19 100644 --- a/packages/loot-core/package.json +++ b/packages/loot-core/package.json @@ -50,6 +50,7 @@ "damerau-levenshtein": "^1.0.4", "date-fns": "2.0.0-alpha.27", "eslint": "5.6.0", + "eslint-plugin-import": "^2.26.0", "eslint-plugin-prettier": "^3.1.4", "esm": "^3.0.82", "fake-indexeddb": "^3.1.3", diff --git a/packages/loot-core/src/client/SpreadsheetProvider.js b/packages/loot-core/src/client/SpreadsheetProvider.js index aedacbe..cf6e884 100644 --- a/packages/loot-core/src/client/SpreadsheetProvider.js +++ b/packages/loot-core/src/client/SpreadsheetProvider.js @@ -1,7 +1,10 @@ import * as React from 'react'; import { useEffect, useMemo } from 'react'; + import LRU from 'lru-cache'; + import SpreadsheetContext from 'loot-design/src/components/spreadsheet/SpreadsheetContext'; + import { listen, send } from '../platform/client/fetch'; function makeSpreadsheet() { diff --git a/packages/loot-core/src/client/actions/budgets.js b/packages/loot-core/src/client/actions/budgets.js index d370b01..3a20240 100644 --- a/packages/loot-core/src/client/actions/budgets.js +++ b/packages/loot-core/src/client/actions/budgets.js @@ -5,6 +5,7 @@ import { send } from '../../platform/client/fetch'; import { setAppState } from './app'; import { startTutorialFirstTime } from './tutorial'; import { getDownloadError } from '../../shared/errors'; + const uuid = require('../../platform/uuid'); export function updateStatusText(text) { diff --git a/packages/loot-core/src/client/actions/notifications.js b/packages/loot-core/src/client/actions/notifications.js index 1a2f236..52eb7e4 100644 --- a/packages/loot-core/src/client/actions/notifications.js +++ b/packages/loot-core/src/client/actions/notifications.js @@ -1,4 +1,5 @@ import constants from '../constants'; + const uuid = require('../../platform/uuid'); export function addNotification(notification) { diff --git a/packages/loot-core/src/client/actions/queries.js b/packages/loot-core/src/client/actions/queries.js index e42ea7a..363ee35 100644 --- a/packages/loot-core/src/client/actions/queries.js +++ b/packages/loot-core/src/client/actions/queries.js @@ -1,4 +1,5 @@ import throttle from 'throttleit'; + import { send } from '../../platform/client/fetch'; import constants from '../constants'; import { addNotification, addGenericErrorNotification } from './notifications'; diff --git a/packages/loot-core/src/client/data-hooks/accounts.js b/packages/loot-core/src/client/data-hooks/accounts.js index c665939..405ad6b 100644 --- a/packages/loot-core/src/client/data-hooks/accounts.js +++ b/packages/loot-core/src/client/data-hooks/accounts.js @@ -1,4 +1,5 @@ import React, { useEffect, useState, useContext } from 'react'; + import q, { liveQuery } from 'loot-core/src/client/query-helpers'; import { getAccountsById } from 'loot-core/src/client/reducers/queries'; diff --git a/packages/loot-core/src/client/data-hooks/payees.js b/packages/loot-core/src/client/data-hooks/payees.js index 5cae0b9..b8383aa 100644 --- a/packages/loot-core/src/client/data-hooks/payees.js +++ b/packages/loot-core/src/client/data-hooks/payees.js @@ -1,4 +1,5 @@ import React, { useEffect, useState, useContext } from 'react'; + import q, { liveQuery } from 'loot-core/src/client/query-helpers'; import { getPayeesById } from 'loot-core/src/client/reducers/queries'; diff --git a/packages/loot-core/src/client/data-hooks/schedules.js b/packages/loot-core/src/client/data-hooks/schedules.js index 7cd0438..b7d5f63 100644 --- a/packages/loot-core/src/client/data-hooks/schedules.js +++ b/packages/loot-core/src/client/data-hooks/schedules.js @@ -1,4 +1,5 @@ import React, { useEffect, useState, useContext } from 'react'; + import { getStatus, getHasTransactionsQuery diff --git a/packages/loot-core/src/client/queries.js b/packages/loot-core/src/client/queries.js index 7ce78ad..b783b5a 100644 --- a/packages/loot-core/src/client/queries.js +++ b/packages/loot-core/src/client/queries.js @@ -1,4 +1,5 @@ import { parse as parseDate, isValid as isDateValid } from 'date-fns'; + import { currencyToAmount, amountToInteger } from '../shared/util'; import { dayFromDate, diff --git a/packages/loot-core/src/client/query-helpers.js b/packages/loot-core/src/client/query-helpers.js index b1a1d83..0a9b2a8 100644 --- a/packages/loot-core/src/client/query-helpers.js +++ b/packages/loot-core/src/client/query-helpers.js @@ -1,6 +1,5 @@ import { listen, send } from '../platform/client/fetch'; import { once } from '../shared/async'; - import q, { getPrimaryOrderBy } from '../shared/query'; export default q; diff --git a/packages/loot-core/src/client/query-hooks.js b/packages/loot-core/src/client/query-hooks.js index 6c680f4..97ef446 100644 --- a/packages/loot-core/src/client/query-hooks.js +++ b/packages/loot-core/src/client/query-hooks.js @@ -1,4 +1,5 @@ import React, { useState, useContext, useMemo, useEffect } from 'react'; + import { runQuery, liveQuery, LiveQuery, PagedQuery } from './query-helpers'; function makeContext(queryState, opts, QueryClass) { diff --git a/packages/loot-core/src/client/reducers/queries.js b/packages/loot-core/src/client/reducers/queries.js index c413744..87dff6c 100644 --- a/packages/loot-core/src/client/reducers/queries.js +++ b/packages/loot-core/src/client/reducers/queries.js @@ -1,5 +1,6 @@ -import constants from '../constants'; import memoizeOne from 'memoize-one'; + +import constants from '../constants'; import { groupById } from '../../shared/util'; const initialState = { diff --git a/packages/loot-core/src/mocks/arbitrary-schema.js b/packages/loot-core/src/mocks/arbitrary-schema.js index 0f508f2..2fee695 100644 --- a/packages/loot-core/src/mocks/arbitrary-schema.js +++ b/packages/loot-core/src/mocks/arbitrary-schema.js @@ -1,4 +1,5 @@ import fc from 'fast-check'; + import { schema } from '../server/aql'; import { addDays } from '../shared/months'; diff --git a/packages/loot-core/src/mocks/index.js b/packages/loot-core/src/mocks/index.js index a2423d8..ed2b174 100644 --- a/packages/loot-core/src/mocks/index.js +++ b/packages/loot-core/src/mocks/index.js @@ -1,4 +1,5 @@ import * as monthUtils from '../shared/months'; + const uuid = require('../platform/uuid'); export function generateAccount(name, isConnected, type, offbudget) { diff --git a/packages/loot-core/src/mocks/redux.js b/packages/loot-core/src/mocks/redux.js index 4c0a15f..47f1124 100644 --- a/packages/loot-core/src/mocks/redux.js +++ b/packages/loot-core/src/mocks/redux.js @@ -1,7 +1,9 @@ import React from 'react'; import { Provider } from 'react-redux'; + import thunk from 'redux-thunk'; import { createStore, combineReducers, applyMiddleware } from 'redux'; + import reducers from '../client/reducers'; let appReducer = combineReducers(reducers); diff --git a/packages/loot-core/src/mocks/util.js b/packages/loot-core/src/mocks/util.js index c430538..9508b0e 100644 --- a/packages/loot-core/src/mocks/util.js +++ b/packages/loot-core/src/mocks/util.js @@ -1,6 +1,7 @@ -const snapshotDiff = require('snapshot-diff'); const { join, dirname, basename } = require('path'); +const snapshotDiff = require('snapshot-diff'); + export function expectSnapshotWithDiffer(initialValue, { onlyUpdates } = {}) { let currentValue = initialValue; if (!onlyUpdates) { diff --git a/packages/loot-core/src/platform/server/asyncStorage/index.electron.js b/packages/loot-core/src/platform/server/asyncStorage/index.electron.js index b94b742..b2a8853 100644 --- a/packages/loot-core/src/platform/server/asyncStorage/index.electron.js +++ b/packages/loot-core/src/platform/server/asyncStorage/index.electron.js @@ -1,7 +1,8 @@ -const lootFs = require('../fs'); const fs = require('fs'); const { join } = require('path'); +const lootFs = require('../fs'); + let getStorePath = () => join(lootFs.getDataDir(), 'global-store.json'); let store; let persisted = true; diff --git a/packages/loot-core/src/platform/server/connection/index.electron.js b/packages/loot-core/src/platform/server/connection/index.electron.js index 3bd2b15..f31ab61 100644 --- a/packages/loot-core/src/platform/server/connection/index.electron.js +++ b/packages/loot-core/src/platform/server/connection/index.electron.js @@ -1,5 +1,6 @@ -const { runHandler, isMutating } = require('../../../server/mutators'); const ipc = require('node-ipc'); + +const { runHandler, isMutating } = require('../../../server/mutators'); const { captureException } = require('../../exceptions'); function coerceError(error) { diff --git a/packages/loot-core/src/platform/server/connection/index.mobile.js b/packages/loot-core/src/platform/server/connection/index.mobile.js index c11f0c0..02e1307 100644 --- a/packages/loot-core/src/platform/server/connection/index.mobile.js +++ b/packages/loot-core/src/platform/server/connection/index.mobile.js @@ -1,6 +1,7 @@ +let rn_bridge = require('rn-bridge'); + const { runHandler } = require('../../../server/mutators'); let { captureException } = require('../../exceptions'); -let rn_bridge = require('rn-bridge'); function coerceError(error) { if (error.type && error.type === 'APIError') { diff --git a/packages/loot-core/src/platform/server/fetch/index.electron.js b/packages/loot-core/src/platform/server/fetch/index.electron.js index ebad971..a553219 100644 --- a/packages/loot-core/src/platform/server/fetch/index.electron.js +++ b/packages/loot-core/src/platform/server/fetch/index.electron.js @@ -1,4 +1,5 @@ let fs = require('fs'); + let fetch = require('node-fetch'); async function fetchBinary(url, filepath) { diff --git a/packages/loot-core/src/platform/server/fs/index.mobile.js b/packages/loot-core/src/platform/server/fs/index.mobile.js index b8af10e..53ec5b2 100644 --- a/packages/loot-core/src/platform/server/fs/index.mobile.js +++ b/packages/loot-core/src/platform/server/fs/index.mobile.js @@ -1,4 +1,5 @@ let path = require('path'); + let fs = require('./index.electron.js'); // On mobile, the backend runs from a single bundle mounted at the diff --git a/packages/loot-core/src/platform/server/fs/index.web.js b/packages/loot-core/src/platform/server/fs/index.web.js index 591824f..f775c0f 100644 --- a/packages/loot-core/src/platform/server/fs/index.web.js +++ b/packages/loot-core/src/platform/server/fs/index.web.js @@ -1,5 +1,6 @@ let { SQLiteFS } = require('absurd-sql'); let IndexedDBBackend = require('absurd-sql/dist/indexeddb-backend').default; + let connection = require('../connection'); let { _getModule } = require('../sqlite'); let idb = require('../indexeddb'); diff --git a/packages/loot-core/src/platform/server/fs/index.web.test.js b/packages/loot-core/src/platform/server/fs/index.web.test.js index 965b3e9..c83f50f 100644 --- a/packages/loot-core/src/platform/server/fs/index.web.test.js +++ b/packages/loot-core/src/platform/server/fs/index.web.test.js @@ -4,6 +4,7 @@ require('fake-indexeddb/auto'); let FDBFactory = require('fake-indexeddb/lib/FDBFactory'); let idb = require('../indexeddb'); + let { init, readFile, writeFile, exists, pathToId, join } = require('./index'); beforeAll(() => { diff --git a/packages/loot-core/src/platform/server/sqlite/index.web.test.js b/packages/loot-core/src/platform/server/sqlite/index.web.test.js index 377516f..3d343f1 100644 --- a/packages/loot-core/src/platform/server/sqlite/index.web.test.js +++ b/packages/loot-core/src/platform/server/sqlite/index.web.test.js @@ -5,6 +5,7 @@ import { execQuery, runQuery } from './index.web'; + let os = require('os'); beforeAll(() => { diff --git a/packages/loot-core/src/server/accounts/export-to-csv.js b/packages/loot-core/src/server/accounts/export-to-csv.js index f58e468..3716f00 100644 --- a/packages/loot-core/src/server/accounts/export-to-csv.js +++ b/packages/loot-core/src/server/accounts/export-to-csv.js @@ -1,4 +1,5 @@ import csvStringify from 'csv-stringify/lib/sync'; + import { runQuery as aqlQuery } from '../aql'; import { integerToAmount } from '../../shared/util'; diff --git a/packages/loot-core/src/server/accounts/link.js b/packages/loot-core/src/server/accounts/link.js index 7f97be6..bcd7899 100644 --- a/packages/loot-core/src/server/accounts/link.js +++ b/packages/loot-core/src/server/accounts/link.js @@ -6,6 +6,7 @@ import { fromPlaidAccountType } from '../../shared/accounts'; import { amountToInteger } from '../../shared/util'; import { post } from '../post'; import { runMutator } from '../mutators'; + const uuid = require('../../platform/uuid'); export async function handoffPublicToken(institution, publicToken) { diff --git a/packages/loot-core/src/server/accounts/parse-file.js b/packages/loot-core/src/server/accounts/parse-file.js index 8887195..62f1e28 100644 --- a/packages/loot-core/src/server/accounts/parse-file.js +++ b/packages/loot-core/src/server/accounts/parse-file.js @@ -1,6 +1,7 @@ +import csv2json from 'csv-parse/lib/sync'; + import fs from '../../platform/server/fs'; import qif2json from './qif2json'; -import csv2json from 'csv-parse/lib/sync'; import { dayFromDate } from '../../shared/months'; import { looselyParseAmount } from '../../shared/util'; diff --git a/packages/loot-core/src/server/accounts/parse-file.test.js b/packages/loot-core/src/server/accounts/parse-file.test.js index 0c47088..6354852 100644 --- a/packages/loot-core/src/server/accounts/parse-file.test.js +++ b/packages/loot-core/src/server/accounts/parse-file.test.js @@ -1,9 +1,10 @@ +import * as d from 'date-fns'; + import { parseFile } from './parse-file'; import { reconcileTransactions } from './sync'; import * as prefs from '../prefs'; import * as db from '../db'; import { amountToInteger } from '../../shared/util'; -import * as d from 'date-fns'; beforeEach(global.emptyDatabase()); diff --git a/packages/loot-core/src/server/accounts/rules.js b/packages/loot-core/src/server/accounts/rules.js index 798cd09..f14a9b2 100644 --- a/packages/loot-core/src/server/accounts/rules.js +++ b/packages/loot-core/src/server/accounts/rules.js @@ -1,5 +1,6 @@ -import { RuleError } from '../errors'; import * as dateFns from 'date-fns'; + +import { RuleError } from '../errors'; import { monthFromDate, yearFromDate, diff --git a/packages/loot-core/src/server/accounts/sync.js b/packages/loot-core/src/server/accounts/sync.js index 2106fda..ce2d643 100644 --- a/packages/loot-core/src/server/accounts/sync.js +++ b/packages/loot-core/src/server/accounts/sync.js @@ -14,8 +14,9 @@ import { runRules } from './transaction-rules'; import { batchUpdateTransactions } from './transactions'; const dateFns = require('date-fns'); -const { post } = require('../post'); const levenshtein = require('damerau-levenshtein'); + +const { post } = require('../post'); const uuid = require('../../platform/uuid'); // Plaid article about API options: diff --git a/packages/loot-core/src/server/accounts/sync.test.js b/packages/loot-core/src/server/accounts/sync.test.js index 0ab189a..2f904f9 100644 --- a/packages/loot-core/src/server/accounts/sync.test.js +++ b/packages/loot-core/src/server/accounts/sync.test.js @@ -10,7 +10,9 @@ import { import * as monthUtils from '../../shared/months'; import * as transfer from './transfer'; import { loadRules, insertRule } from './transaction-rules'; + const snapshotDiff = require('snapshot-diff'); + const { post } = require('../post'); const mockSyncServer = require('../tests/mockSyncServer'); diff --git a/packages/loot-core/src/server/accounts/transactions.js b/packages/loot-core/src/server/accounts/transactions.js index 092379e..d8e71c8 100644 --- a/packages/loot-core/src/server/accounts/transactions.js +++ b/packages/loot-core/src/server/accounts/transactions.js @@ -3,6 +3,7 @@ import * as db from '../db'; import { incrFetch, whereIn } from '../db/util'; import * as transfer from './transfer'; import * as rules from './transaction-rules'; + const connection = require('../../platform/server/connection'); async function idsWithChildren(ids) { diff --git a/packages/loot-core/src/server/app.js b/packages/loot-core/src/server/app.js index c1740ef..964398e 100644 --- a/packages/loot-core/src/server/app.js +++ b/packages/loot-core/src/server/app.js @@ -1,4 +1,5 @@ import mitt from 'mitt'; + import { captureException } from '../platform/exceptions'; // This is a simple helper abstraction for defining methods exposed to diff --git a/packages/loot-core/src/server/aql/exec.test.js b/packages/loot-core/src/server/aql/exec.test.js index f64ab12..e7a3c40 100644 --- a/packages/loot-core/src/server/aql/exec.test.js +++ b/packages/loot-core/src/server/aql/exec.test.js @@ -3,6 +3,7 @@ import query from '../../shared/query'; import { makeChild } from '../../shared/transactions'; import * as aql from './exec'; import { schema, schemaConfig } from './schema'; + const uuid = require('../../platform/uuid'); beforeEach(global.emptyDatabase()); diff --git a/packages/loot-core/src/server/aql/schema/executors.test.js b/packages/loot-core/src/server/aql/schema/executors.test.js index 0bd4a1a..547ab86 100644 --- a/packages/loot-core/src/server/aql/schema/executors.test.js +++ b/packages/loot-core/src/server/aql/schema/executors.test.js @@ -1,4 +1,5 @@ import fc from 'fast-check'; + import * as db from '../../db'; import query from '../../../shared/query'; import { batchMessages, setSyncingMode } from '../../sync/index'; diff --git a/packages/loot-core/src/server/aql/schema/run-query.js b/packages/loot-core/src/server/aql/schema/run-query.js index f32847e..80ec3cc 100644 --- a/packages/loot-core/src/server/aql/schema/run-query.js +++ b/packages/loot-core/src/server/aql/schema/run-query.js @@ -1,4 +1,3 @@ -import { schema, schemaConfig } from './index'; import schemaExecutors from './executors'; import { runQuery as _runQuery, @@ -6,6 +5,8 @@ import { } from '../exec'; import { Query } from '../../../shared/query'; +import { schema, schemaConfig } from './index'; + export function runCompiledQuery(query, sqlPieces, state, params) { return _runCompiledQuery(query, sqlPieces, state, { params, diff --git a/packages/loot-core/src/server/backups.js b/packages/loot-core/src/server/backups.js index cba241a..da5a8af 100644 --- a/packages/loot-core/src/server/backups.js +++ b/packages/loot-core/src/server/backups.js @@ -3,9 +3,11 @@ import * as monthUtils from '../shared/months'; import * as sqlite from '../platform/server/sqlite'; import * as prefs from './prefs'; import * as cloudStorage from './cloud-storage'; + +const dateFns = require('date-fns'); + const connection = require('../platform/server/connection'); const uuid = require('../platform/uuid'); -const dateFns = require('date-fns'); // A special backup that represents the latest version of the db that // can be reverted to after loading a backup diff --git a/packages/loot-core/src/server/backups.test.js b/packages/loot-core/src/server/backups.test.js index 35b7dc7..a1c86cb 100644 --- a/packages/loot-core/src/server/backups.test.js +++ b/packages/loot-core/src/server/backups.test.js @@ -1,4 +1,5 @@ import { updateBackups } from './backups'; + const dateFns = require('date-fns'); describe('Backups', () => { diff --git a/packages/loot-core/src/server/budget/base.js b/packages/loot-core/src/server/budget/base.js index 139b0cb..c1c95e6 100644 --- a/packages/loot-core/src/server/budget/base.js +++ b/packages/loot-core/src/server/budget/base.js @@ -6,7 +6,7 @@ import { resolveName } from '../spreadsheet/util'; import * as report from './report'; import * as rollover from './rollover'; import { sumAmounts } from './util'; -import * as budgetActions from '../budget/actions'; +import * as budgetActions from './actions'; function mergeUpdates(updates) { const merged = {}; diff --git a/packages/loot-core/src/server/budget/report.js b/packages/loot-core/src/server/budget/report.js index 150d050..90901f7 100644 --- a/packages/loot-core/src/server/budget/report.js +++ b/packages/loot-core/src/server/budget/report.js @@ -1,5 +1,6 @@ import * as sheet from '../sheet'; import { number, sumAmounts } from './util'; + const { resolveName } = require('../spreadsheet/util'); export async function createCategory(cat, sheetName, prevSheetName) { diff --git a/packages/loot-core/src/server/budget/rollover.js b/packages/loot-core/src/server/budget/rollover.js index 5f5356f..4b2734b 100644 --- a/packages/loot-core/src/server/budget/rollover.js +++ b/packages/loot-core/src/server/budget/rollover.js @@ -1,6 +1,7 @@ import * as sheet from '../sheet'; import * as monthUtils from '../../shared/months'; import { number, sumAmounts, flatten2, unflatten2 } from './util'; + const { resolveName } = require('../spreadsheet/util'); function getBlankSheet(months) { diff --git a/packages/loot-core/src/server/cloud-storage.js b/packages/loot-core/src/server/cloud-storage.js index 498571d..9670290 100644 --- a/packages/loot-core/src/server/cloud-storage.js +++ b/packages/loot-core/src/server/cloud-storage.js @@ -14,9 +14,11 @@ import { } from './errors'; import encryption from './encryption'; import { post } from './post'; -let uuid = require('../platform/uuid'); + let AdmZip = require('adm-zip'); +let uuid = require('../platform/uuid'); + let UPLOAD_FREQUENCY_IN_DAYS = 7; async function checkHTTPStatus(res) { diff --git a/packages/loot-core/src/server/crdt/timestamp.js b/packages/loot-core/src/server/crdt/timestamp.js index b78a161..cf1f5fa 100644 --- a/packages/loot-core/src/server/crdt/timestamp.js +++ b/packages/loot-core/src/server/crdt/timestamp.js @@ -1,4 +1,5 @@ import murmurhash from 'murmurhash'; + const uuid = require('../../platform/uuid'); /** diff --git a/packages/loot-core/src/server/db/index.js b/packages/loot-core/src/server/db/index.js index fdc432c..7b96f29 100644 --- a/packages/loot-core/src/server/db/index.js +++ b/packages/loot-core/src/server/db/index.js @@ -1,4 +1,5 @@ import LRU from 'lru-cache'; + import * as sqlite from '../../platform/server/sqlite'; import fs from '../../platform/server/fs'; import { sendMessages, batchMessages } from '../sync'; diff --git a/packages/loot-core/src/server/db/mappings.js b/packages/loot-core/src/server/db/mappings.js index 4c0f19f..91d0007 100644 --- a/packages/loot-core/src/server/db/mappings.js +++ b/packages/loot-core/src/server/db/mappings.js @@ -1,6 +1,7 @@ -import * as db from './index'; import { addSyncListener } from '../sync/index'; +import * as db from './index'; + // This file keeps all the mappings in memory so we can access it // synchronously. This is primarily used in the rules system, but // there may be other uses in the future. You don't need to worry diff --git a/packages/loot-core/src/server/encryption.js b/packages/loot-core/src/server/encryption.js index 25018d7..1763c09 100644 --- a/packages/loot-core/src/server/encryption.js +++ b/packages/loot-core/src/server/encryption.js @@ -1,4 +1,5 @@ import * as internals from './encryption-internals'; + let uuid = require('../platform/uuid/index.electron.js'); // A map of all possible master encryption keys to use, keyed by diff --git a/packages/loot-core/src/server/main-app.js b/packages/loot-core/src/server/main-app.js index 3080039..e3597cb 100644 --- a/packages/loot-core/src/server/main-app.js +++ b/packages/loot-core/src/server/main-app.js @@ -1,4 +1,5 @@ import { createApp } from './app'; + const connection = require('../platform/server/connection'); // Main app diff --git a/packages/loot-core/src/server/main.js b/packages/loot-core/src/server/main.js index 6eca6a1..0ed999e 100644 --- a/packages/loot-core/src/server/main.js +++ b/packages/loot-core/src/server/main.js @@ -1,4 +1,6 @@ import './polyfills'; +import injectAPI from '@actual-app/api/injected'; + import asyncStorage from '../platform/server/asyncStorage'; import { captureException, captureBreadcrumb } from '../platform/exceptions'; import * as prefs from './prefs'; @@ -57,7 +59,6 @@ import { parseFile } from './accounts/parse-file'; import { exportToCSV, exportQueryToCSV } from './accounts/export-to-csv'; import { getServer, setServer } from './server-config'; import installAPI from './api'; -import injectAPI from '@actual-app/api/injected'; import * as cloudStorage from './cloud-storage'; import encryption from './encryption'; import * as tracking from './tracking/events'; @@ -67,7 +68,6 @@ import { createTestBudget } from '../mocks/budget'; import { runQuery as aqlQuery } from './aql'; import q, { Query } from '../shared/query'; import app from './main-app'; - // Apps import schedulesApp from './schedules/app'; import budgetApp from './budget/app'; @@ -76,6 +76,7 @@ import toolsApp from './tools/app'; const YNAB4 = require('@actual-app/import-ynab4/importer'); const YNAB5 = require('@actual-app/import-ynab5/importer'); + const uuid = require('../platform/uuid'); const connection = require('../platform/server/connection'); const { resolveName, unresolveName } = require('./spreadsheet/util'); diff --git a/packages/loot-core/src/server/migrate/cli.js b/packages/loot-core/src/server/migrate/cli.js index a8a9a72..2ca3f98 100755 --- a/packages/loot-core/src/server/migrate/cli.js +++ b/packages/loot-core/src/server/migrate/cli.js @@ -1,6 +1,5 @@ #!/usr/bin/env node --trace-warnings import * as sqlite from '../../platform/server/sqlite'; - import { getMigrationsDir, withMigrationsDir, @@ -10,6 +9,7 @@ import { getPending, migrate } from './migrations'; + const fs = require('fs'); const path = require('path'); diff --git a/packages/loot-core/src/server/migrate/migrations.js b/packages/loot-core/src/server/migrate/migrations.js index fe2e808..3bf278e 100644 --- a/packages/loot-core/src/server/migrate/migrations.js +++ b/packages/loot-core/src/server/migrate/migrations.js @@ -1,10 +1,9 @@ -import fs from '../../platform/server/fs'; -import * as sqlite from '../../platform/server/sqlite'; - // We have to bundle in JS migrations manually to avoid having to `eval` // them which doesn't play well with CSP. There isn't great, and eventually // we can remove this migration. import m1632571489012 from '../../../migrations/1632571489012_remove_cache.js'; +import fs from '../../platform/server/fs'; +import * as sqlite from '../../platform/server/sqlite'; const uuid = require('../../platform/uuid'); diff --git a/packages/loot-core/src/server/post.js b/packages/loot-core/src/server/post.js index 75fa24c..60d7696 100644 --- a/packages/loot-core/src/server/post.js +++ b/packages/loot-core/src/server/post.js @@ -1,4 +1,5 @@ import Platform from './platform'; + const { PostError } = require('./errors'); const { fetch } = require('../platform/server/fetch'); diff --git a/packages/loot-core/src/server/prefs.js b/packages/loot-core/src/server/prefs.js index fb7df91..495679d 100644 --- a/packages/loot-core/src/server/prefs.js +++ b/packages/loot-core/src/server/prefs.js @@ -1,5 +1,6 @@ import { sendMessages } from './sync'; import { Timestamp } from './crdt'; + const fs = require('../platform/server/fs'); let prefs = null; diff --git a/packages/loot-core/src/server/schedules/app.js b/packages/loot-core/src/server/schedules/app.js index 34f6994..e1b9666 100644 --- a/packages/loot-core/src/server/schedules/app.js +++ b/packages/loot-core/src/server/schedules/app.js @@ -1,5 +1,6 @@ import deepEqual from 'deep-equal'; import * as d from 'date-fns'; + import { createApp } from '../app'; import * as db from '../db'; import * as prefs from '../prefs'; diff --git a/packages/loot-core/src/server/schedules/app.test.js b/packages/loot-core/src/server/schedules/app.test.js index 5ba23b2..8cb0fe7 100644 --- a/packages/loot-core/src/server/schedules/app.test.js +++ b/packages/loot-core/src/server/schedules/app.test.js @@ -1,3 +1,5 @@ +import MockDate from 'mockdate'; + import { runQuery as aqlQuery } from '../aql'; import q from '../../shared/query'; import { loadRules, updateRule } from '../accounts/transaction-rules'; @@ -10,7 +12,6 @@ import { deleteSchedule, setNextDate } from './app'; -import MockDate from 'mockdate'; beforeEach(async () => { await global.emptyDatabase()(); diff --git a/packages/loot-core/src/server/schedules/find-schedules.js b/packages/loot-core/src/server/schedules/find-schedules.js index b40edad..5731aaf 100644 --- a/packages/loot-core/src/server/schedules/find-schedules.js +++ b/packages/loot-core/src/server/schedules/find-schedules.js @@ -1,4 +1,5 @@ import * as d from 'date-fns'; + import * as db from '../db'; import { Schedule as RSchedule } from '../util/rschedule'; import { groupBy } from '../../shared/util'; @@ -9,6 +10,7 @@ import { getApproxNumberThreshold } from '../../shared/rules'; import { recurConfigToRSchedule } from '../../shared/schedules'; import { dayFromDate, parseDate } from '../../shared/months'; import { conditionsToAQL } from '../accounts/transaction-rules'; + const uuid = require('../../platform/uuid'); function takeDates(config) { diff --git a/packages/loot-core/src/server/sheet.js b/packages/loot-core/src/server/sheet.js index 5df2ec4..5619241 100644 --- a/packages/loot-core/src/server/sheet.js +++ b/packages/loot-core/src/server/sheet.js @@ -4,6 +4,7 @@ import { captureBreadcrumb } from '../platform/exceptions'; import * as sqlite from '../platform/server/sqlite'; import { sheetForMonth } from '../shared/months'; import Platform from './platform'; + const { resolveName } = require('./spreadsheet/util'); let globalSheet, globalOnChange; diff --git a/packages/loot-core/src/server/spreadsheet/interpreter.js b/packages/loot-core/src/server/spreadsheet/interpreter.js index d659995..38aecd7 100644 --- a/packages/loot-core/src/server/spreadsheet/interpreter.js +++ b/packages/loot-core/src/server/spreadsheet/interpreter.js @@ -1,4 +1,5 @@ const escodegen = require('@jlongster/escodegen'); + const globals = require('./globals'); // Unfortunately we need to use eval to bypass babel's transform of diff --git a/packages/loot-core/src/server/spreadsheet/new/vm.test.js b/packages/loot-core/src/server/spreadsheet/new/vm.test.js index 6c3a726..bfebe10 100644 --- a/packages/loot-core/src/server/spreadsheet/new/vm.test.js +++ b/packages/loot-core/src/server/spreadsheet/new/vm.test.js @@ -1,4 +1,5 @@ import VM from './vm'; + const { unresolveName } = require('../util'); const db = { diff --git a/packages/loot-core/src/server/spreadsheet/spreadsheet.js b/packages/loot-core/src/server/spreadsheet/spreadsheet.js index c24ccd1..459be7b 100644 --- a/packages/loot-core/src/server/spreadsheet/spreadsheet.js +++ b/packages/loot-core/src/server/spreadsheet/spreadsheet.js @@ -1,4 +1,5 @@ import mitt from 'mitt'; + import { compileQuery, runCompiledQuery, schema, schemaConfig } from '../aql'; const Graph = require('./graph-data-structure'); diff --git a/packages/loot-core/src/server/spreadsheet/tests/data-propagation.js b/packages/loot-core/src/server/spreadsheet/tests/data-propagation.js index 9d8544f..8268ef7 100644 --- a/packages/loot-core/src/server/spreadsheet/tests/data-propagation.js +++ b/packages/loot-core/src/server/spreadsheet/tests/data-propagation.js @@ -1,4 +1,5 @@ const expect = require('expect'); + const propagate = require('../data-compute/propagate.js'); describe('data propagation', () => { diff --git a/packages/loot-core/src/server/spreadsheet/usage.js b/packages/loot-core/src/server/spreadsheet/usage.js index abe6f8c..c053a06 100644 --- a/packages/loot-core/src/server/spreadsheet/usage.js +++ b/packages/loot-core/src/server/spreadsheet/usage.js @@ -1,11 +1,11 @@ const sqlite = require('sqlite3'); const escodegen = require('escodegen'); + const sqlgen = require('./sqlgen'); +const Spreadsheet = require('./spreadsheet'); // Example usage: -const Spreadsheet = require('./spreadsheet'); - const db = new sqlite.Database(__dirname + '/../../db.sqlite'); const sheet = new Spreadsheet({ plugins: { diff --git a/packages/loot-core/src/server/sync/encoder.js b/packages/loot-core/src/server/sync/encoder.js index 82b9c20..b2db4bf 100644 --- a/packages/loot-core/src/server/sync/encoder.js +++ b/packages/loot-core/src/server/sync/encoder.js @@ -1,5 +1,6 @@ import encryption from '../encryption'; import * as prefs from '../prefs'; + let { SyncError } = require('../errors'); let SyncPb = require('./proto/sync_pb'); diff --git a/packages/loot-core/src/server/sync/make-test-message.js b/packages/loot-core/src/server/sync/make-test-message.js index ca02aaf..88ebf1c 100644 --- a/packages/loot-core/src/server/sync/make-test-message.js +++ b/packages/loot-core/src/server/sync/make-test-message.js @@ -1,4 +1,5 @@ import encryption from '../encryption'; + let SyncPb = require('./proto/sync_pb'); async function randomString() { diff --git a/packages/loot-core/src/server/sync/migrate.js b/packages/loot-core/src/server/sync/migrate.js index 40fcaa3..20f055c 100644 --- a/packages/loot-core/src/server/sync/migrate.js +++ b/packages/loot-core/src/server/sync/migrate.js @@ -1,6 +1,7 @@ -import { addSyncListener, applyMessages } from './index'; import { Timestamp } from '../crdt'; +import { addSyncListener, applyMessages } from './index'; + function migrateParentIds(oldValues, newValues) { newValues.forEach((items, table) => { if (table === 'transactions') { diff --git a/packages/loot-core/src/server/sync/migrate.test.js b/packages/loot-core/src/server/sync/migrate.test.js index 9a33561..2042965 100644 --- a/packages/loot-core/src/server/sync/migrate.test.js +++ b/packages/loot-core/src/server/sync/migrate.test.js @@ -1,11 +1,13 @@ import fc from 'fast-check'; + import * as db from '../db'; import { listen, unlisten } from './migrate'; -import { addSyncListener, sendMessages } from './index'; import { execTracer } from '../../shared/test-helpers'; import { convertInputType, schema, schemaConfig } from '../aql'; import arbs from '../../mocks/arbitrary-schema'; +import { addSyncListener, sendMessages } from './index'; + beforeEach(() => { listen(); return global.emptyDatabase()(); diff --git a/packages/loot-core/src/server/sync/reset.js b/packages/loot-core/src/server/sync/reset.js index fda144c..cbd3bff 100644 --- a/packages/loot-core/src/server/sync/reset.js +++ b/packages/loot-core/src/server/sync/reset.js @@ -4,6 +4,7 @@ import * as prefs from '../prefs'; import asyncStorage from '../../platform/server/asyncStorage'; import { captureException } from '../../platform/exceptions'; import { runMutator } from '../mutators'; + const connection = require('../../platform/server/connection'); export default async function resetSync(keyState) { diff --git a/packages/loot-core/src/server/sync/sync.property.test.js b/packages/loot-core/src/server/sync/sync.property.test.js index 0c798c8..943b888 100644 --- a/packages/loot-core/src/server/sync/sync.property.test.js +++ b/packages/loot-core/src/server/sync/sync.property.test.js @@ -1,9 +1,11 @@ import * as prefs from '../prefs'; import * as db from '../db'; import * as sheet from '../sheet'; -import * as sync from './index'; import { merkle, getClock, Timestamp } from '../crdt'; import * as encoder from './encoder'; + +import * as sync from './index'; + const jsc = require('jsverify'); const uuidGenerator = jsc.integer(97, 122).smap( x => String.fromCharCode(x), diff --git a/packages/loot-core/src/server/sync/sync.test.js b/packages/loot-core/src/server/sync/sync.test.js index cea7d05..4778360 100644 --- a/packages/loot-core/src/server/sync/sync.test.js +++ b/packages/loot-core/src/server/sync/sync.test.js @@ -3,8 +3,10 @@ import * as db from '../db'; import * as sheet from '../sheet'; import { getClock, Timestamp } from '../crdt'; import { resolveName } from '../spreadsheet/util'; -import { setSyncingMode, sendMessages, applyMessages, fullSync } from './index'; import * as encoder from './encoder'; + +import { setSyncingMode, sendMessages, applyMessages, fullSync } from './index'; + const mockSyncServer = require('../tests/mockSyncServer'); beforeEach(() => { diff --git a/packages/loot-core/src/server/tests/mockSyncServer.js b/packages/loot-core/src/server/tests/mockSyncServer.js index ceb12d7..d245e45 100644 --- a/packages/loot-core/src/server/tests/mockSyncServer.js +++ b/packages/loot-core/src/server/tests/mockSyncServer.js @@ -1,5 +1,7 @@ import dateFns from 'date-fns'; + import { makeClock, Timestamp, merkle } from '../crdt'; + const defaultMockData = require('./mockData').basic; const SyncPb = require('../sync/proto/sync_pb'); diff --git a/packages/loot-core/src/server/undo.js b/packages/loot-core/src/server/undo.js index bc96741..039c5a0 100644 --- a/packages/loot-core/src/server/undo.js +++ b/packages/loot-core/src/server/undo.js @@ -2,6 +2,7 @@ import { sendMessages } from './sync'; import { getIn } from '../shared/util'; import { Timestamp } from './crdt'; import { withMutatorContext, getMutatorContext } from './mutators'; + const connection = require('../platform/server/connection'); // A marker always sits as the first entry to simplify logic diff --git a/packages/loot-core/src/server/update.js b/packages/loot-core/src/server/update.js index f4e6459..679e8d9 100644 --- a/packages/loot-core/src/server/update.js +++ b/packages/loot-core/src/server/update.js @@ -1,4 +1,5 @@ import md5 from 'md5'; + import * as migrations from './migrate/migrations'; import * as db from './db'; import { schema, schemaConfig, makeViews } from './aql'; diff --git a/packages/loot-core/src/server/util/budget-name.js b/packages/loot-core/src/server/util/budget-name.js index 6163cb1..811904b 100644 --- a/packages/loot-core/src/server/util/budget-name.js +++ b/packages/loot-core/src/server/util/budget-name.js @@ -1,4 +1,5 @@ import fs from '../../platform/server/fs'; + const uuid = require('../../platform/uuid'); export async function uniqueFileName(existingFiles) { diff --git a/packages/loot-core/src/shared/schedules.test.js b/packages/loot-core/src/shared/schedules.test.js index 880899d..a3733b4 100644 --- a/packages/loot-core/src/shared/schedules.test.js +++ b/packages/loot-core/src/shared/schedules.test.js @@ -1,6 +1,7 @@ -import { getRecurringDescription } from './schedules'; import MockDate from 'mockdate'; +import { getRecurringDescription } from './schedules'; + describe('recurring date description', () => { beforeEach(() => { MockDate.set(new Date(2021, 4, 14)); diff --git a/packages/loot-core/src/shared/transactions.js b/packages/loot-core/src/shared/transactions.js index b5bf3fd..97559e9 100644 --- a/packages/loot-core/src/shared/transactions.js +++ b/packages/loot-core/src/shared/transactions.js @@ -1,4 +1,5 @@ import { last, diffItems, applyChanges } from './util'; + const uuid = require('../platform/uuid'); // The amount might be null when adding a new transaction diff --git a/packages/loot-core/src/shared/transactions.test.js b/packages/loot-core/src/shared/transactions.test.js index b95471e..743e553 100644 --- a/packages/loot-core/src/shared/transactions.test.js +++ b/packages/loot-core/src/shared/transactions.test.js @@ -5,6 +5,7 @@ import { addSplitTransaction, makeChild } from './transactions'; + const uuid = require('../platform/uuid'); // const data = { diff --git a/packages/loot-design/src/components/AccountAutocomplete.js b/packages/loot-design/src/components/AccountAutocomplete.js index 2eccf66..764d60f 100644 --- a/packages/loot-design/src/components/AccountAutocomplete.js +++ b/packages/loot-design/src/components/AccountAutocomplete.js @@ -1,5 +1,7 @@ import React from 'react'; + import { useCachedAccounts } from 'loot-core/src/client/data-hooks/accounts'; + import Autocomplete from './Autocomplete'; import { View } from './common'; import { colors } from '../style'; diff --git a/packages/loot-design/src/components/Autocomplete.js b/packages/loot-design/src/components/Autocomplete.js index ccb002f..52c1759 100644 --- a/packages/loot-design/src/components/Autocomplete.js +++ b/packages/loot-design/src/components/Autocomplete.js @@ -1,7 +1,9 @@ import React, { useState, useRef, useEffect } from 'react'; + import lively from '@jlongster/lively'; import Downshift from 'downshift'; import { css } from 'glamor'; + import { colors } from '../style'; import Remove from '../svg/v2/Remove'; import { View, Input, Tooltip, Button } from './common'; diff --git a/packages/loot-design/src/components/Autocomplete.usage.js b/packages/loot-design/src/components/Autocomplete.usage.js index 987a68e..8b50770 100644 --- a/packages/loot-design/src/components/Autocomplete.usage.js +++ b/packages/loot-design/src/components/Autocomplete.usage.js @@ -1,6 +1,8 @@ import React from 'react'; -import Autocomplete, { MultiAutocomplete } from './Autocomplete'; + import Component from '@reactions/component'; + +import Autocomplete, { MultiAutocomplete } from './Autocomplete'; import { Section } from '../guide/components'; let items = [ diff --git a/packages/loot-design/src/components/CategorySelect.js b/packages/loot-design/src/components/CategorySelect.js index f94dd23..599a874 100644 --- a/packages/loot-design/src/components/CategorySelect.js +++ b/packages/loot-design/src/components/CategorySelect.js @@ -1,4 +1,5 @@ import React, { useMemo } from 'react'; + import { View, Text, Select } from './common'; import Autocomplete, { defaultFilterSuggestion } from './Autocomplete'; import { colors } from '../style'; diff --git a/packages/loot-design/src/components/DateSelect.js b/packages/loot-design/src/components/DateSelect.js index db9b998..dbb766b 100644 --- a/packages/loot-design/src/components/DateSelect.js +++ b/packages/loot-design/src/components/DateSelect.js @@ -6,11 +6,11 @@ import React, { useImperativeHandle, useMemo } from 'react'; + import * as d from 'date-fns'; import Pikaday from 'pikaday'; + import 'pikaday/css/pikaday.css'; -import { colors } from '../style'; -import { View, Input, Tooltip } from './common'; import { getDayMonthFormat, getDayMonthRegex, @@ -18,6 +18,8 @@ import { getShortYearRegex } from 'loot-core/src/shared/months'; +import { colors } from '../style'; +import { View, Input, Tooltip } from './common'; import DateSelectLeft from './DateSelect.left.png'; import DateSelectRight from './DateSelect.right.png'; diff --git a/packages/loot-design/src/components/DateSelect.usage.js b/packages/loot-design/src/components/DateSelect.usage.js index c583ae9..64cb218 100644 --- a/packages/loot-design/src/components/DateSelect.usage.js +++ b/packages/loot-design/src/components/DateSelect.usage.js @@ -1,4 +1,5 @@ import React from 'react'; + import DateSelect from './DateSelect'; import { Section } from '../guide/components'; diff --git a/packages/loot-design/src/components/FixedSizeList.js b/packages/loot-design/src/components/FixedSizeList.js index 72e902f..d3f341b 100644 --- a/packages/loot-design/src/components/FixedSizeList.js +++ b/packages/loot-design/src/components/FixedSizeList.js @@ -1,5 +1,7 @@ import React from 'react'; + import memoizeOne from 'memoize-one'; + import useResizeObserver from './useResizeObserver'; import { View } from './common'; diff --git a/packages/loot-design/src/components/KeyHandlers.js b/packages/loot-design/src/components/KeyHandlers.js index d784df9..dc31bbe 100644 --- a/packages/loot-design/src/components/KeyHandlers.js +++ b/packages/loot-design/src/components/KeyHandlers.js @@ -1,6 +1,7 @@ -import hotkeys from 'hotkeys-js'; import React, { useEffect, useContext } from 'react'; +import hotkeys from 'hotkeys-js'; + let KeyScopeContext = React.createContext('app'); hotkeys.filter = event => { diff --git a/packages/loot-design/src/components/NotesButton.js b/packages/loot-design/src/components/NotesButton.js index 8ef0b5f..990d1ea 100644 --- a/packages/loot-design/src/components/NotesButton.js +++ b/packages/loot-design/src/components/NotesButton.js @@ -1,8 +1,11 @@ import React, { useState, useEffect, useMemo } from 'react'; + import { css } from 'glamor'; + import { send } from 'loot-core/src/platform/client/fetch'; import { useLiveQuery } from 'loot-core/src/client/query-hooks'; import q from 'loot-core/src/client/query-helpers'; + import { View, Button, Tooltip, useTooltip } from './common'; import CustomNotesPaper from '../svg/v2/CustomNotesPaper'; import { colors } from '../style'; diff --git a/packages/loot-design/src/components/PayeeAutocomplete.js b/packages/loot-design/src/components/PayeeAutocomplete.js index 4c3ee16..e6fd723 100644 --- a/packages/loot-design/src/components/PayeeAutocomplete.js +++ b/packages/loot-design/src/components/PayeeAutocomplete.js @@ -1,9 +1,11 @@ import React, { useState, useMemo, useRef } from 'react'; import { useDispatch } from 'react-redux'; + import { getActivePayees } from 'loot-core/src/client/reducers/queries'; import { createPayee } from 'loot-core/src/client/actions/queries'; import { useCachedPayees } from 'loot-core/src/client/data-hooks/payees'; import { useCachedAccounts } from 'loot-core/src/client/data-hooks/accounts'; + import { View } from './common'; import Add from '../svg/v1/Add'; import Autocomplete, { diff --git a/packages/loot-design/src/components/RecurringSchedulePicker.js b/packages/loot-design/src/components/RecurringSchedulePicker.js index 496b481..351b37b 100644 --- a/packages/loot-design/src/components/RecurringSchedulePicker.js +++ b/packages/loot-design/src/components/RecurringSchedulePicker.js @@ -1,23 +1,17 @@ import React, { useEffect, useReducer, useState } from 'react'; import { useSelector } from 'react-redux'; + import { sendCatch } from 'loot-core/src/platform/client/fetch'; import * as monthUtils from 'loot-core/src/shared/months'; import { getRecurringDescription } from 'loot-core/src/shared/schedules'; -import DateSelect from './DateSelect'; -import { - Button, - Select, - Input, - Tooltip, - View, - Text, - Stack -} from '../components/common'; import { colors } from 'loot-design/src/style'; import { useTooltip } from 'loot-design/src/components/tooltips'; import SubtractIcon from 'loot-design/src/svg/Subtract'; import AddIcon from 'loot-design/src/svg/Add'; +import { Button, Select, Input, Tooltip, View, Text, Stack } from './common'; +import DateSelect from './DateSelect'; + const DATE_FORMAT = 'yyyy-MM-dd'; // ex: There is no 6th Friday of the Month diff --git a/packages/loot-design/src/components/RecurringSchedulePicker.usage.js b/packages/loot-design/src/components/RecurringSchedulePicker.usage.js index 9529de2..c746b21 100644 --- a/packages/loot-design/src/components/RecurringSchedulePicker.usage.js +++ b/packages/loot-design/src/components/RecurringSchedulePicker.usage.js @@ -1,8 +1,9 @@ import React from 'react'; + import RecurringSchedulePicker from './RecurringSchedulePicker'; import { Section } from '../guide/components'; import { Button, View } from './common'; -import { useTooltip } from '../components/tooltips'; +import { useTooltip } from './tooltips'; export default () => { const { isOpen, close, getOpenEvents } = useTooltip(); diff --git a/packages/loot-design/src/components/Stack.js b/packages/loot-design/src/components/Stack.js index d268930..d7108b9 100644 --- a/packages/loot-design/src/components/Stack.js +++ b/packages/loot-design/src/components/Stack.js @@ -1,4 +1,5 @@ import React from 'react'; + import View from './View'; import Text from './Text'; diff --git a/packages/loot-design/src/components/Text.js b/packages/loot-design/src/components/Text.js index 61156f9..7a6fae6 100644 --- a/packages/loot-design/src/components/Text.js +++ b/packages/loot-design/src/components/Text.js @@ -1,4 +1,5 @@ import React from 'react'; + import { css } from 'glamor'; function Text(props) { diff --git a/packages/loot-design/src/components/TutorialPoint.js b/packages/loot-design/src/components/TutorialPoint.js index 2c4466c..c581c36 100644 --- a/packages/loot-design/src/components/TutorialPoint.js +++ b/packages/loot-design/src/components/TutorialPoint.js @@ -1,4 +1,5 @@ import React from 'react'; + import PropTypes from 'prop-types'; class TutorialPoint extends React.Component { diff --git a/packages/loot-design/src/components/View.js b/packages/loot-design/src/components/View.js index 8002dd5..69ea703 100644 --- a/packages/loot-design/src/components/View.js +++ b/packages/loot-design/src/components/View.js @@ -1,4 +1,5 @@ import React from 'react'; + import { css } from 'glamor'; function View(props) { diff --git a/packages/loot-design/src/components/alerts.js b/packages/loot-design/src/components/alerts.js index ae41b94..866bea8 100644 --- a/packages/loot-design/src/components/alerts.js +++ b/packages/loot-design/src/components/alerts.js @@ -1,4 +1,5 @@ import React from 'react'; + import { View, Text } from './common'; import { styles, colors } from '../style'; import InformationOutline from '../svg/v1/InformationOutline'; diff --git a/packages/loot-design/src/components/budget/BalanceWithCarryover.js b/packages/loot-design/src/components/budget/BalanceWithCarryover.js index dabda92..9a0745c 100644 --- a/packages/loot-design/src/components/budget/BalanceWithCarryover.js +++ b/packages/loot-design/src/components/budget/BalanceWithCarryover.js @@ -1,4 +1,5 @@ import React from 'react'; + import useSheetValue from '../spreadsheet/useSheetValue'; import { makeAmountStyle } from './util'; import { View } from '../common'; diff --git a/packages/loot-design/src/components/budget/BudgetMonthCountContext.js b/packages/loot-design/src/components/budget/BudgetMonthCountContext.js index dbb2651..e615369 100644 --- a/packages/loot-design/src/components/budget/BudgetMonthCountContext.js +++ b/packages/loot-design/src/components/budget/BudgetMonthCountContext.js @@ -1,4 +1,5 @@ import React, { useContext, useState } from 'react'; + import mitt from 'mitt'; export let BudgetMonthCountContext = React.createContext(); diff --git a/packages/loot-design/src/components/budget/BudgetSummaries.js b/packages/loot-design/src/components/budget/BudgetSummaries.js index 9bcf2e5..75a65ac 100644 --- a/packages/loot-design/src/components/budget/BudgetSummaries.js +++ b/packages/loot-design/src/components/budget/BudgetSummaries.js @@ -5,10 +5,13 @@ import React, { useCallback, useLayoutEffect } from 'react'; + import { Spring } from 'wobble'; import { css } from 'glamor'; -import { MonthsContext } from './MonthsContext'; + import * as monthUtils from 'loot-core/src/shared/months'; + +import { MonthsContext } from './MonthsContext'; import { View } from '../common'; import useResizeObserver from '../useResizeObserver'; diff --git a/packages/loot-design/src/components/budget/DynamicBudgetTable.js b/packages/loot-design/src/components/budget/DynamicBudgetTable.js index 33f9bd6..fac8f98 100644 --- a/packages/loot-design/src/components/budget/DynamicBudgetTable.js +++ b/packages/loot-design/src/components/budget/DynamicBudgetTable.js @@ -1,10 +1,12 @@ import React, { useEffect } from 'react'; import AutoSizer from 'react-virtualized-auto-sizer'; + import { View } from '../common'; -import { BudgetPageHeader, BudgetTable } from './index'; import { CategoryGroupsContext } from './util'; import { useBudgetMonthCount } from './BudgetMonthCountContext'; +import { BudgetPageHeader, BudgetTable } from './index'; + function getNumPossibleMonths(width) { let estimatedTableWidth = width - 200; diff --git a/packages/loot-design/src/components/budget/MonthsContext.js b/packages/loot-design/src/components/budget/MonthsContext.js index d481d71..102a75a 100644 --- a/packages/loot-design/src/components/budget/MonthsContext.js +++ b/packages/loot-design/src/components/budget/MonthsContext.js @@ -1,4 +1,5 @@ import React from 'react'; + import * as monthUtils from 'loot-core/src/shared/months'; export function getValidMonthBounds(bounds, startMonth, endMonth) { diff --git a/packages/loot-design/src/components/budget/index.js b/packages/loot-design/src/components/budget/index.js index 5c0ee22..4f03742 100644 --- a/packages/loot-design/src/components/budget/index.js +++ b/packages/loot-design/src/components/budget/index.js @@ -1,4 +1,9 @@ import React, { useContext, useState, useMemo } from 'react'; + +import { scope } from '@jlongster/lively'; + +import * as monthUtils from 'loot-core/src/shared/months'; + import ElementQuery from '../ElementQuery'; import { View, @@ -16,19 +21,15 @@ import { DropHighlightPosContext } from '../sort.js'; import NamespaceContext from '../spreadsheet/NamespaceContext'; -import { scope } from '@jlongster/lively'; import { styles, colors } from '../../style'; import ArrowThinLeft from '../../svg/v1/ArrowThinLeft'; import ArrowThinRight from '../../svg/v1/ArrowThinRight'; import ExpandArrow from '../../svg/ExpandArrow'; import CheveronDown from '../../svg/v1/CheveronDown'; -import * as monthUtils from 'loot-core/src/shared/months'; import { separateGroups, findSortDown, findSortUp } from './util'; import { MonthsProvider, MonthsContext } from './MonthsContext'; import NotesButton from '../NotesButton'; - import BudgetSummaries from './BudgetSummaries'; - import { INCOME_HEADER_HEIGHT, MONTH_BOX_SHADOW } from './constants'; function getScrollbarWidth() { diff --git a/packages/loot-design/src/components/budget/index.usage.js b/packages/loot-design/src/components/budget/index.usage.js index 025e51d..50e16d7 100644 --- a/packages/loot-design/src/components/budget/index.usage.js +++ b/packages/loot-design/src/components/budget/index.usage.js @@ -1,14 +1,16 @@ import React from 'react'; import { DndProvider } from 'react-dnd'; import Backend from 'react-dnd-html5-backend'; + +import makeSpreadsheet from 'loot-core/src/mocks/spreadsheet'; +import { generateCategoryGroups } from 'loot-core/src/mocks'; +import * as monthUtils from 'loot-core/src/shared/months'; + import { Section } from '../../guide/components'; import { View } from '../common'; import SpreadsheetContext from '../spreadsheet/SpreadsheetContext'; -import makeSpreadsheet from 'loot-core/src/mocks/spreadsheet'; import DynamicBudgetTable from './DynamicBudgetTable'; import { BudgetMonthCountContext } from './BudgetMonthCountContext'; -import { generateCategoryGroups } from 'loot-core/src/mocks'; -import * as monthUtils from 'loot-core/src/shared/months'; import * as rollover from './rollover/rollover-components'; import { RolloverContext } from './rollover/RolloverContext'; import { colors } from '../../style'; diff --git a/packages/loot-design/src/components/budget/report/BudgetSummary.js b/packages/loot-design/src/components/budget/report/BudgetSummary.js index 57e8da7..585dc46 100644 --- a/packages/loot-design/src/components/budget/report/BudgetSummary.js +++ b/packages/loot-design/src/components/budget/report/BudgetSummary.js @@ -1,7 +1,10 @@ import React, { useState } from 'react'; + import { css } from 'glamor'; + import * as monthUtils from 'loot-core/src/shared/months'; import { reportBudget } from 'loot-core/src/client/queries'; + import NamespaceContext from '../../spreadsheet/NamespaceContext'; import CellValue from '../../spreadsheet/CellValue'; import useSheetValue from '../../spreadsheet/useSheetValue'; diff --git a/packages/loot-design/src/components/budget/report/ReportContext.js b/packages/loot-design/src/components/budget/report/ReportContext.js index 9933ae1..2f5057a 100644 --- a/packages/loot-design/src/components/budget/report/ReportContext.js +++ b/packages/loot-design/src/components/budget/report/ReportContext.js @@ -1,4 +1,5 @@ import React, { useContext } from 'react'; + import * as monthUtils from 'loot-core/src/shared/months'; let Context = React.createContext(null); diff --git a/packages/loot-design/src/components/budget/report/components.js b/packages/loot-design/src/components/budget/report/components.js index b3d87f9..87c73c0 100644 --- a/packages/loot-design/src/components/budget/report/components.js +++ b/packages/loot-design/src/components/budget/report/components.js @@ -1,7 +1,9 @@ import React from 'react'; + import { integerToCurrency, amountToInteger } from 'loot-core/src/shared/util'; import evalArithmetic from 'loot-core/src/shared/arithmetic'; import { reportBudget } from 'loot-core/src/client/queries'; + import { styles, colors } from '../../../style'; import { View, Text, Tooltip, Menu, useTooltip } from '../../common'; import { Field, SheetCell } from '../../table'; diff --git a/packages/loot-design/src/components/budget/rollover/BudgetSummary.js b/packages/loot-design/src/components/budget/rollover/BudgetSummary.js index 160fa64..c260017 100644 --- a/packages/loot-design/src/components/budget/rollover/BudgetSummary.js +++ b/packages/loot-design/src/components/budget/rollover/BudgetSummary.js @@ -1,8 +1,11 @@ import React, { useState } from 'react'; + import { css } from 'glamor'; import Component from '@reactions/component'; + import * as monthUtils from 'loot-core/src/shared/months'; import { rolloverBudget } from 'loot-core/src/client/queries'; + import NamespaceContext from '../../spreadsheet/NamespaceContext'; import format from '../../spreadsheet/format'; import SheetValue from '../../spreadsheet/SheetValue'; diff --git a/packages/loot-design/src/components/budget/rollover/HoldTooltip.js b/packages/loot-design/src/components/budget/rollover/HoldTooltip.js index c1ef163..cccbdbc 100644 --- a/packages/loot-design/src/components/budget/rollover/HoldTooltip.js +++ b/packages/loot-design/src/components/budget/rollover/HoldTooltip.js @@ -1,6 +1,8 @@ import React, { useState, useContext, useEffect } from 'react'; + import { integerToCurrency, amountToInteger } from 'loot-core/src/shared/util'; import evalArithmetic from 'loot-core/src/shared/arithmetic'; + import { View, Button, Tooltip, InitialFocus, Input } from '../../common'; import SpreadsheetContext from '../../spreadsheet/SpreadsheetContext'; import NamespaceContext from '../../spreadsheet/NamespaceContext'; diff --git a/packages/loot-design/src/components/budget/rollover/RolloverContext.js b/packages/loot-design/src/components/budget/rollover/RolloverContext.js index 7367b1c..2c3c406 100644 --- a/packages/loot-design/src/components/budget/rollover/RolloverContext.js +++ b/packages/loot-design/src/components/budget/rollover/RolloverContext.js @@ -1,4 +1,5 @@ import React, { useContext } from 'react'; + import * as monthUtils from 'loot-core/src/shared/months'; let Context = React.createContext(null); diff --git a/packages/loot-design/src/components/budget/rollover/TransferTooltip.js b/packages/loot-design/src/components/budget/rollover/TransferTooltip.js index ab2bf82..4e7a76d 100644 --- a/packages/loot-design/src/components/budget/rollover/TransferTooltip.js +++ b/packages/loot-design/src/components/budget/rollover/TransferTooltip.js @@ -1,6 +1,8 @@ import React, { useState, useContext, useEffect } from 'react'; + import { integerToCurrency, amountToInteger } from 'loot-core/src/shared/util'; import evalArithmetic from 'loot-core/src/shared/arithmetic'; + import { View, Button, Tooltip, InitialFocus, Input } from '../../common'; import SpreadsheetContext from '../../spreadsheet/SpreadsheetContext'; import NamespaceContext from '../../spreadsheet/NamespaceContext'; diff --git a/packages/loot-design/src/components/budget/rollover/rollover-components.js b/packages/loot-design/src/components/budget/rollover/rollover-components.js index 69f22d1..8dfca9e 100644 --- a/packages/loot-design/src/components/budget/rollover/rollover-components.js +++ b/packages/loot-design/src/components/budget/rollover/rollover-components.js @@ -1,7 +1,9 @@ import React, { useContext, useState } from 'react'; + import { integerToCurrency, amountToInteger } from 'loot-core/src/shared/util'; import evalArithmetic from 'loot-core/src/shared/arithmetic'; import { rolloverBudget } from 'loot-core/src/client/queries'; + import { styles, colors } from '../../../style'; import { View, diff --git a/packages/loot-design/src/components/budget/util.js b/packages/loot-design/src/components/budget/util.js index 0eb439a..5f26fa8 100644 --- a/packages/loot-design/src/components/budget/util.js +++ b/packages/loot-design/src/components/budget/util.js @@ -1,4 +1,5 @@ import React from 'react'; + import { colors } from '../../style'; export let CategoryGroupsContext = React.createContext([]); diff --git a/packages/loot-design/src/components/common.js b/packages/loot-design/src/components/common.js index 1aea5a5..db86d08 100644 --- a/packages/loot-design/src/components/common.js +++ b/packages/loot-design/src/components/common.js @@ -5,9 +5,7 @@ import React, { useState, useCallback } from 'react'; -import { css } from 'glamor'; import mergeRefs from 'react-merge-refs'; -import hotkeys from 'hotkeys-js'; import ReactModal from 'react-modal'; import { Route, @@ -16,6 +14,9 @@ import { useHistory, useRouteMatch } from 'react-router-dom'; + +import { css } from 'glamor'; +import hotkeys from 'hotkeys-js'; import { ListboxInput, ListboxButton, @@ -23,11 +24,13 @@ import { ListboxList, ListboxOption } from '@reach/listbox'; -import { styles, colors } from '../style'; + import { integerToCurrency } from 'loot-core/src/shared/util'; +import ExpandArrow from 'loot-design/src/svg/ExpandArrow'; + +import { styles, colors } from '../style'; import Delete from '../svg/Delete'; import Loading from '../svg/v1/AnimatedLoading'; -import ExpandArrow from 'loot-design/src/svg/ExpandArrow'; import View from './View'; import Text from './Text'; import { useProperFocus } from './useProperFocus'; diff --git a/packages/loot-design/src/components/common.usage.js b/packages/loot-design/src/components/common.usage.js index d84fd0a..88f6fcf 100644 --- a/packages/loot-design/src/components/common.usage.js +++ b/packages/loot-design/src/components/common.usage.js @@ -1,5 +1,7 @@ import React from 'react'; + import Component from '@reactions/component'; + import { Section, TestModal } from '../guide/components'; import { Input, Modal, View, Button, Stack } from './common'; diff --git a/packages/loot-design/src/components/forms.js b/packages/loot-design/src/components/forms.js index 1697b3a..b37e997 100644 --- a/packages/loot-design/src/components/forms.js +++ b/packages/loot-design/src/components/forms.js @@ -1,5 +1,7 @@ import React from 'react'; + import { css } from 'glamor'; + import { View, Text } from './common'; import { colors } from '../style'; diff --git a/packages/loot-design/src/components/icons.usage.js b/packages/loot-design/src/components/icons.usage.js index e07424c..f7f313a 100644 --- a/packages/loot-design/src/components/icons.usage.js +++ b/packages/loot-design/src/components/icons.usage.js @@ -1,4 +1,5 @@ import React, { useState } from 'react'; + import { Section } from '../guide/components'; import { View, Button } from './common'; diff --git a/packages/loot-design/src/components/manager/BudgetList.js b/packages/loot-design/src/components/manager/BudgetList.js index 0ceee3e..13863b2 100644 --- a/packages/loot-design/src/components/manager/BudgetList.js +++ b/packages/loot-design/src/components/manager/BudgetList.js @@ -1,14 +1,16 @@ import React, { useState, useRef } from 'react'; + +import Key from 'loot-design/src/svg/v2/Key'; +import RefreshArrow from 'loot-design/src/svg/v2/RefreshArrow'; +import Loading from 'loot-design/src/svg/v1/AnimatedLoading'; + import { View, Text, Modal, Button, Tooltip, Menu } from '../common'; import { styles, colors } from '../../style'; import CloudCheck from '../../svg/v1/CloudCheck'; import CloudDownload from '../../svg/v1/CloudDownload'; import CloudUnknown from '../../svg/v2/CloudUnknown'; import FileDouble from '../../svg/v1/FileDouble'; -import Key from 'loot-design/src/svg/v2/Key'; import DotsHorizontalTriple from '../../svg/v1/DotsHorizontalTriple'; -import RefreshArrow from 'loot-design/src/svg/v2/RefreshArrow'; -import Loading from 'loot-design/src/svg/v1/AnimatedLoading'; function getFileDescription(file) { if (file.state === 'unknown') { diff --git a/packages/loot-design/src/components/manager/BudgetList.usage.js b/packages/loot-design/src/components/manager/BudgetList.usage.js index bbd358e..22c23f0 100644 --- a/packages/loot-design/src/components/manager/BudgetList.usage.js +++ b/packages/loot-design/src/components/manager/BudgetList.usage.js @@ -1,4 +1,5 @@ import React from 'react'; + import { Section, TestModal } from '../../guide/components'; import { colors } from '../../style'; import BudgetList from './BudgetList'; diff --git a/packages/loot-design/src/components/manager/DeleteFile.js b/packages/loot-design/src/components/manager/DeleteFile.js index 9a15d6b..16c523a 100644 --- a/packages/loot-design/src/components/manager/DeleteFile.js +++ b/packages/loot-design/src/components/manager/DeleteFile.js @@ -1,4 +1,5 @@ import React, { useState } from 'react'; + import { View, Text, Modal, ButtonWithLoading } from '../common'; import { colors } from '../../style'; diff --git a/packages/loot-design/src/components/manager/DeleteFile.usage.js b/packages/loot-design/src/components/manager/DeleteFile.usage.js index 7439513..645e491 100644 --- a/packages/loot-design/src/components/manager/DeleteFile.usage.js +++ b/packages/loot-design/src/components/manager/DeleteFile.usage.js @@ -1,4 +1,5 @@ import React from 'react'; + import { Section, TestModal } from '../../guide/components'; import { colors } from '../../style'; import DeleteFile from './DeleteFile'; diff --git a/packages/loot-design/src/components/manager/Import.js b/packages/loot-design/src/components/manager/Import.js index 5b02465..cbf39c8 100644 --- a/packages/loot-design/src/components/manager/Import.js +++ b/packages/loot-design/src/components/manager/Import.js @@ -1,4 +1,5 @@ import React, { useState } from 'react'; + import { View, Block, Modal, Button } from '../common'; import { styles, colors } from '../../style'; diff --git a/packages/loot-design/src/components/manager/Import.usage.js b/packages/loot-design/src/components/manager/Import.usage.js index e940db9..e1f278a 100644 --- a/packages/loot-design/src/components/manager/Import.usage.js +++ b/packages/loot-design/src/components/manager/Import.usage.js @@ -1,4 +1,5 @@ import React from 'react'; + import { Section, TestModal } from '../../guide/components'; import { colors } from '../../style'; import Import from './Import'; diff --git a/packages/loot-design/src/components/manager/ImportActual.js b/packages/loot-design/src/components/manager/ImportActual.js index a44926e..850bcde 100644 --- a/packages/loot-design/src/components/manager/ImportActual.js +++ b/packages/loot-design/src/components/manager/ImportActual.js @@ -1,6 +1,8 @@ import React, { useState } from 'react'; import { useDispatch } from 'react-redux'; + import { importBudget } from 'loot-core/src/client/actions/budgets'; + import { View, Block, diff --git a/packages/loot-design/src/components/manager/ImportYNAB4.js b/packages/loot-design/src/components/manager/ImportYNAB4.js index dbe9f93..fcb4ed5 100644 --- a/packages/loot-design/src/components/manager/ImportYNAB4.js +++ b/packages/loot-design/src/components/manager/ImportYNAB4.js @@ -1,6 +1,8 @@ import React, { useState } from 'react'; import { useDispatch } from 'react-redux'; + import { importBudget } from 'loot-core/src/client/actions/budgets'; + import { View, Block, Modal, Button, ButtonWithLoading, P } from '../common'; import { styles, colors } from '../../style'; diff --git a/packages/loot-design/src/components/manager/ImportYNAB5.js b/packages/loot-design/src/components/manager/ImportYNAB5.js index 009f2b6..c6929d9 100644 --- a/packages/loot-design/src/components/manager/ImportYNAB5.js +++ b/packages/loot-design/src/components/manager/ImportYNAB5.js @@ -1,6 +1,8 @@ import React, { useState } from 'react'; import { useDispatch } from 'react-redux'; + import { importBudget } from 'loot-core/src/client/actions/budgets'; + import { View, Block, diff --git a/packages/loot-design/src/components/mobile/AmountInput.js b/packages/loot-design/src/components/mobile/AmountInput.js index 17bf4f8..14cfc6e 100644 --- a/packages/loot-design/src/components/mobile/AmountInput.js +++ b/packages/loot-design/src/components/mobile/AmountInput.js @@ -1,5 +1,4 @@ import React from 'react'; -import mitt from 'mitt'; import { View, Text, @@ -9,16 +8,20 @@ import { StyleSheet } from 'react-native'; import { RectButton } from 'react-native-gesture-handler'; -import { colors } from '../../style'; -import { KeyboardButton } from './common'; -import TextInputWithAccessory from './TextInputWithAccessory'; + +import mitt from 'mitt'; + import { toRelaxedNumber, amountToCurrency, getNumberFormat } from 'loot-core/src/shared/util'; -import MathIcon from '../../svg/Math'; import Platform from 'loot-core/src/client/platform'; + +import { colors } from '../../style'; +import { KeyboardButton } from './common'; +import TextInputWithAccessory from './TextInputWithAccessory'; +import MathIcon from '../../svg/Math'; import Add from '../../svg/v1/Add'; import Subtract from '../../svg/v1/Subtract'; import Equals from '../../svg/v1/Equals'; diff --git a/packages/loot-design/src/components/mobile/AndroidKeyboardAvoidingView.android.js b/packages/loot-design/src/components/mobile/AndroidKeyboardAvoidingView.android.js index ca9c332..d522fa5 100644 --- a/packages/loot-design/src/components/mobile/AndroidKeyboardAvoidingView.android.js +++ b/packages/loot-design/src/components/mobile/AndroidKeyboardAvoidingView.android.js @@ -1,5 +1,6 @@ import React, { useState, useEffect } from 'react'; import { KeyboardAvoidingView, NativeModules, Keyboard } from 'react-native'; + import { AmountAccessoryView } from 'loot-design/src/components/mobile/AmountInput'; import { BudgetAccessoryView } from 'loot-design/src/components/mobile/budget'; diff --git a/packages/loot-design/src/components/mobile/FocusAwareStatusBar.js b/packages/loot-design/src/components/mobile/FocusAwareStatusBar.js index a766fdc..cad53fd 100644 --- a/packages/loot-design/src/components/mobile/FocusAwareStatusBar.js +++ b/packages/loot-design/src/components/mobile/FocusAwareStatusBar.js @@ -1,5 +1,6 @@ import * as React from 'react'; import { StatusBar } from 'react-native'; + import { useIsFocused } from 'mobile/node_modules/@react-navigation/native'; export default function FocusAwareStatusBar(props) { diff --git a/packages/loot-design/src/components/mobile/TextInputWithAccessory.android.js b/packages/loot-design/src/components/mobile/TextInputWithAccessory.android.js index f283142..81e6c24 100644 --- a/packages/loot-design/src/components/mobile/TextInputWithAccessory.android.js +++ b/packages/loot-design/src/components/mobile/TextInputWithAccessory.android.js @@ -1,5 +1,6 @@ import React, { useContext } from 'react'; import { TextInput } from 'react-native'; + import { AccessoryIdContext } from './AndroidKeyboardAvoidingView'; export default React.forwardRef(function TextInputWithAccessory( diff --git a/packages/loot-design/src/components/mobile/account.js b/packages/loot-design/src/components/mobile/account.js index ae3a2fe..2e9bafb 100644 --- a/packages/loot-design/src/components/mobile/account.js +++ b/packages/loot-design/src/components/mobile/account.js @@ -1,5 +1,6 @@ import React, { useMemo } from 'react'; import { View, TextInput } from 'react-native'; + import CellValue from '../spreadsheet/CellValue'; import { TransactionList } from './transaction'; import Search from '../../svg/v1/Search'; diff --git a/packages/loot-design/src/components/mobile/account.usage.js b/packages/loot-design/src/components/mobile/account.usage.js index 5a6af0a..c27b241 100644 --- a/packages/loot-design/src/components/mobile/account.usage.js +++ b/packages/loot-design/src/components/mobile/account.usage.js @@ -1,6 +1,8 @@ import React from 'react'; -import SpreadsheetContext from '../spreadsheet/SpreadsheetContext'; + import makeSpreadsheet from 'loot-core/src/mocks/spreadsheet'; + +import SpreadsheetContext from '../spreadsheet/SpreadsheetContext'; import { MobileSection, WithHeader } from '../../guide/components'; import { accounts, categories, transactions } from './accounts.usage'; import { AccountDetails } from './account'; diff --git a/packages/loot-design/src/components/mobile/accounts.js b/packages/loot-design/src/components/mobile/accounts.js index a95c55b..88da1f1 100644 --- a/packages/loot-design/src/components/mobile/accounts.js +++ b/packages/loot-design/src/components/mobile/accounts.js @@ -1,7 +1,9 @@ import React from 'react'; import { View, Text } from 'react-native'; import { RectButton } from 'react-native-gesture-handler'; + import { prettyAccountType } from 'loot-core/src/shared/accounts'; + import { Button, TextOneLine } from './common'; import { TransactionList } from './transaction'; import CellValue from '../spreadsheet/CellValue'; diff --git a/packages/loot-design/src/components/mobile/accounts.usage.js b/packages/loot-design/src/components/mobile/accounts.usage.js index 6abd0ef..f889e76 100644 --- a/packages/loot-design/src/components/mobile/accounts.usage.js +++ b/packages/loot-design/src/components/mobile/accounts.usage.js @@ -1,14 +1,16 @@ import React from 'react'; -import { MobileSection } from '../../guide/components'; -import SpreadsheetContext from '../spreadsheet/SpreadsheetContext'; + import makeSpreadsheet from 'loot-core/src/mocks/spreadsheet'; -import { AccountList } from './accounts'; import { generateAccount, generateCategory, generateTransaction } from 'loot-core/src/mocks'; +import { MobileSection } from '../../guide/components'; +import SpreadsheetContext from '../spreadsheet/SpreadsheetContext'; +import { AccountList } from './accounts'; + export const accounts = [ generateAccount('Bank of America', false, null, false), generateAccount('Wells Fargo', false, null, true), diff --git a/packages/loot-design/src/components/mobile/alerts.js b/packages/loot-design/src/components/mobile/alerts.js index 12bf8bf..cb5fa9c 100644 --- a/packages/loot-design/src/components/mobile/alerts.js +++ b/packages/loot-design/src/components/mobile/alerts.js @@ -1,5 +1,6 @@ import React from 'react'; import { View, Text } from 'react-native'; + import InformationSolid from 'loot-design/src/svg/v1/InformationOutline'; import { styles, colors } from 'loot-design/src/style'; diff --git a/packages/loot-design/src/components/mobile/budget.js b/packages/loot-design/src/components/mobile/budget.js index 65033ff..3b5e080 100644 --- a/packages/loot-design/src/components/mobile/budget.js +++ b/packages/loot-design/src/components/mobile/budget.js @@ -14,10 +14,15 @@ import { NativeViewGestureHandler } from 'react-native-gesture-handler'; import Animated, { Easing } from 'react-native-reanimated'; -import AndroidKeyboardAvoidingView from './AndroidKeyboardAvoidingView'; + +import memoizeOne from 'memoize-one'; + import { amountToInteger, integerToAmount } from 'loot-core/src/shared/util'; import * as monthUtils from 'loot-core/src/shared/months'; -import memoizeOne from 'memoize-one'; +import Platform from 'loot-core/src/client/platform'; +import { rolloverBudget, reportBudget } from 'loot-core/src/client/queries'; + +import AndroidKeyboardAvoidingView from './AndroidKeyboardAvoidingView'; import CellValue from '../spreadsheet/CellValue'; import SheetValue from '../spreadsheet/SheetValue'; import useSheetValue from '../spreadsheet/useSheetValue'; @@ -25,15 +30,12 @@ import { colors, mobileStyles as styles } from '../../style'; import format from '../spreadsheet/format'; import { Button, KeyboardButton, Card, Label } from './common'; import { ListItem, ROW_HEIGHT } from './table'; -import Platform from 'loot-core/src/client/platform'; import NamespaceContext from '../spreadsheet/NamespaceContext'; import AmountInput, { MathOperations, AmountAccessoryContext } from './AmountInput'; import { DragDrop, Draggable, Droppable, DragDropHighlight } from './dragdrop'; -import { rolloverBudget, reportBudget } from 'loot-core/src/client/queries'; - import ArrowThinLeft from '../../svg/v1/ArrowThinLeft'; import ArrowThinRight from '../../svg/v1/ArrowThinRight'; import ArrowThinUp from '../../svg/v1/ArrowThinUp'; diff --git a/packages/loot-design/src/components/mobile/budget.test.js b/packages/loot-design/src/components/mobile/budget.test.js index 3fd5929..ea71e35 100644 --- a/packages/loot-design/src/components/mobile/budget.test.js +++ b/packages/loot-design/src/components/mobile/budget.test.js @@ -1,12 +1,15 @@ import React from 'react'; + import { render, fireEvent } from '@testing-library/react'; + +import * as monthUtils from 'loot-core/src/shared/months'; +import makeSpreadsheet from 'loot-core/src/mocks/spreadsheet'; + import { MobileScreen } from '../../guide/components'; import { categories, categoryGroups } from './budget.usage'; import { BudgetTable, BudgetAccessoryView } from './budget'; import InputAccessoryView from './InputAccessoryView'; import SpreadsheetContext from '../spreadsheet/SpreadsheetContext'; -import * as monthUtils from 'loot-core/src/shared/months'; -import makeSpreadsheet from 'loot-core/src/mocks/spreadsheet'; function makeLoadedSpreadsheet() { let spreadsheet = makeSpreadsheet(); diff --git a/packages/loot-design/src/components/mobile/budget.usage.js b/packages/loot-design/src/components/mobile/budget.usage.js index 6c9b907..01d268e 100644 --- a/packages/loot-design/src/components/mobile/budget.usage.js +++ b/packages/loot-design/src/components/mobile/budget.usage.js @@ -1,11 +1,13 @@ import React from 'react'; import { View } from 'react-native'; + +import { generateCategoryGroups } from 'loot-core/src/mocks'; +import makeSpreadsheet from 'loot-core/src/mocks/spreadsheet'; + import { MobileSection } from '../../guide/components'; import { BudgetTable, BudgetAccessoryView } from './budget'; import InputAccessoryView from './InputAccessoryView'; -import { generateCategoryGroups } from 'loot-core/src/mocks'; import SpreadsheetContext from '../spreadsheet/SpreadsheetContext'; -import makeSpreadsheet from 'loot-core/src/mocks/spreadsheet'; export const categoryGroups = generateCategoryGroups([ { diff --git a/packages/loot-design/src/components/mobile/common.js b/packages/loot-design/src/components/mobile/common.js index 9f4298b..cb533ee 100644 --- a/packages/loot-design/src/components/mobile/common.js +++ b/packages/loot-design/src/components/mobile/common.js @@ -1,6 +1,7 @@ import React from 'react'; import { Text, View } from 'react-native'; import { RectButton } from 'react-native-gesture-handler'; + import { styles, colors } from '../../style'; import Loading from '../../svg/v1/AnimatedLoading'; diff --git a/packages/loot-design/src/components/mobile/dragdrop.js b/packages/loot-design/src/components/mobile/dragdrop.js index 959af4d..d8372c0 100644 --- a/packages/loot-design/src/components/mobile/dragdrop.js +++ b/packages/loot-design/src/components/mobile/dragdrop.js @@ -9,6 +9,7 @@ import React, { import { View, findNodeHandle } from 'react-native'; import { State, LongPressGestureHandler } from 'react-native-gesture-handler'; import Animated from 'react-native-reanimated'; + import { colors } from '../../style'; export const DragDropContext = React.createContext(null); diff --git a/packages/loot-design/src/components/mobile/forms.js b/packages/loot-design/src/components/mobile/forms.js index 1ea1436..1fe6877 100644 --- a/packages/loot-design/src/components/mobile/forms.js +++ b/packages/loot-design/src/components/mobile/forms.js @@ -1,6 +1,7 @@ import React from 'react'; import { View, Text, TextInput, Switch } from 'react-native'; import { RectButton } from 'react-native-gesture-handler'; + import { colors } from '../../style'; export const EDITING_PADDING = 12; diff --git a/packages/loot-design/src/components/mobile/table.js b/packages/loot-design/src/components/mobile/table.js index a35d157..82eebf8 100644 --- a/packages/loot-design/src/components/mobile/table.js +++ b/packages/loot-design/src/components/mobile/table.js @@ -1,8 +1,10 @@ import React from 'react'; import { View } from 'react-native'; -import { colors } from '../../style'; + import Platform from 'loot-core/src/client/platform'; +import { colors } from '../../style'; + export const ROW_HEIGHT = 50; export const ListItem = React.forwardRef( diff --git a/packages/loot-design/src/components/mobile/transaction.js b/packages/loot-design/src/components/mobile/transaction.js index fcedc83..6b8cc91 100644 --- a/packages/loot-design/src/components/mobile/transaction.js +++ b/packages/loot-design/src/components/mobile/transaction.js @@ -1,5 +1,7 @@ import React from 'react'; import { View, Text, SectionList, ScrollView, Animated } from 'react-native'; +import { Swipeable, RectButton } from 'react-native-gesture-handler'; + import memoizeOne from 'memoize-one'; import { format as formatDate, @@ -7,7 +9,7 @@ import { parseISO, isValid as isValidDate } from 'date-fns'; -import { Swipeable, RectButton } from 'react-native-gesture-handler'; + import * as monthUtils from 'loot-core/src/shared/months'; import { splitTransaction, @@ -23,6 +25,8 @@ import { amountToInteger, groupById } from 'loot-core/src/shared/util'; +import ArrowsSynchronize from 'loot-design/src/svg/v2/ArrowsSynchronize'; + import KeyboardAvoidingView from './KeyboardAvoidingView'; import { ListItem } from './table'; import { Button, TextOneLine } from './common'; @@ -39,11 +43,9 @@ import { BooleanField, EDITING_PADDING } from './forms'; - import EditSkull1 from '../../svg/v2/EditSkull1'; import AlertTriangle from '../../svg/v2/AlertTriangle'; import CheckCircle1 from '../../svg/v2/CheckCircle1'; -import ArrowsSynchronize from 'loot-design/src/svg/v2/ArrowsSynchronize'; let getPayeesById = memoizeOne(payees => groupById(payees)); let getAccountsById = memoizeOne(accounts => groupById(accounts)); diff --git a/packages/loot-design/src/components/mobile/transaction.usage.js b/packages/loot-design/src/components/mobile/transaction.usage.js index 90830f9..669c48f 100644 --- a/packages/loot-design/src/components/mobile/transaction.usage.js +++ b/packages/loot-design/src/components/mobile/transaction.usage.js @@ -1,12 +1,14 @@ import React from 'react'; -import { Section, MobileSection } from '../../guide/components'; + import * as monthUtils from 'loot-core/src/shared/months'; -import { TransactionList, TransactionEdit } from './transaction'; import { generateAccount, generateCategory, generateTransaction } from 'loot-core/src/mocks'; + +import { Section, MobileSection } from '../../guide/components'; +import { TransactionList, TransactionEdit } from './transaction'; import { colors } from '../../style'; export const accounts = [generateAccount('Checking')]; diff --git a/packages/loot-design/src/components/modals/CloseAccount.js b/packages/loot-design/src/components/modals/CloseAccount.js index b53a8b3..f1963ae 100644 --- a/packages/loot-design/src/components/modals/CloseAccount.js +++ b/packages/loot-design/src/components/modals/CloseAccount.js @@ -1,7 +1,10 @@ import React, { useState } from 'react'; + import { Formik } from 'formik'; -import { View, Text, Modal, Button, P, Select, FormError } from '../common'; + import { integerToCurrency } from 'loot-core/src/shared/util'; + +import { View, Text, Modal, Button, P, Select, FormError } from '../common'; import { colors } from '../../style'; function needsCategory(account, currentTransfer, accounts) { diff --git a/packages/loot-design/src/components/modals/CloseAccount.usage.js b/packages/loot-design/src/components/modals/CloseAccount.usage.js index c191aad..8ef5fc2 100644 --- a/packages/loot-design/src/components/modals/CloseAccount.usage.js +++ b/packages/loot-design/src/components/modals/CloseAccount.usage.js @@ -1,8 +1,10 @@ import React from 'react'; import { MemoryRouter as Router } from 'react-router-dom'; + +import { generateAccount, generateCategoryGroups } from 'loot-core/src/mocks'; + import { Section, TestModal } from '../../guide/components'; import CloseAccount from './CloseAccount'; -import { generateAccount, generateCategoryGroups } from 'loot-core/src/mocks'; const accounts = [ generateAccount('Bank of America', null, null, false), diff --git a/packages/loot-design/src/components/modals/ConfigureLinkedAccounts.js b/packages/loot-design/src/components/modals/ConfigureLinkedAccounts.js index eeb1bc0..045df62 100644 --- a/packages/loot-design/src/components/modals/ConfigureLinkedAccounts.js +++ b/packages/loot-design/src/components/modals/ConfigureLinkedAccounts.js @@ -1,6 +1,5 @@ import React, { useState } from 'react'; -import { View, Text, Modal, Button } from '../common'; -import { styles, colors } from '../../style'; + import { fromPlaidAccountType, determineOffBudget, @@ -8,6 +7,9 @@ import { } from 'loot-core/src/shared/accounts'; import Checkmark from 'loot-design/src/svg/v1/Checkmark'; +import { View, Text, Modal, Button } from '../common'; +import { styles, colors } from '../../style'; + function EmptyMessage() { return null; } diff --git a/packages/loot-design/src/components/modals/ConfigureLinkedAccounts.usage.js b/packages/loot-design/src/components/modals/ConfigureLinkedAccounts.usage.js index 4d7cf3c..faa6fd3 100644 --- a/packages/loot-design/src/components/modals/ConfigureLinkedAccounts.usage.js +++ b/packages/loot-design/src/components/modals/ConfigureLinkedAccounts.usage.js @@ -1,4 +1,5 @@ import React from 'react'; + import { Section, TestModal } from '../../guide/components'; import ConfigureLinkedAccounts from './ConfigureLinkedAccounts'; diff --git a/packages/loot-design/src/components/modals/CreateLocalAccount.js b/packages/loot-design/src/components/modals/CreateLocalAccount.js index 459f4e1..b5d59b8 100644 --- a/packages/loot-design/src/components/modals/CreateLocalAccount.js +++ b/packages/loot-design/src/components/modals/CreateLocalAccount.js @@ -1,6 +1,10 @@ import React from 'react'; + +import { Formik } from 'formik'; + import { toRelaxedNumber } from 'loot-core/src/shared/util'; import { determineOffBudget } from 'loot-core/src/shared/accounts'; + import { View, Modal, @@ -13,7 +17,6 @@ import { FormError, InitialFocus } from '../common'; -import { Formik } from 'formik'; function CreateLocalAccount({ modalProps, actions, history }) { return ( diff --git a/packages/loot-design/src/components/modals/CreateLocalAccount.usage.js b/packages/loot-design/src/components/modals/CreateLocalAccount.usage.js index 8335b96..6533a22 100644 --- a/packages/loot-design/src/components/modals/CreateLocalAccount.usage.js +++ b/packages/loot-design/src/components/modals/CreateLocalAccount.usage.js @@ -1,4 +1,5 @@ import React from 'react'; + import { Section, TestModal } from '../../guide/components'; import CreateLocalAccount from './CreateLocalAccount'; diff --git a/packages/loot-design/src/components/modals/EditField.js b/packages/loot-design/src/components/modals/EditField.js index 24bff28..5d9e269 100644 --- a/packages/loot-design/src/components/modals/EditField.js +++ b/packages/loot-design/src/components/modals/EditField.js @@ -1,9 +1,12 @@ import React, { useRef } from 'react'; import { connect } from 'react-redux'; + import { parseISO, format as formatDate, parse as parseDate } from 'date-fns'; + import * as actions from 'loot-core/src/client/actions'; import { amountToInteger } from 'loot-core/src/shared/util'; import { currentDay, dayFromDate } from 'loot-core/src/shared/months'; + import { View, Modal, Input } from '../common'; import DateSelect from '../DateSelect'; import CategoryAutocomplete from '../CategorySelect'; diff --git a/packages/loot-design/src/components/modals/ImportTransactions.js b/packages/loot-design/src/components/modals/ImportTransactions.js index ce2df1c..2972847 100644 --- a/packages/loot-design/src/components/modals/ImportTransactions.js +++ b/packages/loot-design/src/components/modals/ImportTransactions.js @@ -1,6 +1,8 @@ import React, { useState, useEffect, useMemo } from 'react'; import { connect } from 'react-redux'; + import * as d from 'date-fns'; + import * as actions from 'loot-core/src/client/actions'; import { format as formatDate_ } from 'loot-core/src/shared/months'; import { @@ -8,6 +10,7 @@ import { amountToInteger, looselyParseAmount } from 'loot-core/src/shared/util'; + import { View, Text, diff --git a/packages/loot-design/src/components/modals/ImportTransactions.usage.js b/packages/loot-design/src/components/modals/ImportTransactions.usage.js index e59f1c4..922d472 100644 --- a/packages/loot-design/src/components/modals/ImportTransactions.usage.js +++ b/packages/loot-design/src/components/modals/ImportTransactions.usage.js @@ -1,8 +1,10 @@ import React from 'react'; + import { TestProvider } from 'loot-core/src/mocks/redux'; +import { generateTransactions } from 'loot-core/src/mocks'; + import { Section, TestModal } from '../../guide/components'; import { ImportTransactions } from './ImportTransactions'; -import { generateTransactions } from 'loot-core/src/mocks'; let transactions = generateTransactions(20, 'acct', 'group'); // The mocks generate "internal" transactions... but we need the diff --git a/packages/loot-design/src/components/modals/LoadBackup.js b/packages/loot-design/src/components/modals/LoadBackup.js index 9548020..8eb66d9 100644 --- a/packages/loot-design/src/components/modals/LoadBackup.js +++ b/packages/loot-design/src/components/modals/LoadBackup.js @@ -1,4 +1,5 @@ import React from 'react'; + import { View, Text, Block, Modal, Button } from '../common'; import { Row, Cell } from '../table'; import { colors } from '../../style'; diff --git a/packages/loot-design/src/components/modals/LoadBackup.usage.js b/packages/loot-design/src/components/modals/LoadBackup.usage.js index ed7b92b..bed8369 100644 --- a/packages/loot-design/src/components/modals/LoadBackup.usage.js +++ b/packages/loot-design/src/components/modals/LoadBackup.usage.js @@ -1,4 +1,5 @@ import React from 'react'; + import { Section, TestModal } from '../../guide/components'; import { colors } from '../../style'; import LoadBackup from './LoadBackup'; diff --git a/packages/loot-design/src/components/modals/PlaidExternalMsg.js b/packages/loot-design/src/components/modals/PlaidExternalMsg.js index edfbb32..0bbce03 100644 --- a/packages/loot-design/src/components/modals/PlaidExternalMsg.js +++ b/packages/loot-design/src/components/modals/PlaidExternalMsg.js @@ -1,4 +1,5 @@ import React, { useState, useRef } from 'react'; + import { View, Text, Modal, Button, P, ModalButtons } from '../common'; import { Error } from '../alerts'; import { colors } from '../../style'; diff --git a/packages/loot-design/src/components/modals/PlaidExternalMsg.usage.js b/packages/loot-design/src/components/modals/PlaidExternalMsg.usage.js index 0c363e8..3ebde8f 100644 --- a/packages/loot-design/src/components/modals/PlaidExternalMsg.usage.js +++ b/packages/loot-design/src/components/modals/PlaidExternalMsg.usage.js @@ -1,4 +1,5 @@ import React from 'react'; + import { Section, TestModal } from '../../guide/components'; import PlaidExternalMsg from './PlaidExternalMsg'; diff --git a/packages/loot-design/src/components/modals/SelectLinkedAccounts.js b/packages/loot-design/src/components/modals/SelectLinkedAccounts.js index 862f3bf..3cba119 100644 --- a/packages/loot-design/src/components/modals/SelectLinkedAccounts.js +++ b/packages/loot-design/src/components/modals/SelectLinkedAccounts.js @@ -1,11 +1,13 @@ import React, { useState } from 'react'; -import { styles, colors } from '../../style'; -import { View, Text, Modal, P, Button } from '../common'; + import { fromPlaidAccountType, prettyAccountType } from 'loot-core/src/shared/accounts'; +import { styles, colors } from '../../style'; +import { View, Text, Modal, P, Button } from '../common'; + let selectedStyle = { color: colors.n1 }; diff --git a/packages/loot-design/src/components/modals/SelectLinkedAccounts.usage.js b/packages/loot-design/src/components/modals/SelectLinkedAccounts.usage.js index 6b2ec16..2b59478 100644 --- a/packages/loot-design/src/components/modals/SelectLinkedAccounts.usage.js +++ b/packages/loot-design/src/components/modals/SelectLinkedAccounts.usage.js @@ -1,4 +1,5 @@ import React from 'react'; + import { Section, TestModal } from '../../guide/components'; import SelectLinkedAccounts from './SelectLinkedAccounts'; diff --git a/packages/loot-design/src/components/payees.js b/packages/loot-design/src/components/payees.js index e917ea7..7805975 100644 --- a/packages/loot-design/src/components/payees.js +++ b/packages/loot-design/src/components/payees.js @@ -7,6 +7,12 @@ import React, { useCallback, useImperativeHandle } from 'react'; + +import memoizeOne from 'memoize-one'; +import Component from '@reactions/component'; + +import { groupById } from 'loot-core/src/shared/util'; + import { useStableCallback, View, @@ -17,9 +23,6 @@ import { Tooltip, Menu } from './common'; -import memoizeOne from 'memoize-one'; -import Component from '@reactions/component'; -import { groupById } from 'loot-core/src/shared/util'; import { colors } from '../style'; import { Table, diff --git a/packages/loot-design/src/components/payees.usage.js b/packages/loot-design/src/components/payees.usage.js index c40aa48..e6c439d 100644 --- a/packages/loot-design/src/components/payees.usage.js +++ b/packages/loot-design/src/components/payees.usage.js @@ -1,10 +1,13 @@ import React from 'react'; + import Component from '@reactions/component'; -import { Section, TestModal } from './../guide/components'; -import { ManagePayees } from './payees'; + import { applyChanges } from 'loot-core/src/shared/util'; import { TestProvider } from 'loot-core/src/mocks/redux'; +import { Section, TestModal } from '../guide/components'; +import { ManagePayees } from './payees'; + let categoryGroups = [ { id: 'foo', diff --git a/packages/loot-design/src/components/sidebar.js b/packages/loot-design/src/components/sidebar.js index 1a7a826..a03f3c7 100644 --- a/packages/loot-design/src/components/sidebar.js +++ b/packages/loot-design/src/components/sidebar.js @@ -1,7 +1,14 @@ import React, { useState, useMemo } from 'react'; import { useDispatch } from 'react-redux'; import { withRouter } from 'react-router-dom'; + import { css } from 'glamor'; + +import { pushModal } from 'loot-core/src/client/actions/modals'; +import { closeBudget } from 'loot-core/src/client/actions/budgets'; +import Platform from 'loot-core/src/client/platform'; +import PiggyBank from 'loot-design/src/svg/v1/PiggyBank'; + import { View, Block, @@ -12,9 +19,6 @@ import { Menu, Tooltip } from './common'; -import { pushModal } from 'loot-core/src/client/actions/modals'; -import { closeBudget } from 'loot-core/src/client/actions/budgets'; -import Platform from 'loot-core/src/client/platform'; import CellValue from './spreadsheet/CellValue'; import Add from '../svg/v1/Add'; import CalendarIcon from '../svg/v2/Calendar'; @@ -22,10 +26,8 @@ import { styles, colors } from '../style'; import Wallet from '../svg/v1/Wallet'; import Reports from '../svg/v1/Reports'; import ArrowButtonLeft1 from '../svg/v2/ArrowButtonLeft1'; -import PiggyBank from 'loot-design/src/svg/v1/PiggyBank'; import Cog from '../svg/v1/Cog'; import DotsHorizontalTriple from '../svg/v1/DotsHorizontalTriple'; - import { useDraggable, useDroppable, DropHighlight } from './sort.js'; export const SIDEBAR_WIDTH = 240; diff --git a/packages/loot-design/src/components/sidebar.usage.js b/packages/loot-design/src/components/sidebar.usage.js index 5c4f0e5..242fa25 100644 --- a/packages/loot-design/src/components/sidebar.usage.js +++ b/packages/loot-design/src/components/sidebar.usage.js @@ -1,14 +1,17 @@ import React from 'react'; -import lively from '@jlongster/lively'; import { MemoryRouter as Router } from 'react-router-dom'; import { DndProvider } from 'react-dnd'; import Backend from 'react-dnd-html5-backend'; -import SpreadsheetContext from './spreadsheet/SpreadsheetContext'; + +import lively from '@jlongster/lively'; + import makeSpreadsheet from 'loot-core/src/mocks/spreadsheet'; -import { Sidebar } from './sidebar'; -import { Section } from '../guide/components'; import { generateAccount } from 'loot-core/src/mocks'; +import SpreadsheetContext from './spreadsheet/SpreadsheetContext'; +import { Section } from '../guide/components'; +import { Sidebar } from './sidebar'; + function withState(state, render) { const Component = lively(render, { getInitialState: () => state }); return ; diff --git a/packages/loot-design/src/components/sort.js b/packages/loot-design/src/components/sort.js index 8890193..23ea0ed 100644 --- a/packages/loot-design/src/components/sort.js +++ b/packages/loot-design/src/components/sort.js @@ -7,6 +7,7 @@ import React, { useContext } from 'react'; import { useDrag, useDrop } from 'react-dnd'; + import { colors } from '../style'; import { View } from './common'; diff --git a/packages/loot-design/src/components/spreadsheet/CellDebugger.js b/packages/loot-design/src/components/spreadsheet/CellDebugger.js index 1339ced..5eec18b 100644 --- a/packages/loot-design/src/components/spreadsheet/CellDebugger.js +++ b/packages/loot-design/src/components/spreadsheet/CellDebugger.js @@ -1,4 +1,5 @@ import React, { Component } from 'react'; + import * as spreadsheet from '../../sheetql/spreadsheet'; class CellDebugger extends Component { diff --git a/packages/loot-design/src/components/spreadsheet/CellValue.js b/packages/loot-design/src/components/spreadsheet/CellValue.js index 521bae9..ffd4501 100644 --- a/packages/loot-design/src/components/spreadsheet/CellValue.js +++ b/packages/loot-design/src/components/spreadsheet/CellValue.js @@ -1,4 +1,5 @@ import React from 'react'; + import format from './format'; import SheetValue from './SheetValue'; import Text from '../Text'; diff --git a/packages/loot-design/src/components/spreadsheet/SheetValue.js b/packages/loot-design/src/components/spreadsheet/SheetValue.js index 48e0ceb..9f09f6c 100644 --- a/packages/loot-design/src/components/spreadsheet/SheetValue.js +++ b/packages/loot-design/src/components/spreadsheet/SheetValue.js @@ -1,4 +1,5 @@ import { useContext, useState, useRef, useLayoutEffect } from 'react'; + import NamespaceContext from './NamespaceContext.js'; import SpreadsheetContext from './SpreadsheetContext'; diff --git a/packages/loot-design/src/components/spreadsheet/useSheetValue.js b/packages/loot-design/src/components/spreadsheet/useSheetValue.js index 6ed20ef..afb634d 100644 --- a/packages/loot-design/src/components/spreadsheet/useSheetValue.js +++ b/packages/loot-design/src/components/spreadsheet/useSheetValue.js @@ -1,4 +1,5 @@ import { useContext, useState, useRef, useLayoutEffect } from 'react'; + import NamespaceContext from './NamespaceContext.js'; import SpreadsheetContext from './SpreadsheetContext'; diff --git a/packages/loot-design/src/components/table.js b/packages/loot-design/src/components/table.js index 4ff5922..703b2c5 100644 --- a/packages/loot-design/src/components/table.js +++ b/packages/loot-design/src/components/table.js @@ -9,8 +9,10 @@ import React, { useMemo } from 'react'; import { useStore } from 'react-redux'; -import { scope } from '@jlongster/lively'; import AutoSizer from 'react-virtualized-auto-sizer'; + +import { scope } from '@jlongster/lively'; + import { FixedSizeList } from './FixedSizeList'; import { styles, colors } from '../style'; import DeleteIcon from '../svg/Delete'; diff --git a/packages/loot-design/src/components/table.usage.js b/packages/loot-design/src/components/table.usage.js index 04efe45..c7bc5a0 100644 --- a/packages/loot-design/src/components/table.usage.js +++ b/packages/loot-design/src/components/table.usage.js @@ -1,4 +1,5 @@ import React, { useState } from 'react'; + import { Section, Component } from '../guide/components'; import { View, Text } from './common'; import { @@ -8,6 +9,7 @@ import { InputCell, useTableNavigator } from './table'; + let uuid = require('loot-core/src/platform/uuid'); function PersonRow({ person, editing, focusedField, onEdit, onUpdate }) { diff --git a/packages/loot-design/src/components/tooltips.js b/packages/loot-design/src/components/tooltips.js index acd99d3..1543446 100644 --- a/packages/loot-design/src/components/tooltips.js +++ b/packages/loot-design/src/components/tooltips.js @@ -1,6 +1,8 @@ import React, { useState } from 'react'; import ReactDOM from 'react-dom'; + import { css, before } from 'glamor'; + import { styles } from '../style'; export const IntersectionBoundary = React.createContext(); diff --git a/packages/loot-design/src/components/useSelected.js b/packages/loot-design/src/components/useSelected.js index 045b9cb..a2b8783 100644 --- a/packages/loot-design/src/components/useSelected.js +++ b/packages/loot-design/src/components/useSelected.js @@ -5,11 +5,13 @@ import React, { useEffect, useRef } from 'react'; -import { hasModifierKey } from '../util/keys'; import { useSelector } from 'react-redux'; + import * as undo from 'loot-core/src/platform/client/undo'; import { listen } from 'loot-core/src/platform/client/fetch'; +import { hasModifierKey } from '../util/keys'; + function iterateRange(range, func) { let from = Math.min(range.start, range.end); let to = Math.max(range.start, range.end); diff --git a/packages/loot-design/src/guide/components.js b/packages/loot-design/src/guide/components.js index 9f4a7ca..2d2e392 100644 --- a/packages/loot-design/src/guide/components.js +++ b/packages/loot-design/src/guide/components.js @@ -1,4 +1,5 @@ import React from 'react'; + import { css } from 'glamor'; export function Section({ diff --git a/packages/loot-design/src/guide/document.js b/packages/loot-design/src/guide/document.js index 9c75893..0ac8aa0 100644 --- a/packages/loot-design/src/guide/document.js +++ b/packages/loot-design/src/guide/document.js @@ -1,6 +1,7 @@ import React from 'react'; import ReactDOM from 'react-dom'; import { Text, View, render as renderReactNative } from 'react-native'; + import Platform from 'loot-core/src/client/platform'; import { TestProvider } from 'loot-core/src/mocks/redux'; diff --git a/packages/loot-design/src/guide/mocks/react-native-reanimated.js b/packages/loot-design/src/guide/mocks/react-native-reanimated.js index 1c1080e..0840c4b 100644 --- a/packages/loot-design/src/guide/mocks/react-native-reanimated.js +++ b/packages/loot-design/src/guide/mocks/react-native-reanimated.js @@ -1,5 +1,6 @@ import React from 'react'; import { ScrollView } from 'react-native'; + import makeMockObject from './makeMockObject'; let NoopComponent = React.forwardRef(({ children }, ref) => children); diff --git a/packages/loot-design/src/index.js b/packages/loot-design/src/index.js index 6aae266..00d88e3 100644 --- a/packages/loot-design/src/index.js +++ b/packages/loot-design/src/index.js @@ -1,6 +1,7 @@ -import renderDocument from './guide/document'; import { plugins } from 'glamor'; +import renderDocument from './guide/document'; + plugins.clear(); renderDocument(document.getElementById('root')); diff --git a/packages/loot-design/src/setupTests.js b/packages/loot-design/src/setupTests.js index 27fad9d..444eeee 100644 --- a/packages/loot-design/src/setupTests.js +++ b/packages/loot-design/src/setupTests.js @@ -1,5 +1,6 @@ import { fireEvent } from '@testing-library/react'; import { act } from 'react-dom/test-utils'; + import { resetStore } from 'loot-core/src/mocks/redux'; const uuid = require('loot-core/src/platform/uuid'); diff --git a/packages/loot-design/src/svg/Add.web.js b/packages/loot-design/src/svg/Add.web.js index ad94f41..64e6b2f 100644 --- a/packages/loot-design/src/svg/Add.web.js +++ b/packages/loot-design/src/svg/Add.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function Add({ width, height, style, color = 'black', ...props }) { diff --git a/packages/loot-design/src/svg/AnimatedLoading.mobile.js b/packages/loot-design/src/svg/AnimatedLoading.mobile.js index 42e4007..ef5906a 100644 --- a/packages/loot-design/src/svg/AnimatedLoading.mobile.js +++ b/packages/loot-design/src/svg/AnimatedLoading.mobile.js @@ -1,7 +1,8 @@ import React from 'react'; -import Loading from './Loading'; import { Animated, Easing } from 'react-native'; +import Loading from './Loading'; + class AnimatedLoading extends React.Component { constructor() { super(); diff --git a/packages/loot-design/src/svg/AnimatedLoading.web.js b/packages/loot-design/src/svg/AnimatedLoading.web.js index 11cd0b1..2f5398a 100644 --- a/packages/loot-design/src/svg/AnimatedLoading.web.js +++ b/packages/loot-design/src/svg/AnimatedLoading.web.js @@ -1,7 +1,9 @@ import React from 'react'; -import Loading from './Loading'; + import { css } from 'glamor'; +import Loading from './Loading'; + const rotation = css.keyframes({ '0%': { transform: 'rotate(-90deg)' }, '100%': { transform: 'rotate(666deg)' } diff --git a/packages/loot-design/src/svg/Bank.web.js b/packages/loot-design/src/svg/Bank.web.js index 3fe1b04..11a5042 100644 --- a/packages/loot-design/src/svg/Bank.web.js +++ b/packages/loot-design/src/svg/Bank.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function Bank({ width, height, style, color = 'black', ...props }) { diff --git a/packages/loot-design/src/svg/Budget.web.js b/packages/loot-design/src/svg/Budget.web.js index 6fb2f2d..92e42b5 100644 --- a/packages/loot-design/src/svg/Budget.web.js +++ b/packages/loot-design/src/svg/Budget.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function Budget({ width, height, style, color = 'black', ...props }) { diff --git a/packages/loot-design/src/svg/Check.web.js b/packages/loot-design/src/svg/Check.web.js index e6eff90..c0b6e2e 100644 --- a/packages/loot-design/src/svg/Check.web.js +++ b/packages/loot-design/src/svg/Check.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function Check({ width, height, style, color = 'black', ...props }) { diff --git a/packages/loot-design/src/svg/Delete.web.js b/packages/loot-design/src/svg/Delete.web.js index 8d52dc0..b9f82b1 100644 --- a/packages/loot-design/src/svg/Delete.web.js +++ b/packages/loot-design/src/svg/Delete.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function Delete({ width, height, style, color = 'currentColor', ...props }) { diff --git a/packages/loot-design/src/svg/DownArrow.web.js b/packages/loot-design/src/svg/DownArrow.web.js index cc0c907..864c7f8 100644 --- a/packages/loot-design/src/svg/DownArrow.web.js +++ b/packages/loot-design/src/svg/DownArrow.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function DownArrow({ width, height, style, color = 'black', ...props }) { diff --git a/packages/loot-design/src/svg/DragIOS.web.js b/packages/loot-design/src/svg/DragIOS.web.js index 61c25bf..81b1985 100644 --- a/packages/loot-design/src/svg/DragIOS.web.js +++ b/packages/loot-design/src/svg/DragIOS.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function DragIos({ width, height, style, color = 'black', ...props }) { diff --git a/packages/loot-design/src/svg/ExpandArrow.web.js b/packages/loot-design/src/svg/ExpandArrow.web.js index 85bcc37..77c032c 100644 --- a/packages/loot-design/src/svg/ExpandArrow.web.js +++ b/packages/loot-design/src/svg/ExpandArrow.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function ExpandArrow({ diff --git a/packages/loot-design/src/svg/LeftArrow.web.js b/packages/loot-design/src/svg/LeftArrow.web.js index de28071..24d2212 100644 --- a/packages/loot-design/src/svg/LeftArrow.web.js +++ b/packages/loot-design/src/svg/LeftArrow.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function LeftArrow({ width, height, style, color = 'black', ...props }) { diff --git a/packages/loot-design/src/svg/LeftArrow2.web.js b/packages/loot-design/src/svg/LeftArrow2.web.js index 7d56e5e..f8d3b45 100644 --- a/packages/loot-design/src/svg/LeftArrow2.web.js +++ b/packages/loot-design/src/svg/LeftArrow2.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function LeftArrow2({ width, height, style, color = 'black', ...props }) { diff --git a/packages/loot-design/src/svg/LeftArrow3.web.js b/packages/loot-design/src/svg/LeftArrow3.web.js index 0689982..6ba48fe 100644 --- a/packages/loot-design/src/svg/LeftArrow3.web.js +++ b/packages/loot-design/src/svg/LeftArrow3.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; let x =
; diff --git a/packages/loot-design/src/svg/Loading.web.js b/packages/loot-design/src/svg/Loading.web.js index 82839ac..d6d8798 100644 --- a/packages/loot-design/src/svg/Loading.web.js +++ b/packages/loot-design/src/svg/Loading.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function Loading({ width, height, style, color = 'black', ...props }) { diff --git a/packages/loot-design/src/svg/Logo.web.js b/packages/loot-design/src/svg/Logo.web.js index e219de3..dbb2b31 100644 --- a/packages/loot-design/src/svg/Logo.web.js +++ b/packages/loot-design/src/svg/Logo.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function Logo({ width, height, style, color = 'black', ...props }) { diff --git a/packages/loot-design/src/svg/Math.web.js b/packages/loot-design/src/svg/Math.web.js index e61967e..885e134 100644 --- a/packages/loot-design/src/svg/Math.web.js +++ b/packages/loot-design/src/svg/Math.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function Math({ width, height, style, color = 'black', ...props }) { diff --git a/packages/loot-design/src/svg/Pencil.web.js b/packages/loot-design/src/svg/Pencil.web.js index 1e82041..b6b4f02 100644 --- a/packages/loot-design/src/svg/Pencil.web.js +++ b/packages/loot-design/src/svg/Pencil.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function Pencil({ width, height, style, color = 'black', ...props }) { diff --git a/packages/loot-design/src/svg/Reports.web.js b/packages/loot-design/src/svg/Reports.web.js index 4dcc521..f7f58ca 100644 --- a/packages/loot-design/src/svg/Reports.web.js +++ b/packages/loot-design/src/svg/Reports.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function Reports({ width, height, style, color = 'black', ...props }) { diff --git a/packages/loot-design/src/svg/RightArrow.web.js b/packages/loot-design/src/svg/RightArrow.web.js index 2b1c7d1..97faa57 100644 --- a/packages/loot-design/src/svg/RightArrow.web.js +++ b/packages/loot-design/src/svg/RightArrow.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function RightArrow({ width, height, style, color = 'black', ...props }) { diff --git a/packages/loot-design/src/svg/RightArrow2.web.js b/packages/loot-design/src/svg/RightArrow2.web.js index 40ce7ae..8da88c5 100644 --- a/packages/loot-design/src/svg/RightArrow2.web.js +++ b/packages/loot-design/src/svg/RightArrow2.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function RightArrow2({ width, height, style, color = 'black', ...props }) { diff --git a/packages/loot-design/src/svg/Search.web.js b/packages/loot-design/src/svg/Search.web.js index 8e05af7..9e5d883 100644 --- a/packages/loot-design/src/svg/Search.web.js +++ b/packages/loot-design/src/svg/Search.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function Search({ width, height, style, color = 'black', ...props }) { diff --git a/packages/loot-design/src/svg/Settings.web.js b/packages/loot-design/src/svg/Settings.web.js index b5be76b..a7381e5 100644 --- a/packages/loot-design/src/svg/Settings.web.js +++ b/packages/loot-design/src/svg/Settings.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function Settings({ width, height, style, color = 'black', ...props }) { diff --git a/packages/loot-design/src/svg/Subtract.web.js b/packages/loot-design/src/svg/Subtract.web.js index 7245f1b..3d13655 100644 --- a/packages/loot-design/src/svg/Subtract.web.js +++ b/packages/loot-design/src/svg/Subtract.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function Subtract({ width, height, style, color = 'black', ...props }) { diff --git a/packages/loot-design/src/svg/merge.web.js b/packages/loot-design/src/svg/merge.web.js index 111e516..9b566d3 100644 --- a/packages/loot-design/src/svg/merge.web.js +++ b/packages/loot-design/src/svg/merge.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function Merge({ width, height, style, color = 'currentColor', ...props }) { diff --git a/packages/loot-design/src/svg/split.web.js b/packages/loot-design/src/svg/split.web.js index 93edbfe..72067d8 100644 --- a/packages/loot-design/src/svg/split.web.js +++ b/packages/loot-design/src/svg/split.web.js @@ -1,5 +1,6 @@ /* This file is auto-generated, do not touch! Please edit the SVG file instead. */ import React from 'react'; + import { css } from 'glamor'; function Split({ width, height, style, color = 'currentColor', ...props }) { diff --git a/packages/loot-design/src/svg/v1/AnimatedLoading.mobile.js b/packages/loot-design/src/svg/v1/AnimatedLoading.mobile.js index 1a51cb3..10492d2 100644 --- a/packages/loot-design/src/svg/v1/AnimatedLoading.mobile.js +++ b/packages/loot-design/src/svg/v1/AnimatedLoading.mobile.js @@ -1,7 +1,8 @@ import React from 'react'; -import Loading from './Loading'; import { Animated, Easing } from 'react-native'; +import Loading from './Loading'; + class AnimatedLoading extends React.Component { constructor() { super(); diff --git a/packages/loot-design/src/svg/v1/AnimatedLoading.web.js b/packages/loot-design/src/svg/v1/AnimatedLoading.web.js index 4271552..45b2afa 100644 --- a/packages/loot-design/src/svg/v1/AnimatedLoading.web.js +++ b/packages/loot-design/src/svg/v1/AnimatedLoading.web.js @@ -1,7 +1,9 @@ import React from 'react'; -import Loading from './Loading'; + import { css } from 'glamor'; +import Loading from './Loading'; + const rotation = css.keyframes({ '0%': { transform: 'rotate(-90deg)' }, '100%': { transform: 'rotate(666deg)' } diff --git a/yarn.lock b/yarn.lock index 3bb85ad..eaf4d66 100644 --- a/yarn.lock +++ b/yarn.lock @@ -88,7 +88,7 @@ __metadata: eslint-config-react-app: 3.0.5 eslint-loader: 2.1.1 eslint-plugin-flowtype: 2.50.1 - eslint-plugin-import: 2.14.0 + eslint-plugin-import: ^2.26.0 eslint-plugin-jsx-a11y: 6.1.2 eslint-plugin-prettier: ^3.1.4 eslint-plugin-react: 7.11.1 @@ -3648,6 +3648,13 @@ __metadata: languageName: node linkType: hard +"@types/json5@npm:^0.0.29": + version: 0.0.29 + resolution: "@types/json5@npm:0.0.29" + checksum: e60b153664572116dfea673c5bda7778dbff150498f44f998e34b5886d8afc47f16799280e4b6e241c0472aef1bc36add771c569c68fc5125fc2ae519a3eb9ac + languageName: node + linkType: hard + "@types/keyv@npm:*, @types/keyv@npm:^3.1.1": version: 3.1.4 resolution: "@types/keyv@npm:3.1.4" @@ -4899,6 +4906,19 @@ __metadata: languageName: node linkType: hard +"array-includes@npm:^3.1.4": + version: 3.1.5 + resolution: "array-includes@npm:3.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.19.5 + get-intrinsic: ^1.1.1 + is-string: ^1.0.7 + checksum: f6f24d834179604656b7bec3e047251d5cc87e9e87fab7c175c61af48e80e75acd296017abcde21fb52292ab6a2a449ab2ee37213ee48c8709f004d75983f9c5 + languageName: node + linkType: hard + "array-map@npm:~0.0.0": version: 0.0.0 resolution: "array-map@npm:0.0.0" @@ -4943,6 +4963,18 @@ __metadata: languageName: node linkType: hard +"array.prototype.flat@npm:^1.2.5": + version: 1.3.0 + resolution: "array.prototype.flat@npm:1.3.0" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.2 + es-shim-unscopables: ^1.0.0 + checksum: 2a652b3e8dc0bebb6117e42a5ab5738af0203a14c27341d7bb2431467bdb4b348e2c5dc555dfcda8af0a5e4075c400b85311ded73861c87290a71a17c3e0a257 + languageName: node + linkType: hard + "arrify@npm:^1.0.1": version: 1.0.1 resolution: "arrify@npm:1.0.1" @@ -7026,13 +7058,6 @@ __metadata: languageName: node linkType: hard -"contains-path@npm:^0.1.0": - version: 0.1.0 - resolution: "contains-path@npm:0.1.0" - checksum: 94ecfd944e0bc51be8d3fc596dcd17d705bd4c8a1a627952a3a8c5924bac01c7ea19034cf40b4b4f89e576cdead130a7e5fd38f5f7f07ef67b4b261d875871e3 - languageName: node - linkType: hard - "content-disposition@npm:0.5.4": version: 0.5.4 resolution: "content-disposition@npm:0.5.4" @@ -8112,7 +8137,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:2.6.9, debug@npm:^2.1.3, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.0, debug@npm:^2.6.8, debug@npm:^2.6.9": +"debug@npm:2.6.9, debug@npm:^2.1.3, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.0, debug@npm:^2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" dependencies: @@ -8320,6 +8345,16 @@ __metadata: languageName: node linkType: hard +"define-properties@npm:^1.1.4": + version: 1.1.4 + resolution: "define-properties@npm:1.1.4" + dependencies: + has-property-descriptors: ^1.0.0 + object-keys: ^1.1.1 + checksum: ce0aef3f9eb193562b5cfb79b2d2c86b6a109dfc9fdcb5f45d680631a1a908c06824ddcdb72b7573b54e26ace07f0a23420aaba0d5c627b34d2c1de8ef527e2b + languageName: node + linkType: hard + "define-property@npm:^0.2.5": version: 0.2.5 resolution: "define-property@npm:0.2.5" @@ -8614,16 +8649,6 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:1.5.0": - version: 1.5.0 - resolution: "doctrine@npm:1.5.0" - dependencies: - esutils: ^2.0.2 - isarray: ^1.0.0 - checksum: 7ce8102a05cbb9d942d49db5461d2f3dd1208ebfed929bf1c04770a1ef6ef540b792e63c45eae4c51f8b16075e0af4a73581a06bad31c37ceb0988f2e398509b - languageName: node - linkType: hard - "doctrine@npm:^2.1.0": version: 2.1.0 resolution: "doctrine@npm:2.1.0" @@ -9192,6 +9217,37 @@ __metadata: languageName: node linkType: hard +"es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.2, es-abstract@npm:^1.19.5": + version: 1.20.1 + resolution: "es-abstract@npm:1.20.1" + dependencies: + call-bind: ^1.0.2 + es-to-primitive: ^1.2.1 + function-bind: ^1.1.1 + function.prototype.name: ^1.1.5 + get-intrinsic: ^1.1.1 + get-symbol-description: ^1.0.0 + has: ^1.0.3 + has-property-descriptors: ^1.0.0 + has-symbols: ^1.0.3 + internal-slot: ^1.0.3 + is-callable: ^1.2.4 + is-negative-zero: ^2.0.2 + is-regex: ^1.1.4 + is-shared-array-buffer: ^1.0.2 + is-string: ^1.0.7 + is-weakref: ^1.0.2 + object-inspect: ^1.12.0 + object-keys: ^1.1.1 + object.assign: ^4.1.2 + regexp.prototype.flags: ^1.4.3 + string.prototype.trimend: ^1.0.5 + string.prototype.trimstart: ^1.0.5 + unbox-primitive: ^1.0.2 + checksum: 28da27ae0ed9c76df7ee8ef5c278df79dcfdb554415faf7068bb7c58f8ba8e2a16bfb59e586844be6429ab4c302ca7748979d48442224cb1140b051866d74b7f + languageName: node + linkType: hard + "es-get-iterator@npm:^1.1.1": version: 1.1.2 resolution: "es-get-iterator@npm:1.1.2" @@ -9208,6 +9264,15 @@ __metadata: languageName: node linkType: hard +"es-shim-unscopables@npm:^1.0.0": + version: 1.0.0 + resolution: "es-shim-unscopables@npm:1.0.0" + dependencies: + has: ^1.0.3 + checksum: 83e95cadbb6ee44d3644dfad60dcad7929edbc42c85e66c3e99aefd68a3a5c5665f2686885cddb47dfeabfd77bd5ea5a7060f2092a955a729bbd8834f0d86fa1 + languageName: node + linkType: hard + "es-to-primitive@npm:^1.2.1": version: 1.2.1 resolution: "es-to-primitive@npm:1.2.1" @@ -9347,7 +9412,7 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.1": +"eslint-import-resolver-node@npm:^0.3.6": version: 0.3.6 resolution: "eslint-import-resolver-node@npm:0.3.6" dependencies: @@ -9373,13 +9438,15 @@ __metadata: languageName: node linkType: hard -"eslint-module-utils@npm:^2.2.0": - version: 2.7.3 - resolution: "eslint-module-utils@npm:2.7.3" +"eslint-module-utils@npm:^2.7.3": + version: 2.7.4 + resolution: "eslint-module-utils@npm:2.7.4" dependencies: debug: ^3.2.7 - find-up: ^2.1.0 - checksum: 77048263f309167a1e6a1e1b896bfb5ddd1d3859b2e2abbd9c32c432aee13d610d46e6820b1ca81b37fba437cf423a404bc6649be64ace9148a3062d1886a678 + peerDependenciesMeta: + eslint: + optional: true + checksum: 5da13645daff145a5c922896b258f8bba560722c3767254e458d894ff5fbb505d6dfd945bffa932a5b0ae06714da2379bd41011c4c20d2d59cc83e23895360f7 languageName: node linkType: hard @@ -9394,23 +9461,26 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import@npm:2.14.0": - version: 2.14.0 - resolution: "eslint-plugin-import@npm:2.14.0" +"eslint-plugin-import@npm:^2.26.0": + version: 2.26.0 + resolution: "eslint-plugin-import@npm:2.26.0" dependencies: - contains-path: ^0.1.0 - debug: ^2.6.8 - doctrine: 1.5.0 - eslint-import-resolver-node: ^0.3.1 - eslint-module-utils: ^2.2.0 - has: ^1.0.1 - lodash: ^4.17.4 - minimatch: ^3.0.3 - read-pkg-up: ^2.0.0 - resolve: ^1.6.0 + array-includes: ^3.1.4 + array.prototype.flat: ^1.2.5 + debug: ^2.6.9 + doctrine: ^2.1.0 + eslint-import-resolver-node: ^0.3.6 + eslint-module-utils: ^2.7.3 + has: ^1.0.3 + is-core-module: ^2.8.1 + is-glob: ^4.0.3 + minimatch: ^3.1.2 + object.values: ^1.1.5 + resolve: ^1.22.0 + tsconfig-paths: ^3.14.1 peerDependencies: - eslint: 2.x - 5.x - checksum: 3ae491d18b9684ec19acff82ab3930004d4978b1e418c0ae3046aa649a10ebcd996a6f7f4213b2d8e960c8222506561174f8ad7905f5f46d00706174fc60a55b + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + checksum: 0bf77ad80339554481eafa2b1967449e1f816b94c7a6f9614ce33fb4083c4e6c050f10d241dd50b4975d47922880a34de1e42ea9d8e6fd663ebb768baa67e655 languageName: node linkType: hard @@ -10776,6 +10846,18 @@ __metadata: languageName: node linkType: hard +"function.prototype.name@npm:^1.1.5": + version: 1.1.5 + resolution: "function.prototype.name@npm:1.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.0 + functions-have-names: ^1.2.2 + checksum: acd21d733a9b649c2c442f067567743214af5fa248dbeee69d8278ce7df3329ea5abac572be9f7470b4ec1cd4d8f1040e3c5caccf98ebf2bf861a0deab735c27 + languageName: node + linkType: hard + "functional-red-black-tree@npm:^1.0.1": version: 1.0.1 resolution: "functional-red-black-tree@npm:1.0.1" @@ -10783,6 +10865,13 @@ __metadata: languageName: node linkType: hard +"functions-have-names@npm:^1.2.2": + version: 1.2.3 + resolution: "functions-have-names@npm:1.2.3" + checksum: c3f1f5ba20f4e962efb71344ce0a40722163e85bee2101ce25f88214e78182d2d2476aa85ef37950c579eb6cf6ee811c17b3101bb84004bb75655f3e33f3fdb5 + languageName: node + linkType: hard + "gauge@npm:^4.0.3": version: 4.0.4 resolution: "gauge@npm:4.0.4" @@ -11312,6 +11401,13 @@ __metadata: languageName: node linkType: hard +"has-bigints@npm:^1.0.2": + version: 1.0.2 + resolution: "has-bigints@npm:1.0.2" + checksum: 390e31e7be7e5c6fe68b81babb73dfc35d413604d7ee5f56da101417027a4b4ce6a27e46eff97ad040c835b5d228676eae99a9b5c3bc0e23c8e81a49241ff45b + languageName: node + linkType: hard + "has-flag@npm:^3.0.0": version: 3.0.0 resolution: "has-flag@npm:3.0.0" @@ -11326,7 +11422,16 @@ __metadata: languageName: node linkType: hard -"has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2": +"has-property-descriptors@npm:^1.0.0": + version: 1.0.0 + resolution: "has-property-descriptors@npm:1.0.0" + dependencies: + get-intrinsic: ^1.1.1 + checksum: a6d3f0a266d0294d972e354782e872e2fe1b6495b321e6ef678c9b7a06a40408a6891817350c62e752adced73a94ac903c54734fee05bf65b1905ee1368194bb + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": version: 1.0.3 resolution: "has-symbols@npm:1.0.3" checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 @@ -11395,7 +11500,7 @@ __metadata: languageName: node linkType: hard -"has@npm:^1.0.0, has@npm:^1.0.1, has@npm:^1.0.3": +"has@npm:^1.0.0, has@npm:^1.0.3": version: 1.0.3 resolution: "has@npm:1.0.3" dependencies: @@ -12346,6 +12451,15 @@ __metadata: languageName: node linkType: hard +"is-core-module@npm:^2.9.0": + version: 2.10.0 + resolution: "is-core-module@npm:2.10.0" + dependencies: + has: ^1.0.3 + checksum: 0f3f77811f430af3256fa7bbc806f9639534b140f8ee69476f632c3e1eb4e28a38be0b9d1b8ecf596179c841b53576129279df95e7051d694dac4ceb6f967593 + languageName: node + linkType: hard + "is-data-descriptor@npm:^0.1.4": version: 0.1.4 resolution: "is-data-descriptor@npm:0.1.4" @@ -12473,7 +12587,7 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": version: 4.0.3 resolution: "is-glob@npm:4.0.3" dependencies: @@ -12513,7 +12627,7 @@ __metadata: languageName: node linkType: hard -"is-negative-zero@npm:^2.0.1": +"is-negative-zero@npm:^2.0.1, is-negative-zero@npm:^2.0.2": version: 2.0.2 resolution: "is-negative-zero@npm:2.0.2" checksum: f3232194c47a549da60c3d509c9a09be442507616b69454716692e37ae9f37c4dea264fb208ad0c9f3efd15a796a46b79df07c7e53c6227c32170608b809149a @@ -12666,6 +12780,15 @@ __metadata: languageName: node linkType: hard +"is-shared-array-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "is-shared-array-buffer@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + checksum: 9508929cf14fdc1afc9d61d723c6e8d34f5e117f0bffda4d97e7a5d88c3a8681f633a74f8e3ad1fe92d5113f9b921dc5ca44356492079612f9a247efbce7032a + languageName: node + linkType: hard + "is-stream@npm:^1.0.1, is-stream@npm:^1.1.0": version: 1.1.0 resolution: "is-stream@npm:1.1.0" @@ -12732,7 +12855,7 @@ __metadata: languageName: node linkType: hard -"is-weakref@npm:^1.0.1": +"is-weakref@npm:^1.0.1, is-weakref@npm:^1.0.2": version: 1.0.2 resolution: "is-weakref@npm:1.0.2" dependencies: @@ -14570,6 +14693,7 @@ jest-snapshot@test: date-fns: 2.0.0-alpha.27 deep-equal: ^2.0.5 eslint: 5.6.0 + eslint-plugin-import: ^2.26.0 eslint-plugin-prettier: ^3.1.4 esm: ^3.0.82 fake-indexeddb: ^3.1.3 @@ -15483,7 +15607,7 @@ jest-snapshot@test: languageName: node linkType: hard -"minimatch@npm:^3.0.2, minimatch@npm:^3.0.3, minimatch@npm:^3.0.4": +"minimatch@npm:^3.0.2, minimatch@npm:^3.0.4, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -16565,6 +16689,13 @@ jest-snapshot@test: languageName: node linkType: hard +"object-inspect@npm:^1.12.0": + version: 1.12.2 + resolution: "object-inspect@npm:1.12.2" + checksum: a534fc1b8534284ed71f25ce3a496013b7ea030f3d1b77118f6b7b1713829262be9e6243acbcb3ef8c626e2b64186112cb7f6db74e37b2789b9c789ca23048b2 + languageName: node + linkType: hard + "object-is@npm:^1.0.1, object-is@npm:^1.1.4": version: 1.1.5 resolution: "object-is@npm:1.1.5" @@ -16630,7 +16761,7 @@ jest-snapshot@test: languageName: node linkType: hard -"object.values@npm:^1.1.0": +"object.values@npm:^1.1.0, object.values@npm:^1.1.5": version: 1.1.5 resolution: "object.values@npm:1.1.5" dependencies: @@ -19646,6 +19777,17 @@ jest-snapshot@test: languageName: node linkType: hard +"regexp.prototype.flags@npm:^1.4.3": + version: 1.4.3 + resolution: "regexp.prototype.flags@npm:1.4.3" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + functions-have-names: ^1.2.2 + checksum: 51228bae732592adb3ededd5e15426be25f289e9c4ef15212f4da73f4ec3919b6140806374b8894036a86020d054a8d2657d3fee6bb9b4d35d8939c20030b7a6 + languageName: node + linkType: hard + "regexpp@npm:^2.0.0": version: 2.0.1 resolution: "regexpp@npm:2.0.1" @@ -19903,7 +20045,7 @@ jest-snapshot@test: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.5.0, resolve@npm:^1.6.0": +"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.5.0": version: 1.22.0 resolution: "resolve@npm:1.22.0" dependencies: @@ -19916,6 +20058,19 @@ jest-snapshot@test: languageName: node linkType: hard +"resolve@npm:^1.22.0": + version: 1.22.1 + resolution: "resolve@npm:1.22.1" + dependencies: + is-core-module: ^2.9.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 07af5fc1e81aa1d866cbc9e9460fbb67318a10fa3c4deadc35c3ad8a898ee9a71a86a65e4755ac3195e0ea0cfbe201eb323ebe655ce90526fd61917313a34e4e + languageName: node + linkType: hard + "resolve@patch:resolve@1.8.1#~builtin": version: 1.8.1 resolution: "resolve@patch:resolve@npm%3A1.8.1#~builtin::version=1.8.1&hash=07638b" @@ -19925,7 +20080,7 @@ jest-snapshot@test: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.5.0#~builtin, resolve@patch:resolve@^1.6.0#~builtin": +"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.5.0#~builtin": version: 1.22.0 resolution: "resolve@patch:resolve@npm%3A1.22.0#~builtin::version=1.22.0&hash=07638b" dependencies: @@ -19938,6 +20093,19 @@ jest-snapshot@test: languageName: node linkType: hard +"resolve@patch:resolve@^1.22.0#~builtin": + version: 1.22.1 + resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=07638b" + dependencies: + is-core-module: ^2.9.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 5656f4d0bedcf8eb52685c1abdf8fbe73a1603bb1160a24d716e27a57f6cecbe2432ff9c89c2bd57542c3a7b9d14b1882b73bfe2e9d7849c9a4c0b8b39f02b8b + languageName: node + linkType: hard + "responselike@npm:^1.0.2": version: 1.0.2 resolution: "responselike@npm:1.0.2" @@ -21344,6 +21512,17 @@ jest-snapshot@test: languageName: node linkType: hard +"string.prototype.trimend@npm:^1.0.5": + version: 1.0.5 + resolution: "string.prototype.trimend@npm:1.0.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.19.5 + checksum: d44f543833112f57224e79182debadc9f4f3bf9d48a0414d6f0cbd2a86f2b3e8c0ca1f95c3f8e5b32ae83e91554d79d932fc746b411895f03f93d89ed3dfb6bc + languageName: node + linkType: hard + "string.prototype.trimstart@npm:^1.0.4": version: 1.0.4 resolution: "string.prototype.trimstart@npm:1.0.4" @@ -21354,6 +21533,17 @@ jest-snapshot@test: languageName: node linkType: hard +"string.prototype.trimstart@npm:^1.0.5": + version: 1.0.5 + resolution: "string.prototype.trimstart@npm:1.0.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.19.5 + checksum: a4857c5399ad709d159a77371eeaa8f9cc284469a0b5e1bfe405de16f1fd4166a8ea6f4180e55032f348d1b679b1599fd4301fbc7a8b72bdb3e795e43f7b1048 + languageName: node + linkType: hard + "string_decoder@npm:^1.0.0, string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" @@ -22160,6 +22350,18 @@ jest-snapshot@test: languageName: node linkType: hard +"tsconfig-paths@npm:^3.14.1": + version: 3.14.1 + resolution: "tsconfig-paths@npm:3.14.1" + dependencies: + "@types/json5": ^0.0.29 + json5: ^1.0.1 + minimist: ^1.2.6 + strip-bom: ^3.0.0 + checksum: 8afa01c673ebb4782ba53d3a12df97fa837ce524f8ad38ee4e2b2fd57f5ac79abc21c574e9e9eb014d93efe7fe8214001b96233b5c6ea75bd1ea82afe17a4c6d + languageName: node + linkType: hard + "tslib@npm:^1.9.0, tslib@npm:^1.9.3": version: 1.14.1 resolution: "tslib@npm:1.14.1" @@ -22408,6 +22610,18 @@ jest-snapshot@test: languageName: node linkType: hard +"unbox-primitive@npm:^1.0.2": + version: 1.0.2 + resolution: "unbox-primitive@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + has-bigints: ^1.0.2 + has-symbols: ^1.0.3 + which-boxed-primitive: ^1.0.2 + checksum: b7a1cf5862b5e4b5deb091672ffa579aa274f648410009c81cca63fed3b62b610c4f3b773f912ce545bb4e31edc3138975b5bc777fc6e4817dca51affb6380e9 + languageName: node + linkType: hard + "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.0 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0"