diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index fbaf4b5ab3..0e240a5320 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -56,6 +56,11 @@ module.exports = {
'@typescript-eslint/indent': 'off',
'@typescript-eslint/no-shadow': 'off',
'@typescript-eslint/dot-notation': 'off',
+ '@typescript-eslint/consistent-type-imports': [
+ 'error', {
+ fixStyle: 'inline-type-imports',
+ },
+ ],
'import/no-extraneous-dependencies': 'off',
'import/no-cycle': 'off',
'import/prefer-default-export': 'off',
@@ -171,6 +176,7 @@ module.exports = {
'wrap-iife': 'off',
'func-names': 'off',
'prefer-destructuring': 'off',
+ 'brace-style': ['error', '1tbs', { 'allowSingleLine': false }],
'consistent-return': 'off',
'curly': ['error', 'all'],
'dot-notation': 'off',
diff --git a/Extension/src/background/api/filtering-log.ts b/Extension/src/background/api/filtering-log.ts
index e85368b1d6..7141b433e5 100644
--- a/Extension/src/background/api/filtering-log.ts
+++ b/Extension/src/background/api/filtering-log.ts
@@ -15,17 +15,17 @@
* You should have received a copy of the GNU General Public License
* along with AdGuard Browser Extension. If not, see .
*/
-import { Tabs } from 'webextension-polyfill';
+import { type Tabs } from 'webextension-polyfill';
import { RuleGenerator } from '@adguard/agtree/generator';
import { RULE_INDEX_NONE } from '@adguard/tsurlfilter';
import {
BACKGROUND_TAB_ID,
- ContentType,
- CookieEvent,
+ type ContentType,
+ type CookieEvent,
isExtensionUrl,
- StealthActionEvent,
+ type StealthActionEvent,
getDomain,
getRuleSourceText,
getRuleSourceIndex,
diff --git a/Extension/src/background/api/filters/categories.ts b/Extension/src/background/api/filters/categories.ts
index 4288cdfa6d..0b144c0f32 100644
--- a/Extension/src/background/api/filters/categories.ts
+++ b/Extension/src/background/api/filters/categories.ts
@@ -25,19 +25,19 @@ import {
customFilterMetadataStorage,
} from '../../storages';
import {
- GroupMetadata,
- TagMetadata,
- RegularFilterMetadata,
- GroupStateData,
- FilterStateData,
- FilterVersionData,
- CustomFilterMetadata,
+ type GroupMetadata,
+ type TagMetadata,
+ type RegularFilterMetadata,
+ type GroupStateData,
+ type FilterStateData,
+ type FilterVersionData,
+ type CustomFilterMetadata,
} from '../../schema';
import { logger } from '../../../common/logger';
import { CustomFilterHelper } from '../../../common/custom-filter-helper';
import { CommonFilterApi } from './common';
-import { FilterMetadata, FiltersApi } from './main';
+import { type FilterMetadata, FiltersApi } from './main';
import { FilterUpdateApi } from './update';
/**
diff --git a/Extension/src/background/api/filters/common.ts b/Extension/src/background/api/filters/common.ts
index 4ae5cfb741..ff336e0b74 100644
--- a/Extension/src/background/api/filters/common.ts
+++ b/Extension/src/background/api/filters/common.ts
@@ -20,7 +20,7 @@ import browser from 'webextension-polyfill';
import { BrowserUtils } from '../../utils/browser-utils';
import { logger } from '../../../common/logger';
import { UserAgent } from '../../../common/user-agent';
-import { SettingOption, RegularFilterMetadata } from '../../schema';
+import { SettingOption, type RegularFilterMetadata } from '../../schema';
import { AntiBannerFiltersId } from '../../../common/constants';
import {
metadataStorage,
@@ -34,7 +34,7 @@ import { network } from '../network';
import { CustomFilterApi } from './custom';
import { FiltersApi } from './main';
-import type { FilterUpdateOptions } from './update';
+import { type FilterUpdateOptions } from './update';
import { FilterParser } from './parser';
/**
diff --git a/Extension/src/background/api/filters/custom.ts b/Extension/src/background/api/filters/custom.ts
index de8e28cdc0..c37f1ae126 100644
--- a/Extension/src/background/api/filters/custom.ts
+++ b/Extension/src/background/api/filters/custom.ts
@@ -17,12 +17,12 @@
*/
import MD5 from 'crypto-js/md5';
-import { DownloadResult } from '@adguard/filters-downloader/browser';
+import { type DownloadResult } from '@adguard/filters-downloader/browser';
import { BrowserUtils } from '../../utils/browser-utils';
import { AntibannerGroupsId, CUSTOM_FILTERS_START_ID } from '../../../common/constants';
import { logger } from '../../../common/logger';
-import { CustomFilterMetadata, customFilterMetadataStorageDataValidator } from '../../schema';
+import { type CustomFilterMetadata, customFilterMetadataStorageDataValidator } from '../../schema';
import { customFilterMetadataStorage } from '../../storages/custom-filter-metadata';
import { filterStateStorage } from '../../storages/filter-state';
import { groupStateStorage } from '../../storages/group-state';
@@ -33,8 +33,8 @@ import { type Network } from '../network/main';
import { CustomFilterHelper } from '../../../common/custom-filter-helper';
import { createPromiseWithTimeout } from '../../utils/timeouts';
-import type { FilterUpdateOptions } from './update';
-import { FilterParsedData, FilterParser } from './parser';
+import { type FilterUpdateOptions } from './update';
+import { type FilterParsedData, FilterParser } from './parser';
import { type FilterMetadata } from './main';
import { CustomFilterLoader } from './custom/loader';
diff --git a/Extension/src/background/api/filters/hit-stats.ts b/Extension/src/background/api/filters/hit-stats.ts
index 221619984f..576bf0f62e 100644
--- a/Extension/src/background/api/filters/hit-stats.ts
+++ b/Extension/src/background/api/filters/hit-stats.ts
@@ -26,8 +26,8 @@ import { logger } from '../../../common/logger';
import { hitStatsStorageDataValidator } from '../../schema';
import { filterVersionStorage, hitStatsStorage } from '../../storages';
import {
- FilterHitStats,
- FiltersHitStats,
+ type FilterHitStats,
+ type FiltersHitStats,
network,
} from '../network';
import { getErrorMessage } from '../../../common/error';
diff --git a/Extension/src/background/api/filters/update.ts b/Extension/src/background/api/filters/update.ts
index f57d17b8f1..3ad0a24612 100644
--- a/Extension/src/background/api/filters/update.ts
+++ b/Extension/src/background/api/filters/update.ts
@@ -18,8 +18,8 @@
import { filterVersionStorage, settingsStorage } from '../../storages';
import {
SettingOption,
- RegularFilterMetadata,
- CustomFilterMetadata,
+ type RegularFilterMetadata,
+ type CustomFilterMetadata,
} from '../../schema';
import { DEFAULT_FILTERS_UPDATE_PERIOD } from '../../../common/settings';
import { logger } from '../../../common/logger';
@@ -27,7 +27,7 @@ import { FiltersUpdateTime } from '../../../common/constants';
import { engine } from '../../engine';
import { getErrorMessage } from '../../../common/error';
-import { FilterMetadata, FiltersApi } from './main';
+import { type FilterMetadata, FiltersApi } from './main';
import { CustomFilterApi } from './custom';
import { CommonFilterApi } from './common';
diff --git a/Extension/src/background/api/filters/userrules.ts b/Extension/src/background/api/filters/userrules.ts
index ed363e2463..a3381cde6a 100644
--- a/Extension/src/background/api/filters/userrules.ts
+++ b/Extension/src/background/api/filters/userrules.ts
@@ -15,12 +15,12 @@
* You should have received a copy of the GNU General Public License
* along with AdGuard Browser Extension. If not, see .
*/
-import { AnyRule, InputByteBuffer } from '@adguard/agtree';
+import { type AnyRule, InputByteBuffer } from '@adguard/agtree';
import { RuleParser } from '@adguard/agtree/parser';
import { RuleDeserializer } from '@adguard/agtree/deserializer';
import {
FilterListPreprocessor,
- PreprocessedFilterList,
+ type PreprocessedFilterList,
RuleSyntaxUtils,
} from '@adguard/tsurlfilter';
diff --git a/Extension/src/background/api/install/main.ts b/Extension/src/background/api/install/main.ts
index a00c0d606e..d8fdd10395 100644
--- a/Extension/src/background/api/install/main.ts
+++ b/Extension/src/background/api/install/main.ts
@@ -25,7 +25,7 @@ import {
} from '../../../common/constants';
import { defaultSettings } from '../../../common/settings';
import { browserStorage } from '../../storages';
-import { RunInfo } from '../../utils';
+import { type RunInfo } from '../../utils';
/**
* The Install API should set the base version of the schema and application,
diff --git a/Extension/src/background/api/network/main.ts b/Extension/src/background/api/network/main.ts
index 78c75fd8dc..c88bdd9ace 100644
--- a/Extension/src/background/api/network/main.ts
+++ b/Extension/src/background/api/network/main.ts
@@ -20,7 +20,7 @@ import browser from 'webextension-polyfill';
import { FiltersApi } from '@adguard/tswebextension/mv3';
import {
FiltersDownloader,
- DefinedExpressions,
+ type DefinedExpressions,
type DownloadResult,
} from '@adguard/filters-downloader/browser';
import { getRuleSetPath } from '@adguard/tsurlfilter/es/declarative-converter-utils';
diff --git a/Extension/src/background/api/safebrowsing.ts b/Extension/src/background/api/safebrowsing.ts
index 0b8aef73b2..c2ef22db1f 100644
--- a/Extension/src/background/api/safebrowsing.ts
+++ b/Extension/src/background/api/safebrowsing.ts
@@ -32,7 +32,7 @@ import { SAFEBROWSING_OUTPUT } from '../../../../constants';
import {
type ExtensionXMLHttpRequest,
network,
- ResponseLikeXMLHttpRequest,
+ type ResponseLikeXMLHttpRequest,
} from './network/main';
/**
diff --git a/Extension/src/background/api/settings/main.ts b/Extension/src/background/api/settings/main.ts
index 66e55945bf..cc23938989 100644
--- a/Extension/src/background/api/settings/main.ts
+++ b/Extension/src/background/api/settings/main.ts
@@ -21,25 +21,25 @@ import { type SettingsConfig as SettingsConfigMV2 } from '@adguard/tswebextensio
import { logger } from '../../../common/logger';
import { type AppearanceTheme, defaultSettings } from '../../../common/settings';
import {
- AllowlistConfig,
+ type AllowlistConfig,
AllowlistOption,
configValidator,
- ExtensionSpecificSettingsConfig,
+ type ExtensionSpecificSettingsConfig,
ExtensionSpecificSettingsOption,
- FiltersConfig,
+ type FiltersConfig,
FiltersOption,
- GeneralSettingsConfig,
+ type GeneralSettingsConfig,
GeneralSettingsOption,
RootOption,
PROTOCOL_VERSION,
- StealthConfig,
+ type StealthConfig,
StealthOption,
- UserFilterConfig,
+ type UserFilterConfig,
UserFilterOption,
SettingOption,
- Settings,
+ type Settings,
settingsValidator,
- Config,
+ type Config,
} from '../../schema';
import {
filterStateStorage,
diff --git a/Extension/src/background/api/ui/context-menu.ts b/Extension/src/background/api/ui/context-menu.ts
index 609821fcc1..d90b1a1556 100644
--- a/Extension/src/background/api/ui/context-menu.ts
+++ b/Extension/src/background/api/ui/context-menu.ts
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with AdGuard Browser Extension. If not, see .
*/
-import browser, { Menus } from 'webextension-polyfill';
+import browser, { type Menus } from 'webextension-polyfill';
import { nanoid } from 'nanoid';
import { throttle } from 'lodash-es';
@@ -29,7 +29,7 @@ import { SettingOption } from '../../schema';
import { SettingsApi } from '../settings';
import { OPTIONS_PAGE } from '../../../common/constants';
-import { FrameData } from './frames';
+import { type FrameData } from './frames';
export type AddMenuItemOptions = Menus.CreateCreatePropertiesType & {
messageArgs?: { [key: string]: unknown },
diff --git a/Extension/src/background/api/ui/icons.ts b/Extension/src/background/api/ui/icons.ts
index 467b602586..033a928003 100644
--- a/Extension/src/background/api/ui/icons.ts
+++ b/Extension/src/background/api/ui/icons.ts
@@ -19,13 +19,16 @@ import browser from 'webextension-polyfill';
import { RulesLimitsService } from 'rules-limits-service';
-import { settingsStorage } from '../../storages';
+import {
+ settingsStorage,
+ type IconData,
+ type IconVariants,
+} from '../../storages';
import { SettingOption } from '../../schema';
import { getIconImageData } from '../../../common/api/extension';
-import type { IconData, IconVariants } from '../../storages';
import { logger } from '../../../common/logger';
-import { FrameData } from './frames';
+import { type FrameData } from './frames';
import { promoNotificationApi } from './promo-notification';
import { browserAction } from './browser-action';
diff --git a/Extension/src/background/api/ui/main.ts b/Extension/src/background/api/ui/main.ts
index 2425033bf4..2c1b97bf07 100644
--- a/Extension/src/background/api/ui/main.ts
+++ b/Extension/src/background/api/ui/main.ts
@@ -23,7 +23,7 @@ import { TabsApi } from '../../../common/api/extension';
import { logger } from '../../../common/logger';
import { ContextMenuApi } from './context-menu';
-import { FrameData, FramesApi } from './frames';
+import { type FrameData, FramesApi } from './frames';
import { iconsApi } from './icons';
/**
diff --git a/Extension/src/background/api/ui/pages.ts b/Extension/src/background/api/ui/pages.ts
index 72577ed5a3..a0544a512f 100644
--- a/Extension/src/background/api/ui/pages.ts
+++ b/Extension/src/background/api/ui/pages.ts
@@ -28,7 +28,7 @@ import {
Forward,
ForwardAction,
ForwardFrom,
- ForwardParams,
+ type ForwardParams,
} from '../../../common/forward';
import { UrlUtils } from '../../utils/url';
import {
diff --git a/Extension/src/background/api/ui/promo-notification.ts b/Extension/src/background/api/ui/promo-notification.ts
index 832a7cb5dd..01221f9435 100644
--- a/Extension/src/background/api/ui/promo-notification.ts
+++ b/Extension/src/background/api/ui/promo-notification.ts
@@ -23,7 +23,7 @@ import {
notificationStorage,
browserStorage,
} from '../../storages';
-import { NotificationTextRecord } from '../../schema';
+import { type NotificationTextRecord } from '../../schema';
import { LAST_NOTIFICATION_TIME_KEY, VIEWED_NOTIFICATIONS_KEY } from '../../../common/constants';
import { I18n } from '../../utils';
diff --git a/Extension/src/background/api/ui/toasts.ts b/Extension/src/background/api/ui/toasts.ts
index 3c973d4955..8f0b5c1945 100644
--- a/Extension/src/background/api/ui/toasts.ts
+++ b/Extension/src/background/api/ui/toasts.ts
@@ -22,7 +22,7 @@ import { BrowserUtils } from '../../utils/browser-utils';
import { translator } from '../../../common/translators/translator';
import { notificationTextRecordValidator } from '../../schema';
import { TabsApi } from '../../../common/api/extension';
-import { FilterMetadata } from '../filters';
+import { type FilterMetadata } from '../filters';
import { sendTabMessage, MessageType } from '../../../common/messages';
import {
Forward,
diff --git a/Extension/src/background/api/update/assets/old-browser-storage-v1.ts b/Extension/src/background/api/update/assets/old-browser-storage-v1.ts
index 78433a5661..37d978ccf0 100644
--- a/Extension/src/background/api/update/assets/old-browser-storage-v1.ts
+++ b/Extension/src/background/api/update/assets/old-browser-storage-v1.ts
@@ -17,7 +17,7 @@
*/
import browser from 'webextension-polyfill';
-import { ExtendedStorageInterface } from '../../../../common/storage';
+import { type ExtendedStorageInterface } from '../../../../common/storage';
/**
* Wrapper for browser.storage.local with dev-friendly interface.
diff --git a/Extension/src/background/api/update/assets/old-hybrid-storage-v1.ts b/Extension/src/background/api/update/assets/old-hybrid-storage-v1.ts
index afc3bbef51..950b43ccb6 100644
--- a/Extension/src/background/api/update/assets/old-hybrid-storage-v1.ts
+++ b/Extension/src/background/api/update/assets/old-hybrid-storage-v1.ts
@@ -9,7 +9,7 @@ import { nanoid } from 'nanoid';
import * as idb from 'idb';
import { isObject } from 'lodash-es';
-import { ExtendedStorageInterface } from '../../../../common/storage';
+import { type ExtendedStorageInterface } from '../../../../common/storage';
import { BrowserStorage } from './old-browser-storage-v1';
import { IDBStorage } from './old-idb-storage-v1';
diff --git a/Extension/src/background/api/update/assets/old-idb-storage-v1.ts b/Extension/src/background/api/update/assets/old-idb-storage-v1.ts
index dc44f63b61..174b0fb835 100644
--- a/Extension/src/background/api/update/assets/old-idb-storage-v1.ts
+++ b/Extension/src/background/api/update/assets/old-idb-storage-v1.ts
@@ -6,7 +6,7 @@ import * as idb from 'idb';
import { logger } from '../../../../common/logger';
import { getErrorMessage } from '../../../../common/error';
-import { ExtendedStorageInterface } from '../../../../common/storage';
+import { type ExtendedStorageInterface } from '../../../../common/storage';
const DEFAULT_STORE_NAME = 'defaultStore';
const DEFAULT_IDB_NAME = 'adguardIDB';
diff --git a/Extension/src/background/api/update/main.ts b/Extension/src/background/api/update/main.ts
index e6ee325f26..ac030ef812 100644
--- a/Extension/src/background/api/update/main.ts
+++ b/Extension/src/background/api/update/main.ts
@@ -49,7 +49,7 @@ import {
SchemaPreprocessor,
SettingOption,
} from '../../schema';
-import type { RunInfo } from '../../utils/run-info';
+import { type RunInfo } from '../../utils/run-info';
import { IDBUtils } from '../../utils/indexed-db';
import { defaultSettings } from '../../../common/settings';
import { InstallApi } from '../install';
diff --git a/Extension/src/background/connection-handler.ts b/Extension/src/background/connection-handler.ts
index ba348c8ae8..7db3e5d024 100644
--- a/Extension/src/background/connection-handler.ts
+++ b/Extension/src/background/connection-handler.ts
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with AdGuard Browser Extension. If not, see .
*/
-import browser, { Runtime } from 'webextension-polyfill';
+import browser, { type Runtime } from 'webextension-polyfill';
import { KEEP_ALIVE_PORT_NAME } from '../common/constants';
import {
diff --git a/Extension/src/background/engine/engine-mv2.ts b/Extension/src/background/engine/engine-mv2.ts
index 165971549d..9f0b51a746 100644
--- a/Extension/src/background/engine/engine-mv2.ts
+++ b/Extension/src/background/engine/engine-mv2.ts
@@ -20,7 +20,7 @@ import { debounce } from 'lodash-es';
// Because this file is already MV2 replacement module, we can import directly
// from basic MV2 tswebextension without using aliases.
import {
- ConfigurationMV2,
+ type ConfigurationMV2,
MESSAGE_HANDLER_NAME,
createTsWebExtension,
type Message as EngineMessage,
diff --git a/Extension/src/background/engine/engine-mv3.ts b/Extension/src/background/engine/engine-mv3.ts
index 21c6a5b910..27fa431232 100644
--- a/Extension/src/background/engine/engine-mv3.ts
+++ b/Extension/src/background/engine/engine-mv3.ts
@@ -21,7 +21,7 @@ import { debounce } from 'lodash-es';
// from mv3 tswebextension without using aliases.
import {
MESSAGE_HANDLER_NAME,
- Configuration,
+ type Configuration,
TsWebExtension,
type MessageHandler,
type Message as EngineMessage,
diff --git a/Extension/src/background/events/settings.ts b/Extension/src/background/events/settings.ts
index 251d525d4b..123950e53d 100644
--- a/Extension/src/background/events/settings.ts
+++ b/Extension/src/background/events/settings.ts
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with AdGuard Browser Extension. If not, see .
*/
-import { SettingOption, Settings } from '../schema';
+import { type SettingOption, type Settings } from '../schema';
export type SettingsListener = (value: Settings[T]) => void | Promise;
diff --git a/Extension/src/background/message-handler.ts b/Extension/src/background/message-handler.ts
index e24e2381bc..aa464d629f 100644
--- a/Extension/src/background/message-handler.ts
+++ b/Extension/src/background/message-handler.ts
@@ -15,12 +15,12 @@
* You should have received a copy of the GNU General Public License
* along with AdGuard Browser Extension. If not, see .
*/
-import { Runtime } from 'webextension-polyfill';
+import { type Runtime } from 'webextension-polyfill';
import { Engine, type EngineMessage } from 'engine';
import {
- Message,
+ type Message,
APP_MESSAGE_HANDLER_NAME,
MessageHandler,
} from '../common/messages';
diff --git a/Extension/src/background/services/allowlist.ts b/Extension/src/background/services/allowlist.ts
index c7b3a43455..0c9f99bc62 100644
--- a/Extension/src/background/services/allowlist.ts
+++ b/Extension/src/background/services/allowlist.ts
@@ -18,9 +18,9 @@
import { logger } from '../../common/logger';
import {
MessageType,
- SaveAllowlistDomainsMessage,
- AddAllowlistDomainMessage,
- RemoveAllowlistDomainMessage,
+ type SaveAllowlistDomainsMessage,
+ type AddAllowlistDomainMessage,
+ type RemoveAllowlistDomainMessage,
} from '../../common/messages';
import { messageHandler } from '../message-handler';
import { engine } from '../engine';
diff --git a/Extension/src/background/services/custom-filters/custom-filters-service-mv2.ts b/Extension/src/background/services/custom-filters/custom-filters-service-mv2.ts
index 9b628c563c..30b4ea6911 100644
--- a/Extension/src/background/services/custom-filters/custom-filters-service-mv2.ts
+++ b/Extension/src/background/services/custom-filters/custom-filters-service-mv2.ts
@@ -27,15 +27,15 @@ import { SUBSCRIBE_OUTPUT } from '../../../../../constants';
import { NotifierType, BACKGROUND_TAB_ID } from '../../../common/constants';
import {
MessageType,
- LoadCustomFilterInfoMessage,
- SubscribeToCustomFilterMessage,
- RemoveAntiBannerFilterMessage,
+ type LoadCustomFilterInfoMessage,
+ type SubscribeToCustomFilterMessage,
+ type RemoveAntiBannerFilterMessage,
} from '../../../common/messages';
-import { CustomFilterApi, GetCustomFilterInfoResult } from '../../api/filters/custom';
+import { CustomFilterApi, type GetCustomFilterInfoResult } from '../../api/filters/custom';
import { messageHandler } from '../../message-handler';
import { notifier } from '../../notifier';
import { engine } from '../../engine';
-import type { CustomFilterMetadata } from '../../schema';
+import { type CustomFilterMetadata } from '../../schema';
import { executeScript } from '../scripting/scripting-service-mv2';
/**
diff --git a/Extension/src/background/services/document-block.ts b/Extension/src/background/services/document-block.ts
index 2f3753de24..f36a634a62 100644
--- a/Extension/src/background/services/document-block.ts
+++ b/Extension/src/background/services/document-block.ts
@@ -17,7 +17,7 @@
*/
import browser from 'webextension-polyfill';
-import { AddUrlToTrustedMessage, MessageType } from '../../common/messages';
+import { type AddUrlToTrustedMessage, MessageType } from '../../common/messages';
import { DocumentBlockApi, TabsApi } from '../api';
import { engine } from '../engine';
import { messageHandler } from '../message-handler';
diff --git a/Extension/src/background/services/event.ts b/Extension/src/background/services/event.ts
index 0bb36b7193..b414674279 100644
--- a/Extension/src/background/services/event.ts
+++ b/Extension/src/background/services/event.ts
@@ -15,15 +15,15 @@
* You should have received a copy of the GNU General Public License
* along with AdGuard Browser Extension. If not, see .
*/
-import browser, { Runtime } from 'webextension-polyfill';
+import browser, { type Runtime } from 'webextension-polyfill';
import { notifier } from '../notifier';
import { messageHandler } from '../message-handler';
import {
- RemoveListenerMessage,
- CreateEventListenerMessage,
+ type RemoveListenerMessage,
+ type CreateEventListenerMessage,
MessageType,
- NotifyListenersMessage,
+ type NotifyListenersMessage,
} from '../../common/messages';
export type CreateEventListenerResponse = {
diff --git a/Extension/src/background/services/filtering-log.ts b/Extension/src/background/services/filtering-log.ts
index db40bf6aa3..55fe0f5c7d 100644
--- a/Extension/src/background/services/filtering-log.ts
+++ b/Extension/src/background/services/filtering-log.ts
@@ -17,47 +17,47 @@
*/
import {
- TabContext,
+ type TabContext,
tabsApi as tsWebExtTabsApi,
defaultFilteringLog,
FilteringEventType,
- SendRequestEvent,
- ReceiveResponseEvent,
- TabReloadEvent,
- RemoveParamEvent,
- RemoveHeaderEvent,
- ApplyCosmeticRuleEvent,
- ApplyBasicRuleEvent,
- ApplyCspRuleEvent,
- CookieEvent,
- JsInjectEvent,
- ReplaceRuleApplyEvent,
- StealthActionEvent,
- StealthAllowlistActionEvent,
- CspReportBlockedEvent,
+ type SendRequestEvent,
+ type ReceiveResponseEvent,
+ type TabReloadEvent,
+ type RemoveParamEvent,
+ type RemoveHeaderEvent,
+ type ApplyCosmeticRuleEvent,
+ type ApplyBasicRuleEvent,
+ type ApplyCspRuleEvent,
+ type CookieEvent,
+ type JsInjectEvent,
+ type ReplaceRuleApplyEvent,
+ type StealthActionEvent,
+ type StealthAllowlistActionEvent,
+ type CspReportBlockedEvent,
getDomain,
- ApplyPermissionsRuleEvent,
- DeclarativeRuleEvent,
+ type ApplyPermissionsRuleEvent,
+ type DeclarativeRuleEvent,
} from 'tswebextension';
import { messageHandler } from '../message-handler';
import {
- ClearEventsByTabIdMessage,
- GetFilteringInfoByTabIdMessage,
+ type ClearEventsByTabIdMessage,
+ type GetFilteringInfoByTabIdMessage,
MessageType,
type RefreshPageMessage,
- SetFilteringLogWindowStateMessage,
- SetPreserveLogStateMessage,
+ type SetFilteringLogWindowStateMessage,
+ type SetPreserveLogStateMessage,
} from '../../common/messages';
import { UserAgent } from '../../common/user-agent';
import { AntiBannerFiltersId, FILTERING_LOG_WINDOW_STATE } from '../../common/constants';
import {
FiltersApi,
- FilterMetadata,
+ type FilterMetadata,
filteringLogApi,
SettingsApi,
- SettingsData,
- FilteringLogTabInfo,
+ type SettingsData,
+ type FilteringLogTabInfo,
TabsApi,
HitStatsApi,
} from '../api';
diff --git a/Extension/src/background/services/filters/filters-service-mv2.ts b/Extension/src/background/services/filters/filters-service-mv2.ts
index 351d016c99..4582d4cbd6 100644
--- a/Extension/src/background/services/filters/filters-service-mv2.ts
+++ b/Extension/src/background/services/filters/filters-service-mv2.ts
@@ -32,7 +32,7 @@ import { engine } from '../../engine';
import {
annoyancesConsent,
Categories,
- FilterMetadata,
+ type FilterMetadata,
FiltersApi,
FilterUpdateApi,
HitStatsApi,
diff --git a/Extension/src/background/services/locale-detect.ts b/Extension/src/background/services/locale-detect.ts
index 995a02c595..2bd5f4d7ff 100644
--- a/Extension/src/background/services/locale-detect.ts
+++ b/Extension/src/background/services/locale-detect.ts
@@ -16,11 +16,11 @@
* along with AdGuard Browser Extension. If not, see .
*/
-import browser, { Tabs } from 'webextension-polyfill';
+import browser, { type Tabs } from 'webextension-polyfill';
import { getDomain, isHttpRequest } from '../tswebextension';
import { UserAgent } from '../../common/user-agent';
-import { RegularFilterMetadata, SettingOption } from '../schema';
+import { type RegularFilterMetadata, SettingOption } from '../schema';
import {
groupStateStorage,
metadataStorage,
diff --git a/Extension/src/background/services/rules-limits/rules-limits-service-mv3.ts b/Extension/src/background/services/rules-limits/rules-limits-service-mv3.ts
index ebc57b620e..69d73fbccf 100644
--- a/Extension/src/background/services/rules-limits/rules-limits-service-mv3.ts
+++ b/Extension/src/background/services/rules-limits/rules-limits-service-mv3.ts
@@ -49,11 +49,11 @@ import { messageHandler } from '../../message-handler';
import { arraysAreEqual } from '../../utils/arrays-are-equal';
import { SettingOption } from '../../schema/settings/enum';
-import type {
- StaticLimitsCheckResult,
- IRulesLimits,
- DynamicLimitsCheckResult,
- Mv3LimitsCheckResult,
+import {
+ type StaticLimitsCheckResult,
+ type IRulesLimits,
+ type DynamicLimitsCheckResult,
+ type Mv3LimitsCheckResult,
} from './interface';
const {
diff --git a/Extension/src/background/services/safebrowsing.ts b/Extension/src/background/services/safebrowsing.ts
index 9101d02a54..4b91a1513b 100644
--- a/Extension/src/background/services/safebrowsing.ts
+++ b/Extension/src/background/services/safebrowsing.ts
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with AdGuard Browser Extension. If not, see .
*/
-import browser, { WebRequest } from 'webextension-polyfill';
+import browser, { type WebRequest } from 'webextension-polyfill';
import { RequestType } from '@adguard/tsurlfilter/es/request-type';
// Note: we don't use alias here, because we don't use safebrowsing service in MV3.
@@ -33,7 +33,7 @@ import {
import { SettingOption } from '../schema';
import { settingsEvents } from '../events';
import { messageHandler } from '../message-handler';
-import { MessageType, OpenSafebrowsingTrustedMessage } from '../../common/messages';
+import { MessageType, type OpenSafebrowsingTrustedMessage } from '../../common/messages';
import { UserAgent } from '../../common/user-agent';
import { logger } from '../../common/logger';
diff --git a/Extension/src/background/services/settings/settings-service-mv2.ts b/Extension/src/background/services/settings/settings-service-mv2.ts
index edb905cf0f..cd49bf9e08 100644
--- a/Extension/src/background/services/settings/settings-service-mv2.ts
+++ b/Extension/src/background/services/settings/settings-service-mv2.ts
@@ -43,7 +43,7 @@ import {
} from '../../events';
import { fullscreenUserRulesEditor } from '../fullscreen-user-rules-editor';
-import type { ExportMessageResponse, GetOptionsDataResponse } from './types';
+import { type ExportMessageResponse, type GetOptionsDataResponse } from './types';
/**
* SettingsService handles all setting-related messages and
diff --git a/Extension/src/background/services/settings/settings-service-mv3.ts b/Extension/src/background/services/settings/settings-service-mv3.ts
index 9234535cda..2bc6f99484 100644
--- a/Extension/src/background/services/settings/settings-service-mv3.ts
+++ b/Extension/src/background/services/settings/settings-service-mv3.ts
@@ -44,7 +44,7 @@ import {
} from '../../events';
import { fullscreenUserRulesEditor } from '../fullscreen-user-rules-editor';
-import type { ExportMessageResponse, GetOptionsDataResponse } from './types';
+import { type ExportMessageResponse, type GetOptionsDataResponse } from './types';
/**
* SettingsService handles all setting-related messages and
diff --git a/Extension/src/background/services/settings/types.ts b/Extension/src/background/services/settings/types.ts
index f6e88b3b92..547cf274e4 100644
--- a/Extension/src/background/services/settings/types.ts
+++ b/Extension/src/background/services/settings/types.ts
@@ -16,8 +16,8 @@
* along with AdGuard Browser Extension. If not, see .
*/
-import { AntiBannerFiltersId } from '../../../common/constants';
-import type { CategoriesData, SettingsData } from '../../api';
+import { type AntiBannerFiltersId } from '../../../common/constants';
+import { type CategoriesData, type SettingsData } from '../../api';
/**
* Settings data to be exported.
diff --git a/Extension/src/background/services/ui/main.ts b/Extension/src/background/services/ui/main.ts
index 6dc3b7a45f..f92314d928 100644
--- a/Extension/src/background/services/ui/main.ts
+++ b/Extension/src/background/services/ui/main.ts
@@ -27,12 +27,12 @@ import { logger } from '../../../common/logger';
import { messageHandler } from '../../message-handler';
import {
MessageType,
- OpenAbuseTabMessage,
- OpenSiteReportTabMessage,
+ type OpenAbuseTabMessage,
+ type OpenSiteReportTabMessage,
} from '../../../common/messages';
import { UserAgent } from '../../../common/user-agent';
import { engine } from '../../engine';
-import { AntiBannerFiltersId, NotifierType } from '../../../common/constants';
+import { AntiBannerFiltersId, type NotifierType } from '../../../common/constants';
import { notifier } from '../../notifier';
import {
toasts,
@@ -41,8 +41,8 @@ import {
SettingsApi,
PagesApi,
AssistantApi,
- SettingsData,
- FilterMetadata,
+ type SettingsData,
+ type FilterMetadata,
ContextMenuApi,
UiApi,
PageStatsApi,
diff --git a/Extension/src/background/services/ui/popup.ts b/Extension/src/background/services/ui/popup.ts
index c564989e94..a01b857726 100644
--- a/Extension/src/background/services/ui/popup.ts
+++ b/Extension/src/background/services/ui/popup.ts
@@ -19,8 +19,8 @@ import { RulesLimitsService } from 'rules-limits-service';
import { tabsApi as tsWebExtTabsApi } from '../../tswebextension';
import {
- ChangeApplicationFilteringPausedMessage,
- GetTabInfoForPopupMessage,
+ type ChangeApplicationFilteringPausedMessage,
+ type GetTabInfoForPopupMessage,
MessageType,
} from '../../../common/messages';
import { messageHandler } from '../../message-handler';
diff --git a/Extension/src/background/services/ui/promo-notification.ts b/Extension/src/background/services/ui/promo-notification.ts
index b8873ad897..94d70b3318 100644
--- a/Extension/src/background/services/ui/promo-notification.ts
+++ b/Extension/src/background/services/ui/promo-notification.ts
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with AdGuard Browser Extension. If not, see .
*/
-import { MessageType, SetNotificationViewedMessage } from '../../../common/messages';
+import { MessageType, type SetNotificationViewedMessage } from '../../../common/messages';
import { promoNotificationApi } from '../../api';
import { messageHandler } from '../../message-handler';
diff --git a/Extension/src/background/services/userrules.ts b/Extension/src/background/services/userrules.ts
index bb09f2cfd1..813aa1095b 100644
--- a/Extension/src/background/services/userrules.ts
+++ b/Extension/src/background/services/userrules.ts
@@ -20,21 +20,21 @@
// because checkUserRulesRegexpErrors use only in engine-mv3
import { type ConfigurationResult, UnsupportedRegexpError } from '@adguard/tswebextension/mv3';
-import type { Engine } from 'engine';
+import { type Engine } from 'engine';
import {
- AddUserRuleMessage,
+ type AddUserRuleMessage,
MessageType,
- RemoveUserRuleMessage,
- ResetUserRulesForPageMessage,
- SaveUserRulesMessage,
- SetEditorStorageContentMessage,
+ type RemoveUserRuleMessage,
+ type ResetUserRulesForPageMessage,
+ type SaveUserRulesMessage,
+ type SetEditorStorageContentMessage,
} from '../../common/messages';
import { messageHandler } from '../message-handler';
import { SettingOption } from '../schema';
import {
SettingsApi,
- SettingsData,
+ type SettingsData,
UserRulesApi,
TabsApi,
} from '../api';
diff --git a/Extension/src/background/storages/annoyances-consent.ts b/Extension/src/background/storages/annoyances-consent.ts
index 2378eb4fdf..7a87904871 100644
--- a/Extension/src/background/storages/annoyances-consent.ts
+++ b/Extension/src/background/storages/annoyances-consent.ts
@@ -17,7 +17,7 @@
*/
import { ANNOYANCES_CONSENT_KEY } from '../../common/constants';
-import { AnnoyancesConsentStorageData } from '../schema';
+import { type AnnoyancesConsentStorageData } from '../schema';
import { StringStorage } from '../utils/string-storage';
import { browserStorage } from './shared-instances';
diff --git a/Extension/src/background/storages/browser-storage.ts b/Extension/src/background/storages/browser-storage.ts
index 98a8dfb219..5101516fd9 100644
--- a/Extension/src/background/storages/browser-storage.ts
+++ b/Extension/src/background/storages/browser-storage.ts
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with AdGuard Browser Extension. If not, see .
*/
-import type { Storage } from 'webextension-polyfill';
+import { type Storage } from 'webextension-polyfill';
import { type ExtendedStorageInterface } from './storage-interface';
diff --git a/Extension/src/background/storages/custom-filter-metadata.ts b/Extension/src/background/storages/custom-filter-metadata.ts
index 1a91ee1045..af26f999f6 100644
--- a/Extension/src/background/storages/custom-filter-metadata.ts
+++ b/Extension/src/background/storages/custom-filter-metadata.ts
@@ -18,8 +18,8 @@
import { StringStorage } from '../utils/string-storage';
import {
SettingOption,
- CustomFilterMetadata,
- CustomFilterMetadataStorageData,
+ type CustomFilterMetadata,
+ type CustomFilterMetadataStorageData,
} from '../schema';
import { settingsStorage } from './settings';
diff --git a/Extension/src/background/storages/filter-state.ts b/Extension/src/background/storages/filter-state.ts
index fa90b91639..dff4f9442a 100644
--- a/Extension/src/background/storages/filter-state.ts
+++ b/Extension/src/background/storages/filter-state.ts
@@ -19,9 +19,9 @@ import { AntiBannerFiltersId } from '../../common/constants';
import { StringStorage } from '../utils/string-storage';
import {
SettingOption,
- Metadata,
- FilterStateData,
- FilterStateStorageData,
+ type Metadata,
+ type FilterStateData,
+ type FilterStateStorageData,
} from '../schema';
import { settingsStorage } from './settings';
diff --git a/Extension/src/background/storages/filter-version.ts b/Extension/src/background/storages/filter-version.ts
index b505245f2c..a1421f0415 100644
--- a/Extension/src/background/storages/filter-version.ts
+++ b/Extension/src/background/storages/filter-version.ts
@@ -18,12 +18,12 @@
import { logger } from '../../common/logger';
import {
SettingOption,
- Metadata,
- FilterVersionStorageData,
- FilterVersionData,
+ type Metadata,
+ type FilterVersionStorageData,
+ type FilterVersionData,
} from '../schema';
import { StringStorage } from '../utils/string-storage';
-import type { FilterUpdateOptionsList } from '../api';
+import { type FilterUpdateOptionsList } from '../api';
import { settingsStorage } from './settings';
diff --git a/Extension/src/background/storages/filters-adapter.ts b/Extension/src/background/storages/filters-adapter.ts
index c752845282..e302d68e89 100644
--- a/Extension/src/background/storages/filters-adapter.ts
+++ b/Extension/src/background/storages/filters-adapter.ts
@@ -21,7 +21,7 @@ import { FiltersStorage as TsWebExtensionFiltersStorage } from '@adguard/tswebex
import { extractRuleSetId } from '@adguard/tsurlfilter/es/declarative-converter-utils';
import { METADATA_RULESET_ID } from '@adguard/tsurlfilter/es/declarative-converter';
-import { FilterListPreprocessor, PreprocessedFilterList } from 'tswebextension';
+import { FilterListPreprocessor, type PreprocessedFilterList } from 'tswebextension';
import { logger } from '../../common/logger';
diff --git a/Extension/src/background/storages/group-state.ts b/Extension/src/background/storages/group-state.ts
index 42964e1611..3e488d9166 100644
--- a/Extension/src/background/storages/group-state.ts
+++ b/Extension/src/background/storages/group-state.ts
@@ -17,9 +17,9 @@
*/
import {
SettingOption,
- Metadata,
- GroupStateData,
- GroupStateStorageData,
+ type Metadata,
+ type GroupStateData,
+ type GroupStateStorageData,
} from '../schema';
import { StringStorage } from '../utils/string-storage';
diff --git a/Extension/src/background/storages/hit-stats.ts b/Extension/src/background/storages/hit-stats.ts
index d21a2b5379..c0bb189196 100644
--- a/Extension/src/background/storages/hit-stats.ts
+++ b/Extension/src/background/storages/hit-stats.ts
@@ -17,7 +17,7 @@
*/
import { HIT_STATISTIC_KEY } from '../../common/constants';
import { StringStorage } from '../utils/string-storage';
-import { HitStatsStorageData } from '../schema';
+import { type HitStatsStorageData } from '../schema';
import { browserStorage } from './shared-instances';
import { filterVersionStorage } from './filter-version';
diff --git a/Extension/src/background/storages/hybrid-storage.ts b/Extension/src/background/storages/hybrid-storage.ts
index 98714d78e7..e4c7780de0 100644
--- a/Extension/src/background/storages/hybrid-storage.ts
+++ b/Extension/src/background/storages/hybrid-storage.ts
@@ -21,7 +21,7 @@
* providing a unified API for storage operations. It automatically chooses between IndexedDB storage and
* a fallback storage mechanism based on the environment's capabilities.
*/
-import type { Storage } from 'webextension-polyfill';
+import { type Storage } from 'webextension-polyfill';
import { nanoid } from 'nanoid';
import { SuperJSON, type SuperJSONResult } from 'superjson';
import { deleteDB, openDB } from 'idb';
diff --git a/Extension/src/background/storages/i18n-metadata.ts b/Extension/src/background/storages/i18n-metadata.ts
index b51c40caee..b4fe03a8b8 100644
--- a/Extension/src/background/storages/i18n-metadata.ts
+++ b/Extension/src/background/storages/i18n-metadata.ts
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with AdGuard Browser Extension. If not, see .
*/
-import { SettingOption, I18nMetadata } from '../schema';
+import { SettingOption, type I18nMetadata } from '../schema';
import { StringStorage } from '../utils/string-storage';
import { settingsStorage } from './settings';
diff --git a/Extension/src/background/storages/notification.ts b/Extension/src/background/storages/notification.ts
index ee27e1235c..b5885541d3 100644
--- a/Extension/src/background/storages/notification.ts
+++ b/Extension/src/background/storages/notification.ts
@@ -18,7 +18,7 @@
import browser from 'webextension-polyfill';
import { Forward, ForwardAction } from '../../common/forward';
-import { NotificationTextRecord } from '../schema';
+import { type NotificationTextRecord } from '../schema';
import { defaultIconVariants } from '../api/ui/icons';
/**
diff --git a/Extension/src/background/storages/page-stats.ts b/Extension/src/background/storages/page-stats.ts
index bdc92cec49..0157683c3f 100644
--- a/Extension/src/background/storages/page-stats.ts
+++ b/Extension/src/background/storages/page-stats.ts
@@ -28,9 +28,9 @@ import {
import { PAGE_STATISTIC_KEY, TOTAL_BLOCKED_STATS_GROUP_ID } from '../../common/constants';
import { StringStorage } from '../utils/string-storage';
import {
- PageStats,
- PageStatsData,
- PageStatsDataItem,
+ type PageStats,
+ type PageStatsData,
+ type PageStatsDataItem,
} from '../schema';
import { browserStorage } from './shared-instances';
diff --git a/Extension/src/background/storages/rules-limits.ts b/Extension/src/background/storages/rules-limits.ts
index 30832ee12d..0cc4e7078e 100644
--- a/Extension/src/background/storages/rules-limits.ts
+++ b/Extension/src/background/storages/rules-limits.ts
@@ -18,7 +18,7 @@
import { RULES_LIMITS_KEY } from '../../common/constants';
import { StringStorage } from '../utils/string-storage';
-import { RulesLimitsStorageData } from '../schema/rules-limits/rules-limits';
+import { type RulesLimitsStorageData } from '../schema/rules-limits/rules-limits';
import { browserStorage } from './shared-instances';
diff --git a/Extension/src/background/storages/settings.ts b/Extension/src/background/storages/settings.ts
index 618f9af276..e942cb7736 100644
--- a/Extension/src/background/storages/settings.ts
+++ b/Extension/src/background/storages/settings.ts
@@ -18,8 +18,8 @@
import { debounce } from 'lodash-es';
import { ADGUARD_SETTINGS_KEY } from '../../common/constants';
-import { StorageInterface } from '../../common/storage';
-import { Settings, SettingOption } from '../schema';
+import { type StorageInterface } from '../../common/storage';
+import { type Settings, type SettingOption } from '../schema';
import { browserStorage } from './shared-instances';
diff --git a/Extension/src/background/storages/trusted-domains.ts b/Extension/src/background/storages/trusted-domains.ts
index 4489f17309..1ceeb0e410 100644
--- a/Extension/src/background/storages/trusted-domains.ts
+++ b/Extension/src/background/storages/trusted-domains.ts
@@ -16,7 +16,7 @@
* along with AdGuard Browser Extension. If not, see .
*/
import { TRUSTED_DOCUMENTS_CACHE_KEY } from '../../common/constants';
-import { TrustedDomainData } from '../schema';
+import { type TrustedDomainData } from '../schema';
import { StringStorage } from '../utils/string-storage';
import { browserStorage } from './shared-instances';
diff --git a/Extension/src/background/utils/string-storage.ts b/Extension/src/background/utils/string-storage.ts
index 7d6958c08f..0ad3c1c31d 100644
--- a/Extension/src/background/utils/string-storage.ts
+++ b/Extension/src/background/utils/string-storage.ts
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with AdGuard Browser Extension. If not, see .
*/
-import { StorageInterface } from '../../common/storage';
+import { type StorageInterface } from '../../common/storage';
/**
* Class for managing data that is persisted as string in another key value storage.
diff --git a/Extension/src/common/api/extension/iconsCache.ts b/Extension/src/common/api/extension/iconsCache.ts
index 4ccacbd349..d6b7584699 100644
--- a/Extension/src/common/api/extension/iconsCache.ts
+++ b/Extension/src/common/api/extension/iconsCache.ts
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with AdGuard Browser Extension. If not, see .
*/
-import { Action } from 'webextension-polyfill';
+import { type Action } from 'webextension-polyfill';
import { logger } from '../../logger';
diff --git a/Extension/src/common/api/extension/tabs.ts b/Extension/src/common/api/extension/tabs.ts
index b5c2a0e105..671176411d 100644
--- a/Extension/src/common/api/extension/tabs.ts
+++ b/Extension/src/common/api/extension/tabs.ts
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with AdGuard Browser Extension. If not, see .
*/
-import browser, { Tabs } from 'webextension-polyfill';
+import browser, { type Tabs } from 'webextension-polyfill';
import { Prefs } from '../../../background/prefs';
diff --git a/Extension/src/common/api/extension/windows.ts b/Extension/src/common/api/extension/windows.ts
index fc1b68794d..8c9e1cbffd 100644
--- a/Extension/src/common/api/extension/windows.ts
+++ b/Extension/src/common/api/extension/windows.ts
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with AdGuard Browser Extension. If not, see .
*/
-import browser, { type Windows, Tabs } from 'webextension-polyfill';
+import browser, { type Windows, type Tabs } from 'webextension-polyfill';
/**
* Helper class for browser.windows API.
diff --git a/Extension/src/common/messages/constants.ts b/Extension/src/common/messages/constants.ts
index 34b554007b..f7c45c776a 100644
--- a/Extension/src/common/messages/constants.ts
+++ b/Extension/src/common/messages/constants.ts
@@ -26,28 +26,28 @@
import { type Windows } from 'webextension-polyfill';
import { type ForwardFrom } from '../forward';
-import type {
- CustomFilterMetadata,
- SettingOption,
- Settings,
+import {
+ type CustomFilterMetadata,
+ type SettingOption,
+ type Settings,
} from '../../background/schema';
-import type { NotifierType } from '../constants';
-import type { AppearanceTheme } from '../settings';
-import type { FilteringLogTabInfo } from '../../background/api/filtering-log';
-import type { GetTabInfoForPopupResponse } from '../../background/services/ui/popup';
-import type { GetFilteringLogDataResponse } from '../../background/services/filtering-log';
-import type {
- IRulesLimits,
- Mv3LimitsCheckResult,
- StaticLimitsCheckResult,
+import { type NotifierType } from '../constants';
+import { type AppearanceTheme } from '../settings';
+import { type FilteringLogTabInfo } from '../../background/api/filtering-log';
+import { type GetTabInfoForPopupResponse } from '../../background/services/ui/popup';
+import { type GetFilteringLogDataResponse } from '../../background/services/filtering-log';
+import {
+ type IRulesLimits,
+ type Mv3LimitsCheckResult,
+ type StaticLimitsCheckResult,
} from '../../background/services/rules-limits/interface';
-import type { PageInitAppData } from '../../background/services/ui/main';
-import type { ExportMessageResponse, GetOptionsDataResponse } from '../../background/services/settings/types';
-import type { CreateEventListenerResponse } from '../../background/services/event';
-import type { FilterMetadata } from '../../background/api/filters/main';
-import type { GetAllowlistDomainsResponse } from '../../background/services/allowlist';
-import type { GetUserRulesEditorDataResponse, GetUserRulesResponse } from '../../background/services/userrules';
-import type { GetCustomFilterInfoResult } from '../../background/api';
+import { type PageInitAppData } from '../../background/services/ui/main';
+import { type ExportMessageResponse, type GetOptionsDataResponse } from '../../background/services/settings/types';
+import { type CreateEventListenerResponse } from '../../background/services/event';
+import { type FilterMetadata } from '../../background/api/filters/main';
+import { type GetAllowlistDomainsResponse } from '../../background/services/allowlist';
+import { type GetUserRulesEditorDataResponse, type GetUserRulesResponse } from '../../background/services/userrules';
+import { type GetCustomFilterInfoResult } from '../../background/api';
export const APP_MESSAGE_HANDLER_NAME = 'app';
diff --git a/Extension/src/common/messages/message-handler.ts b/Extension/src/common/messages/message-handler.ts
index 1d449b04e0..bd60239bad 100644
--- a/Extension/src/common/messages/message-handler.ts
+++ b/Extension/src/common/messages/message-handler.ts
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with AdGuard Browser Extension. If not, see .
*/
-import browser, { Runtime } from 'webextension-polyfill';
+import browser, { type Runtime } from 'webextension-polyfill';
import { type EngineMessage } from 'engine';
diff --git a/Extension/src/common/messages/send-message.ts b/Extension/src/common/messages/send-message.ts
index 72b26a29bb..23e8b5964a 100644
--- a/Extension/src/common/messages/send-message.ts
+++ b/Extension/src/common/messages/send-message.ts
@@ -19,8 +19,8 @@
import browser from 'webextension-polyfill';
import {
- MessageType,
- MessageWithoutHandlerName,
+ type MessageType,
+ type MessageWithoutHandlerName,
APP_MESSAGE_HANDLER_NAME,
} from './constants';
diff --git a/Extension/src/common/settings.ts b/Extension/src/common/settings.ts
index 7052c6e3de..908eb196b5 100644
--- a/Extension/src/common/settings.ts
+++ b/Extension/src/common/settings.ts
@@ -16,7 +16,7 @@
* along with AdGuard Browser Extension. If not, see .
*/
-import { SettingOption, Settings } from '../background/schema';
+import { SettingOption, type Settings } from '../background/schema';
import { UserAgent } from './user-agent';
diff --git a/Extension/src/common/translators/reactTranslator.ts b/Extension/src/common/translators/reactTranslator.ts
index 928d7399a8..246c2738ba 100644
--- a/Extension/src/common/translators/reactTranslator.ts
+++ b/Extension/src/common/translators/reactTranslator.ts
@@ -18,7 +18,7 @@
import React from 'react';
-import { I18nInterface, translate } from '@adguard/translate';
+import { type I18nInterface, translate } from '@adguard/translate';
import { i18n } from './i18n';
diff --git a/Extension/src/common/translators/translator.ts b/Extension/src/common/translators/translator.ts
index 13271f1b90..47baacd6d8 100644
--- a/Extension/src/common/translators/translator.ts
+++ b/Extension/src/common/translators/translator.ts
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with AdGuard Browser Extension. If not, see .
*/
-import { I18nInterface, translate } from '@adguard/translate';
+import { type I18nInterface, translate } from '@adguard/translate';
import { i18n } from './i18n';
diff --git a/Extension/src/content-script/content-utils/message-handler.ts b/Extension/src/content-script/content-utils/message-handler.ts
index a0fceaeebf..9fad52509e 100644
--- a/Extension/src/content-script/content-utils/message-handler.ts
+++ b/Extension/src/content-script/content-utils/message-handler.ts
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with AdGuard Browser Extension. If not, see .
*/
-import { Runtime } from 'webextension-polyfill';
+import { type Runtime } from 'webextension-polyfill';
import { MessageType } from '@adguard/tswebextension';
diff --git a/Extension/src/pages/common/components/AttachmentPortal/AttachmentPortal.tsx b/Extension/src/pages/common/components/AttachmentPortal/AttachmentPortal.tsx
index c08fdbbd83..15962dc6cf 100644
--- a/Extension/src/pages/common/components/AttachmentPortal/AttachmentPortal.tsx
+++ b/Extension/src/pages/common/components/AttachmentPortal/AttachmentPortal.tsx
@@ -19,7 +19,7 @@
import { useEffect, useRef } from 'react';
import { createPortal } from 'react-dom';
-import { Position } from '../types';
+import { type Position } from '../types';
const TOOLTIP_EDGE_PADDING = 4; // px
diff --git a/Extension/src/pages/common/components/Editor/EditorLeaveModal.tsx b/Extension/src/pages/common/components/Editor/EditorLeaveModal.tsx
index 4a9e5515be..b470239d96 100644
--- a/Extension/src/pages/common/components/Editor/EditorLeaveModal.tsx
+++ b/Extension/src/pages/common/components/Editor/EditorLeaveModal.tsx
@@ -21,7 +21,7 @@ import React, {
useEffect,
useRef,
} from 'react';
-import { useBlocker, BlockerFunction } from 'react-router-dom';
+import { useBlocker, type BlockerFunction } from 'react-router-dom';
import { noop } from 'lodash-es';
diff --git a/Extension/src/pages/common/components/ui/Icon.tsx b/Extension/src/pages/common/components/ui/Icon.tsx
index 1665868f19..3c89e2fe0d 100644
--- a/Extension/src/pages/common/components/ui/Icon.tsx
+++ b/Extension/src/pages/common/components/ui/Icon.tsx
@@ -16,7 +16,7 @@
* along with AdGuard Browser Extension. If not, see .
*/
-import React, { ReactNode } from 'react';
+import React, { type ReactNode } from 'react';
import cn from 'classnames';
diff --git a/Extension/src/pages/common/components/ui/Popover/Popover.tsx b/Extension/src/pages/common/components/ui/Popover/Popover.tsx
index 6504e2cd86..98b3c75044 100644
--- a/Extension/src/pages/common/components/ui/Popover/Popover.tsx
+++ b/Extension/src/pages/common/components/ui/Popover/Popover.tsx
@@ -24,7 +24,7 @@ import React, {
import { AttachmentPortal } from '../../AttachmentPortal';
import { Tooltip } from '../Tooltip';
-import { Position } from '../../types';
+import { type Position } from '../../types';
import './popover.pcss';
diff --git a/Extension/src/pages/common/hooks/useOverflowed.ts b/Extension/src/pages/common/hooks/useOverflowed.ts
index 3833cd4c9a..1c1153d24d 100644
--- a/Extension/src/pages/common/hooks/useOverflowed.ts
+++ b/Extension/src/pages/common/hooks/useOverflowed.ts
@@ -19,7 +19,7 @@
import {
useState,
useCallback,
- RefObject,
+ type RefObject,
} from 'react';
import { useResizeObserver } from './useResizeObserver';
diff --git a/Extension/src/pages/common/hooks/useResizeObserver.ts b/Extension/src/pages/common/hooks/useResizeObserver.ts
index 3c2ea7e6db..b010e0a129 100644
--- a/Extension/src/pages/common/hooks/useResizeObserver.ts
+++ b/Extension/src/pages/common/hooks/useResizeObserver.ts
@@ -16,7 +16,7 @@
* along with AdGuard Browser Extension. If not, see .
*/
-import { RefObject, useEffect } from 'react';
+import { type RefObject, useEffect } from 'react';
import { throttle } from 'lodash-es';
diff --git a/Extension/src/pages/filtering-log/components/FilteringLog/FilteringLog.tsx b/Extension/src/pages/filtering-log/components/FilteringLog/FilteringLog.tsx
index 93a3829344..a6a5b3d4d9 100644
--- a/Extension/src/pages/filtering-log/components/FilteringLog/FilteringLog.tsx
+++ b/Extension/src/pages/filtering-log/components/FilteringLog/FilteringLog.tsx
@@ -25,7 +25,7 @@ import { Filters } from '../Filters';
import {
Messenger,
messenger,
- LongLivedConnectionCallbackMessage,
+ type LongLivedConnectionCallbackMessage,
Page,
} from '../../../services/messenger';
import { logger } from '../../../../common/logger';
diff --git a/Extension/src/pages/filtering-log/components/Filters/TabSelector/TabSelector.jsx b/Extension/src/pages/filtering-log/components/Filters/TabSelector/TabSelector.jsx
index cbdada5b17..b7e68da08a 100644
--- a/Extension/src/pages/filtering-log/components/Filters/TabSelector/TabSelector.jsx
+++ b/Extension/src/pages/filtering-log/components/Filters/TabSelector/TabSelector.jsx
@@ -176,7 +176,7 @@ const TabSelector = observer(() => {
id={tabId}
role="button"
className="tab-selector__result-item"
- onClick={() => { selectionHandlerSearch(tabId); }}
+ onClick={() => selectionHandlerSearch(tabId)}
tabIndex={0}
>
diff --git a/Extension/src/pages/filtering-log/components/RequestWizard/RequestInfo/RequestInfo.tsx b/Extension/src/pages/filtering-log/components/RequestWizard/RequestInfo/RequestInfo.tsx
index e6193a6237..42ac7cf651 100644
--- a/Extension/src/pages/filtering-log/components/RequestWizard/RequestInfo/RequestInfo.tsx
+++ b/Extension/src/pages/filtering-log/components/RequestWizard/RequestInfo/RequestInfo.tsx
@@ -56,7 +56,7 @@ import { DEFAULT_MODAL_WIDTH_PX, LINE_COUNT_LIMIT } from '../constants';
import { TextCollapser } from '../../../../common/components/TextCollapser/TextCollapser';
import { AddedRuleState } from '../../../constants';
import { type FilteringLogEvent, type FilteringEventRuleData } from '../../../../../background/api/filtering-log';
-import { FilterMetadata } from '../../../../../background/api';
+import { type FilterMetadata } from '../../../../../background/api';
import { Popover } from '../../../../common/components/ui/Popover/Popover';
import './request-info.pcss';
diff --git a/Extension/src/pages/filtering-log/components/RequestWizard/ruleCreators.ts b/Extension/src/pages/filtering-log/components/RequestWizard/ruleCreators.ts
index 7875bd29cd..f01b388256 100644
--- a/Extension/src/pages/filtering-log/components/RequestWizard/ruleCreators.ts
+++ b/Extension/src/pages/filtering-log/components/RequestWizard/ruleCreators.ts
@@ -23,10 +23,10 @@ import {
OPTIONS_DELIMITER,
} from '@adguard/tsurlfilter';
-import type { FilteringEventRuleData, FilteringLogEvent } from '../../../../background/api';
+import { type FilteringEventRuleData, type FilteringLogEvent } from '../../../../background/api';
import { strings } from '../../../../common/strings';
import { logger } from '../../../../common/logger';
-import type { RuleCreationOptions } from '../../types';
+import { type RuleCreationOptions } from '../../types';
import { COMMA_DELIMITER } from './constants';
import { UrlUtils } from './utils';
diff --git a/Extension/src/pages/filtering-log/components/RequestWizard/utils.ts b/Extension/src/pages/filtering-log/components/RequestWizard/utils.ts
index 7a8e2cd5d3..b5052ba52c 100644
--- a/Extension/src/pages/filtering-log/components/RequestWizard/utils.ts
+++ b/Extension/src/pages/filtering-log/components/RequestWizard/utils.ts
@@ -20,7 +20,7 @@ import { ContentType as RequestType } from 'tswebextension';
import { AntiBannerFiltersId } from '../../../../common/constants';
import { strings } from '../../../../common/strings';
import { translator } from '../../../../common/translators/translator';
-import type { FilteringLogEvent, FilterMetadata } from '../../../../background/api';
+import { type FilteringLogEvent, type FilterMetadata } from '../../../../background/api';
/**
* Url utils
diff --git a/Extension/src/pages/filtering-log/stores/LogStore.ts b/Extension/src/pages/filtering-log/stores/LogStore.ts
index e5ede17703..ec6d3b2fe0 100644
--- a/Extension/src/pages/filtering-log/stores/LogStore.ts
+++ b/Extension/src/pages/filtering-log/stores/LogStore.ts
@@ -28,11 +28,11 @@ import { find, truncate } from 'lodash-es';
import { ContentType as RequestType } from 'tswebextension';
-import type {
- FilteringLogTabInfo,
- FilterMetadata,
- SettingsData,
- UIFilteringLogEvent,
+import {
+ type FilteringLogTabInfo,
+ type FilterMetadata,
+ type SettingsData,
+ type UIFilteringLogEvent,
} from '../../../background/api';
import { translator } from '../../../common/translators/translator';
import { messenger } from '../../services/messenger';
@@ -42,7 +42,7 @@ import { getStatusMode, StatusMode } from '../filteringLogStatus';
import { logger } from '../../../common/logger';
import { matchesSearch } from './helpers';
-import type { RootStore } from './RootStore';
+import { type RootStore } from './RootStore';
const enum MiscellaneousFilters {
Regular = 'regular',
diff --git a/Extension/src/pages/filtering-log/stores/WizardStore.ts b/Extension/src/pages/filtering-log/stores/WizardStore.ts
index 8f16e0991b..d5ccf5e4c8 100644
--- a/Extension/src/pages/filtering-log/stores/WizardStore.ts
+++ b/Extension/src/pages/filtering-log/stores/WizardStore.ts
@@ -39,12 +39,12 @@ import {
getRuleText,
} from '../components/RequestWizard/ruleCreators';
import { messenger } from '../../services/messenger';
-import { AddedRuleState, WizardRequestState } from '../constants';
-import type { RuleCreationOptions } from '../types';
-import type { FilteringLogEvent } from '../../../background/api/filtering-log';
+import { type AddedRuleState, WizardRequestState } from '../constants';
+import { type RuleCreationOptions } from '../types';
+import { type FilteringLogEvent } from '../../../background/api/filtering-log';
import { logger } from '../../../common/logger';
-import type { RootStore } from './RootStore';
+import { type RootStore } from './RootStore';
const defaultRuleOptions: RuleCreationOptions = {
[RULE_CREATION_OPTION.DOMAIN]: { checked: false },
diff --git a/Extension/src/pages/fullscreen-user-rules/components/fullscreen-user-rules/FullscreenUserRules.tsx b/Extension/src/pages/fullscreen-user-rules/components/fullscreen-user-rules/FullscreenUserRules.tsx
index 4b6a5b4865..b15f52e8ec 100644
--- a/Extension/src/pages/fullscreen-user-rules/components/fullscreen-user-rules/FullscreenUserRules.tsx
+++ b/Extension/src/pages/fullscreen-user-rules/components/fullscreen-user-rules/FullscreenUserRules.tsx
@@ -26,7 +26,7 @@ import { NotifierType } from '../../../../common/constants';
import { rootStore } from '../../../options/stores/RootStore';
import {
Messenger,
- LongLivedConnectionCallbackMessage,
+ type LongLivedConnectionCallbackMessage,
Page,
} from '../../../services/messenger';
import { logger } from '../../../../common/logger';
diff --git a/Extension/src/pages/helpers.ts b/Extension/src/pages/helpers.ts
index 278792ff55..d6b66c90bf 100644
--- a/Extension/src/pages/helpers.ts
+++ b/Extension/src/pages/helpers.ts
@@ -20,7 +20,7 @@ import { type FilterMetadata } from '../background/api';
import { translator } from '../common/translators/translator';
import { FILE_WRONG_EXTENSION_CAUSE } from './options/constants';
-import { Notification, NotificationType } from './options/stores/UiStore';
+import { type Notification, NotificationType } from './options/stores/UiStore';
export const getFilenameExtension = (filename: string): string | undefined => {
if (!filename) {
diff --git a/Extension/src/pages/options/components/Filters/AddCustomInput/AddCustomInput.tsx b/Extension/src/pages/options/components/Filters/AddCustomInput/AddCustomInput.tsx
index 56ba7f362a..4babdfa1cf 100644
--- a/Extension/src/pages/options/components/Filters/AddCustomInput/AddCustomInput.tsx
+++ b/Extension/src/pages/options/components/Filters/AddCustomInput/AddCustomInput.tsx
@@ -19,8 +19,8 @@
/* eslint-disable jsx-a11y/no-autofocus */
import React, {
- ChangeEventHandler,
- HTMLInputTypeAttribute,
+ type ChangeEventHandler,
+ type HTMLInputTypeAttribute,
useRef,
} from 'react';
diff --git a/Extension/src/pages/options/components/Filters/Filter.tsx b/Extension/src/pages/options/components/Filters/Filter.tsx
index dab60827db..26ec7f2e81 100644
--- a/Extension/src/pages/options/components/Filters/Filter.tsx
+++ b/Extension/src/pages/options/components/Filters/Filter.tsx
@@ -27,11 +27,11 @@ import { observer } from 'mobx-react';
import cn from 'classnames';
-import type {
- CustomFilterMetadata,
- FilterVersionData,
- RegularFilterMetadata,
- TagMetadata,
+import {
+ type CustomFilterMetadata,
+ type FilterVersionData,
+ type RegularFilterMetadata,
+ type TagMetadata,
} from '../../../../background/schema';
import { Setting, SETTINGS_TYPES } from '../Settings/Setting';
import { rootStore } from '../../stores/RootStore';
diff --git a/Extension/src/pages/options/components/Filters/FilterTags/FilterTags.tsx b/Extension/src/pages/options/components/Filters/FilterTags/FilterTags.tsx
index dfad58ae4e..1095854b9f 100644
--- a/Extension/src/pages/options/components/Filters/FilterTags/FilterTags.tsx
+++ b/Extension/src/pages/options/components/Filters/FilterTags/FilterTags.tsx
@@ -19,7 +19,7 @@
import React from 'react';
import { Popover } from '../../../../common/components/ui/Popover';
-import { TagMetadata } from '../../../../../background/schema';
+import { type TagMetadata } from '../../../../../background/schema';
import { FilterTag } from './FilterTag';
diff --git a/Extension/src/pages/options/components/Filters/helpers.ts b/Extension/src/pages/options/components/Filters/helpers.ts
index 23d723434f..2df4fdee43 100644
--- a/Extension/src/pages/options/components/Filters/helpers.ts
+++ b/Extension/src/pages/options/components/Filters/helpers.ts
@@ -18,7 +18,7 @@
import { sortBy } from 'lodash-es';
-import type { CategoriesFilterData, CategoriesGroupData } from '../../../../background/api';
+import { type CategoriesFilterData, type CategoriesGroupData } from '../../../../background/api';
/**
* Sorts filters by enabled status and displayNumber
diff --git a/Extension/src/pages/options/components/General/General.tsx b/Extension/src/pages/options/components/General/General.tsx
index 322ed60de6..66b98e8444 100644
--- a/Extension/src/pages/options/components/General/General.tsx
+++ b/Extension/src/pages/options/components/General/General.tsx
@@ -39,7 +39,7 @@ import {
} from '../../constants';
import { addMinDelayLoader } from '../../../common/components/helpers';
import { exportData, ExportTypes } from '../../../common/utils/export';
-import { SettingHandler } from '../../types';
+import { type SettingHandler } from '../../types';
import { ensurePermission } from '../../ensure-permission';
import { reactTranslator } from '../../../../common/translators/reactTranslator';
import { translator } from '../../../../common/translators/translator';
diff --git a/Extension/src/pages/options/components/Settings/TextInput/TextInput.tsx b/Extension/src/pages/options/components/Settings/TextInput/TextInput.tsx
index 5c5c3a7345..3b02d277a5 100644
--- a/Extension/src/pages/options/components/Settings/TextInput/TextInput.tsx
+++ b/Extension/src/pages/options/components/Settings/TextInput/TextInput.tsx
@@ -28,7 +28,7 @@ import React, {
import { debounce, type DebouncedFunc } from 'lodash-es';
-import type { SettingHandler } from '../../../types';
+import { type SettingHandler } from '../../../types';
import './input.pcss';
diff --git a/Extension/src/pages/options/components/Warnings/DynamicRulesLimitsWarning.tsx b/Extension/src/pages/options/components/Warnings/DynamicRulesLimitsWarning.tsx
index 412e96721c..afa57fe55e 100644
--- a/Extension/src/pages/options/components/Warnings/DynamicRulesLimitsWarning.tsx
+++ b/Extension/src/pages/options/components/Warnings/DynamicRulesLimitsWarning.tsx
@@ -24,7 +24,7 @@ import { OptionsPageSections } from '../../../../common/nav';
import { translator } from '../../../../common/translators/translator';
import { rootStore } from '../../stores/RootStore';
-import type { LimitWarningProps } from './types';
+import { type LimitWarningProps } from './types';
import './limit-warning.pcss';
diff --git a/Extension/src/pages/options/components/Warnings/StaticFiltersLimitsWarning.tsx b/Extension/src/pages/options/components/Warnings/StaticFiltersLimitsWarning.tsx
index 16caee1f22..698ecb8c08 100644
--- a/Extension/src/pages/options/components/Warnings/StaticFiltersLimitsWarning.tsx
+++ b/Extension/src/pages/options/components/Warnings/StaticFiltersLimitsWarning.tsx
@@ -24,7 +24,7 @@ import { OptionsPageSections } from '../../../../common/nav';
import { translator } from '../../../../common/translators/translator';
import { rootStore } from '../../stores/RootStore';
-import type { LimitWarningProps } from './types';
+import { type LimitWarningProps } from './types';
import './limit-warning.pcss';
diff --git a/Extension/src/pages/options/stores/UiStore.ts b/Extension/src/pages/options/stores/UiStore.ts
index 8e6122dcbe..2038058692 100644
--- a/Extension/src/pages/options/stores/UiStore.ts
+++ b/Extension/src/pages/options/stores/UiStore.ts
@@ -23,11 +23,11 @@ import {
} from 'mobx';
import { nanoid } from 'nanoid';
-import type { InvalidStaticResultData, InvalidDynamicResultData } from '../../../background/services/rules-limits';
+import { type InvalidStaticResultData, type InvalidDynamicResultData } from '../../../background/services/rules-limits';
// TODO: Maybe not import from components folder here?
import { getDynamicWarningMessage, getStaticWarningMessage } from '../components/Warnings/messages';
-import type { RootStore } from './RootStore';
+import { type RootStore } from './RootStore';
export enum NotificationType {
SUCCESS = 'success',
diff --git a/Extension/src/pages/options/types.ts b/Extension/src/pages/options/types.ts
index d84f9e898b..af4dd84a74 100644
--- a/Extension/src/pages/options/types.ts
+++ b/Extension/src/pages/options/types.ts
@@ -19,7 +19,7 @@
// TODO remove when types can be placed in the corresponding places.
// This file is temporary storage for common types. We use it until not all modules moved to
// typescript
-import type { ChangeEvent } from 'react';
+import { type ChangeEvent } from 'react';
type HandlerPayload = {
data: unknown,
diff --git a/Extension/src/pages/popup/components/Popup/Popup.tsx b/Extension/src/pages/popup/components/Popup/Popup.tsx
index 7e1115431e..cf675a6785 100644
--- a/Extension/src/pages/popup/components/Popup/Popup.tsx
+++ b/Extension/src/pages/popup/components/Popup/Popup.tsx
@@ -32,7 +32,7 @@ import { messenger } from '../../../services/messenger';
import { useAppearanceTheme } from '../../../common/hooks/useAppearanceTheme';
import { Icons as CommonIcons } from '../../../common/components/ui/Icons';
import {
- ExtractedMessage,
+ type ExtractedMessage,
messageHasTypeAndDataFields,
messageHasTypeField,
MessageType,
diff --git a/Extension/src/pages/popup/stores/PopupStore.ts b/Extension/src/pages/popup/stores/PopupStore.ts
index 2e098409ca..ef23d8af86 100644
--- a/Extension/src/pages/popup/stores/PopupStore.ts
+++ b/Extension/src/pages/popup/stores/PopupStore.ts
@@ -29,9 +29,9 @@ import {
} from 'mobx';
import punycode from 'punycode/';
-import type { GetStatisticsDataResponse, SettingsData } from '../../../background/api';
+import { type GetStatisticsDataResponse, type SettingsData } from '../../../background/api';
import { type GetTabInfoForPopupResponse } from '../../../background/services';
-import type { PageStatsDataItem } from '../../../background/schema';
+import { type PageStatsDataItem } from '../../../background/schema';
import { messenger } from '../../services/messenger';
import {
SpecificPopupState,
diff --git a/Extension/src/pages/services/messenger.ts b/Extension/src/pages/services/messenger.ts
index ad08d972a1..cab213574e 100644
--- a/Extension/src/pages/services/messenger.ts
+++ b/Extension/src/pages/services/messenger.ts
@@ -25,46 +25,44 @@ import {
MessageType,
messageHasTypeAndDataFields,
messageHasTypeField,
+ type MessageWithoutHandlerName,
+ type ChangeUserSettingMessage,
+ type AddAndEnableFilterMessage,
+ type DisableFilterMessage,
+ type ApplySettingsJsonMessage,
+ type SetFilteringLogWindowStateMessage,
+ type SaveUserRulesMessage,
+ type SetConsentedFiltersMessage,
+ type GetIsConsentedFilterMessage,
+ type LoadCustomFilterInfoMessage,
+ type SubscribeToCustomFilterMessage,
+ type RemoveAntiBannerFilterMessage,
+ type GetTabInfoForPopupMessage,
+ type ChangeApplicationFilteringPausedMessage,
+ type OpenAbuseTabMessage,
+ type OpenSiteReportTabMessage,
+ type ResetUserRulesForPageMessage,
+ type RemoveAllowlistDomainMessage,
+ type AddAllowlistDomainMessage,
+ type GetFilteringInfoByTabIdMessage,
+ type ClearEventsByTabIdMessage,
+ type RefreshPageMessage,
+ type AddUserRuleMessage,
+ type RemoveUserRuleMessage,
+ type SetPreserveLogStateMessage,
+ type SetEditorStorageContentMessage,
+ type CanEnableStaticFilterMv3Message,
+ type CanEnableStaticGroupMv3Message,
+ type ExtractMessageResponse,
+ type ValidMessageTypes,
+ type SetNotificationViewedMessage,
+ type UpdateFullscreenUserRulesThemeMessage,
+ type AddUrlToTrustedMessage,
+ type ExtractedMessage,
+ type OpenSafebrowsingTrustedMessage,
} from '../../common/messages';
-import type {
- MessageWithoutHandlerName,
- ChangeUserSettingMessage,
- AddAndEnableFilterMessage,
- DisableFilterMessage,
- ApplySettingsJsonMessage,
- SetFilteringLogWindowStateMessage,
- SaveUserRulesMessage,
- SetConsentedFiltersMessage,
- GetIsConsentedFilterMessage,
- LoadCustomFilterInfoMessage,
- SubscribeToCustomFilterMessage,
- RemoveAntiBannerFilterMessage,
- GetTabInfoForPopupMessage,
- ChangeApplicationFilteringPausedMessage,
- OpenAbuseTabMessage,
- OpenSiteReportTabMessage,
- ResetUserRulesForPageMessage,
- RemoveAllowlistDomainMessage,
- AddAllowlistDomainMessage,
- GetFilteringInfoByTabIdMessage,
- ClearEventsByTabIdMessage,
- RefreshPageMessage,
- AddUserRuleMessage,
- RemoveUserRuleMessage,
- SetPreserveLogStateMessage,
- SetEditorStorageContentMessage,
- CanEnableStaticFilterMv3Message,
- CanEnableStaticGroupMv3Message,
- ExtractMessageResponse,
- ValidMessageTypes,
- SetNotificationViewedMessage,
- UpdateFullscreenUserRulesThemeMessage,
- AddUrlToTrustedMessage,
- ExtractedMessage,
- OpenSafebrowsingTrustedMessage,
-} from '../../common/messages';
-import { NotifierType } from '../../common/constants';
-import { CreateEventListenerResponse } from '../../background/services/event';
+import { type NotifierType } from '../../common/constants';
+import { type CreateEventListenerResponse } from '../../background/services/event';
/**
* @typedef {import('../../common/messages').MessageMap} MessageMap
diff --git a/bamboo-specs/auto-build.yaml b/bamboo-specs/auto-build.yaml
index 58a190f8c1..14aa3a9e42 100644
--- a/bamboo-specs/auto-build.yaml
+++ b/bamboo-specs/auto-build.yaml
@@ -130,7 +130,7 @@ branch-overrides:
pnpm install ${bamboo.varsPnpm}
- ./bamboo-specs/scripts/timeout-wrapper.sh 90s pnpm lint
+ ./bamboo-specs/scripts/timeout-wrapper.sh 120s pnpm lint
final-tasks:
- script:
interpreter: SHELL
diff --git a/bamboo-specs/tests.yaml b/bamboo-specs/tests.yaml
index 736827c294..f0d29ce9b1 100644
--- a/bamboo-specs/tests.yaml
+++ b/bamboo-specs/tests.yaml
@@ -139,7 +139,7 @@ Lint:
pnpm install ${bamboo.varsPnpm}
- ./bamboo-specs/scripts/timeout-wrapper.sh 90s pnpm lint
+ ./bamboo-specs/scripts/timeout-wrapper.sh 120s pnpm lint
final-tasks:
- script:
interpreter: SHELL
diff --git a/tests/helpers/fixtures/getCustomExportFixture.ts b/tests/helpers/fixtures/getCustomExportFixture.ts
index 1ba0666866..241862f19e 100644
--- a/tests/helpers/fixtures/getCustomExportFixture.ts
+++ b/tests/helpers/fixtures/getCustomExportFixture.ts
@@ -1,5 +1,5 @@
import {
- Config,
+ type Config,
RootOption,
PROTOCOL_VERSION,
GeneralSettingsOption,
diff --git a/tests/helpers/fixtures/getDefaultExportFixture.ts b/tests/helpers/fixtures/getDefaultExportFixture.ts
index 28fed302dc..5a3dbe65c8 100644
--- a/tests/helpers/fixtures/getDefaultExportFixture.ts
+++ b/tests/helpers/fixtures/getDefaultExportFixture.ts
@@ -1,5 +1,5 @@
import {
- Config,
+ type Config,
RootOption,
PROTOCOL_VERSION,
GeneralSettingsOption,
diff --git a/tests/helpers/fixtures/getEmptyPageStatsDataFixture.ts b/tests/helpers/fixtures/getEmptyPageStatsDataFixture.ts
index eabe2e6806..5f6a30c9bd 100644
--- a/tests/helpers/fixtures/getEmptyPageStatsDataFixture.ts
+++ b/tests/helpers/fixtures/getEmptyPageStatsDataFixture.ts
@@ -1,4 +1,4 @@
-import { PageStatsData } from '../../../Extension/src/background/schema';
+import { type PageStatsData } from '../../../Extension/src/background/schema';
import { PageStatsStorage } from '../../../Extension/src/background/storages/page-stats';
export const getEmptyPageStatsDataFixture = (
diff --git a/tests/helpers/fixtures/getEmptyStatisticDataFixture.ts b/tests/helpers/fixtures/getEmptyStatisticDataFixture.ts
index 7e9d99d10b..62dab66c8b 100644
--- a/tests/helpers/fixtures/getEmptyStatisticDataFixture.ts
+++ b/tests/helpers/fixtures/getEmptyStatisticDataFixture.ts
@@ -1,4 +1,4 @@
-import { GetStatisticsDataResponse } from '../../../Extension/src/background/api';
+import { type GetStatisticsDataResponse } from '../../../Extension/src/background/api';
import { PageStatsStorage } from '../../../Extension/src/background/storages/page-stats';
import { translator } from '../../../Extension/src/common/translators/translator';
diff --git a/tests/helpers/fixtures/getI18nMetadataFixture.ts b/tests/helpers/fixtures/getI18nMetadataFixture.ts
index e3621c2f69..7021115cac 100644
--- a/tests/helpers/fixtures/getI18nMetadataFixture.ts
+++ b/tests/helpers/fixtures/getI18nMetadataFixture.ts
@@ -1,6 +1,6 @@
import i18nMetadataMv2 from '../../../Extension/filters/chromium/filters_i18n.json';
import i18nMetadataMv3 from '../../../Extension/filters/chromium-mv3/filters_i18n.json';
-import { i18nMetadataValidator, I18nMetadata } from '../../../Extension/src/background/schema';
+import { i18nMetadataValidator, type I18nMetadata } from '../../../Extension/src/background/schema';
export const getI18nMetadataFixture = (): I18nMetadata => {
const i18nMetadata = __IS_MV3__ ? i18nMetadataMv3 : i18nMetadataMv2;
diff --git a/tests/helpers/fixtures/getMetadataFixture.ts b/tests/helpers/fixtures/getMetadataFixture.ts
index e2821f71d3..4ba0485891 100644
--- a/tests/helpers/fixtures/getMetadataFixture.ts
+++ b/tests/helpers/fixtures/getMetadataFixture.ts
@@ -5,7 +5,7 @@ import { METADATA_RULESET_ID, MetadataRuleSet } from '@adguard/tsurlfilter/es/de
import { getRuleSetPath } from '@adguard/tsurlfilter/es/declarative-converter-utils';
import metadataMv2 from '../../../Extension/filters/chromium/filters.json';
-import { metadataValidator, Metadata } from '../../../Extension/src/background/schema';
+import { metadataValidator, type Metadata } from '../../../Extension/src/background/schema';
// eslint-disable-next-line @typescript-eslint/naming-convention
const __dirname = path.dirname(new URL(import.meta.url).pathname);
diff --git a/tests/helpers/mocks/event-channel.ts b/tests/helpers/mocks/event-channel.ts
index 4096558e97..abfc277afa 100644
--- a/tests/helpers/mocks/event-channel.ts
+++ b/tests/helpers/mocks/event-channel.ts
@@ -1,7 +1,7 @@
import { vi } from 'vitest';
// TODO: Use 'tswebextension' alias to work with mv3 version. AG-37302
-import type { EventChannelInterface } from '@adguard/tswebextension';
+import { type EventChannelInterface } from '@adguard/tswebextension';
export class MockedEventCannel implements EventChannelInterface {
dispatch = vi.fn();
diff --git a/tests/helpers/mocks/storage.ts b/tests/helpers/mocks/storage.ts
index d0f594bd0b..9798d86c39 100644
--- a/tests/helpers/mocks/storage.ts
+++ b/tests/helpers/mocks/storage.ts
@@ -1,5 +1,5 @@
import browser from 'sinon-chrome';
-import { Storage, Events } from 'webextension-polyfill';
+import { type Storage, type Events } from 'webextension-polyfill';
/**
* Emulated browser.storage.local
diff --git a/tests/helpers/mocks/tswebextension.ts b/tests/helpers/mocks/tswebextension.ts
index 24293ea67d..a596d2cbfa 100644
--- a/tests/helpers/mocks/tswebextension.ts
+++ b/tests/helpers/mocks/tswebextension.ts
@@ -2,9 +2,9 @@ import { vi } from 'vitest';
// TODO: Use 'tswebextension' alias to work with mv3 version. AG-37302
import {
- EventChannel,
- FilteringLogEvent,
- ConfigurationMV2Context,
+ type EventChannel,
+ type FilteringLogEvent,
+ type ConfigurationMV2Context,
} from '@adguard/tswebextension';
import { MockedEventCannel } from './event-channel';
diff --git a/tests/src/background/api/document-block.test.ts b/tests/src/background/api/document-block.test.ts
index 615d097a04..db813b0b47 100644
--- a/tests/src/background/api/document-block.test.ts
+++ b/tests/src/background/api/document-block.test.ts
@@ -1,5 +1,5 @@
import browser from 'sinon-chrome';
-import { Storage } from 'webextension-polyfill';
+import { type Storage } from 'webextension-polyfill';
import {
describe,
it,
diff --git a/tests/src/background/api/filters/hit-stats.test.ts b/tests/src/background/api/filters/hit-stats.test.ts
index d3f1894c06..0fe5d1e71b 100644
--- a/tests/src/background/api/filters/hit-stats.test.ts
+++ b/tests/src/background/api/filters/hit-stats.test.ts
@@ -16,7 +16,7 @@ import { getRuleSetId, getRuleSetPath } from '@adguard/tsurlfilter/es/declarativ
import { network } from '../../../../../Extension/src/background/api/network';
import { HitStatsApi } from '../../../../../Extension/src/background/api/filters/hit-stats';
-import { FilterVersionData, HitStatsStorageData } from '../../../../../Extension/src/background/schema';
+import { type FilterVersionData, type HitStatsStorageData } from '../../../../../Extension/src/background/schema';
import {
AntiBannerFiltersId,
CUSTOM_FILTERS_START_ID,
diff --git a/tests/src/background/api/filters/update-metadata.test.ts b/tests/src/background/api/filters/update-metadata.test.ts
index 5723fe2ed7..efb112a0e3 100644
--- a/tests/src/background/api/filters/update-metadata.test.ts
+++ b/tests/src/background/api/filters/update-metadata.test.ts
@@ -1,4 +1,4 @@
-import { Storage } from 'webextension-polyfill';
+import { type Storage } from 'webextension-polyfill';
import sinon from 'sinon';
import {
afterEach,
diff --git a/tests/src/background/api/filters/update.test.ts b/tests/src/background/api/filters/update.test.ts
index 83a7cacd51..484377cbe7 100644
--- a/tests/src/background/api/filters/update.test.ts
+++ b/tests/src/background/api/filters/update.test.ts
@@ -1,4 +1,4 @@
-import { Storage } from 'webextension-polyfill';
+import { type Storage } from 'webextension-polyfill';
import {
afterEach,
beforeEach,
diff --git a/tests/src/background/api/page-stats.test.ts b/tests/src/background/api/page-stats.test.ts
index e0c641e257..aa0848da1f 100644
--- a/tests/src/background/api/page-stats.test.ts
+++ b/tests/src/background/api/page-stats.test.ts
@@ -1,5 +1,5 @@
import browser from 'sinon-chrome';
-import { Storage } from 'webextension-polyfill';
+import { type Storage } from 'webextension-polyfill';
import {
vi,
describe,
diff --git a/tests/src/background/api/safebrowsing.test.ts b/tests/src/background/api/safebrowsing.test.ts
index 3d43bf2d93..3309b718ab 100644
--- a/tests/src/background/api/safebrowsing.test.ts
+++ b/tests/src/background/api/safebrowsing.test.ts
@@ -1,5 +1,5 @@
import browser from 'sinon-chrome';
-import { Storage } from 'webextension-polyfill';
+import { type Storage } from 'webextension-polyfill';
import {
describe,
beforeEach,
diff --git a/tests/src/background/api/settings.test.ts b/tests/src/background/api/settings.test.ts
index 35728e1177..8ff2bb72ef 100644
--- a/tests/src/background/api/settings.test.ts
+++ b/tests/src/background/api/settings.test.ts
@@ -1,5 +1,5 @@
import browser from 'sinon-chrome';
-import { Storage } from 'webextension-polyfill';
+import { type Storage } from 'webextension-polyfill';
import {
vi,
describe,
@@ -18,7 +18,7 @@ import {
import {
Network,
SettingsApi,
- SettingsData,
+ type SettingsData,
} from '../../../../Extension/src/background/api';
import { App } from '../../../../Extension/src/background/app';
import {
diff --git a/tests/src/background/storages/browser-storage.test.ts b/tests/src/background/storages/browser-storage.test.ts
index 6b084a1fcf..c908060c90 100644
--- a/tests/src/background/storages/browser-storage.test.ts
+++ b/tests/src/background/storages/browser-storage.test.ts
@@ -1,4 +1,4 @@
-import browser, { Storage } from 'webextension-polyfill';
+import browser, { type Storage } from 'webextension-polyfill';
import {
afterEach,
beforeEach,
diff --git a/tests/src/background/storages/filters-adapter.test.ts b/tests/src/background/storages/filters-adapter.test.ts
index fb0ffb0a60..943f34fbd0 100644
--- a/tests/src/background/storages/filters-adapter.test.ts
+++ b/tests/src/background/storages/filters-adapter.test.ts
@@ -5,7 +5,7 @@ import {
describe,
expect,
it,
- MockInstance,
+ type MockInstance,
vi,
} from 'vitest';
diff --git a/tests/src/background/storages/hybrid-storage.test.ts b/tests/src/background/storages/hybrid-storage.test.ts
index 83c9fd2ce7..71bde84fce 100644
--- a/tests/src/background/storages/hybrid-storage.test.ts
+++ b/tests/src/background/storages/hybrid-storage.test.ts
@@ -1,4 +1,4 @@
-import browser, { Storage } from 'webextension-polyfill';
+import browser, { type Storage } from 'webextension-polyfill';
import { cloneDeep } from 'lodash-es';
import {
afterEach,
diff --git a/tools/browser-test/index.ts b/tools/browser-test/index.ts
index e50a3f36b3..41da82adee 100644
--- a/tools/browser-test/index.ts
+++ b/tools/browser-test/index.ts
@@ -45,7 +45,7 @@ import {
} from './test-constants';
import {
addQunitListeners,
- SerializedConfiguration,
+ type SerializedConfiguration,
setTsWebExtensionConfig,
waitUntilExtensionInitialized,
} from './page-injections';
@@ -55,7 +55,7 @@ import {
logTestResult,
logTestTimeout,
logTestUnknownError,
- TestDetails,
+ type TestDetails,
} from './logger';
import { Product } from './product';
import { TestStatus } from './text-color';
diff --git a/tools/browser-test/requests.ts b/tools/browser-test/requests.ts
index b714eeac54..088d6e553d 100644
--- a/tools/browser-test/requests.ts
+++ b/tools/browser-test/requests.ts
@@ -19,7 +19,7 @@
import axios from 'axios';
import { TESTCASES_BASE_URL, TESTCASES_DATA_PATH } from './test-constants';
-import { Testcase } from './testcase';
+import { type Testcase } from './testcase';
axios.defaults.baseURL = TESTCASES_BASE_URL;
diff --git a/tools/browser-test/testcase.ts b/tools/browser-test/testcase.ts
index 155bc425f6..97be8a118b 100644
--- a/tools/browser-test/testcase.ts
+++ b/tools/browser-test/testcase.ts
@@ -16,7 +16,7 @@
* along with AdGuard Browser Extension. If not, see .
*/
-import { Product } from './product';
+import { type Product } from './product';
/**
* Key is a product name,
diff --git a/tools/bundle/chrome-mv3/webpack.chrome-mv3.ts b/tools/bundle/chrome-mv3/webpack.chrome-mv3.ts
index 7ad6b74368..035fb684da 100644
--- a/tools/bundle/chrome-mv3/webpack.chrome-mv3.ts
+++ b/tools/bundle/chrome-mv3/webpack.chrome-mv3.ts
@@ -22,7 +22,7 @@ import { fileURLToPath } from 'node:url';
import CopyWebpackPlugin from 'copy-webpack-plugin';
import { merge } from 'webpack-merge';
-import type { Configuration } from 'webpack';
+import { type Configuration } from 'webpack';
import { RulesetsInjector } from '@adguard/dnr-rulesets';
diff --git a/tools/bundle/chrome/webpack.chrome.ts b/tools/bundle/chrome/webpack.chrome.ts
index 83ea1efb12..ffc3d6de1f 100644
--- a/tools/bundle/chrome/webpack.chrome.ts
+++ b/tools/bundle/chrome/webpack.chrome.ts
@@ -21,7 +21,7 @@ import { fileURLToPath } from 'node:url';
import CopyWebpackPlugin from 'copy-webpack-plugin';
import { merge } from 'webpack-merge';
-import { Configuration } from 'webpack';
+import { type Configuration } from 'webpack';
import { genMv2CommonConfig } from '../webpack.common-mv2';
import { CHROMIUM_DEVTOOLS_ENTRIES, CHROMIUM_DEVTOOLS_PAGES_PLUGINS } from '../webpack.common';
diff --git a/tools/bundle/common-constants.ts b/tools/bundle/common-constants.ts
index b5af7d6629..6aab5955aa 100644
--- a/tools/bundle/common-constants.ts
+++ b/tools/bundle/common-constants.ts
@@ -19,7 +19,7 @@
import path from 'node:path';
import { fileURLToPath } from 'node:url';
-import HtmlWebpackPlugin from 'html-webpack-plugin';
+import type HtmlWebpackPlugin from 'html-webpack-plugin';
import { Browser } from '../constants';
diff --git a/tools/bundle/edge/webpack.edge.ts b/tools/bundle/edge/webpack.edge.ts
index 0efd5ef6d4..289294f061 100644
--- a/tools/bundle/edge/webpack.edge.ts
+++ b/tools/bundle/edge/webpack.edge.ts
@@ -21,7 +21,7 @@ import { fileURLToPath } from 'node:url';
import CopyWebpackPlugin from 'copy-webpack-plugin';
import { merge } from 'webpack-merge';
-import { Configuration } from 'webpack';
+import { type Configuration } from 'webpack';
import { genMv2CommonConfig } from '../webpack.common-mv2';
import { CHROMIUM_DEVTOOLS_ENTRIES, CHROMIUM_DEVTOOLS_PAGES_PLUGINS } from '../webpack.common';
diff --git a/tools/bundle/firefox/webpack.firefox.ts b/tools/bundle/firefox/webpack.firefox.ts
index 1d1632220d..fbaed4f0bd 100644
--- a/tools/bundle/firefox/webpack.firefox.ts
+++ b/tools/bundle/firefox/webpack.firefox.ts
@@ -22,7 +22,7 @@ import { fileURLToPath } from 'node:url';
import CopyWebpackPlugin from 'copy-webpack-plugin';
import ZipWebpackPlugin from 'zip-webpack-plugin';
import { merge } from 'webpack-merge';
-import { WebpackPluginInstance } from 'webpack';
+import { type WebpackPluginInstance } from 'webpack';
import { genMv2CommonConfig } from '../webpack.common-mv2';
import { updateManifestBuffer } from '../../helpers';
diff --git a/tools/bundle/helpers.ts b/tools/bundle/helpers.ts
index 8d7b7382e5..fcfae557c0 100644
--- a/tools/bundle/helpers.ts
+++ b/tools/bundle/helpers.ts
@@ -17,8 +17,8 @@
*/
import {
- Browser,
- BuildTargetEnv,
+ type Browser,
+ type BuildTargetEnv,
ENV_CONF,
type EnvConfig,
} from '../constants';
diff --git a/tools/bundle/webpack.common.ts b/tools/bundle/webpack.common.ts
index c04ef50f74..b2823d057e 100644
--- a/tools/bundle/webpack.common.ts
+++ b/tools/bundle/webpack.common.ts
@@ -24,7 +24,7 @@ import CopyWebpackPlugin from 'copy-webpack-plugin';
import ZipWebpackPlugin from 'zip-webpack-plugin';
import { CleanWebpackPlugin } from 'clean-webpack-plugin';
// webpack.DefinePlugin is not named exported by webpack.
-import webpack, { Configuration, type EntryObject } from 'webpack';
+import webpack, { type Configuration, type EntryObject } from 'webpack';
import {
BUILD_PATH,
diff --git a/tools/helpers.ts b/tools/helpers.ts
index a7a7c47710..47c0ea3539 100644
--- a/tools/helpers.ts
+++ b/tools/helpers.ts
@@ -21,7 +21,7 @@ import path from 'node:path';
import { fileURLToPath } from 'node:url';
import { merge } from 'webpack-merge';
-import type { Manifest } from 'webextension-polyfill';
+import { type Manifest } from 'webextension-polyfill';
import { Redirects } from '@adguard/scriptlets/redirects';
diff --git a/tools/locales/download-locales.js b/tools/locales/download-locales.js
index f5f0a77dd5..e18aabc577 100644
--- a/tools/locales/download-locales.js
+++ b/tools/locales/download-locales.js
@@ -137,7 +137,9 @@ const shouldRetry = (errorMessage) => {
* @returns {Promise} Resolves after the specified delay.
*/
const delayExecution = (delay) => {
- return new Promise((resolve) => { setTimeout(resolve, delay); });
+ return new Promise((resolve) => {
+ setTimeout(resolve, delay);
+ });
};
/**
diff --git a/tools/resources/dangerous-rules/safety-checker.ts b/tools/resources/dangerous-rules/safety-checker.ts
index b68dfa64b9..e4b177d972 100644
--- a/tools/resources/dangerous-rules/safety-checker.ts
+++ b/tools/resources/dangerous-rules/safety-checker.ts
@@ -22,7 +22,7 @@ import 'dotenv/config';
import { dangerousRules } from './samples/dangerous';
import { safeRules } from './samples/safe';
-import { RuleSample } from './samples/samples-types';
+import { type RuleSample } from './samples/samples-types';
/**
* Result type.
diff --git a/tools/resources/dangerous-rules/samples/dangerous.ts b/tools/resources/dangerous-rules/samples/dangerous.ts
index 093d24ddaa..9d3e6102f4 100644
--- a/tools/resources/dangerous-rules/samples/dangerous.ts
+++ b/tools/resources/dangerous-rules/samples/dangerous.ts
@@ -17,7 +17,7 @@
* along with AdGuard Browser Extension. If not, see .
*/
-import { RuleSample } from './samples-types';
+import { type RuleSample } from './samples-types';
/**
* This is the list of dangerous rules used for creating prompt to open ai api.
diff --git a/tools/resources/dangerous-rules/samples/safe.ts b/tools/resources/dangerous-rules/samples/safe.ts
index 0d796574f6..1ec2962613 100644
--- a/tools/resources/dangerous-rules/samples/safe.ts
+++ b/tools/resources/dangerous-rules/samples/safe.ts
@@ -17,7 +17,7 @@
* along with AdGuard Browser Extension. If not, see .
*/
-import { RuleSample } from './samples-types';
+import { type RuleSample } from './samples-types';
/**
* List of the rules, which are considered to be safe. It used to prepare prompt to open ai api.
diff --git a/tools/resources/filter-extractor.ts b/tools/resources/filter-extractor.ts
index db1e045948..0b16aac1a1 100644
--- a/tools/resources/filter-extractor.ts
+++ b/tools/resources/filter-extractor.ts
@@ -23,7 +23,7 @@ import {
RuleSetByteRangeCategory,
} from '@adguard/tsurlfilter/es/declarative-converter';
import { getRuleSetPath } from '@adguard/tsurlfilter/es/declarative-converter-utils';
-import { ByteRange } from '@adguard/tsurlfilter';
+import { type ByteRange } from '@adguard/tsurlfilter';
/**
* Reads a specific byte range from a file.
diff --git a/vitest.setup.ts b/vitest.setup.ts
index c7bf7bdccf..010878cb6a 100644
--- a/vitest.setup.ts
+++ b/vitest.setup.ts
@@ -21,7 +21,7 @@ import browser from 'sinon-chrome';
import escape from 'css.escape';
// @ts-ignore
import chrome from 'sinon-chrome/extensions';
-import type { DebouncedFunc } from 'lodash-es/debounce';
+import { type DebouncedFunc } from 'lodash-es/debounce';
import { ResourceType } from '@adguard/tsurlfilter/es/declarative-converter';