diff --git a/packages/loot-core/src/client/actions/account.js b/packages/loot-core/src/client/actions/account.js
index bbb1f13ec6b7ac41813a8857180c6a66c5c8731c..980f4ddf051142c6627cd1910cee418b65625c66 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 fde2313bbf9d10765c4405b3c7a56672f0f6abed..f081689664243f04821c308b6884f544c37ccd6b 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 c518ab5bb0c89fe0ac8a472f67673fed966dbd50..b0c532e63d9b76a4895ba3144e38d52d91438016 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 17ada000051928624909b98cc33a0e06472e4556..c66593957dc7723db309cbcc27384661b1d13fc0 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 40a7e6ab45dea48e7a3ee0ac64ad7c9be4cd1616..5cae0b92c90b2b99a15dff6299c89620467f997e 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 53860a7ca3150a8cb1a3fa17e33d87791404ae80..7cd04387183378d22eec902f90cac081fd8f45bc 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 b26429a94036612c38c9025545f3b1c7cdd60005..b1a1d830b6772c4f2cdda00141be83dd90f55c96 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 aa0fb80e28373829ca4bce0d17a5169a30ef1a39..d0720580c6a8b094cdc74ec6f3faffbf14b67506 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 9d1574414dadb2433ee4eb988754b47eb3bbb443..861ba58621e1524175383d394ba5035f901cc830 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 ba26edfdf516ca50119900c4fe66001e49d43c84..965b3e91a67117671c2ec16acf5c60d31e694c6a 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 f5cdb47e9f43d3227ed1d354ce9b92caabf48d2d..64b9f6e9d8db85760e1fa0f45ba9b9405cb98fed 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 b59e32699c86b8f9cc27aafe4ca1ae706f5b5de1..798cd09718f6d2d5e5f61520e4d9195fd97126dd 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 f25f46baa4d33db38de3d14610bbb9c75f94f2cd..1b6db9900b9a04ddf03b984a21881d31ec52829e 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 e277d1036f02b3f53a0d86f15e14456b771b0dea..2106fdabc8fbb68d0343913a151525aae9f5a4f2 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 23ad38a1c18932fcbd9e4d832adb6240c818580b..794f428d8dcd83d70fd07f1c3f10f036ddfe734b 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 7ceed286bd5063ffc64f2b15bdf50670be603cc0..d35653cab53098acb7ce6f4559788f0103dd1371 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 f38ab50a1f836f6df4f9b213260ef9429c654606..235d54cb032cf76fca200a9de6e60429d586d4af 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 9a2aa603acb81fe104e8b9aa12e618e7c34910ee..6c538cad49b178dd677b61fac382e698f540efb2 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 4c06bccd4a19203bec0cb0b790801570bd9529ee..8df751b7c7e488187be1ad63d58a330582171cf7 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 69554a2338c6cba23328aea64a8b1db6937a32d8..ba3f0a3835d8d92b98ac34c1ebe90309bc7f5f22 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 128748a8fb410292ec86b5e1ea0010e972cf346f..1f20a7aee658826d3c5bc68509efd26845a180fd 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 11f03aabcd262ba1e179725956bafba00c4216b8..150d05095eb4e13cdeba7d5b06dfce770bc4acaf 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 6e8c3b2574cb18c8f32078f884b9b81d2d08d711..ada202d61a97607e1b29c2d1bc37085ce19304d7 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 da54f38547910e86a84fbb9d2619c76cf3c7bb76..64279b090235e1b42203b8ec6802e697002fb89f 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 94284e4df1b67c6c7b18c4e013b9358d0a9c4235..75fa24c7ff6e173fa98ea22276281b520a19a01f 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 b7ef3ac510b02529a25c36bc1731a62a050cec39..062490e71a7c31f7f4a5a21f48fc237aabc9f04a 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 014d0cab90ccc1451dd8869f56938d5aa68c83e4..bf744d9d63b234ea94b11a9a2e219c889987fd58 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 346192e6a4b5b1a574659666e45b50c8b3d95c6d..214e725c2d3ad1739da614658cb35eb7448b7fa1 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 127ad698928969298fd51abe74ddc7c90f48c621..34eea21778ab34842ba3c8dba928ec66c519c5b3 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 4a66a7155977394c71dd8fdd15f5bf3140ccaf90..20feb5c13ae5a3cb51538160b9604fb247f74f1c 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 8a902838c0f3b956e69efd89404ad762af8c9aec..e2697531074e294341bb14156326d942ea34454f 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 b37999f2a424f3e5c809d8a5db04fc5aad491209..5286c5954036c0d83634783ab7d42ece13de4f6d 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 8a93eabb767794a27787e46e6a3d0e060bea3f8b..7239ad7b134099ee75b251265866a86262bef2b4 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 19489e41b1761160496266b654f6057199700e0d..f4018a82dd55658111a0bbd002e38c4a37400cc8 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 de6ee064b1e992c2bd6dff78c42c68de442163f8..4e221a6733d6088bb0e49f975044113c0e32d4a7 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 6852c6394c74c8a37c631ac81789193b3eac00c2..0a1d99431c37109cd1dd5fd541f7a3dc2dad4349 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 726ea54dc72c2f28d971601df0466a40e6141558..45d48c03a299ae4345737733af9dd2dd20d98598 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 8069233d69179c85959adbabcaa228db8fb63d68..0884a122e61d8e581cd8ce0901c5fd873bdf97ad 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 6ca09624ae688ac9a7bbb4cc8d0dd7772053f993..b5bf3fd7f65f545eb3d46d2981a4c2843b74dd64 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 c52c815f73afafb84573e29f40844bbf60e98e01..b95471efd4640f0b43d16d2b926ab8244296811b 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 aba532c26e80e5a30a88ee27b5666506698413d0..b7de754adaa28b2c5bee1ce4d60e0d81fb026023 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 7098e53608ca03e06b3252d4a76a493f1e8b968b..f94dd23fc0e2724fc2cec6d547a11170c16acc9d 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 146c408045f7199f4ff8ef7eb167023b124727c6..db9b998919b603ee79ee0291351adb7405fa7ecc 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 c614346d6ddb913d06d9eab900995f41f5039742..9f48367c6d6cc4b9696e704489dd5358aecfc8a5 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 1f566a3ad02a4608deeadbf6cfda1a24056845d3..496b481da45e35b37495eae6e5f184917534b41b 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 86b7810f8b7e4a18dbeebf9b4c48c49563bffc69..9529de2e383e6f5a394d0d3e053b7819590e74ac 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 08cecb259fb4949910265b28f1dd04196e697f6e..5c0ee229e200a21384199c60782991d0b5e41a7e 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 9f7e9bf234f85e0fb97f49e1ee9d18d3fb69df32..3e281b1a3de45c4ab61c988e10d556c67d5e1401 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 1463cad0a9f3efe2fab9184b042085b8ed0fff90..9a15d6b81d4bc51c96b96b571ac7b483dec9d7d0 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 73b0a60ec5e74c98ba200190b7c0bbfacdd1bab8..5b024651653442778cf4bea53494e9055c01d49d 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 96f5d6a375c2f0f385e712c1beacb87cedaeded6..ebb46629eebc91a43cd21343ef5939851220416c 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 bb892bb61d1126ab2a3294a113893e6fb046c49a..009f2b66c5693f9bc7bcb9822a24320604cded25 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 1e8c0f65087122160fb2944b70f5a8ca7e05104f..df5b0029ea272cf024e28c972f42a52f53d100a4 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 567aa941063f7b9957ea9271d1d71b7e595b1385..12454e120e172978bfd5ecc48aad2bf6b0a466e3 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 071854b98959ef0937aa10e19fb00539e663879f..6c9b9077a1ce5fb634977df3102d8104b89c8778 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 3fe484dac7867f794334cd573260b331509dd8aa..9f9c6d01e7ab09dba59ed70677e1157fa19bb7ba 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 6dac8246746da4fefc46f250f8e67addf23e7553..6e53820fb3cfadc7436b0041a0f4072f905b7af7 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 dc80eeb76642526b826733266a73dab4ede05a83..459f4e1849a123ddf7186b38e50e65eb546379eb 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 e5705e6218731c101c47cf381bb42dcd1949d6e3..24bff2850daccfffbc26b8414f014bb984e25623 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 57953673fe4ebd74cae7c0febf178c4e7a0959c8..ce2df1c106546c9666e921930dd1f50d096d3baf 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 3501de54b1cb867f6cd7779466ced42e7b6a07e3..9548020fc8866e5a87d57733c412d8878c13e50e 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 53c358f302e48d22ea5f3ea55eeae1963853e531..5c4f0e59181d70330bfdc7e2b7332654f4c455f6 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 21c77a03251fe6c27573f4100705702382ed36b2..efe1ee15c3280627f948daa3ddc7635238b890f8 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 168092fcd9141496c86c91f14319a18137abba2d..fa1abbe48f874599e5f72fd523976699e02e5f06 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 1f16d3aae392532b198d585da1dc49b3e59f24f6..582ac853bef806defe9c79fa6a115652fd48b2e6 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 6f619a63fa67be9403c61c4257ecc730db74288b..42ba26ec3e77495e07cc93a541c9e89da773066b 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 3a223a5ff2eaf0c42d9f777436aaf80c05fe674c..72426c60ba65f00fb55962ebf3e3fe645c45609b 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 bb5efd982e61e2e39fa02a3cd9f6c85e3aca2930..467b97da5e65ac7588c210fe91b6a8c3dcf882f8 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 e0582cf0833a27046c2f4d1e84870114e82b267a..528149e3ba0481396617499fe8a2fa4cf2b09c6b 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 252933f7d800c89d9de6cde326abcb9ad723caaf..6533fd8d1e056f02d394b4e2da8b3fef6e4fbf0b 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 5a5fceb0f6411b75cfcb46b93b50de03de6c14a9..707720d05eed89769c9fad59a861399628f91040 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 23a1244dd4149d942c8615774c9582e916ddac24..2a2e28c50c96c8540682a95048f1cbfee31fef61 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 3b4d5c3c45993f4d902edb865e63d8603b6ea0e1..7e2a2f5b5a175f9d1c5077e00c53a93a2fb34536 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 7efb9828110c5fcf212eb6aa858af9352566b962..2ea48d0eac5cca0b467a7f346aa6589596c6c858 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 07c28a4ff7e6f2ee5833b2c468e1fe927556a3f9..9147af3e8c6806d7dcc600d1de6976053c445211 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 1fafa5bbfccfa0d0359b4c762813386228526267..2ba08921ff948d5a699cce7e0552a3dbb78c588a 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 1c93d2dfce0f1a07c860be228fb819ec271956e2..90b671eeb37c6fd81335acf77f7901308cbb44eb 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 11a9f8a4253106fa0d2c9f5563f85ae556d69944..c70aa611139e4240127cea35acc344df7d2fe5dc 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 073f8dc0873db3dd8bbf3b4b216e0ee9b71ca78f..a5b2f912c16ad77c32daafd5caa7f00e75e17f2a 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 40d9057e1fa61d9767a649f2267ec5ddb09155a1..cbfad1a69c59512ecda263ca47b8329088b51c76 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 749b1594e7a47adb03e2b8a4802e0a63cecc8264..628e0e1a66d6255e96b0c5734c3e7a31ab6c2565 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 9a98990426a2a45ae55a2a9c5b62931046e28166..0ca90a3751b2784caea4b5b02e9dc40634cc307e 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 ea9ab10ee32493f372da18db005459949430a6da..b13fdbe1240436353a3838f89ef6eb2e4ee95505 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 318abe18042ff504faf1a8fb9577c1bfe52b2231..0ba7b6705df4c7abdb79dc1ab4882e8a1e053bbe 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 0a22c2eb8f1b50799ce35a23093680b4a94d7183..887d6aee26df7a6ed9e93de722756ba29084f52b 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 cea507fc1eeec5a74f07a141e84399ca49e3a931..a92d72ad79af03633a89f49534cd05022880fc4a 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 (