From d705cd351b04899b3e60b2cff9192da4d65e0e54 Mon Sep 17 00:00:00 2001
From: Tom French <tom@tomfren.ch>
Date: Sat, 7 May 2022 15:08:23 +0100
Subject: [PATCH] refactor: remove unused imports

---
 .../loot-core/src/client/actions/account.js   |  2 +-
 packages/loot-core/src/client/actions/sync.js |  3 ---
 .../loot-core/src/client/actions/tutorial.js  |  1 -
 .../src/client/data-hooks/accounts.js         |  4 ++--
 .../loot-core/src/client/data-hooks/payees.js |  4 ++--
 .../src/client/data-hooks/schedules.js        |  6 ++----
 .../loot-core/src/client/query-helpers.js     |  2 +-
 packages/loot-core/src/mocks/plaid.js         |  1 -
 packages/loot-core/src/mocks/setup.js         |  1 -
 .../src/platform/server/fs/index.web.test.js  | 11 +---------
 .../src/server/accounts/export-to-csv.js      |  1 -
 .../loot-core/src/server/accounts/rules.js    |  1 -
 .../src/server/accounts/rules.test.js         |  1 -
 .../loot-core/src/server/accounts/sync.js     | 11 +---------
 .../src/server/accounts/transaction-rules.js  |  2 --
 .../server/accounts/transaction-rules.test.js |  2 --
 .../src/server/accounts/transactions.js       |  1 -
 packages/loot-core/src/server/api.js          |  4 ----
 .../src/server/aql/schema/executors.js        |  1 -
 .../src/server/aql/schema/executors.test.js   |  6 +-----
 .../loot-core/src/server/budget/actions.js    |  1 -
 .../loot-core/src/server/budget/report.js     |  1 -
 packages/loot-core/src/server/main.js         |  1 -
 .../src/server/migrate/migrations.test.js     |  3 +--
 packages/loot-core/src/server/post.js         |  2 +-
 .../loot-core/src/server/schedules/app.js     |  2 --
 .../src/server/schedules/app.test.js          |  2 --
 .../src/server/schedules/find-schedules.js    |  2 +-
 .../src/server/spreadsheet/new/sqlgen.js      |  1 -
 .../src/server/spreadsheet/new/vm.js          |  4 ++--
 packages/loot-core/src/server/sync/index.js   |  1 -
 .../loot-core/src/server/sync/migrate.test.js |  5 ++---
 .../src/server/sync/sync.property.test.js     |  5 +----
 .../loot-core/src/server/sync/sync.test.js    |  8 +-------
 .../src/server/tests/mockSyncServer.js        |  1 -
 .../loot-core/src/server/timestamp.test.js    |  2 +-
 packages/loot-core/src/server/tools/app.js    |  1 -
 .../loot-core/src/server/tracking/events.js   |  2 --
 packages/loot-core/src/shared/transactions.js |  2 +-
 .../loot-core/src/shared/transactions.test.js |  1 -
 .../loot-core/webpack/webpack.api.config.js   |  1 -
 .../src/components/CategorySelect.js          |  2 +-
 .../loot-design/src/components/DateSelect.js  |  3 +--
 .../src/components/PayeeAutocomplete.js       |  2 +-
 .../src/components/RecurringSchedulePicker.js |  5 +----
 .../RecurringSchedulePicker.usage.js          |  2 +-
 .../src/components/budget/index.js            |  2 +-
 packages/loot-design/src/components/common.js |  2 --
 .../src/components/manager/DeleteFile.js      |  4 ++--
 .../src/components/manager/Import.js          |  2 +-
 .../src/components/manager/ImportYNAB4.js     |  1 -
 .../src/components/manager/ImportYNAB5.js     |  1 -
 .../components/mobile/InputAccessoryView.js   |  2 --
 .../src/components/mobile/budget.test.js      |  1 -
 .../src/components/mobile/budget.usage.js     |  2 +-
 .../src/components/mobile/transaction.js      |  5 +----
 .../src/components/modals/CloseAccount.js     |  1 -
 .../components/modals/CreateLocalAccount.js   |  1 -
 .../src/components/modals/EditField.js        |  2 +-
 .../components/modals/ImportTransactions.js   |  2 +-
 .../src/components/modals/LoadBackup.js       |  4 ++--
 .../src/components/sidebar.usage.js           |  1 -
 packages/loot-design/src/components/table.js  |  1 -
 .../src/components/useResizeObserver.js       |  2 +-
 packages/loot-design/src/svg/Add.mobile.js    | 19 +-----------------
 packages/loot-design/src/svg/Bank.mobile.js   | 19 +-----------------
 packages/loot-design/src/svg/Budget.mobile.js | 19 +-----------------
 packages/loot-design/src/svg/Delete.mobile.js | 19 +-----------------
 .../loot-design/src/svg/DownArrow.mobile.js   | 19 +-----------------
 .../loot-design/src/svg/DragIOS.mobile.js     | 19 +-----------------
 .../loot-design/src/svg/ExpandArrow.mobile.js | 19 +-----------------
 .../loot-design/src/svg/LeftArrow.mobile.js   | 19 +-----------------
 .../loot-design/src/svg/LeftArrow2.mobile.js  | 19 +-----------------
 .../loot-design/src/svg/LeftArrow3.mobile.js  | 19 +-----------------
 .../loot-design/src/svg/Loading.mobile.js     |  9 ---------
 packages/loot-design/src/svg/Logo.mobile.js   | 19 +-----------------
 packages/loot-design/src/svg/Math.mobile.js   | 19 +-----------------
 packages/loot-design/src/svg/Pencil.mobile.js | 19 +-----------------
 .../loot-design/src/svg/Reports.mobile.js     | 20 ++-----------------
 .../loot-design/src/svg/RightArrow.mobile.js  | 20 ++-----------------
 .../loot-design/src/svg/RightArrow2.mobile.js | 19 +-----------------
 packages/loot-design/src/svg/Search.mobile.js | 19 +-----------------
 .../loot-design/src/svg/Settings.mobile.js    | 19 +-----------------
 .../loot-design/src/svg/Subtract.mobile.js    | 19 +-----------------
 packages/loot-design/src/svg/merge.mobile.js  | 19 +-----------------
 packages/loot-design/src/svg/split.mobile.js  | 19 +-----------------
 86 files changed, 61 insertions(+), 512 deletions(-)

diff --git a/packages/loot-core/src/client/actions/account.js b/packages/loot-core/src/client/actions/account.js
index bbb1f13ec..980f4ddf0 100644
--- a/packages/loot-core/src/client/actions/account.js
+++ b/packages/loot-core/src/client/actions/account.js
@@ -1,6 +1,6 @@
 import { send } from '../../platform/client/fetch';
 import constants from '../constants';
-import { getPayees, getAccounts, filterTransactions } from './queries';
+import { getPayees, getAccounts } from './queries';
 import { addNotification } from './notifications';
 
 export function setAccountsSyncing(name) {
diff --git a/packages/loot-core/src/client/actions/sync.js b/packages/loot-core/src/client/actions/sync.js
index fde2313bb..f08168966 100644
--- a/packages/loot-core/src/client/actions/sync.js
+++ b/packages/loot-core/src/client/actions/sync.js
@@ -1,10 +1,7 @@
 import { send } from '../../platform/client/fetch';
 import constants from '../constants';
 import { loadPrefs } from './prefs';
-import { createBudget, loadBudget } from './budgets';
-import { getCategories, getAccounts, getPayees } from './queries';
 import { syncAccounts } from './account';
-import { setAppState } from './app';
 import { pushModal } from './modals';
 import { getUploadError } from '../../shared/errors';
 
diff --git a/packages/loot-core/src/client/actions/tutorial.js b/packages/loot-core/src/client/actions/tutorial.js
index c518ab5bb..b0c532e63 100644
--- a/packages/loot-core/src/client/actions/tutorial.js
+++ b/packages/loot-core/src/client/actions/tutorial.js
@@ -1,4 +1,3 @@
-import constants from '../constants';
 import { send } from '../../platform/client/fetch';
 import Platform from '../platform';
 import { pushModal } from './modals';
diff --git a/packages/loot-core/src/client/data-hooks/accounts.js b/packages/loot-core/src/client/data-hooks/accounts.js
index 17ada0000..c66593957 100644
--- a/packages/loot-core/src/client/data-hooks/accounts.js
+++ b/packages/loot-core/src/client/data-hooks/accounts.js
@@ -1,5 +1,5 @@
-import React, { useMemo, useEffect, useState, useContext } from 'react';
-import q, { liveQuery, runQuery } from 'loot-core/src/client/query-helpers';
+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';
 
 export function useAccounts() {
diff --git a/packages/loot-core/src/client/data-hooks/payees.js b/packages/loot-core/src/client/data-hooks/payees.js
index 40a7e6ab4..5cae0b92c 100644
--- a/packages/loot-core/src/client/data-hooks/payees.js
+++ b/packages/loot-core/src/client/data-hooks/payees.js
@@ -1,5 +1,5 @@
-import React, { useMemo, useEffect, useState, useContext } from 'react';
-import q, { liveQuery, runQuery } from 'loot-core/src/client/query-helpers';
+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';
 
 export function usePayees() {
diff --git a/packages/loot-core/src/client/data-hooks/schedules.js b/packages/loot-core/src/client/data-hooks/schedules.js
index 53860a7ca..7cd043871 100644
--- a/packages/loot-core/src/client/data-hooks/schedules.js
+++ b/packages/loot-core/src/client/data-hooks/schedules.js
@@ -1,11 +1,9 @@
-import React, { useMemo, useEffect, useState, useContext } from 'react';
-import * as monthUtils from 'loot-core/src/shared/months';
+import React, { useEffect, useState, useContext } from 'react';
 import {
   getStatus,
   getHasTransactionsQuery
 } from 'loot-core/src/shared/schedules';
-import q, { liveQuery, runQuery } from 'loot-core/src/client/query-helpers';
-import { send } from 'loot-core/src/platform/client/fetch';
+import q, { liveQuery } from 'loot-core/src/client/query-helpers';
 
 function loadStatuses(schedules, onData) {
   return liveQuery(getHasTransactionsQuery(schedules), onData, {
diff --git a/packages/loot-core/src/client/query-helpers.js b/packages/loot-core/src/client/query-helpers.js
index b26429a94..b1a1d830b 100644
--- a/packages/loot-core/src/client/query-helpers.js
+++ b/packages/loot-core/src/client/query-helpers.js
@@ -1,5 +1,5 @@
 import { listen, send } from '../platform/client/fetch';
-import { once, runAgain } from '../shared/async';
+import { once } from '../shared/async';
 
 import q, { getPrimaryOrderBy } from '../shared/query';
 export default q;
diff --git a/packages/loot-core/src/mocks/plaid.js b/packages/loot-core/src/mocks/plaid.js
index aa0fb80e2..d0720580c 100644
--- a/packages/loot-core/src/mocks/plaid.js
+++ b/packages/loot-core/src/mocks/plaid.js
@@ -1,4 +1,3 @@
-import dateFns from 'date-fns';
 const uuid = require('../platform/uuid');
 
 export function generateAccount(balance) {
diff --git a/packages/loot-core/src/mocks/setup.js b/packages/loot-core/src/mocks/setup.js
index 9d1574414..861ba5862 100644
--- a/packages/loot-core/src/mocks/setup.js
+++ b/packages/loot-core/src/mocks/setup.js
@@ -5,7 +5,6 @@ import * as sheet from '../server/sheet';
 import * as rules from '../server/accounts/transaction-rules';
 import * as tracking from '../server/tracking/events';
 import { setSyncingMode } from '../server/sync';
-import * as monthUtils from '../shared/months';
 import { updateVersion } from '../server/update';
 import { resetTracer, tracer } from '../shared/test-helpers';
 import {
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 ba26edfdf..965b3e91a 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,16 +4,7 @@ require('fake-indexeddb/auto');
 let FDBFactory = require('fake-indexeddb/lib/FDBFactory');
 
 let idb = require('../indexeddb');
-let {
-  init,
-  populateFileHeirarchy,
-  readFile,
-  writeFile,
-  exists,
-  pathToId,
-  listDir,
-  join
-} = require('./index');
+let { init, readFile, writeFile, exists, pathToId, join } = require('./index');
 
 beforeAll(() => {
   process.env.PUBLIC_URL =
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 f5cdb47e9..64b9f6e9d 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,3 @@
-import fs from 'fs';
 import csvStringify from 'csv-stringify/lib/sync';
 import { runQuery as aqlQuery } from '../aql/schema/run-query';
 import { integerToAmount } from '../../shared/util';
diff --git a/packages/loot-core/src/server/accounts/rules.js b/packages/loot-core/src/server/accounts/rules.js
index b59e32699..798cd0971 100644
--- a/packages/loot-core/src/server/accounts/rules.js
+++ b/packages/loot-core/src/server/accounts/rules.js
@@ -7,7 +7,6 @@ import {
   isAfter,
   addDays,
   subDays,
-  format as formatDate,
   parseDate
 } from '../../shared/months';
 import { fastSetMerge } from '../../shared/util';
diff --git a/packages/loot-core/src/server/accounts/rules.test.js b/packages/loot-core/src/server/accounts/rules.test.js
index f25f46baa..1b6db9900 100644
--- a/packages/loot-core/src/server/accounts/rules.test.js
+++ b/packages/loot-core/src/server/accounts/rules.test.js
@@ -1,6 +1,5 @@
 import {
   parseDateString,
-  parseRecurDate,
   rankRules,
   iterateIds,
   Condition,
diff --git a/packages/loot-core/src/server/accounts/sync.js b/packages/loot-core/src/server/accounts/sync.js
index e277d1036..2106fdabc 100644
--- a/packages/loot-core/src/server/accounts/sync.js
+++ b/packages/loot-core/src/server/accounts/sync.js
@@ -1,24 +1,15 @@
 import title from './title';
 import * as db from '../db';
-import {
-  mergeObjects,
-  hasFieldsChanged,
-  toRelaxedNumber,
-  amountToInteger,
-  integerToAmount
-} from '../../shared/util';
+import { hasFieldsChanged, amountToInteger } from '../../shared/util';
 import {
   makeChild as makeChildTransaction,
   recalculateSplit
 } from '../../shared/transactions';
 import * as monthUtils from '../../shared/months';
-import { transactionModel } from '../api-models';
 import { getServer } from '../server-config';
 import { batchMessages } from '../sync';
 import { runMutator } from '../mutators';
 import { getStartingBalancePayee } from './payees';
-import * as transfer from './transfer';
-import { TransactionError } from '../errors';
 import { runRules } from './transaction-rules';
 import { batchUpdateTransactions } from './transactions';
 
diff --git a/packages/loot-core/src/server/accounts/transaction-rules.js b/packages/loot-core/src/server/accounts/transaction-rules.js
index 23ad38a1c..794f428d8 100644
--- a/packages/loot-core/src/server/accounts/transaction-rules.js
+++ b/packages/loot-core/src/server/accounts/transaction-rules.js
@@ -17,13 +17,11 @@ import {
   sortNumbers,
   getApproxNumberThreshold
 } from '../../shared/rules';
-import q from '../../shared/query';
 import { requiredFields, toDateRepr } from '../models';
 import { currentDay } from '../../shared/months';
 import { partitionByField, fastSetMerge } from '../../shared/util';
 import { setSyncingMode, batchMessages } from '../sync';
 import { schemaConfig } from '../aql/schema';
-const uuid = require('../../platform/uuid');
 
 // TODO: Detect if it looks like the user is creating a rename rule
 // and prompt to create it in the pre phase instead
diff --git a/packages/loot-core/src/server/accounts/transaction-rules.test.js b/packages/loot-core/src/server/accounts/transaction-rules.test.js
index 7ceed286b..d35653cab 100644
--- a/packages/loot-core/src/server/accounts/transaction-rules.test.js
+++ b/packages/loot-core/src/server/accounts/transaction-rules.test.js
@@ -1,5 +1,4 @@
 import * as db from '../db';
-import { Rule } from './rules';
 import {
   getRules,
   loadRules,
@@ -15,7 +14,6 @@ import {
   migrateOldRules
 } from './transaction-rules';
 import { loadMappings } from '../db/mappings';
-import { applyMigration } from '../migrate/migrations';
 import { runQuery } from '../aql/schema/run-query';
 import q from '../../shared/query';
 
diff --git a/packages/loot-core/src/server/accounts/transactions.js b/packages/loot-core/src/server/accounts/transactions.js
index f38ab50a1..235d54cb0 100644
--- a/packages/loot-core/src/server/accounts/transactions.js
+++ b/packages/loot-core/src/server/accounts/transactions.js
@@ -1,4 +1,3 @@
-import * as sheet from '../sheet';
 import { batchMessages } from '../sync';
 import * as db from '../db';
 import { incrFetch, whereIn } from '../db/util';
diff --git a/packages/loot-core/src/server/api.js b/packages/loot-core/src/server/api.js
index 9a2aa603a..6c538cad4 100644
--- a/packages/loot-core/src/server/api.js
+++ b/packages/loot-core/src/server/api.js
@@ -1,6 +1,5 @@
 import { addTransactions } from './accounts/sync';
 import {
-  transactionModel,
   accountModel,
   categoryModel,
   categoryGroupModel,
@@ -16,17 +15,14 @@ import * as db from './db';
 import * as sheet from './sheet';
 import * as prefs from './prefs';
 import * as monthUtils from '../shared/months';
-import * as update from './update';
 import * as cloudStorage from './cloud-storage';
 import { setSyncingMode, batchMessages } from './sync';
-import { groupById, cleanUUID } from '../shared/util';
 import { getClock } from './timestamp';
 import { runMutator } from './mutators';
 import { integerToAmount } from '../shared/util';
 import { runQuery as aqlQuery } from './aql/schema/run-query';
 import q from '../shared/query';
 
-const { resolveName } = require('./spreadsheet/util');
 const connection = require('../platform/server/connection');
 
 let IMPORT_MODE = false;
diff --git a/packages/loot-core/src/server/aql/schema/executors.js b/packages/loot-core/src/server/aql/schema/executors.js
index 4c06bccd4..8df751b7c 100644
--- a/packages/loot-core/src/server/aql/schema/executors.js
+++ b/packages/loot-core/src/server/aql/schema/executors.js
@@ -1,6 +1,5 @@
 import * as db from '../../db';
 import { whereIn } from '../../db/util';
-import { groupBy } from '../../../shared/util';
 import { isAggregateQuery } from '../compiler';
 import { convertOutputType } from '../schema-helpers';
 import { execQuery } from '../exec';
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 69554a233..ba3f0a383 100644
--- a/packages/loot-core/src/server/aql/schema/executors.test.js
+++ b/packages/loot-core/src/server/aql/schema/executors.test.js
@@ -1,16 +1,12 @@
 import fc from 'fast-check';
 import * as db from '../../db';
 import query from '../../../shared/query';
-import { makeChild } from '../../../shared/transactions';
 import { batchMessages, setSyncingMode } from '../../sync/index';
 import { setClock } from '../../timestamp';
 import { groupById } from '../../../shared/util';
 import arbs from '../../../mocks/arbitrary-schema';
-import { isAggregateQuery } from '../compiler';
 import { runQuery } from './run-query';
-import { toGroup, isHappyPathQuery } from './executors';
-
-const uuid = require('../../../platform/uuid');
+import { isHappyPathQuery } from './executors';
 
 beforeEach(global.emptyDatabase());
 
diff --git a/packages/loot-core/src/server/budget/actions.js b/packages/loot-core/src/server/budget/actions.js
index 128748a8f..1f20a7aee 100644
--- a/packages/loot-core/src/server/budget/actions.js
+++ b/packages/loot-core/src/server/budget/actions.js
@@ -1,7 +1,6 @@
 import * as monthUtils from '../../shared/months';
 import * as db from '../db';
 import { batchMessages } from '../sync';
-import { groupBySingle } from '../../shared/util';
 import * as prefs from '../prefs';
 import * as sheet from '../sheet';
 
diff --git a/packages/loot-core/src/server/budget/report.js b/packages/loot-core/src/server/budget/report.js
index 11f03aabc..150d05095 100644
--- a/packages/loot-core/src/server/budget/report.js
+++ b/packages/loot-core/src/server/budget/report.js
@@ -1,5 +1,4 @@
 import * as sheet from '../sheet';
-import * as monthUtils from '../../shared/months';
 import { number, sumAmounts } from './util';
 const { resolveName } = require('../spreadsheet/util');
 
diff --git a/packages/loot-core/src/server/main.js b/packages/loot-core/src/server/main.js
index 6e8c3b257..ada202d61 100644
--- a/packages/loot-core/src/server/main.js
+++ b/packages/loot-core/src/server/main.js
@@ -1,5 +1,4 @@
 import './polyfills';
-import { differenceInDays } from 'date-fns';
 import asyncStorage from '../platform/server/asyncStorage';
 import { captureException, captureBreadcrumb } from '../platform/exceptions';
 import * as prefs from './prefs';
diff --git a/packages/loot-core/src/server/migrate/migrations.test.js b/packages/loot-core/src/server/migrate/migrations.test.js
index da54f3854..64279b090 100644
--- a/packages/loot-core/src/server/migrate/migrations.test.js
+++ b/packages/loot-core/src/server/migrate/migrations.test.js
@@ -3,8 +3,7 @@ import {
   withMigrationsDir,
   getAppliedMigrations,
   getMigrationList,
-  getPending,
-  applyMigration
+  getPending
 } from './migrations';
 import * as db from '../db';
 
diff --git a/packages/loot-core/src/server/post.js b/packages/loot-core/src/server/post.js
index 94284e4df..75fa24c7f 100644
--- a/packages/loot-core/src/server/post.js
+++ b/packages/loot-core/src/server/post.js
@@ -1,5 +1,5 @@
 import Platform from './platform';
-const { PostError, HTTPError } = require('./errors');
+const { PostError } = require('./errors');
 const { fetch } = require('../platform/server/fetch');
 
 function throwIfNot200(res, text) {
diff --git a/packages/loot-core/src/server/schedules/app.js b/packages/loot-core/src/server/schedules/app.js
index b7ef3ac51..062490e71 100644
--- a/packages/loot-core/src/server/schedules/app.js
+++ b/packages/loot-core/src/server/schedules/app.js
@@ -5,8 +5,6 @@ import * as db from '../db';
 import * as prefs from '../prefs';
 import { toDateRepr } from '../models';
 import { runQuery as aqlQuery } from '../aql/schema/run-query';
-import { compileQuery } from '../aql/compiler';
-import { schema, schemaConfig } from '../aql/schema';
 import { dayFromDate, currentDay, parseDate } from '../../shared/months';
 import q from '../../shared/query';
 import {
diff --git a/packages/loot-core/src/server/schedules/app.test.js b/packages/loot-core/src/server/schedules/app.test.js
index 014d0cab9..bf744d9d6 100644
--- a/packages/loot-core/src/server/schedules/app.test.js
+++ b/packages/loot-core/src/server/schedules/app.test.js
@@ -1,4 +1,3 @@
-import * as db from '../db';
 import { runQuery as aqlQuery } from '../aql/schema/run-query';
 import q from '../../shared/query';
 import { loadRules, updateRule } from '../accounts/transaction-rules';
@@ -6,7 +5,6 @@ import { loadMappings } from '../db/mappings';
 import {
   updateConditions,
   getNextDate,
-  listSchedules,
   createSchedule,
   updateSchedule,
   deleteSchedule,
diff --git a/packages/loot-core/src/server/schedules/find-schedules.js b/packages/loot-core/src/server/schedules/find-schedules.js
index 346192e6a..214e725c2 100644
--- a/packages/loot-core/src/server/schedules/find-schedules.js
+++ b/packages/loot-core/src/server/schedules/find-schedules.js
@@ -7,7 +7,7 @@ import { runQuery as aqlQuery } from '../aql/schema/run-query';
 import q from '../../shared/query';
 import { getApproxNumberThreshold } from '../../shared/rules';
 import { recurConfigToRSchedule } from '../../shared/schedules';
-import { dayFromDate, parseDate, subDays } from '../../shared/months';
+import { dayFromDate, parseDate } from '../../shared/months';
 import { conditionsToAQL } from '../accounts/transaction-rules';
 const uuid = require('../../platform/uuid');
 
diff --git a/packages/loot-core/src/server/spreadsheet/new/sqlgen.js b/packages/loot-core/src/server/spreadsheet/new/sqlgen.js
index 127ad6989..34eea2177 100644
--- a/packages/loot-core/src/server/spreadsheet/new/sqlgen.js
+++ b/packages/loot-core/src/server/spreadsheet/new/sqlgen.js
@@ -1,5 +1,4 @@
 import * as nodes from './nodes';
-const uuid = require('../../../platform/uuid');
 
 let _uid = 0;
 function resetUid() {
diff --git a/packages/loot-core/src/server/spreadsheet/new/vm.js b/packages/loot-core/src/server/spreadsheet/new/vm.js
index 4a66a7155..20feb5c13 100644
--- a/packages/loot-core/src/server/spreadsheet/new/vm.js
+++ b/packages/loot-core/src/server/spreadsheet/new/vm.js
@@ -1,5 +1,5 @@
-import { compile, compileBinding } from './compiler';
-import { MOV, CALL, QUERY, UOP, BOP, REG1, SP, VAR, JUMPF, JUMPT } from './ops';
+import { compile } from './compiler';
+import { MOV, CALL, QUERY, UOP, BOP, JUMPF, JUMPT } from './ops';
 
 export default class VM {
   constructor(db, scopes) {
diff --git a/packages/loot-core/src/server/sync/index.js b/packages/loot-core/src/server/sync/index.js
index 8a902838c..e26975310 100644
--- a/packages/loot-core/src/server/sync/index.js
+++ b/packages/loot-core/src/server/sync/index.js
@@ -1,5 +1,4 @@
 import { sequential, once } from '../../shared/async';
-import * as perf from '../perf';
 import * as prefs from '../prefs';
 import app from '../main-app';
 import asyncStorage from '../../platform/server/asyncStorage';
diff --git a/packages/loot-core/src/server/sync/migrate.test.js b/packages/loot-core/src/server/sync/migrate.test.js
index b37999f2a..5286c5954 100644
--- a/packages/loot-core/src/server/sync/migrate.test.js
+++ b/packages/loot-core/src/server/sync/migrate.test.js
@@ -1,12 +1,11 @@
 import fc from 'fast-check';
 import * as db from '../db';
-import { migrateParentIds, listen, unlisten } from './migrate';
-import { addSyncListener, batchMessages, sendMessages } from './index';
+import { listen, unlisten } from './migrate';
+import { addSyncListener, sendMessages } from './index';
 import { execTracer } from '../../shared/test-helpers';
 import { schema, schemaConfig } from '../aql/schema';
 import arbs from '../../mocks/arbitrary-schema';
 import { convertInputType } from '../aql/schema-helpers';
-import { groupBy } from '../../shared/util';
 
 beforeEach(() => {
   listen();
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 8a93eabb7..7239ad7b1 100644
--- a/packages/loot-core/src/server/sync/sync.property.test.js
+++ b/packages/loot-core/src/server/sync/sync.property.test.js
@@ -2,13 +2,10 @@ import * as prefs from '../prefs';
 import * as db from '../db';
 import * as sheet from '../sheet';
 import * as sync from './index';
-import Timestamp, { deserializeClock, getClock } from '../timestamp';
+import Timestamp, { getClock } from '../timestamp';
 import * as merkle from '../merkle';
 import * as encoder from './encoder';
-const Database = require('better-sqlite3');
-const fs = require('fs');
 const jsc = require('jsverify');
-const uuid = require('uuid');
 const uuidGenerator = jsc
   .integer(97, 122)
   .smap(x => String.fromCharCode(x), x => x.charCodeAt(x));
diff --git a/packages/loot-core/src/server/sync/sync.test.js b/packages/loot-core/src/server/sync/sync.test.js
index 19489e41b..f4018a82d 100644
--- a/packages/loot-core/src/server/sync/sync.test.js
+++ b/packages/loot-core/src/server/sync/sync.test.js
@@ -2,13 +2,7 @@ import * as prefs from '../prefs';
 import * as db from '../db';
 import * as sheet from '../sheet';
 import Timestamp, { getClock } from '../timestamp';
-import { resolveName } from '../spreadsheet/util';
-import {
-  setSyncingMode,
-  sendMessages,
-  applyMessages,
-  fullSync
-} from './index';
+import { setSyncingMode, sendMessages, applyMessages, fullSync } from './index';
 import * as encoder from './encoder';
 const mockSyncServer = require('../tests/mockSyncServer');
 
diff --git a/packages/loot-core/src/server/tests/mockSyncServer.js b/packages/loot-core/src/server/tests/mockSyncServer.js
index de6ee064b..4e221a673 100644
--- a/packages/loot-core/src/server/tests/mockSyncServer.js
+++ b/packages/loot-core/src/server/tests/mockSyncServer.js
@@ -1,4 +1,3 @@
-import dateFns from 'date-fns';
 import * as merkle from '../merkle';
 import Timestamp, { makeClock } from '../timestamp';
 const defaultMockData = require('./mockData').basic;
diff --git a/packages/loot-core/src/server/timestamp.test.js b/packages/loot-core/src/server/timestamp.test.js
index 6852c6394..0a1d99431 100644
--- a/packages/loot-core/src/server/timestamp.test.js
+++ b/packages/loot-core/src/server/timestamp.test.js
@@ -1,4 +1,4 @@
-import Timestamp, { setClock, makeClock } from './timestamp';
+import Timestamp from './timestamp';
 
 describe('Timestamp', function() {
   let now = 0;
diff --git a/packages/loot-core/src/server/tools/app.js b/packages/loot-core/src/server/tools/app.js
index 726ea54dc..45d48c03a 100644
--- a/packages/loot-core/src/server/tools/app.js
+++ b/packages/loot-core/src/server/tools/app.js
@@ -1,4 +1,3 @@
-import { batchMessages } from '../sync';
 import { runMutator } from '../mutators';
 import { createApp } from '../app';
 import * as db from '../db';
diff --git a/packages/loot-core/src/server/tracking/events.js b/packages/loot-core/src/server/tracking/events.js
index 8069233d6..0884a122e 100644
--- a/packages/loot-core/src/server/tracking/events.js
+++ b/packages/loot-core/src/server/tracking/events.js
@@ -1,6 +1,4 @@
-import asyncStorage from '../../platform/server/asyncStorage';
 import { sha256String } from '../encryption-internals';
-let uuid = require('../../platform/uuid');
 
 let currentUniqueId;
 let mixpanel;
diff --git a/packages/loot-core/src/shared/transactions.js b/packages/loot-core/src/shared/transactions.js
index 6ca09624a..b5bf3fd7f 100644
--- a/packages/loot-core/src/shared/transactions.js
+++ b/packages/loot-core/src/shared/transactions.js
@@ -1,4 +1,4 @@
-import { last, diffItems, getChangedValues, applyChanges } from './util';
+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 c52c815f7..b95471efd 100644
--- a/packages/loot-core/src/shared/transactions.test.js
+++ b/packages/loot-core/src/shared/transactions.test.js
@@ -5,7 +5,6 @@ import {
   addSplitTransaction,
   makeChild
 } from './transactions';
-import * as db from '../server/db';
 const uuid = require('../platform/uuid');
 
 // const data = {
diff --git a/packages/loot-core/webpack/webpack.api.config.js b/packages/loot-core/webpack/webpack.api.config.js
index aba532c26..b7de754ad 100644
--- a/packages/loot-core/webpack/webpack.api.config.js
+++ b/packages/loot-core/webpack/webpack.api.config.js
@@ -1,4 +1,3 @@
-let path = require('path');
 let webpack = require('webpack');
 let config = require('./webpack.desktop.config');
 
diff --git a/packages/loot-design/src/components/CategorySelect.js b/packages/loot-design/src/components/CategorySelect.js
index 7098e5360..f94dd23fc 100644
--- a/packages/loot-design/src/components/CategorySelect.js
+++ b/packages/loot-design/src/components/CategorySelect.js
@@ -1,7 +1,7 @@
 import React, { useMemo } from 'react';
 import { View, Text, Select } from './common';
 import Autocomplete, { defaultFilterSuggestion } from './Autocomplete';
-import { styles, colors } from '../style';
+import { colors } from '../style';
 import Split from '../svg/split';
 
 export const NativeCategorySelect = React.forwardRef(
diff --git a/packages/loot-design/src/components/DateSelect.js b/packages/loot-design/src/components/DateSelect.js
index 146c40804..db9b99891 100644
--- a/packages/loot-design/src/components/DateSelect.js
+++ b/packages/loot-design/src/components/DateSelect.js
@@ -7,10 +7,9 @@ import React, {
   useMemo
 } from 'react';
 import * as d from 'date-fns';
-import { css } from 'glamor';
 import Pikaday from 'pikaday';
 import 'pikaday/css/pikaday.css';
-import { styles, colors } from '../style';
+import { colors } from '../style';
 import { View, Input, Tooltip } from './common';
 import {
   getDayMonthFormat,
diff --git a/packages/loot-design/src/components/PayeeAutocomplete.js b/packages/loot-design/src/components/PayeeAutocomplete.js
index c614346d6..9f48367c6 100644
--- a/packages/loot-design/src/components/PayeeAutocomplete.js
+++ b/packages/loot-design/src/components/PayeeAutocomplete.js
@@ -1,5 +1,5 @@
 import React, { useState, useMemo, useRef } from 'react';
-import { useDispatch, useSelector } from 'react-redux';
+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';
diff --git a/packages/loot-design/src/components/RecurringSchedulePicker.js b/packages/loot-design/src/components/RecurringSchedulePicker.js
index 1f566a3ad..496b481da 100644
--- a/packages/loot-design/src/components/RecurringSchedulePicker.js
+++ b/packages/loot-design/src/components/RecurringSchedulePicker.js
@@ -1,8 +1,5 @@
-import PropTypes from 'prop-types';
 import React, { useEffect, useReducer, useState } from 'react';
-import * as d from 'date-fns';
 import { useSelector } from 'react-redux';
-import { parse as parseDate } from 'date-fns';
 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';
@@ -16,7 +13,7 @@ import {
   Text,
   Stack
 } from '../components/common';
-import { colors, styles } from 'loot-design/src/style';
+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';
diff --git a/packages/loot-design/src/components/RecurringSchedulePicker.usage.js b/packages/loot-design/src/components/RecurringSchedulePicker.usage.js
index 86b7810f8..9529de2e3 100644
--- a/packages/loot-design/src/components/RecurringSchedulePicker.usage.js
+++ b/packages/loot-design/src/components/RecurringSchedulePicker.usage.js
@@ -1,4 +1,4 @@
-import React, { useCallback, useState } from 'react';
+import React from 'react';
 import RecurringSchedulePicker from './RecurringSchedulePicker';
 import { Section } from '../guide/components';
 import { Button, View } from './common';
diff --git a/packages/loot-design/src/components/budget/index.js b/packages/loot-design/src/components/budget/index.js
index 08cecb259..5c0ee229e 100644
--- a/packages/loot-design/src/components/budget/index.js
+++ b/packages/loot-design/src/components/budget/index.js
@@ -1,4 +1,4 @@
-import React, { useContext, useState, useMemo, useEffect } from 'react';
+import React, { useContext, useState, useMemo } from 'react';
 import ElementQuery from '../ElementQuery';
 import {
   View,
diff --git a/packages/loot-design/src/components/common.js b/packages/loot-design/src/components/common.js
index 9f7e9bf23..3e281b1a3 100644
--- a/packages/loot-design/src/components/common.js
+++ b/packages/loot-design/src/components/common.js
@@ -4,7 +4,6 @@ import React, {
   useLayoutEffect,
   useState,
   useCallback,
-  useMemo
 } from 'react';
 import { css } from 'glamor';
 import mergeRefs from 'react-merge-refs';
@@ -18,7 +17,6 @@ import {
   useRouteMatch
 } from 'react-router-dom';
 import {
-  Listbox,
   ListboxInput,
   ListboxButton,
   ListboxPopover,
diff --git a/packages/loot-design/src/components/manager/DeleteFile.js b/packages/loot-design/src/components/manager/DeleteFile.js
index 1463cad0a..9a15d6b81 100644
--- a/packages/loot-design/src/components/manager/DeleteFile.js
+++ b/packages/loot-design/src/components/manager/DeleteFile.js
@@ -1,6 +1,6 @@
 import React, { useState } from 'react';
-import { View, Text, Modal, Button, ButtonWithLoading } from '../common';
-import { styles, colors } from '../../style';
+import { View, Text, Modal, ButtonWithLoading } from '../common';
+import { colors } from '../../style';
 
 export default function DeleteMenu({ modalProps, actions, file }) {
   let [loadingState, setLoadingState] = useState(null);
diff --git a/packages/loot-design/src/components/manager/Import.js b/packages/loot-design/src/components/manager/Import.js
index 73b0a60ec..5b0246516 100644
--- a/packages/loot-design/src/components/manager/Import.js
+++ b/packages/loot-design/src/components/manager/Import.js
@@ -1,5 +1,5 @@
 import React, { useState } from 'react';
-import { View, Block, Modal, Button, Link } from '../common';
+import { View, Block, Modal, Button } from '../common';
 import { styles, colors } from '../../style';
 
 function getErrorMessage(error) {
diff --git a/packages/loot-design/src/components/manager/ImportYNAB4.js b/packages/loot-design/src/components/manager/ImportYNAB4.js
index 96f5d6a37..ebb46629e 100644
--- a/packages/loot-design/src/components/manager/ImportYNAB4.js
+++ b/packages/loot-design/src/components/manager/ImportYNAB4.js
@@ -7,7 +7,6 @@ import {
   Modal,
   Button,
   ButtonWithLoading,
-  Link,
   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 bb892bb61..009f2b66c 100644
--- a/packages/loot-design/src/components/manager/ImportYNAB5.js
+++ b/packages/loot-design/src/components/manager/ImportYNAB5.js
@@ -7,7 +7,6 @@ import {
   Modal,
   ButtonWithLoading,
   Button,
-  Link,
   P,
   ExternalLink
 } from '../common';
diff --git a/packages/loot-design/src/components/mobile/InputAccessoryView.js b/packages/loot-design/src/components/mobile/InputAccessoryView.js
index 1e8c0f650..df5b0029e 100644
--- a/packages/loot-design/src/components/mobile/InputAccessoryView.js
+++ b/packages/loot-design/src/components/mobile/InputAccessoryView.js
@@ -1,5 +1,3 @@
-import React from 'react';
-
 export default function InputAccessoryView() {
   return null;
 }
diff --git a/packages/loot-design/src/components/mobile/budget.test.js b/packages/loot-design/src/components/mobile/budget.test.js
index 567aa9410..12454e120 100644
--- a/packages/loot-design/src/components/mobile/budget.test.js
+++ b/packages/loot-design/src/components/mobile/budget.test.js
@@ -4,7 +4,6 @@ import { MobileScreen } from '../../guide/components';
 import { categories, categoryGroups } from './budget.usage';
 import { BudgetTable, BudgetAccessoryView } from './budget';
 import InputAccessoryView from './InputAccessoryView';
-import { debugDOM } from 'loot-core/src/mocks/util';
 import SpreadsheetContext from '../spreadsheet/SpreadsheetContext';
 import * as monthUtils from 'loot-core/src/shared/months';
 import makeSpreadsheet from 'loot-core/src/mocks/spreadsheet';
diff --git a/packages/loot-design/src/components/mobile/budget.usage.js b/packages/loot-design/src/components/mobile/budget.usage.js
index 071854b98..6c9b9077a 100644
--- a/packages/loot-design/src/components/mobile/budget.usage.js
+++ b/packages/loot-design/src/components/mobile/budget.usage.js
@@ -1,7 +1,7 @@
 import React from 'react';
 import { View } from 'react-native';
 import { MobileSection } from '../../guide/components';
-import { BudgetTable, BudgetHeader, BudgetAccessoryView } from './budget';
+import { BudgetTable, BudgetAccessoryView } from './budget';
 import InputAccessoryView from './InputAccessoryView';
 import { generateCategoryGroups } from 'loot-core/src/mocks';
 import SpreadsheetContext from '../spreadsheet/SpreadsheetContext';
diff --git a/packages/loot-design/src/components/mobile/transaction.js b/packages/loot-design/src/components/mobile/transaction.js
index 3fe484dac..9f9c6d01e 100644
--- a/packages/loot-design/src/components/mobile/transaction.js
+++ b/packages/loot-design/src/components/mobile/transaction.js
@@ -22,7 +22,7 @@ import {
   deleteTransaction,
   realizeTempTransactions
 } from 'loot-core/src/shared/transactions';
-import { applyChanges, titleFirst } from 'loot-core/src/shared/util';
+import { titleFirst } from 'loot-core/src/shared/util';
 import {
   integerToCurrency,
   integerToAmount,
@@ -48,9 +48,6 @@ import {
 
 import EditSkull1 from '../../svg/v2/EditSkull1';
 import AlertTriangle from '../../svg/v2/AlertTriangle';
-import CalendarIcon from '../../svg/v2/Calendar';
-import ValidationCheck from '../../svg/v2/ValidationCheck';
-import FavoriteStar from '../../svg/v2/FavoriteStar';
 import CheckCircle1 from '../../svg/v2/CheckCircle1';
 import ArrowsSynchronize from 'loot-design/src/svg/v2/ArrowsSynchronize';
 
diff --git a/packages/loot-design/src/components/modals/CloseAccount.js b/packages/loot-design/src/components/modals/CloseAccount.js
index 6dac82467..6e53820fb 100644
--- a/packages/loot-design/src/components/modals/CloseAccount.js
+++ b/packages/loot-design/src/components/modals/CloseAccount.js
@@ -8,7 +8,6 @@ import {
   P,
   Select,
   FormError,
-  AnchorLink
 } from '../common';
 import { integerToCurrency } from 'loot-core/src/shared/util';
 import { colors } from '../../style';
diff --git a/packages/loot-design/src/components/modals/CreateLocalAccount.js b/packages/loot-design/src/components/modals/CreateLocalAccount.js
index dc80eeb76..459f4e184 100644
--- a/packages/loot-design/src/components/modals/CreateLocalAccount.js
+++ b/packages/loot-design/src/components/modals/CreateLocalAccount.js
@@ -1,7 +1,6 @@
 import React from 'react';
 import { toRelaxedNumber } from 'loot-core/src/shared/util';
 import { determineOffBudget } from 'loot-core/src/shared/accounts';
-import { styles, colors } from '../../style';
 import {
   View,
   Modal,
diff --git a/packages/loot-design/src/components/modals/EditField.js b/packages/loot-design/src/components/modals/EditField.js
index e5705e621..24bff2850 100644
--- a/packages/loot-design/src/components/modals/EditField.js
+++ b/packages/loot-design/src/components/modals/EditField.js
@@ -4,7 +4,7 @@ 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, Stack, Button, Input } from '../common';
+import { View, Modal, Input } from '../common';
 import DateSelect from '../DateSelect';
 import CategoryAutocomplete from '../CategorySelect';
 import AccountAutocomplete from '../AccountAutocomplete';
diff --git a/packages/loot-design/src/components/modals/ImportTransactions.js b/packages/loot-design/src/components/modals/ImportTransactions.js
index 57953673f..ce2df1c10 100644
--- a/packages/loot-design/src/components/modals/ImportTransactions.js
+++ b/packages/loot-design/src/components/modals/ImportTransactions.js
@@ -19,7 +19,7 @@ import {
 } from '../common';
 import { Checkbox } from '../forms';
 import { TableHeader, TableWithNavigator, Row, Field } from '../table';
-import { SectionLabel, FieldLabel } from '../forms';
+import { SectionLabel } from '../forms';
 import { colors, styles } from '../../style';
 
 let dateFormats = [
diff --git a/packages/loot-design/src/components/modals/LoadBackup.js b/packages/loot-design/src/components/modals/LoadBackup.js
index 3501de54b..9548020fc 100644
--- a/packages/loot-design/src/components/modals/LoadBackup.js
+++ b/packages/loot-design/src/components/modals/LoadBackup.js
@@ -1,7 +1,7 @@
 import React from 'react';
 import { View, Text, Block, Modal, Button } from '../common';
-import { Row, Cell, DeleteCell } from '../table';
-import { styles, colors } from '../../style';
+import { Row, Cell } from '../table';
+import { colors } from '../../style';
 
 class BackupTable extends React.Component {
   state = { hoveredBackup: null };
diff --git a/packages/loot-design/src/components/sidebar.usage.js b/packages/loot-design/src/components/sidebar.usage.js
index 53c358f30..5c4f0e591 100644
--- a/packages/loot-design/src/components/sidebar.usage.js
+++ b/packages/loot-design/src/components/sidebar.usage.js
@@ -8,7 +8,6 @@ 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 { colors } from '../style';
 
 function withState(state, render) {
   const Component = lively(render, { getInitialState: () => state });
diff --git a/packages/loot-design/src/components/table.js b/packages/loot-design/src/components/table.js
index 21c77a032..efe1ee15c 100644
--- a/packages/loot-design/src/components/table.js
+++ b/packages/loot-design/src/components/table.js
@@ -34,7 +34,6 @@ import { keys } from '../util/keys';
 import {
   AvoidRefocusScrollProvider,
   useProperFocus,
-  focusElement
 } from './useProperFocus';
 import { useSelectedItems } from './useSelected';
 
diff --git a/packages/loot-design/src/components/useResizeObserver.js b/packages/loot-design/src/components/useResizeObserver.js
index 168092fcd..fa1abbe48 100644
--- a/packages/loot-design/src/components/useResizeObserver.js
+++ b/packages/loot-design/src/components/useResizeObserver.js
@@ -1,4 +1,4 @@
-import React, { useRef, useCallback } from 'react';
+import { useRef, useCallback } from 'react';
 
 export default function useResizeObserver(func) {
   let observer = useRef(null);
diff --git a/packages/loot-design/src/svg/Add.mobile.js b/packages/loot-design/src/svg/Add.mobile.js
index 1f16d3aae..582ac853b 100644
--- a/packages/loot-design/src/svg/Add.mobile.js
+++ b/packages/loot-design/src/svg/Add.mobile.js
@@ -1,24 +1,7 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Path } from "mobile/node_modules/react-native-svg";
 
 function Add({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/Bank.mobile.js b/packages/loot-design/src/svg/Bank.mobile.js
index 6f619a63f..42ba26ec3 100644
--- a/packages/loot-design/src/svg/Bank.mobile.js
+++ b/packages/loot-design/src/svg/Bank.mobile.js
@@ -1,24 +1,7 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Path } from "mobile/node_modules/react-native-svg";
 
 function Bank({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/Budget.mobile.js b/packages/loot-design/src/svg/Budget.mobile.js
index 3a223a5ff..72426c60b 100644
--- a/packages/loot-design/src/svg/Budget.mobile.js
+++ b/packages/loot-design/src/svg/Budget.mobile.js
@@ -1,24 +1,7 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Path } from "mobile/node_modules/react-native-svg";
 
 function Budget({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/Delete.mobile.js b/packages/loot-design/src/svg/Delete.mobile.js
index bb5efd982..467b97da5 100644
--- a/packages/loot-design/src/svg/Delete.mobile.js
+++ b/packages/loot-design/src/svg/Delete.mobile.js
@@ -1,24 +1,7 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Path } from "mobile/node_modules/react-native-svg";
 
 function Delete({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/DownArrow.mobile.js b/packages/loot-design/src/svg/DownArrow.mobile.js
index e0582cf08..528149e3b 100644
--- a/packages/loot-design/src/svg/DownArrow.mobile.js
+++ b/packages/loot-design/src/svg/DownArrow.mobile.js
@@ -1,24 +1,7 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Path } from "mobile/node_modules/react-native-svg";
 
 function DownArrow({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/DragIOS.mobile.js b/packages/loot-design/src/svg/DragIOS.mobile.js
index 252933f7d..6533fd8d1 100644
--- a/packages/loot-design/src/svg/DragIOS.mobile.js
+++ b/packages/loot-design/src/svg/DragIOS.mobile.js
@@ -1,24 +1,7 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Path } from "mobile/node_modules/react-native-svg";
 
 function DragIos({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/ExpandArrow.mobile.js b/packages/loot-design/src/svg/ExpandArrow.mobile.js
index 5a5fceb0f..707720d05 100644
--- a/packages/loot-design/src/svg/ExpandArrow.mobile.js
+++ b/packages/loot-design/src/svg/ExpandArrow.mobile.js
@@ -1,24 +1,7 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Path } from "mobile/node_modules/react-native-svg";
 
 function ExpandArrow({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/LeftArrow.mobile.js b/packages/loot-design/src/svg/LeftArrow.mobile.js
index 23a1244dd..2a2e28c50 100644
--- a/packages/loot-design/src/svg/LeftArrow.mobile.js
+++ b/packages/loot-design/src/svg/LeftArrow.mobile.js
@@ -1,24 +1,7 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Path } from "mobile/node_modules/react-native-svg";
 
 function LeftArrow({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/LeftArrow2.mobile.js b/packages/loot-design/src/svg/LeftArrow2.mobile.js
index 3b4d5c3c4..7e2a2f5b5 100644
--- a/packages/loot-design/src/svg/LeftArrow2.mobile.js
+++ b/packages/loot-design/src/svg/LeftArrow2.mobile.js
@@ -1,24 +1,7 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Path } from "mobile/node_modules/react-native-svg";
 
 function LeftArrow2({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/LeftArrow3.mobile.js b/packages/loot-design/src/svg/LeftArrow3.mobile.js
index 7efb98281..2ea48d0ea 100644
--- a/packages/loot-design/src/svg/LeftArrow3.mobile.js
+++ b/packages/loot-design/src/svg/LeftArrow3.mobile.js
@@ -1,24 +1,7 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Path } from "mobile/node_modules/react-native-svg";
 
 function LeftArrow3({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/Loading.mobile.js b/packages/loot-design/src/svg/Loading.mobile.js
index 07c28a4ff..9147af3e8 100644
--- a/packages/loot-design/src/svg/Loading.mobile.js
+++ b/packages/loot-design/src/svg/Loading.mobile.js
@@ -4,18 +4,9 @@ import React from "react";
 import {
   Svg,
   Circle,
-  Ellipse,
   G,
   LinearGradient,
-  RadialGradient,
-  Line,
   Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
   Defs,
   Stop
 } from "mobile/node_modules/react-native-svg";
diff --git a/packages/loot-design/src/svg/Logo.mobile.js b/packages/loot-design/src/svg/Logo.mobile.js
index 1fafa5bbf..2ba08921f 100644
--- a/packages/loot-design/src/svg/Logo.mobile.js
+++ b/packages/loot-design/src/svg/Logo.mobile.js
@@ -1,24 +1,7 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Path } from "mobile/node_modules/react-native-svg";
 
 function Logo({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/Math.mobile.js b/packages/loot-design/src/svg/Math.mobile.js
index 1c93d2dfc..90b671eeb 100644
--- a/packages/loot-design/src/svg/Math.mobile.js
+++ b/packages/loot-design/src/svg/Math.mobile.js
@@ -1,24 +1,7 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Path } from "mobile/node_modules/react-native-svg";
 
 function Math({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/Pencil.mobile.js b/packages/loot-design/src/svg/Pencil.mobile.js
index 11a9f8a42..c70aa6111 100644
--- a/packages/loot-design/src/svg/Pencil.mobile.js
+++ b/packages/loot-design/src/svg/Pencil.mobile.js
@@ -1,24 +1,7 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Path } from "mobile/node_modules/react-native-svg";
 
 function Pencil({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/Reports.mobile.js b/packages/loot-design/src/svg/Reports.mobile.js
index 073f8dc08..a5b2f912c 100644
--- a/packages/loot-design/src/svg/Reports.mobile.js
+++ b/packages/loot-design/src/svg/Reports.mobile.js
@@ -1,24 +1,8 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Path } from "mobile/node_modules/react-native-svg";
+
 
 function Reports({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/RightArrow.mobile.js b/packages/loot-design/src/svg/RightArrow.mobile.js
index 40d9057e1..cbfad1a69 100644
--- a/packages/loot-design/src/svg/RightArrow.mobile.js
+++ b/packages/loot-design/src/svg/RightArrow.mobile.js
@@ -1,24 +1,8 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Polyline } from "mobile/node_modules/react-native-svg";
+
 
 function RightArrow({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/RightArrow2.mobile.js b/packages/loot-design/src/svg/RightArrow2.mobile.js
index 749b1594e..628e0e1a6 100644
--- a/packages/loot-design/src/svg/RightArrow2.mobile.js
+++ b/packages/loot-design/src/svg/RightArrow2.mobile.js
@@ -1,24 +1,7 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Path } from "mobile/node_modules/react-native-svg";
 
 function RightArrow2({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/Search.mobile.js b/packages/loot-design/src/svg/Search.mobile.js
index 9a9899042..0ca90a375 100644
--- a/packages/loot-design/src/svg/Search.mobile.js
+++ b/packages/loot-design/src/svg/Search.mobile.js
@@ -1,24 +1,7 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Path } from "mobile/node_modules/react-native-svg";
 
 function Search({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/Settings.mobile.js b/packages/loot-design/src/svg/Settings.mobile.js
index ea9ab10ee..b13fdbe12 100644
--- a/packages/loot-design/src/svg/Settings.mobile.js
+++ b/packages/loot-design/src/svg/Settings.mobile.js
@@ -1,24 +1,7 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, G, Path } from "mobile/node_modules/react-native-svg";
 
 function Settings({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/Subtract.mobile.js b/packages/loot-design/src/svg/Subtract.mobile.js
index 318abe180..0ba7b6705 100644
--- a/packages/loot-design/src/svg/Subtract.mobile.js
+++ b/packages/loot-design/src/svg/Subtract.mobile.js
@@ -1,24 +1,7 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Path } from "mobile/node_modules/react-native-svg";
 
 function Add({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/merge.mobile.js b/packages/loot-design/src/svg/merge.mobile.js
index 0a22c2eb8..887d6aee2 100644
--- a/packages/loot-design/src/svg/merge.mobile.js
+++ b/packages/loot-design/src/svg/merge.mobile.js
@@ -1,24 +1,7 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Path } from "mobile/node_modules/react-native-svg";
 
 function Merge({ width, height, style, color = "black", ...props }) {
   return (
diff --git a/packages/loot-design/src/svg/split.mobile.js b/packages/loot-design/src/svg/split.mobile.js
index cea507fc1..a92d72ad7 100644
--- a/packages/loot-design/src/svg/split.mobile.js
+++ b/packages/loot-design/src/svg/split.mobile.js
@@ -1,24 +1,7 @@
 /* This file is auto-generated, do not touch! Please edit the SVG file instead. */
 import React from "react";
 
-import {
-  Svg,
-  Circle,
-  Ellipse,
-  G,
-  LinearGradient,
-  RadialGradient,
-  Line,
-  Path,
-  Polygon,
-  Polyline,
-  Rect,
-  Symbol,
-  Text,
-  Use,
-  Defs,
-  Stop
-} from "mobile/node_modules/react-native-svg";
+import { Svg, Path } from "mobile/node_modules/react-native-svg";
 
 function Split({ width, height, style, color = "black", ...props }) {
   return (
-- 
GitLab