diff --git a/apps/api/src/app/account/interfaces/cash-details.interface.ts b/apps/api/src/app/account/interfaces/cash-details.interface.ts index b396328a55..fa8b9beb3b 100644 --- a/apps/api/src/app/account/interfaces/cash-details.interface.ts +++ b/apps/api/src/app/account/interfaces/cash-details.interface.ts @@ -1,4 +1,4 @@ -import { AccountWithBalance } from '@ghostfolio/common/types'; +import type { AccountWithBalance } from '@ghostfolio/common/types'; export interface CashDetails { accounts: AccountWithBalance[]; diff --git a/apps/api/src/app/activities/activities.service.spec.ts b/apps/api/src/app/activities/activities.service.spec.ts index 09aa64b0e2..2d3ec48041 100644 --- a/apps/api/src/app/activities/activities.service.spec.ts +++ b/apps/api/src/app/activities/activities.service.spec.ts @@ -1,25 +1,22 @@ -import { AccountService } from '@ghostfolio/api/app/account/account.service'; +import type { AccountService } from '@ghostfolio/api/app/account/account.service'; import { activityDummyData, assetProfileDummyData } from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator-test-utils'; import { WHERE_ACTIVITY_NOT_DRAFT } from '@ghostfolio/api/helper/activity.helper'; -import { AssetProfileSplitService } from '@ghostfolio/api/services/asset-profile-split/asset-profile-split.service'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service'; -import { SymbolProfileService } from '@ghostfolio/api/services/symbol-profile/symbol-profile.service'; +import type { AssetProfileSplitService } from '@ghostfolio/api/services/asset-profile-split/asset-profile-split.service'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service'; +import type { SymbolProfileService } from '@ghostfolio/api/services/symbol-profile/symbol-profile.service'; import { INVESTMENT_ACTIVITY_TYPES, NON_INVESTMENT_ACTIVITY_TYPES } from '@ghostfolio/common/config'; import { parseDate } from '@ghostfolio/common/helper'; -import { Activity, Filter } from '@ghostfolio/common/interfaces'; +import type { Activity, Filter } from '@ghostfolio/common/interfaces'; -import { - AssetProfileSplit, - DataSource, - Type as ActivityType -} from '@prisma/client'; +import type { AssetProfileSplit } from '@prisma/client'; +import { DataSource, Type as ActivityType } from '@prisma/client'; import { Big } from 'big.js'; import { ActivitiesService } from './activities.service'; diff --git a/apps/api/src/app/app.module.spec.ts b/apps/api/src/app/app.module.spec.ts index 976e08393b..e79cbdf883 100644 --- a/apps/api/src/app/app.module.spec.ts +++ b/apps/api/src/app/app.module.spec.ts @@ -1,9 +1,5 @@ -import { - DynamicModule, - ForwardReference, - RequestMethod, - Type -} from '@nestjs/common'; +import type { DynamicModule, ForwardReference, Type } from '@nestjs/common'; +import { RequestMethod } from '@nestjs/common'; import { GUARDS_METADATA, METHOD_METADATA, diff --git a/apps/api/src/app/auth/interfaces/interfaces.ts b/apps/api/src/app/auth/interfaces/interfaces.ts index 7ddfe41d22..131d4e0212 100644 --- a/apps/api/src/app/auth/interfaces/interfaces.ts +++ b/apps/api/src/app/auth/interfaces/interfaces.ts @@ -1,6 +1,6 @@ -import { AuthDeviceDto } from '@ghostfolio/common/dtos'; +import type { AuthDeviceDto } from '@ghostfolio/common/dtos'; -import { Provider } from '@prisma/client'; +import type { Provider } from '@prisma/client'; export interface AuthDeviceDialogParams { authDevice: AuthDeviceDto; diff --git a/apps/api/src/app/auth/oidc.strategy.ts b/apps/api/src/app/auth/oidc.strategy.ts index 30c7673c76..e7fbd74fb9 100644 --- a/apps/api/src/app/auth/oidc.strategy.ts +++ b/apps/api/src/app/auth/oidc.strategy.ts @@ -2,7 +2,8 @@ import { Injectable, Logger } from '@nestjs/common'; import { PassportStrategy } from '@nestjs/passport'; import { Provider } from '@prisma/client'; import { Request } from 'express'; -import { Strategy, type StrategyOptions } from 'passport-openidconnect'; +import { Strategy } from 'passport-openidconnect'; +import type { StrategyOptions } from 'passport-openidconnect'; import { AuthService } from './auth.service'; import { diff --git a/apps/api/src/app/endpoints/asset-profiles/asset-profiles.service.spec.ts b/apps/api/src/app/endpoints/asset-profiles/asset-profiles.service.spec.ts index e6c483ebf6..9a7fcffd50 100644 --- a/apps/api/src/app/endpoints/asset-profiles/asset-profiles.service.spec.ts +++ b/apps/api/src/app/endpoints/asset-profiles/asset-profiles.service.spec.ts @@ -1,11 +1,12 @@ -import { ActivitiesService } from '@ghostfolio/api/app/activities/activities.service'; +import type { ActivitiesService } from '@ghostfolio/api/app/activities/activities.service'; import { PortfolioChangedEvent } from '@ghostfolio/api/events/portfolio-changed.event'; -import { AssetProfileSplitService } from '@ghostfolio/api/services/asset-profile-split/asset-profile-split.service'; -import { DataGatheringService } from '@ghostfolio/api/services/queues/data-gathering/data-gathering.service'; +import type { AssetProfileSplitService } from '@ghostfolio/api/services/asset-profile-split/asset-profile-split.service'; +import type { DataGatheringService } from '@ghostfolio/api/services/queues/data-gathering/data-gathering.service'; import { NotFoundException } from '@nestjs/common'; -import { EventEmitter2 } from '@nestjs/event-emitter'; -import { AssetProfileSplit, DataSource } from '@prisma/client'; +import type { EventEmitter2 } from '@nestjs/event-emitter'; +import type { AssetProfileSplit } from '@prisma/client'; +import { DataSource } from '@prisma/client'; import { AssetProfilesService } from './asset-profiles.service'; diff --git a/apps/api/src/app/endpoints/mcp/mcp.controller.spec.ts b/apps/api/src/app/endpoints/mcp/mcp.controller.spec.ts index e3c60d2829..af2499113e 100644 --- a/apps/api/src/app/endpoints/mcp/mcp.controller.spec.ts +++ b/apps/api/src/app/endpoints/mcp/mcp.controller.spec.ts @@ -2,10 +2,10 @@ import { REQUIRES_SCOPE_KEY } from '@ghostfolio/api/decorators/requires-scope.de import { McpToolExceptionFilter } from '@ghostfolio/api/filters/mcp-tool-exception.filter'; import { AccessGuard } from '@ghostfolio/api/guards/access.guard'; import { getMcpUserOfBearerToken } from '@ghostfolio/api/helper/bearer-token.helper'; +import type { Scope } from '@ghostfolio/common/scopes'; import { getScopesOfAccess, getScopesOfAccessLevel, - Scope, scopes } from '@ghostfolio/common/scopes'; @@ -13,13 +13,12 @@ import { EXCEPTION_FILTERS_METADATA, GUARDS_METADATA } from '@nestjs/common/constants'; +import type { AccessMatchMode, ToolMetadata } from '@rekog/mcp-nest'; import { - AccessMatchMode, MCP_SCOPES_MATCH_METADATA_KEY, MCP_SCOPES_METADATA_KEY, MCP_TOOL_METADATA_KEY, - ToolAuthorizationService, - ToolMetadata + ToolAuthorizationService } from '@rekog/mcp-nest'; import { GhostfolioMcpController } from './mcp.controller'; diff --git a/apps/api/src/app/endpoints/mcp/mcp.service.spec.ts b/apps/api/src/app/endpoints/mcp/mcp.service.spec.ts index a013341179..932f271b3e 100644 --- a/apps/api/src/app/endpoints/mcp/mcp.service.spec.ts +++ b/apps/api/src/app/endpoints/mcp/mcp.service.spec.ts @@ -1,16 +1,16 @@ import { ImportValidationError } from '@ghostfolio/api/app/import/errors/import-validation.error'; -import { ImportService } from '@ghostfolio/api/app/import/import.service'; -import { SymbolService } from '@ghostfolio/api/app/symbol/symbol.service'; -import { UserService } from '@ghostfolio/api/app/user/user.service'; +import type { ImportService } from '@ghostfolio/api/app/import/import.service'; +import type { SymbolService } from '@ghostfolio/api/app/symbol/symbol.service'; +import type { UserService } from '@ghostfolio/api/app/user/user.service'; import { encodeDataSource } from '@ghostfolio/api/helper/data-source.helper'; -import { ApiService } from '@ghostfolio/api/services/api/api.service'; -import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; -import { PortfolioTableService } from '@ghostfolio/api/services/portfolio-table/portfolio-table.service'; +import type { ApiService } from '@ghostfolio/api/services/api/api.service'; +import type { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; +import type { PortfolioTableService } from '@ghostfolio/api/services/portfolio-table/portfolio-table.service'; import { DEFAULT_LANGUAGE_CODE, MCP_MAX_ACTIVITIES } from '@ghostfolio/common/config'; -import { Activity, Filter } from '@ghostfolio/common/interfaces'; +import type { Activity, Filter } from '@ghostfolio/common/interfaces'; import { permissions } from '@ghostfolio/common/permissions'; import type { UserWithSettings } from '@ghostfolio/common/types'; diff --git a/apps/api/src/app/endpoints/mcp/mcp.test-utils.ts b/apps/api/src/app/endpoints/mcp/mcp.test-utils.ts index 84895a64ff..07ca54b810 100644 --- a/apps/api/src/app/endpoints/mcp/mcp.test-utils.ts +++ b/apps/api/src/app/endpoints/mcp/mcp.test-utils.ts @@ -1,6 +1,6 @@ import { Type as ActivityType } from '@prisma/client'; -import { ActivityToImport } from './types/activity-to-import.type'; +import type { ActivityToImport } from './types/activity-to-import.type'; export function createActivity( overrides: Partial = {} diff --git a/apps/api/src/app/endpoints/mcp/types/activity-to-import.type.ts b/apps/api/src/app/endpoints/mcp/types/activity-to-import.type.ts index 06375d2002..9ec4a4ad4a 100644 --- a/apps/api/src/app/endpoints/mcp/types/activity-to-import.type.ts +++ b/apps/api/src/app/endpoints/mcp/types/activity-to-import.type.ts @@ -1,6 +1,6 @@ -import { z } from 'zod'; +import type { z } from 'zod'; -import { IMPORT_ACTIVITIES_PARAMETERS } from '../mcp.schemas'; +import type { IMPORT_ACTIVITIES_PARAMETERS } from '../mcp.schemas'; export type ActivityToImport = z.infer< typeof IMPORT_ACTIVITIES_PARAMETERS diff --git a/apps/api/src/app/import/import.service.spec.ts b/apps/api/src/app/import/import.service.spec.ts index afabdbcb1f..223cd89542 100644 --- a/apps/api/src/app/import/import.service.spec.ts +++ b/apps/api/src/app/import/import.service.spec.ts @@ -1,20 +1,21 @@ -import { AccountService } from '@ghostfolio/api/app/account/account.service'; -import { ActivitiesService } from '@ghostfolio/api/app/activities/activities.service'; -import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; -import { DataProviderService } from '@ghostfolio/api/services/data-provider/data-provider.service'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { DataGatheringService } from '@ghostfolio/api/services/queues/data-gathering/data-gathering.service'; -import { TagService } from '@ghostfolio/api/services/tag/tag.service'; +import type { AccountService } from '@ghostfolio/api/app/account/account.service'; +import type { ActivitiesService } from '@ghostfolio/api/app/activities/activities.service'; +import type { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; +import type { DataProviderService } from '@ghostfolio/api/services/data-provider/data-provider.service'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { DataGatheringService } from '@ghostfolio/api/services/queues/data-gathering/data-gathering.service'; +import type { TagService } from '@ghostfolio/api/services/tag/tag.service'; import { NON_INVESTMENT_ACTIVITY_TYPES } from '@ghostfolio/common/config'; -import { CreateOrderDto } from '@ghostfolio/common/dtos'; +import type { CreateOrderDto } from '@ghostfolio/common/dtos'; import { getAssetProfileIdentifier } from '@ghostfolio/common/helper'; -import { +import type { Activity, AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; -import { UserWithSettings } from '@ghostfolio/common/types'; +import type { UserWithSettings } from '@ghostfolio/common/types'; -import { DataSource, SymbolProfile } from '@prisma/client'; +import type { SymbolProfile } from '@prisma/client'; +import { DataSource } from '@prisma/client'; import { parseISO } from 'date-fns'; import { ImportService } from './import.service'; diff --git a/apps/api/src/app/import/interfaces/asset-profile-to-create.interface.ts b/apps/api/src/app/import/interfaces/asset-profile-to-create.interface.ts index 2787b7eb1e..b5b62040bf 100644 --- a/apps/api/src/app/import/interfaces/asset-profile-to-create.interface.ts +++ b/apps/api/src/app/import/interfaces/asset-profile-to-create.interface.ts @@ -1,4 +1,4 @@ -import { Prisma } from '@prisma/client'; +import type { Prisma } from '@prisma/client'; export interface AssetProfileToCreate { assetProfile: Prisma.SymbolProfileCreateInput; diff --git a/apps/api/src/app/portfolio/calculator/mwr/portfolio-calculator.ts b/apps/api/src/app/portfolio/calculator/mwr/portfolio-calculator.ts index f83b175128..06e6630ef8 100644 --- a/apps/api/src/app/portfolio/calculator/mwr/portfolio-calculator.ts +++ b/apps/api/src/app/portfolio/calculator/mwr/portfolio-calculator.ts @@ -1,8 +1,8 @@ import { PortfolioCalculator } from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator'; -import { HoldingPerformance } from '@ghostfolio/api/app/portfolio/interfaces/holding-performance.interface'; -import { PerformancePercentages } from '@ghostfolio/api/app/portfolio/types/performance-percentages.type'; -import { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; -import { PortfolioSnapshot } from '@ghostfolio/common/models'; +import type { HoldingPerformance } from '@ghostfolio/api/app/portfolio/interfaces/holding-performance.interface'; +import type { PerformancePercentages } from '@ghostfolio/api/app/portfolio/types/performance-percentages.type'; +import type { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; +import type { PortfolioSnapshot } from '@ghostfolio/common/models'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; export class MwrPortfolioCalculator extends PortfolioCalculator { diff --git a/apps/api/src/app/portfolio/calculator/portfolio-calculator-test-utils.ts b/apps/api/src/app/portfolio/calculator/portfolio-calculator-test-utils.ts index fb88c8a7f1..d5759b5c1b 100644 --- a/apps/api/src/app/portfolio/calculator/portfolio-calculator-test-utils.ts +++ b/apps/api/src/app/portfolio/calculator/portfolio-calculator-test-utils.ts @@ -1,12 +1,12 @@ -import { PortfolioCalculator } from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator'; +import type { PortfolioCalculator } from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator'; import { getIntervalFromDateRange } from '@ghostfolio/common/calculation-helper'; import { parseDate } from '@ghostfolio/common/helper'; -import { +import type { Activity, ExportResponse, HistoricalDataItem } from '@ghostfolio/common/interfaces'; -import { DateRange } from '@ghostfolio/common/types'; +import type { DateRange } from '@ghostfolio/common/types'; import { readFileSync } from 'node:fs'; import { join } from 'node:path'; diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts index 54f1dfcb48..2627523392 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts @@ -13,7 +13,7 @@ import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate- import { PortfolioSnapshotService } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service'; import { PortfolioSnapshotServiceMock } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock'; import { parseDate } from '@ghostfolio/common/helper'; -import { Activity } from '@ghostfolio/common/interfaces'; +import type { Activity } from '@ghostfolio/common/interfaces'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; import { Big } from 'big.js'; diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur-in-base-currency-eur.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur-in-base-currency-eur.spec.ts index 5c78f8a42b..45645cb045 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur-in-base-currency-eur.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur-in-base-currency-eur.spec.ts @@ -15,7 +15,7 @@ import { ExchangeRateDataServiceMock } from '@ghostfolio/api/services/exchange-r import { PortfolioSnapshotService } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service'; import { PortfolioSnapshotServiceMock } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock'; import { parseDate } from '@ghostfolio/common/helper'; -import { Activity, ExportResponse } from '@ghostfolio/common/interfaces'; +import type { Activity, ExportResponse } from '@ghostfolio/common/interfaces'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; import { Big } from 'big.js'; diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur.spec.ts index ed8841b167..cb568aa7e0 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur.spec.ts @@ -14,7 +14,7 @@ import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate- import { PortfolioSnapshotService } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service'; import { PortfolioSnapshotServiceMock } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock'; import { parseDate } from '@ghostfolio/common/helper'; -import { Activity, ExportResponse } from '@ghostfolio/common/interfaces'; +import type { Activity, ExportResponse } from '@ghostfolio/common/interfaces'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; import { Big } from 'big.js'; diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-buy-before-first-market-price.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-buy-before-first-market-price.spec.ts index 6b3d9ce6d4..b6298bfa32 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-buy-before-first-market-price.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-buy-before-first-market-price.spec.ts @@ -13,7 +13,7 @@ import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate- import { PortfolioSnapshotService } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service'; import { PortfolioSnapshotServiceMock } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock'; import { parseDate } from '@ghostfolio/common/helper'; -import { Activity } from '@ghostfolio/common/interfaces'; +import type { Activity } from '@ghostfolio/common/interfaces'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => { diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-cash.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-cash.spec.ts index b98aa9e5f2..38eabe588f 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-cash.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-cash.spec.ts @@ -11,7 +11,7 @@ import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.s import { CurrentRateServiceMock } from '@ghostfolio/api/app/portfolio/current-rate.service.mock'; import { RedisCacheService } from '@ghostfolio/api/app/redis-cache/redis-cache.service'; import { RedisCacheServiceMock } from '@ghostfolio/api/app/redis-cache/redis-cache.service.mock'; -import { AssetProfileSplitService } from '@ghostfolio/api/services/asset-profile-split/asset-profile-split.service'; +import type { AssetProfileSplitService } from '@ghostfolio/api/services/asset-profile-split/asset-profile-split.service'; import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; import { DataProviderService } from '@ghostfolio/api/services/data-provider/data-provider.service'; import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; @@ -19,7 +19,7 @@ import { ExchangeRateDataServiceMock } from '@ghostfolio/api/services/exchange-r import { PortfolioSnapshotService } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service'; import { PortfolioSnapshotServiceMock } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock'; import { parseDate } from '@ghostfolio/common/helper'; -import { PortfolioSnapshotHolding } from '@ghostfolio/common/models'; +import type { PortfolioSnapshotHolding } from '@ghostfolio/common/models'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; import { DataSource } from '@prisma/client'; diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-fee.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-fee.spec.ts index 6e9a42e3e8..d549831cec 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-fee.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-fee.spec.ts @@ -13,7 +13,7 @@ import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate- import { PortfolioSnapshotService } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service'; import { PortfolioSnapshotServiceMock } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock'; import { parseDate } from '@ghostfolio/common/helper'; -import { Activity } from '@ghostfolio/common/interfaces'; +import type { Activity } from '@ghostfolio/common/interfaces'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; import { Big } from 'big.js'; diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-googl-buy.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-googl-buy.spec.ts index e048d2df51..41b3455008 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-googl-buy.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-googl-buy.spec.ts @@ -14,7 +14,7 @@ import { ExchangeRateDataServiceMock } from '@ghostfolio/api/services/exchange-r import { PortfolioSnapshotService } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service'; import { PortfolioSnapshotServiceMock } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock'; import { parseDate } from '@ghostfolio/common/helper'; -import { Activity } from '@ghostfolio/common/interfaces'; +import type { Activity } from '@ghostfolio/common/interfaces'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; import { Big } from 'big.js'; diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-googl-fee-and-dividend.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-googl-fee-and-dividend.spec.ts index ab9c24b4fb..90784b4231 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-googl-fee-and-dividend.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-googl-fee-and-dividend.spec.ts @@ -14,7 +14,7 @@ import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate- import { PortfolioSnapshotService } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service'; import { PortfolioSnapshotServiceMock } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock'; import { parseDate } from '@ghostfolio/common/helper'; -import { Activity } from '@ghostfolio/common/interfaces'; +import type { Activity } from '@ghostfolio/common/interfaces'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; import { Big } from 'big.js'; diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-liability.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-liability.spec.ts index 370205fc98..55141ef1bd 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-liability.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-liability.spec.ts @@ -13,7 +13,7 @@ import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate- import { PortfolioSnapshotService } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service'; import { PortfolioSnapshotServiceMock } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock'; import { parseDate } from '@ghostfolio/common/helper'; -import { Activity } from '@ghostfolio/common/interfaces'; +import type { Activity } from '@ghostfolio/common/interfaces'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; import { Big } from 'big.js'; diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-manual-buy-before-first-market-price.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-manual-buy-before-first-market-price.spec.ts index 135e6f6407..ef35526900 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-manual-buy-before-first-market-price.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-manual-buy-before-first-market-price.spec.ts @@ -13,7 +13,7 @@ import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate- import { PortfolioSnapshotService } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service'; import { PortfolioSnapshotServiceMock } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock'; import { parseDate } from '@ghostfolio/common/helper'; -import { Activity } from '@ghostfolio/common/interfaces'; +import type { Activity } from '@ghostfolio/common/interfaces'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => { diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-manual-buy-with-market-price-between-chart-dates.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-manual-buy-with-market-price-between-chart-dates.spec.ts index 989409e77b..582c4fd7ee 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-manual-buy-with-market-price-between-chart-dates.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-manual-buy-with-market-price-between-chart-dates.spec.ts @@ -13,7 +13,7 @@ import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate- import { PortfolioSnapshotService } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service'; import { PortfolioSnapshotServiceMock } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock'; import { parseDate } from '@ghostfolio/common/helper'; -import { Activity } from '@ghostfolio/common/interfaces'; +import type { Activity } from '@ghostfolio/common/interfaces'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; import { Big } from 'big.js'; diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-and-sell.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-and-sell.spec.ts index 1db23bc6cb..292bb483c2 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-and-sell.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-and-sell.spec.ts @@ -13,7 +13,7 @@ import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate- import { PortfolioSnapshotService } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service'; import { PortfolioSnapshotServiceMock } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock'; import { parseDate } from '@ghostfolio/common/helper'; -import { Activity } from '@ghostfolio/common/interfaces'; +import type { Activity } from '@ghostfolio/common/interfaces'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => { diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-from-two-data-sources.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-from-two-data-sources.spec.ts index 00b3ce4af1..d07317a322 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-from-two-data-sources.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-from-two-data-sources.spec.ts @@ -14,7 +14,7 @@ import { ExchangeRateDataServiceMock } from '@ghostfolio/api/services/exchange-r import { PortfolioSnapshotService } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service'; import { PortfolioSnapshotServiceMock } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock'; import { parseDate } from '@ghostfolio/common/helper'; -import { Activity } from '@ghostfolio/common/interfaces'; +import type { Activity } from '@ghostfolio/common/interfaces'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; import { Big } from 'big.js'; diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-stock-split.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-stock-split.spec.ts index f45e453734..b32b98931f 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-stock-split.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-stock-split.spec.ts @@ -14,10 +14,11 @@ import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate- import { PortfolioSnapshotService } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service'; import { PortfolioSnapshotServiceMock } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock'; import { parseDate } from '@ghostfolio/common/helper'; -import { Activity } from '@ghostfolio/common/interfaces'; +import type { Activity } from '@ghostfolio/common/interfaces'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; -import { AssetProfileSplit, DataSource } from '@prisma/client'; +import type { AssetProfileSplit } from '@prisma/client'; +import { DataSource } from '@prisma/client'; import { Big } from 'big.js'; jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => { diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-valuable.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-valuable.spec.ts index 3d0ab45f85..ac7115a746 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-valuable.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-valuable.spec.ts @@ -13,7 +13,7 @@ import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate- import { PortfolioSnapshotService } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service'; import { PortfolioSnapshotServiceMock } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock'; import { parseDate } from '@ghostfolio/common/helper'; -import { Activity } from '@ghostfolio/common/interfaces'; +import type { Activity } from '@ghostfolio/common/interfaces'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; import { Big } from 'big.js'; diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator.ts index c0b7337350..bcf047f905 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator.ts @@ -1,9 +1,9 @@ import { PortfolioCalculator } from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator'; -import { AccumulatedValues } from '@ghostfolio/api/app/portfolio/interfaces/accumulated-values.interface'; -import { HoldingPerformance } from '@ghostfolio/api/app/portfolio/interfaces/holding-performance.interface'; -import { PortfolioCalculatorActivityItem } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-calculator-activity-item.interface'; -import { PortfolioCalculatorHolding } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-calculator-holding.interface'; -import { PerformancePercentages } from '@ghostfolio/api/app/portfolio/types/performance-percentages.type'; +import type { AccumulatedValues } from '@ghostfolio/api/app/portfolio/interfaces/accumulated-values.interface'; +import type { HoldingPerformance } from '@ghostfolio/api/app/portfolio/interfaces/holding-performance.interface'; +import type { PortfolioCalculatorActivityItem } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-calculator-activity-item.interface'; +import type { PortfolioCalculatorHolding } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-calculator-holding.interface'; +import type { PerformancePercentages } from '@ghostfolio/api/app/portfolio/types/performance-percentages.type'; import { getAnnualizedPerformancePercent, getIntervalFromDateRange @@ -13,15 +13,15 @@ import { getAssetProfileIdentifier, parseDate } from '@ghostfolio/common/helper'; -import { +import type { AssetProfileIdentifier, HistoricalDataItem } from '@ghostfolio/common/interfaces'; -import { +import type { PortfolioSnapshot, PortfolioSnapshotHolding } from '@ghostfolio/common/models'; -import { DateRange } from '@ghostfolio/common/types'; +import type { DateRange } from '@ghostfolio/common/types'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; import { Big } from 'big.js'; diff --git a/apps/api/src/app/portfolio/calculator/roi/portfolio-calculator.ts b/apps/api/src/app/portfolio/calculator/roi/portfolio-calculator.ts index 862febf5db..9d74e0d9a8 100644 --- a/apps/api/src/app/portfolio/calculator/roi/portfolio-calculator.ts +++ b/apps/api/src/app/portfolio/calculator/roi/portfolio-calculator.ts @@ -1,8 +1,8 @@ import { PortfolioCalculator } from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator'; -import { HoldingPerformance } from '@ghostfolio/api/app/portfolio/interfaces/holding-performance.interface'; -import { PerformancePercentages } from '@ghostfolio/api/app/portfolio/types/performance-percentages.type'; -import { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; -import { PortfolioSnapshot } from '@ghostfolio/common/models'; +import type { HoldingPerformance } from '@ghostfolio/api/app/portfolio/interfaces/holding-performance.interface'; +import type { PerformancePercentages } from '@ghostfolio/api/app/portfolio/types/performance-percentages.type'; +import type { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; +import type { PortfolioSnapshot } from '@ghostfolio/common/models'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; export class RoiPortfolioCalculator extends PortfolioCalculator { diff --git a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts index cad53c31ab..1cd46016f1 100644 --- a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts @@ -1,8 +1,8 @@ import { PortfolioCalculator } from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator'; -import { HoldingPerformance } from '@ghostfolio/api/app/portfolio/interfaces/holding-performance.interface'; -import { PerformancePercentages } from '@ghostfolio/api/app/portfolio/types/performance-percentages.type'; -import { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; -import { PortfolioSnapshot } from '@ghostfolio/common/models'; +import type { HoldingPerformance } from '@ghostfolio/api/app/portfolio/interfaces/holding-performance.interface'; +import type { PerformancePercentages } from '@ghostfolio/api/app/portfolio/types/performance-percentages.type'; +import type { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; +import type { PortfolioSnapshot } from '@ghostfolio/common/models'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; export class TwrPortfolioCalculator extends PortfolioCalculator { diff --git a/apps/api/src/app/portfolio/current-rate.service.mock.ts b/apps/api/src/app/portfolio/current-rate.service.mock.ts index 18739ddab5..6f06e5a031 100644 --- a/apps/api/src/app/portfolio/current-rate.service.mock.ts +++ b/apps/api/src/app/portfolio/current-rate.service.mock.ts @@ -9,9 +9,9 @@ import { isSameDay } from 'date-fns'; -import { GetValueObject } from './interfaces/get-value-object.interface'; -import { GetValuesObject } from './interfaces/get-values-object.interface'; -import { GetValuesParams } from './interfaces/get-values-params.interface'; +import type { GetValueObject } from './interfaces/get-value-object.interface'; +import type { GetValuesObject } from './interfaces/get-values-object.interface'; +import type { GetValuesParams } from './interfaces/get-values-params.interface'; function mockGetValue({ dataSource, diff --git a/apps/api/src/app/portfolio/current-rate.service.spec.ts b/apps/api/src/app/portfolio/current-rate.service.spec.ts index e7128b1389..82105f30c6 100644 --- a/apps/api/src/app/portfolio/current-rate.service.spec.ts +++ b/apps/api/src/app/portfolio/current-rate.service.spec.ts @@ -1,21 +1,17 @@ -import { ActivitiesService } from '@ghostfolio/api/app/activities/activities.service'; +import type { ActivitiesService } from '@ghostfolio/api/app/activities/activities.service'; import { DataProviderService } from '@ghostfolio/api/services/data-provider/data-provider.service'; import { MarketDataService } from '@ghostfolio/api/services/market-data/market-data.service'; import { PropertyService } from '@ghostfolio/api/services/property/property.service'; import { resetHours } from '@ghostfolio/common/helper'; -import { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; +import type { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; -import { - DataSource, - MarketData, - Order, - Type as ActivityType -} from '@prisma/client'; +import type { MarketData, Order } from '@prisma/client'; +import { DataSource, Type as ActivityType } from '@prisma/client'; import { addDays, subDays } from 'date-fns'; import { CurrentRateService } from './current-rate.service'; -import { DateQuery } from './interfaces/date-query.interface'; -import { GetValuesObject } from './interfaces/get-values-object.interface'; +import type { DateQuery } from './interfaces/date-query.interface'; +import type { GetValuesObject } from './interfaces/get-values-object.interface'; jest.mock('@ghostfolio/api/services/market-data/market-data.service', () => { return { diff --git a/apps/api/src/app/portfolio/interfaces/accumulated-values.interface.ts b/apps/api/src/app/portfolio/interfaces/accumulated-values.interface.ts index 3810cbdeca..363af39d32 100644 --- a/apps/api/src/app/portfolio/interfaces/accumulated-values.interface.ts +++ b/apps/api/src/app/portfolio/interfaces/accumulated-values.interface.ts @@ -1,4 +1,4 @@ -import { Big } from 'big.js'; +import type { Big } from 'big.js'; export interface AccumulatedValues { investmentValueWithCurrencyEffect: Big; diff --git a/apps/api/src/app/portfolio/interfaces/get-value-object.interface.ts b/apps/api/src/app/portfolio/interfaces/get-value-object.interface.ts index 34b4266932..83fd9c7357 100644 --- a/apps/api/src/app/portfolio/interfaces/get-value-object.interface.ts +++ b/apps/api/src/app/portfolio/interfaces/get-value-object.interface.ts @@ -1,4 +1,4 @@ -import { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; +import type { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; export interface GetValueObject extends AssetProfileIdentifier { date: Date; diff --git a/apps/api/src/app/portfolio/interfaces/get-values-object.interface.ts b/apps/api/src/app/portfolio/interfaces/get-values-object.interface.ts index ef6cb8f96c..17612a5984 100644 --- a/apps/api/src/app/portfolio/interfaces/get-values-object.interface.ts +++ b/apps/api/src/app/portfolio/interfaces/get-values-object.interface.ts @@ -1,6 +1,9 @@ -import { DataProviderInfo, ResponseError } from '@ghostfolio/common/interfaces'; +import type { + DataProviderInfo, + ResponseError +} from '@ghostfolio/common/interfaces'; -import { GetValueObject } from './get-value-object.interface'; +import type { GetValueObject } from './get-value-object.interface'; export interface GetValuesObject { dataProviderInfos: DataProviderInfo[]; diff --git a/apps/api/src/app/portfolio/interfaces/get-values-params.interface.ts b/apps/api/src/app/portfolio/interfaces/get-values-params.interface.ts index e74c501be6..e2bc00cdf5 100644 --- a/apps/api/src/app/portfolio/interfaces/get-values-params.interface.ts +++ b/apps/api/src/app/portfolio/interfaces/get-values-params.interface.ts @@ -1,7 +1,7 @@ -import { DataGatheringItem } from '@ghostfolio/api/services/interfaces/interfaces'; -import { SubscriptionType } from '@ghostfolio/common/enums'; +import type { DataGatheringItem } from '@ghostfolio/api/services/interfaces/interfaces'; +import type { SubscriptionType } from '@ghostfolio/common/enums'; -import { DateQuery } from './date-query.interface'; +import type { DateQuery } from './date-query.interface'; export interface GetValuesParams { dataGatheringItems: DataGatheringItem[]; diff --git a/apps/api/src/app/portfolio/interfaces/holding-balance.interface.ts b/apps/api/src/app/portfolio/interfaces/holding-balance.interface.ts index 2eace0ccbd..b0a3af8c54 100644 --- a/apps/api/src/app/portfolio/interfaces/holding-balance.interface.ts +++ b/apps/api/src/app/portfolio/interfaces/holding-balance.interface.ts @@ -1,5 +1,5 @@ -import { AssetSubClass, DataSource, Tag } from '@prisma/client'; -import { Big } from 'big.js'; +import type { AssetSubClass, DataSource, Tag } from '@prisma/client'; +import type { Big } from 'big.js'; export interface HoldingBalance { activitiesCount: number; diff --git a/apps/api/src/app/portfolio/interfaces/holding-balances-at-date.interface.ts b/apps/api/src/app/portfolio/interfaces/holding-balances-at-date.interface.ts index 0cfd21f3e3..64ce20768e 100644 --- a/apps/api/src/app/portfolio/interfaces/holding-balances-at-date.interface.ts +++ b/apps/api/src/app/portfolio/interfaces/holding-balances-at-date.interface.ts @@ -1,4 +1,4 @@ -import { HoldingBalance } from './holding-balance.interface'; +import type { HoldingBalance } from './holding-balance.interface'; export interface HoldingBalancesAtDate { date: string; diff --git a/apps/api/src/app/portfolio/interfaces/holding-performance.interface.ts b/apps/api/src/app/portfolio/interfaces/holding-performance.interface.ts index 0c35ab96be..cfa90916e0 100644 --- a/apps/api/src/app/portfolio/interfaces/holding-performance.interface.ts +++ b/apps/api/src/app/portfolio/interfaces/holding-performance.interface.ts @@ -1,6 +1,6 @@ -import { DateRange } from '@ghostfolio/common/types'; +import type { DateRange } from '@ghostfolio/common/types'; -import { Big } from 'big.js'; +import type { Big } from 'big.js'; export interface HoldingPerformance { averageInvestment: Big; diff --git a/apps/api/src/app/portfolio/interfaces/holding-valuation-item.interface.ts b/apps/api/src/app/portfolio/interfaces/holding-valuation-item.interface.ts index 9a5ff4fcd2..8e6a0e1b5a 100644 --- a/apps/api/src/app/portfolio/interfaces/holding-valuation-item.interface.ts +++ b/apps/api/src/app/portfolio/interfaces/holding-valuation-item.interface.ts @@ -1,6 +1,6 @@ -import { Big } from 'big.js'; +import type { Big } from 'big.js'; -import { PortfolioCalculatorActivityItem } from './portfolio-calculator-activity-item.interface'; +import type { PortfolioCalculatorActivityItem } from './portfolio-calculator-activity-item.interface'; export interface HoldingValuationItem extends Pick< PortfolioCalculatorActivityItem, diff --git a/apps/api/src/app/portfolio/interfaces/holding-valuation.interface.ts b/apps/api/src/app/portfolio/interfaces/holding-valuation.interface.ts index 9e13fb70b4..ef8d4f7689 100644 --- a/apps/api/src/app/portfolio/interfaces/holding-valuation.interface.ts +++ b/apps/api/src/app/portfolio/interfaces/holding-valuation.interface.ts @@ -1,6 +1,6 @@ -import { Big } from 'big.js'; +import type { Big } from 'big.js'; -import { HoldingValuationItem } from './holding-valuation-item.interface'; +import type { HoldingValuationItem } from './holding-valuation-item.interface'; export interface HoldingValuation { currentValues: { [date: string]: Big }; diff --git a/apps/api/src/app/portfolio/interfaces/portfolio-calculator-activity-item.interface.ts b/apps/api/src/app/portfolio/interfaces/portfolio-calculator-activity-item.interface.ts index 7ed82ea0fb..cbdfc49f79 100644 --- a/apps/api/src/app/portfolio/interfaces/portfolio-calculator-activity-item.interface.ts +++ b/apps/api/src/app/portfolio/interfaces/portfolio-calculator-activity-item.interface.ts @@ -1,6 +1,6 @@ -import { Big } from 'big.js'; +import type { Big } from 'big.js'; -import { PortfolioCalculatorActivity } from './portfolio-calculator-activity.interface'; +import type { PortfolioCalculatorActivity } from './portfolio-calculator-activity.interface'; export interface PortfolioCalculatorActivityItem extends PortfolioCalculatorActivity { feeInBaseCurrencyWithCurrencyEffect?: Big; diff --git a/apps/api/src/app/portfolio/interfaces/portfolio-calculator-activity.interface.ts b/apps/api/src/app/portfolio/interfaces/portfolio-calculator-activity.interface.ts index 811e774175..ebac57ec6f 100644 --- a/apps/api/src/app/portfolio/interfaces/portfolio-calculator-activity.interface.ts +++ b/apps/api/src/app/portfolio/interfaces/portfolio-calculator-activity.interface.ts @@ -1,4 +1,4 @@ -import { Activity } from '@ghostfolio/common/interfaces'; +import type { Activity } from '@ghostfolio/common/interfaces'; export interface PortfolioCalculatorActivity extends Pick< Activity, diff --git a/apps/api/src/app/portfolio/interfaces/portfolio-calculator-holding.interface.ts b/apps/api/src/app/portfolio/interfaces/portfolio-calculator-holding.interface.ts index fe4a82566d..64489dadd1 100644 --- a/apps/api/src/app/portfolio/interfaces/portfolio-calculator-holding.interface.ts +++ b/apps/api/src/app/portfolio/interfaces/portfolio-calculator-holding.interface.ts @@ -1,4 +1,4 @@ -import { PortfolioSnapshotHolding } from '@ghostfolio/common/models'; +import type { PortfolioSnapshotHolding } from '@ghostfolio/common/models'; export interface PortfolioCalculatorHolding extends PortfolioSnapshotHolding { includeInHoldings: boolean; diff --git a/apps/api/src/app/portfolio/portfolio.service.spec.ts b/apps/api/src/app/portfolio/portfolio.service.spec.ts index 19af3615bc..d828bfffa6 100644 --- a/apps/api/src/app/portfolio/portfolio.service.spec.ts +++ b/apps/api/src/app/portfolio/portfolio.service.spec.ts @@ -1,7 +1,7 @@ import { AccountService } from '@ghostfolio/api/app/account/account.service'; -import { CashDetails } from '@ghostfolio/api/app/account/interfaces/cash-details.interface'; +import type { CashDetails } from '@ghostfolio/api/app/account/interfaces/cash-details.interface'; import { ActivitiesService } from '@ghostfolio/api/app/activities/activities.service'; -import { PortfolioCalculator } from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator'; +import type { PortfolioCalculator } from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator'; import { userDummyData } from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator-test-utils'; import { PortfolioCalculatorFactory } from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator.factory'; import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service'; @@ -16,15 +16,16 @@ import { UNKNOWN_KEY } from '@ghostfolio/common/config'; import { parseDate } from '@ghostfolio/common/helper'; -import { +import type { Activity, AssetProfileIdentifier, Filter, PortfolioSummary } from '@ghostfolio/common/interfaces'; -import { AccountWithBalance } from '@ghostfolio/common/types'; +import type { AccountWithBalance } from '@ghostfolio/common/types'; -import { AssetClass, DataSource, Prisma } from '@prisma/client'; +import type { Prisma } from '@prisma/client'; +import { AssetClass, DataSource } from '@prisma/client'; import { Big } from 'big.js'; import { randomUUID } from 'node:crypto'; diff --git a/apps/api/src/app/portfolio/types/performance-percentages.type.ts b/apps/api/src/app/portfolio/types/performance-percentages.type.ts index 590e25895a..a5f3627348 100644 --- a/apps/api/src/app/portfolio/types/performance-percentages.type.ts +++ b/apps/api/src/app/portfolio/types/performance-percentages.type.ts @@ -1,4 +1,4 @@ -import { HistoricalDataItem } from '@ghostfolio/common/interfaces'; +import type { HistoricalDataItem } from '@ghostfolio/common/interfaces'; export type PerformancePercentages = Required< Pick< diff --git a/apps/api/src/app/redis-cache/redis-cache.service.mock.ts b/apps/api/src/app/redis-cache/redis-cache.service.mock.ts index 78ecda1c9d..f7be79b7de 100644 --- a/apps/api/src/app/redis-cache/redis-cache.service.mock.ts +++ b/apps/api/src/app/redis-cache/redis-cache.service.mock.ts @@ -1,5 +1,5 @@ -import { Filter } from '@ghostfolio/common/interfaces'; -import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; +import type { Filter } from '@ghostfolio/common/interfaces'; +import type { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; export const RedisCacheServiceMock = { cache: new Map(), diff --git a/apps/api/src/decorators/impersonation.decorator.ts b/apps/api/src/decorators/impersonation.decorator.ts index fd5fcf955a..c1fd19a9c7 100644 --- a/apps/api/src/decorators/impersonation.decorator.ts +++ b/apps/api/src/decorators/impersonation.decorator.ts @@ -4,9 +4,9 @@ import type { RequestWithUser } from '@ghostfolio/common/types'; +import type { ExecutionContext } from '@nestjs/common'; import { createParamDecorator, - ExecutionContext, InternalServerErrorException } from '@nestjs/common'; diff --git a/apps/api/src/decorators/requires-scope-of-access.decorator.ts b/apps/api/src/decorators/requires-scope-of-access.decorator.ts index f0d35effcb..bfdf7ccf0c 100644 --- a/apps/api/src/decorators/requires-scope-of-access.decorator.ts +++ b/apps/api/src/decorators/requires-scope-of-access.decorator.ts @@ -1,7 +1,7 @@ import { REQUIRES_SCOPE_KEY } from '@ghostfolio/api/decorators/requires-scope.decorator'; import { AccessGuard } from '@ghostfolio/api/guards/access.guard'; import { ScopeGuard } from '@ghostfolio/api/guards/scope.guard'; -import { Scope } from '@ghostfolio/common/scopes'; +import type { Scope } from '@ghostfolio/common/scopes'; import { applyDecorators, SetMetadata, UseGuards } from '@nestjs/common'; import { ToolScopes } from '@rekog/mcp-nest'; diff --git a/apps/api/src/decorators/requires-scope.decorator.ts b/apps/api/src/decorators/requires-scope.decorator.ts index dab8379550..ca8ed91c0f 100644 --- a/apps/api/src/decorators/requires-scope.decorator.ts +++ b/apps/api/src/decorators/requires-scope.decorator.ts @@ -1,7 +1,7 @@ import { HasPermissionGuard } from '@ghostfolio/api/guards/has-permission.guard'; import { ImpersonationGuard } from '@ghostfolio/api/guards/impersonation.guard'; import { ScopeGuard } from '@ghostfolio/api/guards/scope.guard'; -import { Scope } from '@ghostfolio/common/scopes'; +import type { Scope } from '@ghostfolio/common/scopes'; import { applyDecorators, SetMetadata, UseGuards } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; diff --git a/apps/api/src/events/asset-profile-changed.event.ts b/apps/api/src/events/asset-profile-changed.event.ts index c08fe59f1a..6381350e22 100644 --- a/apps/api/src/events/asset-profile-changed.event.ts +++ b/apps/api/src/events/asset-profile-changed.event.ts @@ -1,4 +1,4 @@ -import { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; +import type { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; export class AssetProfileChangedEvent { public constructor( diff --git a/apps/api/src/guards/impersonation-write.guard.spec.ts b/apps/api/src/guards/impersonation-write.guard.spec.ts index e70e4b2ca3..b624d74a86 100644 --- a/apps/api/src/guards/impersonation-write.guard.spec.ts +++ b/apps/api/src/guards/impersonation-write.guard.spec.ts @@ -1,10 +1,11 @@ import { ALLOW_DURING_IMPERSONATION_KEY } from '@ghostfolio/api/decorators/allow-during-impersonation.decorator'; import { REQUIRES_SCOPE_KEY } from '@ghostfolio/api/decorators/requires-scope.decorator'; import { HEADER_KEY_IMPERSONATION } from '@ghostfolio/common/config'; -import { Scope, scopes } from '@ghostfolio/common/scopes'; +import type { Scope } from '@ghostfolio/common/scopes'; +import { scopes } from '@ghostfolio/common/scopes'; import { HttpException } from '@nestjs/common'; -import { Reflector } from '@nestjs/core'; +import type { Reflector } from '@nestjs/core'; import { ExecutionContextHost } from '@nestjs/core/helpers/execution-context-host'; import { ImpersonationWriteGuard } from './impersonation-write.guard'; diff --git a/apps/api/src/guards/impersonation.guard.spec.ts b/apps/api/src/guards/impersonation.guard.spec.ts index 50f0d4757c..2c4d0597ef 100644 --- a/apps/api/src/guards/impersonation.guard.spec.ts +++ b/apps/api/src/guards/impersonation.guard.spec.ts @@ -1,4 +1,4 @@ -import { ImpersonationService } from '@ghostfolio/api/services/impersonation/impersonation.service'; +import type { ImpersonationService } from '@ghostfolio/api/services/impersonation/impersonation.service'; import { HEADER_KEY_IMPERSONATION, HTTP_RESPONSE_MESSAGE_IMPERSONATION_UNRESOLVED diff --git a/apps/api/src/guards/oauth-callback.guard.ts b/apps/api/src/guards/oauth-callback.guard.ts index a89d77daa0..110879e88f 100644 --- a/apps/api/src/guards/oauth-callback.guard.ts +++ b/apps/api/src/guards/oauth-callback.guard.ts @@ -1,5 +1,7 @@ -import { Logger, mixin, Type } from '@nestjs/common'; -import { AuthGuard, IAuthGuard } from '@nestjs/passport'; +import type { Type } from '@nestjs/common'; +import { Logger, mixin } from '@nestjs/common'; +import type { IAuthGuard } from '@nestjs/passport'; +import { AuthGuard } from '@nestjs/passport'; export function OAuthCallbackGuard(strategy: string): Type { class OAuthCallbackGuardMixin extends AuthGuard(strategy) { diff --git a/apps/api/src/guards/scope.guard.spec.ts b/apps/api/src/guards/scope.guard.spec.ts index 5b5ab4f3ce..08e45fc798 100644 --- a/apps/api/src/guards/scope.guard.spec.ts +++ b/apps/api/src/guards/scope.guard.spec.ts @@ -1,7 +1,8 @@ -import { Scope, scopes } from '@ghostfolio/common/scopes'; +import type { Scope } from '@ghostfolio/common/scopes'; +import { scopes } from '@ghostfolio/common/scopes'; import { HttpException } from '@nestjs/common'; -import { Reflector } from '@nestjs/core'; +import type { Reflector } from '@nestjs/core'; import { ExecutionContextHost } from '@nestjs/core/helpers/execution-context-host'; import { ScopeGuard } from './scope.guard'; diff --git a/apps/api/src/helper/account.helper.ts b/apps/api/src/helper/account.helper.ts index 0ae1ae743f..97aacb1824 100644 --- a/apps/api/src/helper/account.helper.ts +++ b/apps/api/src/helper/account.helper.ts @@ -1,7 +1,7 @@ import { TAG_ID_EXCLUDE_FROM_ANALYSIS } from '@ghostfolio/common/config'; import { getStartOfUtcDateOfTomorrow } from '@ghostfolio/common/helper'; -import { Prisma } from '@prisma/client'; +import type { Prisma } from '@prisma/client'; import { isAfter } from 'date-fns'; export const WHERE_ACCOUNT_NOT_EXCLUDED: Prisma.AccountWhereInput = { diff --git a/apps/api/src/helper/activity.helper.ts b/apps/api/src/helper/activity.helper.ts index f7cb20505e..e92daa7f14 100644 --- a/apps/api/src/helper/activity.helper.ts +++ b/apps/api/src/helper/activity.helper.ts @@ -3,7 +3,7 @@ import { TAG_ID_DRAFT } from '@ghostfolio/common/config'; -import { Prisma, Type as ActivityType } from '@prisma/client'; +import type { Prisma, Type as ActivityType } from '@prisma/client'; import { endOfToday, isAfter } from 'date-fns'; import { uniqBy } from 'lodash-es'; diff --git a/apps/api/src/helper/data-source.helper.spec.ts b/apps/api/src/helper/data-source.helper.spec.ts index 3bfef82add..1514f34b18 100644 --- a/apps/api/src/helper/data-source.helper.spec.ts +++ b/apps/api/src/helper/data-source.helper.spec.ts @@ -1,4 +1,4 @@ -import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; +import type { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; import { DataSource } from '@prisma/client'; diff --git a/apps/api/src/helper/data-source.helper.ts b/apps/api/src/helper/data-source.helper.ts index fb0ded3f1f..94c165b2d8 100644 --- a/apps/api/src/helper/data-source.helper.ts +++ b/apps/api/src/helper/data-source.helper.ts @@ -1,6 +1,7 @@ -import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; +import type { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; -import { DataSource, Prisma } from '@prisma/client'; +import type { Prisma } from '@prisma/client'; +import { DataSource } from '@prisma/client'; import { isEmpty } from 'lodash-es'; import { createHash } from 'node:crypto'; diff --git a/apps/api/src/helper/execution-context.helper.ts b/apps/api/src/helper/execution-context.helper.ts index 74eca7af78..1361d18040 100644 --- a/apps/api/src/helper/execution-context.helper.ts +++ b/apps/api/src/helper/execution-context.helper.ts @@ -1,4 +1,4 @@ -import { ExecutionContext } from '@nestjs/common'; +import type { ExecutionContext } from '@nestjs/common'; /** * Gives the underlying HTTP request of a request of any kind. A tool of the diff --git a/apps/api/src/helper/interfaces/table-parameters.interface.ts b/apps/api/src/helper/interfaces/table-parameters.interface.ts index 7ab9d7800d..21fb2ed8e6 100644 --- a/apps/api/src/helper/interfaces/table-parameters.interface.ts +++ b/apps/api/src/helper/interfaces/table-parameters.interface.ts @@ -1,4 +1,4 @@ -import { TableColumnDefinition } from './table-column-definition.interface'; +import type { TableColumnDefinition } from './table-column-definition.interface'; export interface TableParameters { columnDefinitions: readonly TableColumnDefinition[]; diff --git a/apps/api/src/helper/markdown-table.helper.spec.ts b/apps/api/src/helper/markdown-table.helper.spec.ts index fa1161738b..a0e293c769 100644 --- a/apps/api/src/helper/markdown-table.helper.spec.ts +++ b/apps/api/src/helper/markdown-table.helper.spec.ts @@ -1,4 +1,4 @@ -import { TableColumnDefinition } from './interfaces/table-column-definition.interface'; +import type { TableColumnDefinition } from './interfaces/table-column-definition.interface'; import { getTableInput } from './markdown-table.helper'; interface Holding { diff --git a/apps/api/src/helper/markdown-table.helper.ts b/apps/api/src/helper/markdown-table.helper.ts index 3bc8a7a8c7..3e4190ac25 100644 --- a/apps/api/src/helper/markdown-table.helper.ts +++ b/apps/api/src/helper/markdown-table.helper.ts @@ -1,4 +1,4 @@ -import { TableParameters } from './interfaces/table-parameters.interface'; +import type { TableParameters } from './interfaces/table-parameters.interface'; /** * Gives the columns and the rows in the form which the renderer takes, with diff --git a/apps/api/src/helper/object.helper.spec.ts b/apps/api/src/helper/object.helper.spec.ts index 773b7905ae..2e23c44ab7 100644 --- a/apps/api/src/helper/object.helper.spec.ts +++ b/apps/api/src/helper/object.helper.spec.ts @@ -1,5 +1,5 @@ import { DEFAULT_REDACTED_PATHS } from '@ghostfolio/common/config'; -import { PortfolioDetails } from '@ghostfolio/common/interfaces'; +import type { PortfolioDetails } from '@ghostfolio/common/interfaces'; import { query, redactPaths } from './object.helper'; diff --git a/apps/api/src/helper/portfolio.helper.ts b/apps/api/src/helper/portfolio.helper.ts index b8152414bb..b2f0dbc95e 100644 --- a/apps/api/src/helper/portfolio.helper.ts +++ b/apps/api/src/helper/portfolio.helper.ts @@ -1,6 +1,6 @@ -import { PortfolioDetails } from '@ghostfolio/common/interfaces'; +import type { PortfolioDetails } from '@ghostfolio/common/interfaces'; -import { Type as ActivityType } from '@prisma/client'; +import type { Type as ActivityType } from '@prisma/client'; export function convertValuesToPercentages({ accounts, diff --git a/apps/api/src/helper/redis.helper.ts b/apps/api/src/helper/redis.helper.ts index 81fe905eb5..8e33b1cf6e 100644 --- a/apps/api/src/helper/redis.helper.ts +++ b/apps/api/src/helper/redis.helper.ts @@ -1,4 +1,4 @@ -import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; +import type { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; export function getRedisConnectionOptions( configurationService: ConfigurationService diff --git a/apps/api/src/helper/sector.helper.ts b/apps/api/src/helper/sector.helper.ts index e0face3865..df683f7839 100644 --- a/apps/api/src/helper/sector.helper.ts +++ b/apps/api/src/helper/sector.helper.ts @@ -1,5 +1,5 @@ import { SECTORS } from '@ghostfolio/common/config'; -import { SectorName } from '@ghostfolio/common/types'; +import type { SectorName } from '@ghostfolio/common/types'; import { Logger } from '@nestjs/common'; diff --git a/apps/api/src/helper/security-headers.helper.spec.ts b/apps/api/src/helper/security-headers.helper.spec.ts index 1d5f0ac03f..6bcfd2e818 100644 --- a/apps/api/src/helper/security-headers.helper.spec.ts +++ b/apps/api/src/helper/security-headers.helper.spec.ts @@ -1,5 +1,5 @@ import helmet from 'helmet'; -import { IncomingMessage, ServerResponse } from 'node:http'; +import type { IncomingMessage, ServerResponse } from 'node:http'; import { getHelmetOptions } from './security-headers.helper'; diff --git a/apps/api/src/helper/security-headers.helper.ts b/apps/api/src/helper/security-headers.helper.ts index f983bdc900..64365d16ef 100644 --- a/apps/api/src/helper/security-headers.helper.ts +++ b/apps/api/src/helper/security-headers.helper.ts @@ -1,4 +1,4 @@ -import { HelmetOptions } from 'helmet'; +import type { HelmetOptions } from 'helmet'; export function getHelmetOptions({ isSubscriptionEnabled diff --git a/apps/api/src/main.ts b/apps/api/src/main.ts index 72be15b9d9..51d4382e8a 100644 --- a/apps/api/src/main.ts +++ b/apps/api/src/main.ts @@ -12,9 +12,9 @@ import { SUPPORTED_LANGUAGE_CODES } from '@ghostfolio/common/config'; +import type { LogLevel } from '@nestjs/common'; import { Logger, - LogLevel, ShutdownSignal, ValidationPipe, VersioningType @@ -22,9 +22,10 @@ import { import { ConfigService } from '@nestjs/config'; import { NestFactory } from '@nestjs/core'; import type { NestExpressApplication } from '@nestjs/platform-express'; -import { MCP_STRATEGY, McpStrategy } from '@rekog/mcp-nest'; +import type { McpStrategy } from '@rekog/mcp-nest'; +import { MCP_STRATEGY } from '@rekog/mcp-nest'; import cookieParser from 'cookie-parser'; -import { NextFunction, Request, Response } from 'express'; +import type { NextFunction, Request, Response } from 'express'; import helmet from 'helmet'; import { EnvHttpProxyAgent, setGlobalDispatcher } from 'undici'; diff --git a/apps/api/src/middlewares/language-redirect.middleware.ts b/apps/api/src/middlewares/language-redirect.middleware.ts index 82b59db0cd..c87948154c 100644 --- a/apps/api/src/middlewares/language-redirect.middleware.ts +++ b/apps/api/src/middlewares/language-redirect.middleware.ts @@ -1,7 +1,7 @@ import { environment } from '@ghostfolio/api/environments/environment'; import { getLanguageCodeFromHeader } from '@ghostfolio/api/helper/language.helper'; -import { NextFunction, Request, Response } from 'express'; +import type { NextFunction, Request, Response } from 'express'; import { StatusCodes } from 'http-status-codes'; export function languageRedirectMiddleware( diff --git a/apps/api/src/middlewares/mcp-authorization.middleware.ts b/apps/api/src/middlewares/mcp-authorization.middleware.ts index ba3a960535..2c93c726b7 100644 --- a/apps/api/src/middlewares/mcp-authorization.middleware.ts +++ b/apps/api/src/middlewares/mcp-authorization.middleware.ts @@ -1,9 +1,9 @@ import { getAccessIdOfBearerToken } from '@ghostfolio/api/helper/bearer-token.helper'; -import { ImpersonationService } from '@ghostfolio/api/services/impersonation/impersonation.service'; +import type { ImpersonationService } from '@ghostfolio/api/services/impersonation/impersonation.service'; import { HEADER_KEY_TOKEN, MCP_REALM } from '@ghostfolio/common/config'; import type { ImpersonationContext } from '@ghostfolio/common/types'; -import { NextFunction, Request, Response } from 'express'; +import type { NextFunction, Request, Response } from 'express'; import { getReasonPhrase, StatusCodes } from 'http-status-codes'; /** diff --git a/apps/api/src/models/interfaces/rule.interface.ts b/apps/api/src/models/interfaces/rule.interface.ts index 8c9a838045..2dc34419fa 100644 --- a/apps/api/src/models/interfaces/rule.interface.ts +++ b/apps/api/src/models/interfaces/rule.interface.ts @@ -1,6 +1,6 @@ -import { RuleSettings } from '@ghostfolio/common/interfaces'; +import type { RuleSettings } from '@ghostfolio/common/interfaces'; -import { EvaluationResult } from './evaluation-result.interface'; +import type { EvaluationResult } from './evaluation-result.interface'; export interface RuleInterface { evaluate(aRuleSettings: T): EvaluationResult; diff --git a/apps/api/src/models/rule.ts b/apps/api/src/models/rule.ts index f7f6c53637..b17bb93e23 100644 --- a/apps/api/src/models/rule.ts +++ b/apps/api/src/models/rule.ts @@ -1,6 +1,6 @@ -import { XRayRuleKey } from '@ghostfolio/api/models/types/x-ray-rule-key.type'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { +import type { XRayRuleKey } from '@ghostfolio/api/models/types/x-ray-rule-key.type'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { PortfolioPosition, PortfolioReportRule, RuleSettings @@ -9,8 +9,8 @@ import { import { Big } from 'big.js'; import { groupBy } from 'lodash-es'; -import { EvaluationResult } from './interfaces/evaluation-result.interface'; -import { RuleInterface } from './interfaces/rule.interface'; +import type { EvaluationResult } from './interfaces/evaluation-result.interface'; +import type { RuleInterface } from './interfaces/rule.interface'; export abstract class Rule implements RuleInterface { protected exchangeRateDataService: ExchangeRateDataService; diff --git a/apps/api/src/models/rules/account-cluster-risk/current-investment.ts b/apps/api/src/models/rules/account-cluster-risk/current-investment.ts index de76c7686f..904fda17bd 100644 --- a/apps/api/src/models/rules/account-cluster-risk/current-investment.ts +++ b/apps/api/src/models/rules/account-cluster-risk/current-investment.ts @@ -1,9 +1,12 @@ import { Rule } from '@ghostfolio/api/models/rule'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; -import { PortfolioDetails, RuleSettings } from '@ghostfolio/common/interfaces'; - -import { Account } from '@prisma/client'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; +import type { + PortfolioDetails, + RuleSettings +} from '@ghostfolio/common/interfaces'; + +import type { Account } from '@prisma/client'; export class AccountClusterRiskCurrentInvestment extends Rule { private accounts: PortfolioDetails['accounts']; diff --git a/apps/api/src/models/rules/account-cluster-risk/single-account.ts b/apps/api/src/models/rules/account-cluster-risk/single-account.ts index ee86ab6b99..801c53a4c1 100644 --- a/apps/api/src/models/rules/account-cluster-risk/single-account.ts +++ b/apps/api/src/models/rules/account-cluster-risk/single-account.ts @@ -1,7 +1,10 @@ import { Rule } from '@ghostfolio/api/models/rule'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; -import { PortfolioDetails, RuleSettings } from '@ghostfolio/common/interfaces'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; +import type { + PortfolioDetails, + RuleSettings +} from '@ghostfolio/common/interfaces'; export class AccountClusterRiskSingleAccount extends Rule { private accounts: PortfolioDetails['accounts']; diff --git a/apps/api/src/models/rules/asset-class-cluster-risk/equity.ts b/apps/api/src/models/rules/asset-class-cluster-risk/equity.ts index 3baece2df8..80c5816968 100644 --- a/apps/api/src/models/rules/asset-class-cluster-risk/equity.ts +++ b/apps/api/src/models/rules/asset-class-cluster-risk/equity.ts @@ -1,7 +1,10 @@ import { Rule } from '@ghostfolio/api/models/rule'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; -import { PortfolioPosition, RuleSettings } from '@ghostfolio/common/interfaces'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; +import type { + PortfolioPosition, + RuleSettings +} from '@ghostfolio/common/interfaces'; export class AssetClassClusterRiskEquity extends Rule { private holdings: PortfolioPosition[]; diff --git a/apps/api/src/models/rules/asset-class-cluster-risk/fixed-income.ts b/apps/api/src/models/rules/asset-class-cluster-risk/fixed-income.ts index 5a543a1ad2..cc0a108c23 100644 --- a/apps/api/src/models/rules/asset-class-cluster-risk/fixed-income.ts +++ b/apps/api/src/models/rules/asset-class-cluster-risk/fixed-income.ts @@ -1,7 +1,10 @@ import { Rule } from '@ghostfolio/api/models/rule'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; -import { PortfolioPosition, RuleSettings } from '@ghostfolio/common/interfaces'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; +import type { + PortfolioPosition, + RuleSettings +} from '@ghostfolio/common/interfaces'; export class AssetClassClusterRiskFixedIncome extends Rule { private holdings: PortfolioPosition[]; diff --git a/apps/api/src/models/rules/currency-cluster-risk/base-currency-current-investment.ts b/apps/api/src/models/rules/currency-cluster-risk/base-currency-current-investment.ts index 5c42438869..980b9ece1b 100644 --- a/apps/api/src/models/rules/currency-cluster-risk/base-currency-current-investment.ts +++ b/apps/api/src/models/rules/currency-cluster-risk/base-currency-current-investment.ts @@ -1,7 +1,10 @@ import { Rule } from '@ghostfolio/api/models/rule'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; -import { PortfolioPosition, RuleSettings } from '@ghostfolio/common/interfaces'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; +import type { + PortfolioPosition, + RuleSettings +} from '@ghostfolio/common/interfaces'; export class CurrencyClusterRiskBaseCurrencyCurrentInvestment extends Rule { private holdings: PortfolioPosition[]; diff --git a/apps/api/src/models/rules/currency-cluster-risk/current-investment.ts b/apps/api/src/models/rules/currency-cluster-risk/current-investment.ts index 987fd3db87..93ada19348 100644 --- a/apps/api/src/models/rules/currency-cluster-risk/current-investment.ts +++ b/apps/api/src/models/rules/currency-cluster-risk/current-investment.ts @@ -1,7 +1,10 @@ import { Rule } from '@ghostfolio/api/models/rule'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; -import { PortfolioPosition, RuleSettings } from '@ghostfolio/common/interfaces'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; +import type { + PortfolioPosition, + RuleSettings +} from '@ghostfolio/common/interfaces'; export class CurrencyClusterRiskCurrentInvestment extends Rule { private holdings: PortfolioPosition[]; diff --git a/apps/api/src/models/rules/economic-market-cluster-risk/developed-markets.ts b/apps/api/src/models/rules/economic-market-cluster-risk/developed-markets.ts index b6d4495ebd..a6b2386afc 100644 --- a/apps/api/src/models/rules/economic-market-cluster-risk/developed-markets.ts +++ b/apps/api/src/models/rules/economic-market-cluster-risk/developed-markets.ts @@ -1,7 +1,7 @@ import { Rule } from '@ghostfolio/api/models/rule'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; -import { RuleSettings } from '@ghostfolio/common/interfaces'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; +import type { RuleSettings } from '@ghostfolio/common/interfaces'; export class EconomicMarketClusterRiskDevelopedMarkets extends Rule { private currentValueInBaseCurrency: number; diff --git a/apps/api/src/models/rules/economic-market-cluster-risk/emerging-markets.ts b/apps/api/src/models/rules/economic-market-cluster-risk/emerging-markets.ts index e0bc0f5385..7d4190818f 100644 --- a/apps/api/src/models/rules/economic-market-cluster-risk/emerging-markets.ts +++ b/apps/api/src/models/rules/economic-market-cluster-risk/emerging-markets.ts @@ -1,7 +1,7 @@ import { Rule } from '@ghostfolio/api/models/rule'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; -import { RuleSettings } from '@ghostfolio/common/interfaces'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; +import type { RuleSettings } from '@ghostfolio/common/interfaces'; export class EconomicMarketClusterRiskEmergingMarkets extends Rule { private currentValueInBaseCurrency: number; diff --git a/apps/api/src/models/rules/emergency-fund/emergency-fund-coverage.ts b/apps/api/src/models/rules/emergency-fund/emergency-fund-coverage.ts index 8bdc9307bc..2bb0c69a21 100644 --- a/apps/api/src/models/rules/emergency-fund/emergency-fund-coverage.ts +++ b/apps/api/src/models/rules/emergency-fund/emergency-fund-coverage.ts @@ -1,7 +1,7 @@ import { Rule } from '@ghostfolio/api/models/rule'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; -import { RuleSettings } from '@ghostfolio/common/interfaces'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; +import type { RuleSettings } from '@ghostfolio/common/interfaces'; import { Big } from 'big.js'; diff --git a/apps/api/src/models/rules/emergency-fund/emergency-fund-setup.ts b/apps/api/src/models/rules/emergency-fund/emergency-fund-setup.ts index 7ed80305dc..b75481f449 100644 --- a/apps/api/src/models/rules/emergency-fund/emergency-fund-setup.ts +++ b/apps/api/src/models/rules/emergency-fund/emergency-fund-setup.ts @@ -1,7 +1,7 @@ import { Rule } from '@ghostfolio/api/models/rule'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; -import { RuleSettings } from '@ghostfolio/common/interfaces'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; +import type { RuleSettings } from '@ghostfolio/common/interfaces'; export class EmergencyFundSetup extends Rule { private emergencyFundInBaseCurrency: number; diff --git a/apps/api/src/models/rules/fees/fee-ratio-total-investment-volume.ts b/apps/api/src/models/rules/fees/fee-ratio-total-investment-volume.ts index 551ad9cbf2..7c8dd410a5 100644 --- a/apps/api/src/models/rules/fees/fee-ratio-total-investment-volume.ts +++ b/apps/api/src/models/rules/fees/fee-ratio-total-investment-volume.ts @@ -1,7 +1,7 @@ import { Rule } from '@ghostfolio/api/models/rule'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; -import { RuleSettings } from '@ghostfolio/common/interfaces'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; +import type { RuleSettings } from '@ghostfolio/common/interfaces'; export class FeeRatioTotalInvestmentVolume extends Rule { private fees: number; diff --git a/apps/api/src/models/rules/liquidity/buying-power.ts b/apps/api/src/models/rules/liquidity/buying-power.ts index 0ad6ac0a0f..2b616fa9a4 100644 --- a/apps/api/src/models/rules/liquidity/buying-power.ts +++ b/apps/api/src/models/rules/liquidity/buying-power.ts @@ -1,7 +1,7 @@ import { Rule } from '@ghostfolio/api/models/rule'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; -import { RuleSettings } from '@ghostfolio/common/interfaces'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; +import type { RuleSettings } from '@ghostfolio/common/interfaces'; export class BuyingPower extends Rule { private buyingPower: number; diff --git a/apps/api/src/models/rules/regional-market-cluster-risk/asia-pacific.ts b/apps/api/src/models/rules/regional-market-cluster-risk/asia-pacific.ts index 75e99fa950..afa1718e6f 100644 --- a/apps/api/src/models/rules/regional-market-cluster-risk/asia-pacific.ts +++ b/apps/api/src/models/rules/regional-market-cluster-risk/asia-pacific.ts @@ -1,8 +1,8 @@ import { Rule } from '@ghostfolio/api/models/rule'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; -import { Settings } from './interfaces/rule-settings.interface'; +import type { Settings } from './interfaces/rule-settings.interface'; export class RegionalMarketClusterRiskAsiaPacific extends Rule { private asiaPacificValueInBaseCurrency: number; diff --git a/apps/api/src/models/rules/regional-market-cluster-risk/emerging-markets.ts b/apps/api/src/models/rules/regional-market-cluster-risk/emerging-markets.ts index 04ce81d35f..3be69cb50f 100644 --- a/apps/api/src/models/rules/regional-market-cluster-risk/emerging-markets.ts +++ b/apps/api/src/models/rules/regional-market-cluster-risk/emerging-markets.ts @@ -1,8 +1,8 @@ import { Rule } from '@ghostfolio/api/models/rule'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; -import { Settings } from './interfaces/rule-settings.interface'; +import type { Settings } from './interfaces/rule-settings.interface'; export class RegionalMarketClusterRiskEmergingMarkets extends Rule { private currentValueInBaseCurrency: number; diff --git a/apps/api/src/models/rules/regional-market-cluster-risk/europe.ts b/apps/api/src/models/rules/regional-market-cluster-risk/europe.ts index ee9cea1aae..dd349f85d1 100644 --- a/apps/api/src/models/rules/regional-market-cluster-risk/europe.ts +++ b/apps/api/src/models/rules/regional-market-cluster-risk/europe.ts @@ -1,8 +1,8 @@ import { Rule } from '@ghostfolio/api/models/rule'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; -import { Settings } from './interfaces/rule-settings.interface'; +import type { Settings } from './interfaces/rule-settings.interface'; export class RegionalMarketClusterRiskEurope extends Rule { private currentValueInBaseCurrency: number; diff --git a/apps/api/src/models/rules/regional-market-cluster-risk/interfaces/rule-settings.interface.ts b/apps/api/src/models/rules/regional-market-cluster-risk/interfaces/rule-settings.interface.ts index 621b4df0b9..15ec3c9141 100644 --- a/apps/api/src/models/rules/regional-market-cluster-risk/interfaces/rule-settings.interface.ts +++ b/apps/api/src/models/rules/regional-market-cluster-risk/interfaces/rule-settings.interface.ts @@ -1,4 +1,4 @@ -import { RuleSettings } from '@ghostfolio/common/interfaces'; +import type { RuleSettings } from '@ghostfolio/common/interfaces'; export interface Settings extends RuleSettings { baseCurrency: string; diff --git a/apps/api/src/models/rules/regional-market-cluster-risk/japan.ts b/apps/api/src/models/rules/regional-market-cluster-risk/japan.ts index 6dc9b3207b..f84e1e248f 100644 --- a/apps/api/src/models/rules/regional-market-cluster-risk/japan.ts +++ b/apps/api/src/models/rules/regional-market-cluster-risk/japan.ts @@ -1,8 +1,8 @@ import { Rule } from '@ghostfolio/api/models/rule'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; -import { Settings } from './interfaces/rule-settings.interface'; +import type { Settings } from './interfaces/rule-settings.interface'; export class RegionalMarketClusterRiskJapan extends Rule { private currentValueInBaseCurrency: number; diff --git a/apps/api/src/models/rules/regional-market-cluster-risk/north-america.ts b/apps/api/src/models/rules/regional-market-cluster-risk/north-america.ts index 368b452f2d..1598cabec9 100644 --- a/apps/api/src/models/rules/regional-market-cluster-risk/north-america.ts +++ b/apps/api/src/models/rules/regional-market-cluster-risk/north-america.ts @@ -1,8 +1,8 @@ import { Rule } from '@ghostfolio/api/models/rule'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; +import type { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import type { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; -import { Settings } from './interfaces/rule-settings.interface'; +import type { Settings } from './interfaces/rule-settings.interface'; export class RegionalMarketClusterRiskNorthAmerica extends Rule { private currentValueInBaseCurrency: number; diff --git a/apps/api/src/models/rules/rule-settings.ts b/apps/api/src/models/rules/rule-settings.ts index de0fb20425..a380e6574d 100644 --- a/apps/api/src/models/rules/rule-settings.ts +++ b/apps/api/src/models/rules/rule-settings.ts @@ -1,7 +1,7 @@ -import { RuleSettingsConfiguration } from '@ghostfolio/api/models/interfaces/rule-settings-configuration.interface'; -import { XRayRuleKey } from '@ghostfolio/api/models/types/x-ray-rule-key.type'; +import type { RuleSettingsConfiguration } from '@ghostfolio/api/models/interfaces/rule-settings-configuration.interface'; +import type { XRayRuleKey } from '@ghostfolio/api/models/types/x-ray-rule-key.type'; import { DEFAULT_CURRENCY, DEFAULT_LOCALE } from '@ghostfolio/common/config'; -import { +import type { RuleSettings, UserSettings, XRayRulesSettings diff --git a/apps/api/src/models/types/x-ray-rule-key.type.ts b/apps/api/src/models/types/x-ray-rule-key.type.ts index 1d7c97bec1..33296168fc 100644 --- a/apps/api/src/models/types/x-ray-rule-key.type.ts +++ b/apps/api/src/models/types/x-ray-rule-key.type.ts @@ -1,3 +1,3 @@ -import { XRayRulesSettings } from '@ghostfolio/common/interfaces'; +import type { XRayRulesSettings } from '@ghostfolio/common/interfaces'; export type XRayRuleKey = keyof XRayRulesSettings; diff --git a/apps/api/src/services/asset-profile-split/asset-profile-split.helper.spec.ts b/apps/api/src/services/asset-profile-split/asset-profile-split.helper.spec.ts index 6d674255d6..94b3018835 100644 --- a/apps/api/src/services/asset-profile-split/asset-profile-split.helper.spec.ts +++ b/apps/api/src/services/asset-profile-split/asset-profile-split.helper.spec.ts @@ -4,9 +4,10 @@ import { } from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator-test-utils'; import * as commonHelper from '@ghostfolio/common/helper'; import { parseDate } from '@ghostfolio/common/helper'; -import { Activity } from '@ghostfolio/common/interfaces'; +import type { Activity } from '@ghostfolio/common/interfaces'; -import { AssetProfileSplit, DataSource } from '@prisma/client'; +import type { AssetProfileSplit } from '@prisma/client'; +import { DataSource } from '@prisma/client'; import { Big } from 'big.js'; import { adjustActivityBySplits } from './asset-profile-split.helper'; diff --git a/apps/api/src/services/asset-profile-split/asset-profile-split.helper.ts b/apps/api/src/services/asset-profile-split/asset-profile-split.helper.ts index dda77a5aa3..d28b22aba3 100644 --- a/apps/api/src/services/asset-profile-split/asset-profile-split.helper.ts +++ b/apps/api/src/services/asset-profile-split/asset-profile-split.helper.ts @@ -1,8 +1,8 @@ import { INVESTMENT_ACTIVITY_TYPES } from '@ghostfolio/common/config'; import { resetHours } from '@ghostfolio/common/helper'; -import { Activity } from '@ghostfolio/common/interfaces'; +import type { Activity } from '@ghostfolio/common/interfaces'; -import { AssetProfileSplit } from '@prisma/client'; +import type { AssetProfileSplit } from '@prisma/client'; import { Big } from 'big.js'; import { isBefore } from 'date-fns'; diff --git a/apps/api/src/services/asset-profile-split/asset-profile-split.service.spec.ts b/apps/api/src/services/asset-profile-split/asset-profile-split.service.spec.ts index be5d7caa31..4348e5cfa2 100644 --- a/apps/api/src/services/asset-profile-split/asset-profile-split.service.spec.ts +++ b/apps/api/src/services/asset-profile-split/asset-profile-split.service.spec.ts @@ -1,6 +1,7 @@ -import { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service'; +import type { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service'; -import { AssetProfileSplit, DataSource } from '@prisma/client'; +import type { AssetProfileSplit } from '@prisma/client'; +import { DataSource } from '@prisma/client'; import { AssetProfileSplitService } from './asset-profile-split.service'; diff --git a/apps/api/src/services/benchmark/interfaces/benchmark-value.interface.ts b/apps/api/src/services/benchmark/interfaces/benchmark-value.interface.ts index eda302f90e..bb9a1f5111 100644 --- a/apps/api/src/services/benchmark/interfaces/benchmark-value.interface.ts +++ b/apps/api/src/services/benchmark/interfaces/benchmark-value.interface.ts @@ -1,4 +1,4 @@ -import { BenchmarkResponse } from '@ghostfolio/common/interfaces'; +import type { BenchmarkResponse } from '@ghostfolio/common/interfaces'; export interface BenchmarkValue { benchmarks: BenchmarkResponse['benchmarks']; diff --git a/apps/api/src/services/data-provider/interfaces/data-enhancer.interface.ts b/apps/api/src/services/data-provider/interfaces/data-enhancer.interface.ts index 73e0cc69d6..74d7cdfbc6 100644 --- a/apps/api/src/services/data-provider/interfaces/data-enhancer.interface.ts +++ b/apps/api/src/services/data-provider/interfaces/data-enhancer.interface.ts @@ -1,4 +1,4 @@ -import { SymbolProfile } from '@prisma/client'; +import type { SymbolProfile } from '@prisma/client'; export interface DataEnhancerInterface { enhance({ diff --git a/apps/api/src/services/data-provider/interfaces/data-provider.interface.ts b/apps/api/src/services/data-provider/interfaces/data-provider.interface.ts index 1e6d2496b0..bc6e43eb89 100644 --- a/apps/api/src/services/data-provider/interfaces/data-provider.interface.ts +++ b/apps/api/src/services/data-provider/interfaces/data-provider.interface.ts @@ -1,13 +1,13 @@ -import { +import type { DataProviderHistoricalResponse, DataProviderInfo, DataProviderResponse, LookupResponse, MarketDataOfMarketsResponse } from '@ghostfolio/common/interfaces'; -import { Granularity } from '@ghostfolio/common/types'; +import type { Granularity } from '@ghostfolio/common/types'; -import { DataSource, SymbolProfile } from '@prisma/client'; +import type { DataSource, SymbolProfile } from '@prisma/client'; export interface DataProviderInterface { canHandle(symbol: string): boolean; diff --git a/apps/api/src/services/data-provider/manual/manual.service.spec.ts b/apps/api/src/services/data-provider/manual/manual.service.spec.ts index 2fc69b8b2d..9780f8cdd1 100644 --- a/apps/api/src/services/data-provider/manual/manual.service.spec.ts +++ b/apps/api/src/services/data-provider/manual/manual.service.spec.ts @@ -1,6 +1,6 @@ -import { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service'; +import type { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service'; import { SymbolProfileService } from '@ghostfolio/api/services/symbol-profile/symbol-profile.service'; -import { EnhancedAssetProfile } from '@ghostfolio/common/interfaces'; +import type { EnhancedAssetProfile } from '@ghostfolio/common/interfaces'; import { DataSource } from '@prisma/client'; diff --git a/apps/api/src/services/exchange-rate-data/exchange-rate-data.service.mock.ts b/apps/api/src/services/exchange-rate-data/exchange-rate-data.service.mock.ts index 742be36b4a..41c1542bc6 100644 --- a/apps/api/src/services/exchange-rate-data/exchange-rate-data.service.mock.ts +++ b/apps/api/src/services/exchange-rate-data/exchange-rate-data.service.mock.ts @@ -1,4 +1,4 @@ -import { ExchangeRateDataService } from './exchange-rate-data.service'; +import type { ExchangeRateDataService } from './exchange-rate-data.service'; export const ExchangeRateDataServiceMock: Partial = { getExchangeRatesByCurrency: ({ targetCurrency }) => { diff --git a/apps/api/src/services/impersonation/impersonation.service.spec.ts b/apps/api/src/services/impersonation/impersonation.service.spec.ts index ab8d5fe44e..94eca60071 100644 --- a/apps/api/src/services/impersonation/impersonation.service.spec.ts +++ b/apps/api/src/services/impersonation/impersonation.service.spec.ts @@ -1,7 +1,7 @@ import { AccessService } from '@ghostfolio/api/app/access/access.service'; -import { SubscriptionService } from '@ghostfolio/api/app/subscription/subscription.service'; -import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; -import { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service'; +import type { SubscriptionService } from '@ghostfolio/api/app/subscription/subscription.service'; +import type { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; +import type { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service'; import { DEFAULT_CURRENCY } from '@ghostfolio/common/config'; import { SubscriptionType } from '@ghostfolio/common/enums'; import { permissions } from '@ghostfolio/common/permissions'; @@ -12,7 +12,7 @@ import { } from '@ghostfolio/common/scopes'; import type { UserWithSettings } from '@ghostfolio/common/types'; -import { Access } from '@prisma/client'; +import type { Access } from '@prisma/client'; import { addDays, subDays } from 'date-fns'; import { ImpersonationService } from './impersonation.service'; diff --git a/apps/api/src/services/interfaces/environment.interface.ts b/apps/api/src/services/interfaces/environment.interface.ts index f0a7f39f3f..e2d542cdde 100644 --- a/apps/api/src/services/interfaces/environment.interface.ts +++ b/apps/api/src/services/interfaces/environment.interface.ts @@ -1,4 +1,4 @@ -import { CleanedEnvAccessors } from 'envalid'; +import type { CleanedEnvAccessors } from 'envalid'; export interface Environment extends CleanedEnvAccessors { ACCESS_TOKEN_SALT: string; diff --git a/apps/api/src/services/interfaces/interfaces.ts b/apps/api/src/services/interfaces/interfaces.ts index 87eaa3a751..132ebe185f 100644 --- a/apps/api/src/services/interfaces/interfaces.ts +++ b/apps/api/src/services/interfaces/interfaces.ts @@ -1,4 +1,4 @@ -import { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; +import type { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; export interface DataGatheringItem extends AssetProfileIdentifier { date?: Date; diff --git a/apps/api/src/services/portfolio-table/interfaces/data-source-table-context.interface.ts b/apps/api/src/services/portfolio-table/interfaces/data-source-table-context.interface.ts index 927f32cda0..7c6034c914 100644 --- a/apps/api/src/services/portfolio-table/interfaces/data-source-table-context.interface.ts +++ b/apps/api/src/services/portfolio-table/interfaces/data-source-table-context.interface.ts @@ -1,4 +1,4 @@ -import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; +import type { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; export interface DataSourceTableContext { configurationService: ConfigurationService; diff --git a/apps/api/src/services/portfolio-table/interfaces/holdings-table-context.interface.ts b/apps/api/src/services/portfolio-table/interfaces/holdings-table-context.interface.ts index 771cd10404..2a47769e79 100644 --- a/apps/api/src/services/portfolio-table/interfaces/holdings-table-context.interface.ts +++ b/apps/api/src/services/portfolio-table/interfaces/holdings-table-context.interface.ts @@ -1,6 +1,6 @@ -import { AssetClass, AssetSubClass } from '@prisma/client'; +import type { AssetClass, AssetSubClass } from '@prisma/client'; -import { DataSourceTableContext } from './data-source-table-context.interface'; +import type { DataSourceTableContext } from './data-source-table-context.interface'; export interface HoldingsTableContext extends DataSourceTableContext { assetClassTranslations: Record; diff --git a/apps/api/src/services/portfolio-table/portfolio-table.service.spec.ts b/apps/api/src/services/portfolio-table/portfolio-table.service.spec.ts index 3cfb9fe856..364c3b0ac8 100644 --- a/apps/api/src/services/portfolio-table/portfolio-table.service.spec.ts +++ b/apps/api/src/services/portfolio-table/portfolio-table.service.spec.ts @@ -9,14 +9,14 @@ import { DEFAULT_LANGUAGE_CODE, TAG_ID_EXCLUDE_FROM_ANALYSIS } from '@ghostfolio/common/config'; -import { +import type { Activity, HistoricalDataItem, PortfolioPerformanceResponse, PortfolioPosition, WatchlistResponse } from '@ghostfolio/common/interfaces'; -import { AccountWithValue } from '@ghostfolio/common/types'; +import type { AccountWithValue } from '@ghostfolio/common/types'; import { AssetClass, AssetSubClass, DataSource } from '@prisma/client'; diff --git a/apps/api/src/services/portfolio-table/types/holdings-table-column-definition.type.ts b/apps/api/src/services/portfolio-table/types/holdings-table-column-definition.type.ts index a8ad63fe6f..4d733f2bc9 100644 --- a/apps/api/src/services/portfolio-table/types/holdings-table-column-definition.type.ts +++ b/apps/api/src/services/portfolio-table/types/holdings-table-column-definition.type.ts @@ -1,7 +1,7 @@ -import { TableColumnDefinition } from '@ghostfolio/api/helper/interfaces/table-column-definition.interface'; -import { PortfolioPosition } from '@ghostfolio/common/interfaces'; +import type { TableColumnDefinition } from '@ghostfolio/api/helper/interfaces/table-column-definition.interface'; +import type { PortfolioPosition } from '@ghostfolio/common/interfaces'; -import { HoldingsTableContext } from '../interfaces/holdings-table-context.interface'; +import type { HoldingsTableContext } from '../interfaces/holdings-table-context.interface'; export type HoldingsTableColumnDefinition = TableColumnDefinition< PortfolioPosition, diff --git a/apps/api/src/services/queues/data-gathering/data-gathering.processor.spec.ts b/apps/api/src/services/queues/data-gathering/data-gathering.processor.spec.ts index 3faeb4d6be..fa3e205234 100644 --- a/apps/api/src/services/queues/data-gathering/data-gathering.processor.spec.ts +++ b/apps/api/src/services/queues/data-gathering/data-gathering.processor.spec.ts @@ -1,11 +1,11 @@ -import { DataGatheringItem } from '@ghostfolio/api/services/interfaces/interfaces'; +import type { DataGatheringItem } from '@ghostfolio/api/services/interfaces/interfaces'; import { getAssetProfileIdentifier, parseDate } from '@ghostfolio/common/helper'; -import { DataSource } from '@prisma/client'; -import { Job } from 'bull'; +import type { DataSource } from '@prisma/client'; +import type { Job } from 'bull'; import { DataGatheringProcessor } from './data-gathering.processor'; diff --git a/apps/api/src/services/queues/data-gathering/data-gathering.processor.time-zone.spec.ts b/apps/api/src/services/queues/data-gathering/data-gathering.processor.time-zone.spec.ts index 10b9098b10..5b2fdcabd6 100644 --- a/apps/api/src/services/queues/data-gathering/data-gathering.processor.time-zone.spec.ts +++ b/apps/api/src/services/queues/data-gathering/data-gathering.processor.time-zone.spec.ts @@ -2,9 +2,9 @@ * @jest-environment /jest-environment-tz.js * @jest-environment-options {"timeZone": "America/New_York"} */ -import { DataGatheringItem } from '@ghostfolio/api/services/interfaces/interfaces'; +import type { DataGatheringItem } from '@ghostfolio/api/services/interfaces/interfaces'; -import { Job } from 'bull'; +import type { Job } from 'bull'; import { DataGatheringProcessor } from './data-gathering.processor'; diff --git a/apps/api/src/services/queues/portfolio-snapshot/interfaces/portfolio-snapshot-queue-job.interface.ts b/apps/api/src/services/queues/portfolio-snapshot/interfaces/portfolio-snapshot-queue-job.interface.ts index 3486974f7f..03c9db39f4 100644 --- a/apps/api/src/services/queues/portfolio-snapshot/interfaces/portfolio-snapshot-queue-job.interface.ts +++ b/apps/api/src/services/queues/portfolio-snapshot/interfaces/portfolio-snapshot-queue-job.interface.ts @@ -1,5 +1,5 @@ -import { Filter } from '@ghostfolio/common/interfaces'; -import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; +import type { Filter } from '@ghostfolio/common/interfaces'; +import type { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; export interface PortfolioSnapshotQueueJob { calculationType: PerformanceCalculationType; diff --git a/apps/api/src/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock.ts b/apps/api/src/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock.ts index fddbd01aba..b4974e8520 100644 --- a/apps/api/src/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock.ts +++ b/apps/api/src/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock.ts @@ -1,11 +1,11 @@ -import { PortfolioSnapshotValue } from '@ghostfolio/api/app/portfolio/interfaces/snapshot-value.interface'; +import type { PortfolioSnapshotValue } from '@ghostfolio/api/app/portfolio/interfaces/snapshot-value.interface'; import { RedisCacheServiceMock } from '@ghostfolio/api/app/redis-cache/redis-cache.service.mock'; import type { Job, JobId, JobOptions } from 'bull'; import ms from 'ms'; import { setTimeout } from 'timers/promises'; -import { PortfolioSnapshotQueueJob } from './interfaces/portfolio-snapshot-queue-job.interface'; +import type { PortfolioSnapshotQueueJob } from './interfaces/portfolio-snapshot-queue-job.interface'; export const PortfolioSnapshotServiceMock = { addJobToQueue: ({ diff --git a/apps/client/src/app/app.routes.ts b/apps/client/src/app/app.routes.ts index 2c0591b2cc..800c433d25 100644 --- a/apps/client/src/app/app.routes.ts +++ b/apps/client/src/app/app.routes.ts @@ -1,6 +1,6 @@ import { internalRoutes, publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { AuthGuard } from './core/auth.guard'; diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/interfaces/interfaces.ts b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/interfaces/interfaces.ts index 2e2bb7b118..f7522a92e5 100644 --- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/interfaces/interfaces.ts +++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/interfaces/interfaces.ts @@ -1,5 +1,5 @@ -import { ColorScheme } from '@ghostfolio/common/types'; -import { DataSource } from '@ghostfolio/prisma/enums'; +import type { ColorScheme } from '@ghostfolio/common/types'; +import type { DataSource } from '@ghostfolio/prisma/enums'; export interface AssetProfileDialogParams { colorScheme?: ColorScheme; diff --git a/apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts b/apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts index 72241f0454..8e58b1e5a1 100644 --- a/apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts +++ b/apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts @@ -23,7 +23,6 @@ import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; import { ChangeDetectionStrategy, Component, - type ElementRef, input, OnChanges, OnDestroy, @@ -31,6 +30,7 @@ import { SimpleChanges, viewChild } from '@angular/core'; +import type { ElementRef } from '@angular/core'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { MatSelectModule } from '@angular/material/select'; import { RouterModule } from '@angular/router'; @@ -43,9 +43,9 @@ import { LineElement, PointElement, TimeScale, - Tooltip, - type TooltipOptions + Tooltip } from 'chart.js'; +import type { TooltipOptions } from 'chart.js'; import 'chartjs-adapter-date-fns'; import { addIcons } from 'ionicons'; import { arrowForwardOutline } from 'ionicons/icons'; diff --git a/apps/client/src/app/components/data-provider-status/data-provider-status.component.ts b/apps/client/src/app/components/data-provider-status/data-provider-status.component.ts index 13218623a0..d7b96a5c06 100644 --- a/apps/client/src/app/components/data-provider-status/data-provider-status.component.ts +++ b/apps/client/src/app/components/data-provider-status/data-provider-status.component.ts @@ -11,7 +11,8 @@ import { } from '@angular/core'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; -import { catchError, map, type Observable, of } from 'rxjs'; +import { catchError, map, of } from 'rxjs'; +import type { Observable } from 'rxjs'; import { DataProviderStatus } from './interfaces/interfaces'; diff --git a/apps/client/src/app/components/holding-detail-dialog/interfaces/interfaces.ts b/apps/client/src/app/components/holding-detail-dialog/interfaces/interfaces.ts index a03fd93992..81f4b24dc4 100644 --- a/apps/client/src/app/components/holding-detail-dialog/interfaces/interfaces.ts +++ b/apps/client/src/app/components/holding-detail-dialog/interfaces/interfaces.ts @@ -1,5 +1,5 @@ -import { ColorScheme } from '@ghostfolio/common/types'; -import { DataSource } from '@ghostfolio/prisma/enums'; +import type { ColorScheme } from '@ghostfolio/common/types'; +import type { DataSource } from '@ghostfolio/prisma/enums'; export interface HoldingDetailDialogParams { baseCurrency: string; diff --git a/apps/client/src/app/components/investment-chart/investment-chart.component.ts b/apps/client/src/app/components/investment-chart/investment-chart.component.ts index 34500422ed..39548b1efe 100644 --- a/apps/client/src/app/components/investment-chart/investment-chart.component.ts +++ b/apps/client/src/app/components/investment-chart/investment-chart.component.ts @@ -21,13 +21,13 @@ import { import { ChangeDetectionStrategy, Component, - type ElementRef, Input, OnChanges, OnDestroy, SimpleChanges, viewChild } from '@angular/core'; +import type { ElementRef } from '@angular/core'; import { BarController, BarElement, @@ -37,13 +37,12 @@ import { LineController, LineElement, PointElement, - type ScriptableLineSegmentContext, TimeScale, - Tooltip, - type TooltipOptions + Tooltip } from 'chart.js'; +import type { ScriptableLineSegmentContext, TooltipOptions } from 'chart.js'; import 'chartjs-adapter-date-fns'; -import { type AnnotationOptions } from 'chartjs-plugin-annotation'; +import type { AnnotationOptions } from 'chartjs-plugin-annotation'; import { isFuture } from 'date-fns'; import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; diff --git a/apps/client/src/app/components/rule/rule-settings-dialog/interfaces/interfaces.ts b/apps/client/src/app/components/rule/rule-settings-dialog/interfaces/interfaces.ts index 90a0039cf0..8b104fc5fb 100644 --- a/apps/client/src/app/components/rule/rule-settings-dialog/interfaces/interfaces.ts +++ b/apps/client/src/app/components/rule/rule-settings-dialog/interfaces/interfaces.ts @@ -1,4 +1,4 @@ -import { +import type { PortfolioReportRule, XRayRulesSettings } from '@ghostfolio/common/interfaces'; diff --git a/apps/client/src/app/components/subscription-interstitial-dialog/interfaces/interfaces.ts b/apps/client/src/app/components/subscription-interstitial-dialog/interfaces/interfaces.ts index 4bcf3549b7..31032b7ea2 100644 --- a/apps/client/src/app/components/subscription-interstitial-dialog/interfaces/interfaces.ts +++ b/apps/client/src/app/components/subscription-interstitial-dialog/interfaces/interfaces.ts @@ -1,4 +1,4 @@ -import { User } from '@ghostfolio/common/interfaces'; +import type { User } from '@ghostfolio/common/interfaces'; export interface SubscriptionInterstitialDialogParams { user: User; diff --git a/apps/client/src/app/components/user-account-access/create-or-update-access-dialog/interfaces/interfaces.ts b/apps/client/src/app/components/user-account-access/create-or-update-access-dialog/interfaces/interfaces.ts index 8d1ac0ba94..353f79575c 100644 --- a/apps/client/src/app/components/user-account-access/create-or-update-access-dialog/interfaces/interfaces.ts +++ b/apps/client/src/app/components/user-account-access/create-or-update-access-dialog/interfaces/interfaces.ts @@ -1,4 +1,4 @@ -import { Access } from '@ghostfolio/common/interfaces'; +import type { Access } from '@ghostfolio/common/interfaces'; export interface CreateOrUpdateAccessDialogParams { access?: Access; diff --git a/apps/client/src/app/pages/about/about-page.routes.ts b/apps/client/src/app/pages/about/about-page.routes.ts index 4cb13280a7..662a05c842 100644 --- a/apps/client/src/app/pages/about/about-page.routes.ts +++ b/apps/client/src/app/pages/about/about-page.routes.ts @@ -1,7 +1,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { AboutPageComponent } from './about-page.component'; diff --git a/apps/client/src/app/pages/about/changelog/changelog-page.routes.ts b/apps/client/src/app/pages/about/changelog/changelog-page.routes.ts index 523218acce..0b61d43f58 100644 --- a/apps/client/src/app/pages/about/changelog/changelog-page.routes.ts +++ b/apps/client/src/app/pages/about/changelog/changelog-page.routes.ts @@ -1,7 +1,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfChangelogPageComponent } from './changelog-page.component'; diff --git a/apps/client/src/app/pages/about/license/license-page.routes.ts b/apps/client/src/app/pages/about/license/license-page.routes.ts index 1684bb0c5a..5a57b8523c 100644 --- a/apps/client/src/app/pages/about/license/license-page.routes.ts +++ b/apps/client/src/app/pages/about/license/license-page.routes.ts @@ -1,7 +1,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfLicensePageComponent } from './license-page.component'; diff --git a/apps/client/src/app/pages/about/oss-friends/oss-friends-page.routes.ts b/apps/client/src/app/pages/about/oss-friends/oss-friends-page.routes.ts index 8dbb9d52a6..7499929c20 100644 --- a/apps/client/src/app/pages/about/oss-friends/oss-friends-page.routes.ts +++ b/apps/client/src/app/pages/about/oss-friends/oss-friends-page.routes.ts @@ -1,7 +1,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfOpenSourceSoftwareFriendsPageComponent } from './oss-friends-page.component'; diff --git a/apps/client/src/app/pages/about/overview/about-overview-page.routes.ts b/apps/client/src/app/pages/about/overview/about-overview-page.routes.ts index 79047855f5..67377e816c 100644 --- a/apps/client/src/app/pages/about/overview/about-overview-page.routes.ts +++ b/apps/client/src/app/pages/about/overview/about-overview-page.routes.ts @@ -1,6 +1,6 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfAboutOverviewPageComponent } from './about-overview-page.component'; diff --git a/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.routes.ts b/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.routes.ts index e87436c177..b24ed529d1 100644 --- a/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.routes.ts +++ b/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.routes.ts @@ -1,7 +1,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfPrivacyPolicyPageComponent } from './privacy-policy-page.component'; diff --git a/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.routes.ts b/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.routes.ts index 34d7a72d04..871fa11e80 100644 --- a/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.routes.ts +++ b/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.routes.ts @@ -1,7 +1,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfTermsOfServicePageComponent } from './terms-of-service-page.component'; diff --git a/apps/client/src/app/pages/accounts/accounts-page.routes.ts b/apps/client/src/app/pages/accounts/accounts-page.routes.ts index 74ebb3a775..7646b0a1a2 100644 --- a/apps/client/src/app/pages/accounts/accounts-page.routes.ts +++ b/apps/client/src/app/pages/accounts/accounts-page.routes.ts @@ -1,7 +1,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { internalRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfAccountDialogHostComponent } from './account-dialog-host/account-dialog-host.component'; import { GfAccountsPageComponent } from './accounts-page.component'; diff --git a/apps/client/src/app/pages/accounts/create-or-update-account-dialog/interfaces/interfaces.ts b/apps/client/src/app/pages/accounts/create-or-update-account-dialog/interfaces/interfaces.ts index c99cd17b7a..a6526196b4 100644 --- a/apps/client/src/app/pages/accounts/create-or-update-account-dialog/interfaces/interfaces.ts +++ b/apps/client/src/app/pages/accounts/create-or-update-account-dialog/interfaces/interfaces.ts @@ -1,5 +1,5 @@ -import { User } from '@ghostfolio/common/interfaces'; -import { AccountWithBalance } from '@ghostfolio/common/types'; +import type { User } from '@ghostfolio/common/interfaces'; +import type { AccountWithBalance } from '@ghostfolio/common/types'; import type { Tag } from '@ghostfolio/prisma/browser'; export interface CreateOrUpdateAccountDialogParams { diff --git a/apps/client/src/app/pages/accounts/transfer-balance/interfaces/interfaces.ts b/apps/client/src/app/pages/accounts/transfer-balance/interfaces/interfaces.ts index 53f8f522e5..c45089565a 100644 --- a/apps/client/src/app/pages/accounts/transfer-balance/interfaces/interfaces.ts +++ b/apps/client/src/app/pages/accounts/transfer-balance/interfaces/interfaces.ts @@ -1,6 +1,6 @@ -import { AccountWithPlatform } from '@ghostfolio/common/types'; +import type { AccountWithPlatform } from '@ghostfolio/common/types'; -import { FormControl, FormGroup } from '@angular/forms'; +import type { FormControl, FormGroup } from '@angular/forms'; export interface TransferBalanceDialogParams { accounts: AccountWithPlatform[]; diff --git a/apps/client/src/app/pages/admin/admin-page.routes.ts b/apps/client/src/app/pages/admin/admin-page.routes.ts index 8e480d3fd0..c3d6c0a3f3 100644 --- a/apps/client/src/app/pages/admin/admin-page.routes.ts +++ b/apps/client/src/app/pages/admin/admin-page.routes.ts @@ -7,7 +7,7 @@ import { GfAdminUsersComponent } from '@ghostfolio/client/components/admin-users import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { internalRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes, UrlMatcher, UrlSegment } from '@angular/router'; +import type { Routes, UrlMatcher, UrlSegment } from '@angular/router'; import { AdminPageComponent } from './admin-page.component'; diff --git a/apps/client/src/app/pages/auth/auth-page.routes.ts b/apps/client/src/app/pages/auth/auth-page.routes.ts index 0ed6151de6..393d467d97 100644 --- a/apps/client/src/app/pages/auth/auth-page.routes.ts +++ b/apps/client/src/app/pages/auth/auth-page.routes.ts @@ -1,6 +1,6 @@ import { internalRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfAuthPageComponent } from './auth-page.component'; diff --git a/apps/client/src/app/pages/blog/blog-page.routes.ts b/apps/client/src/app/pages/blog/blog-page.routes.ts index 9afb35d464..b8c51e67e9 100644 --- a/apps/client/src/app/pages/blog/blog-page.routes.ts +++ b/apps/client/src/app/pages/blog/blog-page.routes.ts @@ -1,7 +1,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfBlogPageComponent } from './blog-page.component'; diff --git a/apps/client/src/app/pages/faq/faq-page.routes.ts b/apps/client/src/app/pages/faq/faq-page.routes.ts index 2999e3c801..37382f7d85 100644 --- a/apps/client/src/app/pages/faq/faq-page.routes.ts +++ b/apps/client/src/app/pages/faq/faq-page.routes.ts @@ -1,7 +1,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfFaqPageComponent } from './faq-page.component'; diff --git a/apps/client/src/app/pages/faq/overview/faq-overview-page.routes.ts b/apps/client/src/app/pages/faq/overview/faq-overview-page.routes.ts index 6917033831..8306419674 100644 --- a/apps/client/src/app/pages/faq/overview/faq-overview-page.routes.ts +++ b/apps/client/src/app/pages/faq/overview/faq-overview-page.routes.ts @@ -1,6 +1,6 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfFaqOverviewPageComponent } from './faq-overview-page.component'; diff --git a/apps/client/src/app/pages/faq/saas/saas-page.routes.ts b/apps/client/src/app/pages/faq/saas/saas-page.routes.ts index dcb574c388..3305dadebb 100644 --- a/apps/client/src/app/pages/faq/saas/saas-page.routes.ts +++ b/apps/client/src/app/pages/faq/saas/saas-page.routes.ts @@ -1,7 +1,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfSaasPageComponent } from './saas-page.component'; diff --git a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.routes.ts b/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.routes.ts index d08cdb312c..b179cfe50f 100644 --- a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.routes.ts +++ b/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.routes.ts @@ -1,7 +1,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfSelfHostingPageComponent } from './self-hosting-page.component'; diff --git a/apps/client/src/app/pages/home/home-page.routes.ts b/apps/client/src/app/pages/home/home-page.routes.ts index 3e0ce7b266..5c77a3fbb2 100644 --- a/apps/client/src/app/pages/home/home-page.routes.ts +++ b/apps/client/src/app/pages/home/home-page.routes.ts @@ -7,7 +7,7 @@ import { GfMarketsComponent } from '@ghostfolio/client/components/markets/market import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { internalRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfHomePageComponent } from './home-page.component'; diff --git a/apps/client/src/app/pages/landing/landing-page.routes.ts b/apps/client/src/app/pages/landing/landing-page.routes.ts index 181661bc2b..ce28f3055d 100644 --- a/apps/client/src/app/pages/landing/landing-page.routes.ts +++ b/apps/client/src/app/pages/landing/landing-page.routes.ts @@ -1,7 +1,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfLandingPageComponent } from './landing-page.component'; diff --git a/apps/client/src/app/pages/markets/markets-page.routes.ts b/apps/client/src/app/pages/markets/markets-page.routes.ts index 70ebb5553b..29f4d598fd 100644 --- a/apps/client/src/app/pages/markets/markets-page.routes.ts +++ b/apps/client/src/app/pages/markets/markets-page.routes.ts @@ -1,7 +1,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfMarketsPageComponent } from './markets-page.component'; diff --git a/apps/client/src/app/pages/open/open-page.routes.ts b/apps/client/src/app/pages/open/open-page.routes.ts index da04d6f5b7..e68fb26569 100644 --- a/apps/client/src/app/pages/open/open-page.routes.ts +++ b/apps/client/src/app/pages/open/open-page.routes.ts @@ -1,7 +1,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfOpenPageComponent } from './open-page.component'; diff --git a/apps/client/src/app/pages/portfolio/activities/activities-page.routes.ts b/apps/client/src/app/pages/portfolio/activities/activities-page.routes.ts index f21f23ba46..4441dd4ffa 100644 --- a/apps/client/src/app/pages/portfolio/activities/activities-page.routes.ts +++ b/apps/client/src/app/pages/portfolio/activities/activities-page.routes.ts @@ -1,7 +1,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { internalRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfActivitiesPageComponent } from './activities-page.component'; import { GfActivityDialogHostComponent } from './activity-dialog-host/activity-dialog-host.component'; diff --git a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/interfaces/interfaces.ts b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/interfaces/interfaces.ts index 7faed5312f..1e36637137 100644 --- a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/interfaces/interfaces.ts +++ b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/interfaces/interfaces.ts @@ -1,5 +1,5 @@ -import { Activity, User } from '@ghostfolio/common/interfaces'; -import { AccountWithPlatform } from '@ghostfolio/common/types'; +import type { Activity, User } from '@ghostfolio/common/interfaces'; +import type { AccountWithPlatform } from '@ghostfolio/common/types'; export interface CreateOrUpdateActivityDialogParams { accounts: AccountWithPlatform[]; diff --git a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/interfaces/interfaces.ts b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/interfaces/interfaces.ts index 39749b1222..b0d9b1d102 100644 --- a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/interfaces/interfaces.ts +++ b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/interfaces/interfaces.ts @@ -1,5 +1,5 @@ -import { User } from '@ghostfolio/common/interfaces'; -import { Type } from '@ghostfolio/prisma/enums'; +import type { User } from '@ghostfolio/common/interfaces'; +import type { Type } from '@ghostfolio/prisma/enums'; export interface ImportActivitiesDialogParams { activityTypes?: Type[]; diff --git a/apps/client/src/app/pages/portfolio/allocations/allocations-page.routes.ts b/apps/client/src/app/pages/portfolio/allocations/allocations-page.routes.ts index 355aca4f19..585371b5cd 100644 --- a/apps/client/src/app/pages/portfolio/allocations/allocations-page.routes.ts +++ b/apps/client/src/app/pages/portfolio/allocations/allocations-page.routes.ts @@ -1,6 +1,6 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfAllocationsPageComponent } from './allocations-page.component'; diff --git a/apps/client/src/app/pages/portfolio/allocations/interfaces/interfaces.ts b/apps/client/src/app/pages/portfolio/allocations/interfaces/interfaces.ts index dc90f5f95e..b98d20837b 100644 --- a/apps/client/src/app/pages/portfolio/allocations/interfaces/interfaces.ts +++ b/apps/client/src/app/pages/portfolio/allocations/interfaces/interfaces.ts @@ -1,4 +1,4 @@ -import { Params } from '@angular/router'; +import type { Params } from '@angular/router'; export interface AllocationsPageParams extends Params { accountDetailDialog?: string; diff --git a/apps/client/src/app/pages/portfolio/analysis/analysis-page.routes.ts b/apps/client/src/app/pages/portfolio/analysis/analysis-page.routes.ts index 91cf4c91b2..db5405007e 100644 --- a/apps/client/src/app/pages/portfolio/analysis/analysis-page.routes.ts +++ b/apps/client/src/app/pages/portfolio/analysis/analysis-page.routes.ts @@ -1,7 +1,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { internalRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfAnalysisPageComponent } from './analysis-page.component'; diff --git a/apps/client/src/app/pages/portfolio/fire/fire-page.routes.ts b/apps/client/src/app/pages/portfolio/fire/fire-page.routes.ts index 1d3926dd19..d2d91f317d 100644 --- a/apps/client/src/app/pages/portfolio/fire/fire-page.routes.ts +++ b/apps/client/src/app/pages/portfolio/fire/fire-page.routes.ts @@ -1,6 +1,6 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfFirePageComponent } from './fire-page.component'; diff --git a/apps/client/src/app/pages/portfolio/portfolio-page.routes.ts b/apps/client/src/app/pages/portfolio/portfolio-page.routes.ts index aeebf4a6b7..9e55455aea 100644 --- a/apps/client/src/app/pages/portfolio/portfolio-page.routes.ts +++ b/apps/client/src/app/pages/portfolio/portfolio-page.routes.ts @@ -1,7 +1,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { internalRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { PortfolioPageComponent } from './portfolio-page.component'; diff --git a/apps/client/src/app/pages/portfolio/x-ray/x-ray-page.routes.ts b/apps/client/src/app/pages/portfolio/x-ray/x-ray-page.routes.ts index 3c861eb0a2..78ce9c663e 100644 --- a/apps/client/src/app/pages/portfolio/x-ray/x-ray-page.routes.ts +++ b/apps/client/src/app/pages/portfolio/x-ray/x-ray-page.routes.ts @@ -1,6 +1,6 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfXRayPageComponent } from './x-ray-page.component'; diff --git a/apps/client/src/app/pages/pricing/pricing-page.routes.ts b/apps/client/src/app/pages/pricing/pricing-page.routes.ts index a5b2c6639c..de6be6aa06 100644 --- a/apps/client/src/app/pages/pricing/pricing-page.routes.ts +++ b/apps/client/src/app/pages/pricing/pricing-page.routes.ts @@ -1,6 +1,6 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfPricingPageComponent } from './pricing-page.component'; diff --git a/apps/client/src/app/pages/public/public-page.routes.ts b/apps/client/src/app/pages/public/public-page.routes.ts index 4442731378..991c37cbae 100644 --- a/apps/client/src/app/pages/public/public-page.routes.ts +++ b/apps/client/src/app/pages/public/public-page.routes.ts @@ -1,6 +1,6 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfPublicPageComponent } from './public-page.component'; diff --git a/apps/client/src/app/pages/register/register-page.routes.ts b/apps/client/src/app/pages/register/register-page.routes.ts index ca5b00376a..481c0616ec 100644 --- a/apps/client/src/app/pages/register/register-page.routes.ts +++ b/apps/client/src/app/pages/register/register-page.routes.ts @@ -1,7 +1,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfRegisterPageComponent } from './register-page.component'; diff --git a/apps/client/src/app/pages/resources/glossary/resources-glossary.routes.ts b/apps/client/src/app/pages/resources/glossary/resources-glossary.routes.ts index 2f864155a9..2a414c2a85 100644 --- a/apps/client/src/app/pages/resources/glossary/resources-glossary.routes.ts +++ b/apps/client/src/app/pages/resources/glossary/resources-glossary.routes.ts @@ -1,6 +1,6 @@ import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { ResourcesGlossaryPageComponent } from './resources-glossary.component'; diff --git a/apps/client/src/app/pages/resources/guides/resources-guides.routes.ts b/apps/client/src/app/pages/resources/guides/resources-guides.routes.ts index f9f65f44af..719f4825b7 100644 --- a/apps/client/src/app/pages/resources/guides/resources-guides.routes.ts +++ b/apps/client/src/app/pages/resources/guides/resources-guides.routes.ts @@ -1,6 +1,6 @@ import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { ResourcesGuidesComponent } from './resources-guides.component'; diff --git a/apps/client/src/app/pages/resources/markets/resources-markets.routes.ts b/apps/client/src/app/pages/resources/markets/resources-markets.routes.ts index 4bcb66789a..81b9d00c64 100644 --- a/apps/client/src/app/pages/resources/markets/resources-markets.routes.ts +++ b/apps/client/src/app/pages/resources/markets/resources-markets.routes.ts @@ -1,6 +1,6 @@ import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { ResourcesMarketsComponent } from './resources-markets.component'; diff --git a/apps/client/src/app/pages/resources/overview/resources-overview.routes.ts b/apps/client/src/app/pages/resources/overview/resources-overview.routes.ts index a6ddbf9954..d780ccc066 100644 --- a/apps/client/src/app/pages/resources/overview/resources-overview.routes.ts +++ b/apps/client/src/app/pages/resources/overview/resources-overview.routes.ts @@ -1,4 +1,4 @@ -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { ResourcesOverviewComponent } from './resources-overview.component'; diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.routes.ts b/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.routes.ts index 9081f6b289..a3f445ca0c 100644 --- a/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.routes.ts +++ b/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.routes.ts @@ -2,7 +2,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { personalFinanceTools } from '@ghostfolio/common/personal-finance-tools'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { PersonalFinanceToolsPageComponent } from './personal-finance-tools-page.component'; diff --git a/apps/client/src/app/pages/resources/resources-page.routes.ts b/apps/client/src/app/pages/resources/resources-page.routes.ts index 1079882380..5f5ba3b5e0 100644 --- a/apps/client/src/app/pages/resources/resources-page.routes.ts +++ b/apps/client/src/app/pages/resources/resources-page.routes.ts @@ -1,7 +1,7 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { ResourcesPageComponent } from './resources-page.component'; diff --git a/apps/client/src/app/pages/user-account/user-account-page.routes.ts b/apps/client/src/app/pages/user-account/user-account-page.routes.ts index 250bb5088b..507411c6f1 100644 --- a/apps/client/src/app/pages/user-account/user-account-page.routes.ts +++ b/apps/client/src/app/pages/user-account/user-account-page.routes.ts @@ -5,7 +5,7 @@ import { GfUserAccountSettingsComponent } from '@ghostfolio/client/components/us import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { internalRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfUserAccountPageComponent } from './user-account-page.component'; diff --git a/apps/client/src/app/pages/zen/zen-page.routes.ts b/apps/client/src/app/pages/zen/zen-page.routes.ts index 60e163ca49..509498b10e 100644 --- a/apps/client/src/app/pages/zen/zen-page.routes.ts +++ b/apps/client/src/app/pages/zen/zen-page.routes.ts @@ -3,7 +3,7 @@ import { GfHomeOverviewComponent } from '@ghostfolio/client/components/home-over import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { internalRoutes } from '@ghostfolio/common/routes/routes'; -import { Routes } from '@angular/router'; +import type { Routes } from '@angular/router'; import { GfZenPageComponent } from './zen-page.component'; diff --git a/apps/client/src/app/services/user/user-store.state.ts b/apps/client/src/app/services/user/user-store.state.ts index 31e397a411..c4eea02204 100644 --- a/apps/client/src/app/services/user/user-store.state.ts +++ b/apps/client/src/app/services/user/user-store.state.ts @@ -1,4 +1,4 @@ -import { User } from '@ghostfolio/common/interfaces'; +import type { User } from '@ghostfolio/common/interfaces'; export interface UserStoreState { user: User; diff --git a/apps/client/src/main.ts b/apps/client/src/main.ts index 159c2a7c98..895bdd8dfb 100644 --- a/apps/client/src/main.ts +++ b/apps/client/src/main.ts @@ -1,4 +1,4 @@ -import { InfoResponse } from '@ghostfolio/common/interfaces'; +import type { InfoResponse } from '@ghostfolio/common/interfaces'; import { filterGlobalPermissions } from '@ghostfolio/common/permissions'; import { registerChartConfiguration } from '@ghostfolio/ui/chart'; import { GF_ENVIRONMENT } from '@ghostfolio/ui/environment'; diff --git a/eslint.config.cjs b/eslint.config.cjs index 282e1b548c..03e7b5d9b2 100644 --- a/eslint.config.cjs +++ b/eslint.config.cjs @@ -40,6 +40,14 @@ module.exports = [ ], rules: { '@typescript-eslint/consistent-indexed-object-style': 'off', + '@typescript-eslint/consistent-type-imports': [ + 'error', + { + disallowTypeAnnotations: false, + prefer: 'type-imports', + fixStyle: 'separate-type-imports' + } + ], '@typescript-eslint/dot-notation': 'off', '@typescript-eslint/explicit-member-accessibility': [ 'off', @@ -108,6 +116,7 @@ module.exports = [ 'guard-for-in': 'warn', 'id-blacklist': 'off', 'id-match': 'off', + 'import/consistent-type-specifier-style': ['error', 'prefer-top-level'], 'import/no-deprecated': 'warn', 'no-bitwise': 'error', 'no-caller': 'error', diff --git a/libs/common/src/lib/calculation-helper.ts b/libs/common/src/lib/calculation-helper.ts index 2cc1fa2d1c..d60c4c51e8 100644 --- a/libs/common/src/lib/calculation-helper.ts +++ b/libs/common/src/lib/calculation-helper.ts @@ -13,7 +13,7 @@ import { import { isFinite, isNumber } from 'lodash-es'; import { resetHours } from './helper'; -import { DateRange } from './types'; +import type { DateRange } from './types'; export function getAnnualizedPerformancePercent({ daysInMarket, diff --git a/libs/common/src/lib/chart-helper.ts b/libs/common/src/lib/chart-helper.ts index 72b629556a..13995cc984 100644 --- a/libs/common/src/lib/chart-helper.ts +++ b/libs/common/src/lib/chart-helper.ts @@ -23,7 +23,7 @@ import { getLocale, getTextColor } from './helper'; -import { ColorScheme, GroupBy } from './types'; +import type { ColorScheme, GroupBy } from './types'; export function formatGroupedDate({ date, diff --git a/libs/common/src/lib/config.ts b/libs/common/src/lib/config.ts index 73bf5cc00c..dac659d67b 100644 --- a/libs/common/src/lib/config.ts +++ b/libs/common/src/lib/config.ts @@ -5,10 +5,10 @@ import { Type } from '@ghostfolio/prisma/enums'; -import { JobOptions, JobStatus } from 'bull'; +import type { JobOptions, JobStatus } from 'bull'; import ms from 'ms'; -import { DateRange } from './types'; +import type { DateRange } from './types'; export const ghostfolioPrefix = 'GF'; diff --git a/libs/common/src/lib/helper.spec.ts b/libs/common/src/lib/helper.spec.ts index 71b934628c..7bc148ab37 100644 --- a/libs/common/src/lib/helper.spec.ts +++ b/libs/common/src/lib/helper.spec.ts @@ -22,7 +22,7 @@ import { isValidGranteeOfAccess, resolveUserSettings } from '@ghostfolio/common/helper'; -import { UserSettings } from '@ghostfolio/common/interfaces'; +import type { UserSettings } from '@ghostfolio/common/interfaces'; describe('Helper', () => { describe('Can apply filters to access', () => { diff --git a/libs/common/src/lib/helper.ts b/libs/common/src/lib/helper.ts index 7e4e13de7e..f6647cf058 100644 --- a/libs/common/src/lib/helper.ts +++ b/libs/common/src/lib/helper.ts @@ -4,11 +4,8 @@ import type { Prisma, SymbolProfile } from '@ghostfolio/prisma/browser'; -import { - AccessType, - Type as ActivityType, - AssetSubClass -} from '@ghostfolio/prisma/enums'; +import type { AccessType } from '@ghostfolio/prisma/enums'; +import { Type as ActivityType, AssetSubClass } from '@ghostfolio/prisma/enums'; import { utc } from '@date-fns/utc'; import { NumberParser } from '@internationalized/number'; @@ -56,14 +53,14 @@ import { TAG_ID_EXCLUDE_FROM_ANALYSIS, TAG_IDS_SYSTEM } from './config'; -import { +import type { AssetProfileIdentifier, AssetProfileItem, Benchmark, PortfolioPosition, UserSettings } from './interfaces'; -import { BenchmarkTrend, ColorScheme } from './types'; +import type { BenchmarkTrend, ColorScheme } from './types'; export const DATE_FORMAT = 'yyyy-MM-dd'; export const DATE_FORMAT_MONTHLY = 'MMMM yyyy'; diff --git a/libs/common/src/lib/interfaces/access-settings.interface.ts b/libs/common/src/lib/interfaces/access-settings.interface.ts index 5c240089f3..d4c56b80bf 100644 --- a/libs/common/src/lib/interfaces/access-settings.interface.ts +++ b/libs/common/src/lib/interfaces/access-settings.interface.ts @@ -1,4 +1,4 @@ -import { Filter } from './filter.interface'; +import type { Filter } from './filter.interface'; export interface AccessSettings { filters?: Filter[]; diff --git a/libs/common/src/lib/interfaces/access.interface.ts b/libs/common/src/lib/interfaces/access.interface.ts index 182a0f3a49..9eb200c4ea 100644 --- a/libs/common/src/lib/interfaces/access.interface.ts +++ b/libs/common/src/lib/interfaces/access.interface.ts @@ -1,6 +1,6 @@ -import { AccessType } from '@ghostfolio/prisma/enums'; +import type { AccessType } from '@ghostfolio/prisma/enums'; -import { AccessSettings } from './access-settings.interface'; +import type { AccessSettings } from './access-settings.interface'; export interface Access { alias: string | null; diff --git a/libs/common/src/lib/interfaces/activities.interface.ts b/libs/common/src/lib/interfaces/activities.interface.ts index 2e9be921e3..5a7cfd7df3 100644 --- a/libs/common/src/lib/interfaces/activities.interface.ts +++ b/libs/common/src/lib/interfaces/activities.interface.ts @@ -1,5 +1,5 @@ -import { EnhancedAssetProfile } from '@ghostfolio/common/interfaces'; -import { AccountWithPlatform } from '@ghostfolio/common/types'; +import type { EnhancedAssetProfile } from '@ghostfolio/common/interfaces'; +import type { AccountWithPlatform } from '@ghostfolio/common/types'; import type { Order, Tag } from '@ghostfolio/prisma/browser'; export interface Activity extends Order { diff --git a/libs/common/src/lib/interfaces/admin-data.interface.ts b/libs/common/src/lib/interfaces/admin-data.interface.ts index dd25b516d5..af978762c8 100644 --- a/libs/common/src/lib/interfaces/admin-data.interface.ts +++ b/libs/common/src/lib/interfaces/admin-data.interface.ts @@ -1,4 +1,4 @@ -import { DataProviderInfo } from './data-provider-info.interface'; +import type { DataProviderInfo } from './data-provider-info.interface'; export interface AdminData { activitiesCount: number; diff --git a/libs/common/src/lib/interfaces/admin-jobs.interface.ts b/libs/common/src/lib/interfaces/admin-jobs.interface.ts index b4c91ebc0a..f974391cc1 100644 --- a/libs/common/src/lib/interfaces/admin-jobs.interface.ts +++ b/libs/common/src/lib/interfaces/admin-jobs.interface.ts @@ -1,4 +1,4 @@ -import { Job, JobStatus } from 'bull'; +import type { Job, JobStatus } from 'bull'; export interface AdminJobs { jobs: (Pick< diff --git a/libs/common/src/lib/interfaces/admin-market-data-details.interface.ts b/libs/common/src/lib/interfaces/admin-market-data-details.interface.ts index 7a7bba7159..aa7fada9fe 100644 --- a/libs/common/src/lib/interfaces/admin-market-data-details.interface.ts +++ b/libs/common/src/lib/interfaces/admin-market-data-details.interface.ts @@ -1,6 +1,6 @@ import type { AssetProfileSplit, MarketData } from '@ghostfolio/prisma/browser'; -import { EnhancedAssetProfile } from './enhanced-asset-profile.interface'; +import type { EnhancedAssetProfile } from './enhanced-asset-profile.interface'; export interface AdminMarketDataDetails { assetProfile: Partial; diff --git a/libs/common/src/lib/interfaces/admin-user.interface.ts b/libs/common/src/lib/interfaces/admin-user.interface.ts index a5c46d92f8..9cfcdfa890 100644 --- a/libs/common/src/lib/interfaces/admin-user.interface.ts +++ b/libs/common/src/lib/interfaces/admin-user.interface.ts @@ -1,5 +1,5 @@ import type { Subscription } from '@ghostfolio/prisma/browser'; -import { Provider, Role } from '@ghostfolio/prisma/enums'; +import type { Provider, Role } from '@ghostfolio/prisma/enums'; export interface AdminUser { accountCount: number; diff --git a/libs/common/src/lib/interfaces/asset-class-selector-option.interface.ts b/libs/common/src/lib/interfaces/asset-class-selector-option.interface.ts index ed8d580f9d..0fd14a1c54 100644 --- a/libs/common/src/lib/interfaces/asset-class-selector-option.interface.ts +++ b/libs/common/src/lib/interfaces/asset-class-selector-option.interface.ts @@ -1,4 +1,4 @@ -import { AssetClass, AssetSubClass } from '@ghostfolio/prisma/enums'; +import type { AssetClass, AssetSubClass } from '@ghostfolio/prisma/enums'; export interface AssetClassSelectorOption { id: AssetClass | AssetSubClass; diff --git a/libs/common/src/lib/interfaces/asset-profile-identifier.interface.ts b/libs/common/src/lib/interfaces/asset-profile-identifier.interface.ts index a031f3a488..c066b90c34 100644 --- a/libs/common/src/lib/interfaces/asset-profile-identifier.interface.ts +++ b/libs/common/src/lib/interfaces/asset-profile-identifier.interface.ts @@ -1,4 +1,4 @@ -import { DataSource } from '@ghostfolio/prisma/enums'; +import type { DataSource } from '@ghostfolio/prisma/enums'; export interface AssetProfileIdentifier { dataSource: DataSource; diff --git a/libs/common/src/lib/interfaces/asset-profile-item.interface.ts b/libs/common/src/lib/interfaces/asset-profile-item.interface.ts index a982f5050a..3bdf27b5f6 100644 --- a/libs/common/src/lib/interfaces/asset-profile-item.interface.ts +++ b/libs/common/src/lib/interfaces/asset-profile-item.interface.ts @@ -1,10 +1,10 @@ -import { +import type { AssetClass, AssetSubClass, DataSource } from '@ghostfolio/prisma/enums'; -import { DataProviderInfo } from './data-provider-info.interface'; +import type { DataProviderInfo } from './data-provider-info.interface'; export interface AssetProfileItem { activitiesCount: number; diff --git a/libs/common/src/lib/interfaces/benchmark.interface.ts b/libs/common/src/lib/interfaces/benchmark.interface.ts index 88628ad158..bce7494a87 100644 --- a/libs/common/src/lib/interfaces/benchmark.interface.ts +++ b/libs/common/src/lib/interfaces/benchmark.interface.ts @@ -1,6 +1,6 @@ -import { BenchmarkTrend } from '@ghostfolio/common/types/'; +import type { BenchmarkTrend } from '@ghostfolio/common/types/'; -import { EnhancedAssetProfile } from './enhanced-asset-profile.interface'; +import type { EnhancedAssetProfile } from './enhanced-asset-profile.interface'; export interface Benchmark { dataSource: EnhancedAssetProfile['dataSource']; diff --git a/libs/common/src/lib/interfaces/coupon.interface.ts b/libs/common/src/lib/interfaces/coupon.interface.ts index 0ee1ddb24c..820c89b59f 100644 --- a/libs/common/src/lib/interfaces/coupon.interface.ts +++ b/libs/common/src/lib/interfaces/coupon.interface.ts @@ -1,4 +1,4 @@ -import { StringValue } from 'ms'; +import type { StringValue } from 'ms'; export interface Coupon { code: string; diff --git a/libs/common/src/lib/interfaces/data-provider-info.interface.ts b/libs/common/src/lib/interfaces/data-provider-info.interface.ts index dd3c67d4f9..b2900aa3c1 100644 --- a/libs/common/src/lib/interfaces/data-provider-info.interface.ts +++ b/libs/common/src/lib/interfaces/data-provider-info.interface.ts @@ -1,4 +1,4 @@ -import { DataSource } from '@ghostfolio/prisma/enums'; +import type { DataSource } from '@ghostfolio/prisma/enums'; export interface DataProviderInfo { dataSource?: DataSource; diff --git a/libs/common/src/lib/interfaces/enhanced-asset-profile.interface.ts b/libs/common/src/lib/interfaces/enhanced-asset-profile.interface.ts index 88226d9872..f4421d08db 100644 --- a/libs/common/src/lib/interfaces/enhanced-asset-profile.interface.ts +++ b/libs/common/src/lib/interfaces/enhanced-asset-profile.interface.ts @@ -1,15 +1,15 @@ -import { +import type { AssetClass, AssetSubClass, DataGatheringFrequency, DataSource } from '@ghostfolio/prisma/enums'; -import { Country } from './country.interface'; -import { DataProviderInfo } from './data-provider-info.interface'; -import { Holding } from './holding.interface'; -import { ScraperConfiguration } from './scraper-configuration.interface'; -import { Sector } from './sector.interface'; +import type { Country } from './country.interface'; +import type { DataProviderInfo } from './data-provider-info.interface'; +import type { Holding } from './holding.interface'; +import type { ScraperConfiguration } from './scraper-configuration.interface'; +import type { Sector } from './sector.interface'; export interface EnhancedAssetProfile { activitiesCount: number; diff --git a/libs/common/src/lib/interfaces/filter-group.interface.ts b/libs/common/src/lib/interfaces/filter-group.interface.ts index 7087b99fad..ba86390943 100644 --- a/libs/common/src/lib/interfaces/filter-group.interface.ts +++ b/libs/common/src/lib/interfaces/filter-group.interface.ts @@ -1,4 +1,4 @@ -import { Filter } from './filter.interface'; +import type { Filter } from './filter.interface'; export interface FilterGroup { filters: Filter[]; diff --git a/libs/common/src/lib/interfaces/holding-with-parents.interface.ts b/libs/common/src/lib/interfaces/holding-with-parents.interface.ts index df3f329671..1ae801885e 100644 --- a/libs/common/src/lib/interfaces/holding-with-parents.interface.ts +++ b/libs/common/src/lib/interfaces/holding-with-parents.interface.ts @@ -1,4 +1,4 @@ -import { Holding } from './holding.interface'; +import type { Holding } from './holding.interface'; export interface HoldingWithParents extends Holding { parents?: Holding[]; diff --git a/libs/common/src/lib/interfaces/info-item.interface.ts b/libs/common/src/lib/interfaces/info-item.interface.ts index 355b19203c..b394dd324d 100644 --- a/libs/common/src/lib/interfaces/info-item.interface.ts +++ b/libs/common/src/lib/interfaces/info-item.interface.ts @@ -1,7 +1,7 @@ import type { SymbolProfile } from '@ghostfolio/prisma/browser'; -import { Statistics } from './statistics.interface'; -import { SubscriptionOffer } from './subscription-offer.interface'; +import type { Statistics } from './statistics.interface'; +import type { SubscriptionOffer } from './subscription-offer.interface'; export interface InfoItem { baseCurrency: string; diff --git a/libs/common/src/lib/interfaces/lookup-item.interface.ts b/libs/common/src/lib/interfaces/lookup-item.interface.ts index 5c653acddd..cde399a391 100644 --- a/libs/common/src/lib/interfaces/lookup-item.interface.ts +++ b/libs/common/src/lib/interfaces/lookup-item.interface.ts @@ -1,10 +1,10 @@ -import { +import type { AssetClass, AssetSubClass, DataSource } from '@ghostfolio/prisma/enums'; -import { DataProviderInfo } from './data-provider-info.interface'; +import type { DataProviderInfo } from './data-provider-info.interface'; export interface LookupItem { assetClass: AssetClass; diff --git a/libs/common/src/lib/interfaces/portfolio-chart.interface.ts b/libs/common/src/lib/interfaces/portfolio-chart.interface.ts index 0ed4a8bb92..619e8f405f 100644 --- a/libs/common/src/lib/interfaces/portfolio-chart.interface.ts +++ b/libs/common/src/lib/interfaces/portfolio-chart.interface.ts @@ -1,4 +1,4 @@ -import { HistoricalDataItem } from './historical-data-item.interface'; +import type { HistoricalDataItem } from './historical-data-item.interface'; export interface PortfolioChart { hasError: boolean; diff --git a/libs/common/src/lib/interfaces/portfolio-details.interface.ts b/libs/common/src/lib/interfaces/portfolio-details.interface.ts index 2b1e8bc426..3605899fd4 100644 --- a/libs/common/src/lib/interfaces/portfolio-details.interface.ts +++ b/libs/common/src/lib/interfaces/portfolio-details.interface.ts @@ -1,8 +1,8 @@ -import { +import type { PortfolioPosition, PortfolioSummary } from '@ghostfolio/common/interfaces'; -import { Market, MarketAdvanced } from '@ghostfolio/common/types'; +import type { Market, MarketAdvanced } from '@ghostfolio/common/types'; export interface PortfolioDetails { accounts: { diff --git a/libs/common/src/lib/interfaces/portfolio-position.interface.ts b/libs/common/src/lib/interfaces/portfolio-position.interface.ts index dcb150d963..0c9e355b60 100644 --- a/libs/common/src/lib/interfaces/portfolio-position.interface.ts +++ b/libs/common/src/lib/interfaces/portfolio-position.interface.ts @@ -1,7 +1,7 @@ -import { Market, MarketAdvanced } from '@ghostfolio/common/types'; +import type { Market, MarketAdvanced } from '@ghostfolio/common/types'; import type { Tag } from '@ghostfolio/prisma/browser'; -import { EnhancedAssetProfile } from './enhanced-asset-profile.interface'; +import type { EnhancedAssetProfile } from './enhanced-asset-profile.interface'; export interface PortfolioPosition { activitiesCount: number; diff --git a/libs/common/src/lib/interfaces/portfolio-summary.interface.ts b/libs/common/src/lib/interfaces/portfolio-summary.interface.ts index d9bd435b1b..bc8c767e8b 100644 --- a/libs/common/src/lib/interfaces/portfolio-summary.interface.ts +++ b/libs/common/src/lib/interfaces/portfolio-summary.interface.ts @@ -1,5 +1,5 @@ -import { FireWealth } from './fire-wealth.interface'; -import { PortfolioPerformance } from './portfolio-performance.interface'; +import type { FireWealth } from './fire-wealth.interface'; +import type { PortfolioPerformance } from './portfolio-performance.interface'; export interface PortfolioSummary extends PortfolioPerformance { activityCount: number; diff --git a/libs/common/src/lib/interfaces/product.interface.ts b/libs/common/src/lib/interfaces/product.interface.ts index 11d5e35b05..c591445b79 100644 --- a/libs/common/src/lib/interfaces/product.interface.ts +++ b/libs/common/src/lib/interfaces/product.interface.ts @@ -1,4 +1,7 @@ -import { ProductCategory, ProductPlatform } from '@ghostfolio/common/types'; +import type { + ProductCategory, + ProductPlatform +} from '@ghostfolio/common/types'; export interface Product { alias?: string; diff --git a/libs/common/src/lib/interfaces/responses/account-response.interface.ts b/libs/common/src/lib/interfaces/responses/account-response.interface.ts index 3e954dc726..385a4a1fb5 100644 --- a/libs/common/src/lib/interfaces/responses/account-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/account-response.interface.ts @@ -1,3 +1,3 @@ -import { AccountWithValue } from '@ghostfolio/common/types'; +import type { AccountWithValue } from '@ghostfolio/common/types'; export interface AccountResponse extends AccountWithValue {} diff --git a/libs/common/src/lib/interfaces/responses/accounts-response.interface.ts b/libs/common/src/lib/interfaces/responses/accounts-response.interface.ts index 90f1303e02..60ce608748 100644 --- a/libs/common/src/lib/interfaces/responses/accounts-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/accounts-response.interface.ts @@ -1,4 +1,4 @@ -import { AccountWithValue } from '@ghostfolio/common/types'; +import type { AccountWithValue } from '@ghostfolio/common/types'; export interface AccountsResponse { accounts: AccountWithValue[]; diff --git a/libs/common/src/lib/interfaces/responses/activities-response.interface.ts b/libs/common/src/lib/interfaces/responses/activities-response.interface.ts index 863ae46652..66762641a2 100644 --- a/libs/common/src/lib/interfaces/responses/activities-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/activities-response.interface.ts @@ -1,4 +1,4 @@ -import { Activity } from '@ghostfolio/common/interfaces'; +import type { Activity } from '@ghostfolio/common/interfaces'; export interface ActivitiesResponse { activities: Activity[]; diff --git a/libs/common/src/lib/interfaces/responses/activity-response.interface.ts b/libs/common/src/lib/interfaces/responses/activity-response.interface.ts index d26f13a5a1..a5cffee903 100644 --- a/libs/common/src/lib/interfaces/responses/activity-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/activity-response.interface.ts @@ -1,3 +1,3 @@ -import { Activity } from '@ghostfolio/common/interfaces'; +import type { Activity } from '@ghostfolio/common/interfaces'; export interface ActivityResponse extends Activity {} diff --git a/libs/common/src/lib/interfaces/responses/admin-user-response.interface.ts b/libs/common/src/lib/interfaces/responses/admin-user-response.interface.ts index 8e93fc0973..7924a7d047 100644 --- a/libs/common/src/lib/interfaces/responses/admin-user-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/admin-user-response.interface.ts @@ -1,3 +1,3 @@ -import { AdminUser } from '../admin-user.interface'; +import type { AdminUser } from '../admin-user.interface'; export interface AdminUserResponse extends AdminUser {} diff --git a/libs/common/src/lib/interfaces/responses/admin-users-response.interface.ts b/libs/common/src/lib/interfaces/responses/admin-users-response.interface.ts index 8dd058030e..7fc8a45e0e 100644 --- a/libs/common/src/lib/interfaces/responses/admin-users-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/admin-users-response.interface.ts @@ -1,4 +1,4 @@ -import { AdminUser } from '../admin-user.interface'; +import type { AdminUser } from '../admin-user.interface'; export interface AdminUsersResponse { count: number; diff --git a/libs/common/src/lib/interfaces/responses/asset-profile-response.interface.ts b/libs/common/src/lib/interfaces/responses/asset-profile-response.interface.ts index 26ca5b29f9..45a9bb49a1 100644 --- a/libs/common/src/lib/interfaces/responses/asset-profile-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/asset-profile-response.interface.ts @@ -1,6 +1,6 @@ import type { AssetProfileSplit, MarketData } from '@ghostfolio/prisma/browser'; -import { EnhancedAssetProfile } from '../enhanced-asset-profile.interface'; +import type { EnhancedAssetProfile } from '../enhanced-asset-profile.interface'; export interface AssetProfileResponse { assetProfile: Partial; diff --git a/libs/common/src/lib/interfaces/responses/asset-profiles-response.interface.ts b/libs/common/src/lib/interfaces/responses/asset-profiles-response.interface.ts index e73e4c64f6..6b02f77980 100644 --- a/libs/common/src/lib/interfaces/responses/asset-profiles-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/asset-profiles-response.interface.ts @@ -1,4 +1,4 @@ -import { AssetProfileItem } from '../asset-profile-item.interface'; +import type { AssetProfileItem } from '../asset-profile-item.interface'; export interface AssetProfilesResponse { assetProfiles: AssetProfileItem[]; diff --git a/libs/common/src/lib/interfaces/responses/benchmark-market-data-details-response.interface.ts b/libs/common/src/lib/interfaces/responses/benchmark-market-data-details-response.interface.ts index cdd63ff793..3c458f4ab1 100644 --- a/libs/common/src/lib/interfaces/responses/benchmark-market-data-details-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/benchmark-market-data-details-response.interface.ts @@ -1,4 +1,4 @@ -import { LineChartItem } from '@ghostfolio/common/interfaces'; +import type { LineChartItem } from '@ghostfolio/common/interfaces'; export interface BenchmarkMarketDataDetailsResponse { marketData: LineChartItem[]; diff --git a/libs/common/src/lib/interfaces/responses/benchmark-response.interface.ts b/libs/common/src/lib/interfaces/responses/benchmark-response.interface.ts index d47cf18641..9a569ddbbd 100644 --- a/libs/common/src/lib/interfaces/responses/benchmark-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/benchmark-response.interface.ts @@ -1,4 +1,4 @@ -import { Benchmark } from '@ghostfolio/common/interfaces'; +import type { Benchmark } from '@ghostfolio/common/interfaces'; export interface BenchmarkResponse { benchmarks: Benchmark[]; diff --git a/libs/common/src/lib/interfaces/responses/create-activity-response.interface.ts b/libs/common/src/lib/interfaces/responses/create-activity-response.interface.ts index 198a2cef79..fd34d4448b 100644 --- a/libs/common/src/lib/interfaces/responses/create-activity-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/create-activity-response.interface.ts @@ -1,6 +1,6 @@ import type { Order, SymbolProfile } from '@ghostfolio/prisma/browser'; -import { EnhancedAssetProfile } from '../enhanced-asset-profile.interface'; +import type { EnhancedAssetProfile } from '../enhanced-asset-profile.interface'; export interface CreateActivityResponse extends Order { assetProfile: EnhancedAssetProfile; diff --git a/libs/common/src/lib/interfaces/responses/data-provider-ghostfolio-status-response.interface.ts b/libs/common/src/lib/interfaces/responses/data-provider-ghostfolio-status-response.interface.ts index 2bdc1ff73f..1c20ce9dfd 100644 --- a/libs/common/src/lib/interfaces/responses/data-provider-ghostfolio-status-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/data-provider-ghostfolio-status-response.interface.ts @@ -1,4 +1,4 @@ -import { UserWithSettings } from '@ghostfolio/common/types'; +import type { UserWithSettings } from '@ghostfolio/common/types'; export interface DataProviderGhostfolioStatusResponse { dailyRequests: number; diff --git a/libs/common/src/lib/interfaces/responses/data-provider-response.interface.ts b/libs/common/src/lib/interfaces/responses/data-provider-response.interface.ts index d46c6ff5e3..c9c89bfbf2 100644 --- a/libs/common/src/lib/interfaces/responses/data-provider-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/data-provider-response.interface.ts @@ -1,6 +1,6 @@ -import { DataProviderInfo } from '@ghostfolio/common/interfaces'; -import { MarketState } from '@ghostfolio/common/types'; -import { DataSource } from '@ghostfolio/prisma/enums'; +import type { DataProviderInfo } from '@ghostfolio/common/interfaces'; +import type { MarketState } from '@ghostfolio/common/types'; +import type { DataSource } from '@ghostfolio/prisma/enums'; export interface DataProviderHistoricalResponse { marketPrice: number; diff --git a/libs/common/src/lib/interfaces/responses/dividends-response.interface.ts b/libs/common/src/lib/interfaces/responses/dividends-response.interface.ts index 8bbd8b7550..875566b6ac 100644 --- a/libs/common/src/lib/interfaces/responses/dividends-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/dividends-response.interface.ts @@ -1,4 +1,4 @@ -import { DataProviderHistoricalResponse } from '@ghostfolio/common/interfaces'; +import type { DataProviderHistoricalResponse } from '@ghostfolio/common/interfaces'; export interface DividendsResponse { dividends: { diff --git a/libs/common/src/lib/interfaces/responses/errors.interface.ts b/libs/common/src/lib/interfaces/responses/errors.interface.ts index b830a9e308..3029bb9788 100644 --- a/libs/common/src/lib/interfaces/responses/errors.interface.ts +++ b/libs/common/src/lib/interfaces/responses/errors.interface.ts @@ -1,4 +1,4 @@ -import { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; +import type { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; export interface ResponseError { errors?: AssetProfileIdentifier[]; diff --git a/libs/common/src/lib/interfaces/responses/export-response.interface.ts b/libs/common/src/lib/interfaces/responses/export-response.interface.ts index 6f643ec1a1..2298c61791 100644 --- a/libs/common/src/lib/interfaces/responses/export-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/export-response.interface.ts @@ -6,10 +6,10 @@ import type { Tag } from '@ghostfolio/prisma/browser'; -import { AccountBalance } from '../account-balance.interface'; -import { AssetProfileIdentifier } from '../asset-profile-identifier.interface'; -import { MarketData } from '../market-data.interface'; -import { UserSettings } from '../user-settings.interface'; +import type { AccountBalance } from '../account-balance.interface'; +import type { AssetProfileIdentifier } from '../asset-profile-identifier.interface'; +import type { MarketData } from '../market-data.interface'; +import type { UserSettings } from '../user-settings.interface'; export interface ExportResponse { accounts: (Omit & { diff --git a/libs/common/src/lib/interfaces/responses/historical-response.interface.ts b/libs/common/src/lib/interfaces/responses/historical-response.interface.ts index 211b19b4dc..c26d4b6dc3 100644 --- a/libs/common/src/lib/interfaces/responses/historical-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/historical-response.interface.ts @@ -1,4 +1,4 @@ -import { DataProviderHistoricalResponse } from '@ghostfolio/common/interfaces'; +import type { DataProviderHistoricalResponse } from '@ghostfolio/common/interfaces'; export interface HistoricalResponse { historicalData: { diff --git a/libs/common/src/lib/interfaces/responses/import-response.interface.ts b/libs/common/src/lib/interfaces/responses/import-response.interface.ts index 24b0e4f4b5..79f2bcd1d0 100644 --- a/libs/common/src/lib/interfaces/responses/import-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/import-response.interface.ts @@ -1,4 +1,4 @@ -import { Activity } from '@ghostfolio/common/interfaces'; +import type { Activity } from '@ghostfolio/common/interfaces'; export interface ImportResponse { activities: Activity[]; diff --git a/libs/common/src/lib/interfaces/responses/info-response.interface.ts b/libs/common/src/lib/interfaces/responses/info-response.interface.ts index 45e62db73b..f019abc563 100644 --- a/libs/common/src/lib/interfaces/responses/info-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/info-response.interface.ts @@ -1,3 +1,3 @@ -import { InfoItem } from '../index'; +import type { InfoItem } from '../index'; export interface InfoResponse extends InfoItem {} diff --git a/libs/common/src/lib/interfaces/responses/lookup-response.interface.ts b/libs/common/src/lib/interfaces/responses/lookup-response.interface.ts index 579be9d011..3ba839248b 100644 --- a/libs/common/src/lib/interfaces/responses/lookup-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/lookup-response.interface.ts @@ -1,4 +1,4 @@ -import { LookupItem } from '../lookup-item.interface'; +import type { LookupItem } from '../lookup-item.interface'; export interface LookupResponse { items: LookupItem[]; diff --git a/libs/common/src/lib/interfaces/responses/market-data-of-markets-response.interface.ts b/libs/common/src/lib/interfaces/responses/market-data-of-markets-response.interface.ts index 997a427375..ba74e9c48a 100644 --- a/libs/common/src/lib/interfaces/responses/market-data-of-markets-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/market-data-of-markets-response.interface.ts @@ -1,4 +1,4 @@ -import { SymbolItem } from '@ghostfolio/common/interfaces'; +import type { SymbolItem } from '@ghostfolio/common/interfaces'; export interface MarketDataOfMarketsResponse { fearAndGreedIndex: { diff --git a/libs/common/src/lib/interfaces/responses/portfolio-dividends-response.interface.ts b/libs/common/src/lib/interfaces/responses/portfolio-dividends-response.interface.ts index bd33dbccbf..e9d6b055ce 100644 --- a/libs/common/src/lib/interfaces/responses/portfolio-dividends-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/portfolio-dividends-response.interface.ts @@ -1,4 +1,4 @@ -import { InvestmentItem } from '../investment-item.interface'; +import type { InvestmentItem } from '../investment-item.interface'; export interface PortfolioDividendsResponse { dividends: InvestmentItem[]; diff --git a/libs/common/src/lib/interfaces/responses/portfolio-holding-response.interface.ts b/libs/common/src/lib/interfaces/responses/portfolio-holding-response.interface.ts index a3ab21705c..b85b3cbe48 100644 --- a/libs/common/src/lib/interfaces/responses/portfolio-holding-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/portfolio-holding-response.interface.ts @@ -1,4 +1,4 @@ -import { +import type { Benchmark, DataProviderInfo, EnhancedAssetProfile, diff --git a/libs/common/src/lib/interfaces/responses/portfolio-holdings-response.interface.ts b/libs/common/src/lib/interfaces/responses/portfolio-holdings-response.interface.ts index d2cf38f553..10e740c42c 100644 --- a/libs/common/src/lib/interfaces/responses/portfolio-holdings-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/portfolio-holdings-response.interface.ts @@ -1,4 +1,4 @@ -import { PortfolioPosition } from '@ghostfolio/common/interfaces'; +import type { PortfolioPosition } from '@ghostfolio/common/interfaces'; export interface PortfolioHoldingsResponse { holdings: PortfolioPosition[]; diff --git a/libs/common/src/lib/interfaces/responses/portfolio-investments.interface.ts b/libs/common/src/lib/interfaces/responses/portfolio-investments.interface.ts index 30ac537656..7097a6df90 100644 --- a/libs/common/src/lib/interfaces/responses/portfolio-investments.interface.ts +++ b/libs/common/src/lib/interfaces/responses/portfolio-investments.interface.ts @@ -1,4 +1,4 @@ -import { InvestmentItem } from '../investment-item.interface'; +import type { InvestmentItem } from '../investment-item.interface'; export interface PortfolioInvestmentsResponse { investments: InvestmentItem[]; diff --git a/libs/common/src/lib/interfaces/responses/portfolio-performance-response.interface.ts b/libs/common/src/lib/interfaces/responses/portfolio-performance-response.interface.ts index 8177bd533c..572844cf1f 100644 --- a/libs/common/src/lib/interfaces/responses/portfolio-performance-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/portfolio-performance-response.interface.ts @@ -1,6 +1,6 @@ -import { HistoricalDataItem } from '../historical-data-item.interface'; -import { PortfolioPerformance } from '../portfolio-performance.interface'; -import { ResponseError } from './errors.interface'; +import type { HistoricalDataItem } from '../historical-data-item.interface'; +import type { PortfolioPerformance } from '../portfolio-performance.interface'; +import type { ResponseError } from './errors.interface'; export interface PortfolioPerformanceResponse extends ResponseError { chart?: HistoricalDataItem[]; diff --git a/libs/common/src/lib/interfaces/responses/portfolio-report.interface.ts b/libs/common/src/lib/interfaces/responses/portfolio-report.interface.ts index 8146b60865..044e6aa2ee 100644 --- a/libs/common/src/lib/interfaces/responses/portfolio-report.interface.ts +++ b/libs/common/src/lib/interfaces/responses/portfolio-report.interface.ts @@ -1,4 +1,4 @@ -import { PortfolioReportRule } from '../portfolio-report-rule.interface'; +import type { PortfolioReportRule } from '../portfolio-report-rule.interface'; export interface PortfolioReportResponse { xRay: { diff --git a/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts b/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts index bf6e91bd9a..ba3afc4fa7 100644 --- a/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts @@ -1,9 +1,9 @@ -import { +import type { EnhancedAssetProfile, PortfolioDetails, PortfolioPosition } from '@ghostfolio/common/interfaces'; -import { Market } from '@ghostfolio/common/types'; +import type { Market } from '@ghostfolio/common/types'; import type { Order } from '@ghostfolio/prisma/browser'; export interface PublicPortfolioResponse extends PublicPortfolioResponseV1 { diff --git a/libs/common/src/lib/interfaces/responses/quotes-response.interface.ts b/libs/common/src/lib/interfaces/responses/quotes-response.interface.ts index 933220ed7e..dd4e9547cd 100644 --- a/libs/common/src/lib/interfaces/responses/quotes-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/quotes-response.interface.ts @@ -1,4 +1,4 @@ -import { DataProviderResponse } from '@ghostfolio/common/interfaces'; +import type { DataProviderResponse } from '@ghostfolio/common/interfaces'; export interface QuotesResponse { quotes: { [symbol: string]: DataProviderResponse }; diff --git a/libs/common/src/lib/interfaces/responses/watchlist-response.interface.ts b/libs/common/src/lib/interfaces/responses/watchlist-response.interface.ts index 21570a4599..15a9809ddf 100644 --- a/libs/common/src/lib/interfaces/responses/watchlist-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/watchlist-response.interface.ts @@ -1,4 +1,4 @@ -import { +import type { AssetProfileIdentifier, Benchmark } from '@ghostfolio/common/interfaces'; diff --git a/libs/common/src/lib/interfaces/subscription-offer.interface.ts b/libs/common/src/lib/interfaces/subscription-offer.interface.ts index a9ebb54f42..919e68370e 100644 --- a/libs/common/src/lib/interfaces/subscription-offer.interface.ts +++ b/libs/common/src/lib/interfaces/subscription-offer.interface.ts @@ -1,4 +1,4 @@ -import { StringValue } from 'ms'; +import type { StringValue } from 'ms'; export interface SubscriptionOffer { coupon?: number; diff --git a/libs/common/src/lib/interfaces/symbol-item.interface.ts b/libs/common/src/lib/interfaces/symbol-item.interface.ts index 710a841446..73058d5cf1 100644 --- a/libs/common/src/lib/interfaces/symbol-item.interface.ts +++ b/libs/common/src/lib/interfaces/symbol-item.interface.ts @@ -1,4 +1,4 @@ -import { +import type { AssetProfileIdentifier, HistoricalDataItem } from '@ghostfolio/common/interfaces'; diff --git a/libs/common/src/lib/interfaces/system-message.interface.ts b/libs/common/src/lib/interfaces/system-message.interface.ts index 617d40ea26..2ff3866c56 100644 --- a/libs/common/src/lib/interfaces/system-message.interface.ts +++ b/libs/common/src/lib/interfaces/system-message.interface.ts @@ -1,4 +1,4 @@ -import { SubscriptionType } from '@ghostfolio/common/enums'; +import type { SubscriptionType } from '@ghostfolio/common/enums'; export interface SystemMessage { message: string; diff --git a/libs/common/src/lib/interfaces/user-item.interface.ts b/libs/common/src/lib/interfaces/user-item.interface.ts index b5ca9d9ce6..04f50c3898 100644 --- a/libs/common/src/lib/interfaces/user-item.interface.ts +++ b/libs/common/src/lib/interfaces/user-item.interface.ts @@ -1,4 +1,4 @@ -import { Role } from '@ghostfolio/prisma/enums'; +import type { Role } from '@ghostfolio/prisma/enums'; export interface UserItem { accessToken?: string; diff --git a/libs/common/src/lib/interfaces/user-settings.interface.ts b/libs/common/src/lib/interfaces/user-settings.interface.ts index dc6fb5c369..515d3df432 100644 --- a/libs/common/src/lib/interfaces/user-settings.interface.ts +++ b/libs/common/src/lib/interfaces/user-settings.interface.ts @@ -1,12 +1,12 @@ -import { XRayRulesSettings } from '@ghostfolio/common/interfaces/x-ray-rules-settings.interface'; -import { +import type { XRayRulesSettings } from '@ghostfolio/common/interfaces/x-ray-rules-settings.interface'; +import type { ColorScheme, DateRange, HoldingsViewMode, ViewMode } from '@ghostfolio/common/types'; -import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; -import { AssetClass } from '@ghostfolio/prisma/enums'; +import type { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; +import type { AssetClass } from '@ghostfolio/prisma/enums'; export interface UserSettings { annualInterestRate?: number; diff --git a/libs/common/src/lib/interfaces/user.interface.ts b/libs/common/src/lib/interfaces/user.interface.ts index ff0f6646f5..547a7fee16 100644 --- a/libs/common/src/lib/interfaces/user.interface.ts +++ b/libs/common/src/lib/interfaces/user.interface.ts @@ -1,12 +1,12 @@ -import { SubscriptionType } from '@ghostfolio/common/enums'; -import { AccountWithPlatform } from '@ghostfolio/common/types'; +import type { SubscriptionType } from '@ghostfolio/common/enums'; +import type { AccountWithPlatform } from '@ghostfolio/common/types'; import type { Access, Tag } from '@ghostfolio/prisma/browser'; -import { Type as ActivityType } from '@ghostfolio/prisma/enums'; +import type { Type as ActivityType } from '@ghostfolio/prisma/enums'; -import { ReferralPartner } from './referral-partner.interface'; -import { SubscriptionOffer } from './subscription-offer.interface'; -import { SystemMessage } from './system-message.interface'; -import { UserSettings } from './user-settings.interface'; +import type { ReferralPartner } from './referral-partner.interface'; +import type { SubscriptionOffer } from './subscription-offer.interface'; +import type { SystemMessage } from './system-message.interface'; +import type { UserSettings } from './user-settings.interface'; // TODO: Compare with UserWithSettings export interface User { diff --git a/libs/common/src/lib/permissions.ts b/libs/common/src/lib/permissions.ts index d2b23e871a..96250316ee 100644 --- a/libs/common/src/lib/permissions.ts +++ b/libs/common/src/lib/permissions.ts @@ -1,5 +1,5 @@ -import { UserWithSettings } from '@ghostfolio/common/types'; -import { Role } from '@ghostfolio/prisma/enums'; +import type { UserWithSettings } from '@ghostfolio/common/types'; +import type { Role } from '@ghostfolio/prisma/enums'; export const permissions = { accessAdminControl: 'accessAdminControl', diff --git a/libs/common/src/lib/personal-finance-tools.ts b/libs/common/src/lib/personal-finance-tools.ts index 9f891d3818..50f4e47f89 100644 --- a/libs/common/src/lib/personal-finance-tools.ts +++ b/libs/common/src/lib/personal-finance-tools.ts @@ -1,4 +1,4 @@ -import { Product } from '@ghostfolio/common/interfaces'; +import type { Product } from '@ghostfolio/common/interfaces'; export const personalFinanceTools: Product[] = ( [ diff --git a/libs/common/src/lib/routes/interfaces/internal-route.interface.ts b/libs/common/src/lib/routes/interfaces/internal-route.interface.ts index 14538bb8eb..f48f4da308 100644 --- a/libs/common/src/lib/routes/interfaces/internal-route.interface.ts +++ b/libs/common/src/lib/routes/interfaces/internal-route.interface.ts @@ -1,4 +1,4 @@ -import { User } from '@ghostfolio/common/interfaces'; +import type { User } from '@ghostfolio/common/interfaces'; export interface InternalRoute { excludeFromAssistant?: boolean | ((aUser: User) => boolean); diff --git a/libs/common/src/lib/routes/routes.ts b/libs/common/src/lib/routes/routes.ts index ca3cdd3663..dd2f85d3fa 100644 --- a/libs/common/src/lib/routes/routes.ts +++ b/libs/common/src/lib/routes/routes.ts @@ -1,8 +1,8 @@ -import { User } from '@ghostfolio/common/interfaces'; +import type { User } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; -import { InternalRoute } from './interfaces/internal-route.interface'; -import { PublicRoute } from './interfaces/public-route.interface'; +import type { InternalRoute } from './interfaces/internal-route.interface'; +import type { PublicRoute } from './interfaces/public-route.interface'; if (typeof window !== 'undefined') { import('@angular/localize'); diff --git a/libs/common/src/lib/scopes.spec.ts b/libs/common/src/lib/scopes.spec.ts index 877c5aa719..56e7aa5bd8 100644 --- a/libs/common/src/lib/scopes.spec.ts +++ b/libs/common/src/lib/scopes.spec.ts @@ -1,5 +1,5 @@ +import type { Scope } from '@ghostfolio/common/scopes'; import { - Scope, SCOPES_OF_READ_ACCESS, SCOPES_OF_READ_RESTRICTED_ACCESS, SCOPES_OF_WRITE_ACCESS, @@ -12,7 +12,7 @@ import { hasScope, scopes } from '@ghostfolio/common/scopes'; -import { AccessLevel } from '@ghostfolio/common/types'; +import type { AccessLevel } from '@ghostfolio/common/types'; describe('Scopes', () => { describe('Scopes of read access', () => { diff --git a/libs/common/src/lib/scopes.ts b/libs/common/src/lib/scopes.ts index 635530a9e2..318c861742 100644 --- a/libs/common/src/lib/scopes.ts +++ b/libs/common/src/lib/scopes.ts @@ -1,5 +1,5 @@ -import { AccessLevel } from '@ghostfolio/common/types'; -import { AccessType } from '@ghostfolio/prisma/enums'; +import type { AccessLevel } from '@ghostfolio/common/types'; +import type { AccessType } from '@ghostfolio/prisma/enums'; /** * Scopes describe what a grantee may do on behalf of the granting user. They diff --git a/libs/common/src/lib/types/account-with-value.type.ts b/libs/common/src/lib/types/account-with-value.type.ts index 0fb9a58e2b..89b71c7423 100644 --- a/libs/common/src/lib/types/account-with-value.type.ts +++ b/libs/common/src/lib/types/account-with-value.type.ts @@ -1,6 +1,6 @@ import type { Platform, Tag } from '@ghostfolio/prisma/browser'; -import { AccountWithBalance } from './account-with-balance.type'; +import type { AccountWithBalance } from './account-with-balance.type'; export type AccountWithValue = AccountWithBalance & { activitiesCount: number; diff --git a/libs/common/src/lib/types/impersonation-context.type.ts b/libs/common/src/lib/types/impersonation-context.type.ts index 29b7970b1f..acf331a6ea 100644 --- a/libs/common/src/lib/types/impersonation-context.type.ts +++ b/libs/common/src/lib/types/impersonation-context.type.ts @@ -1,5 +1,5 @@ -import { UserSettings } from '@ghostfolio/common/interfaces'; -import { UserWithSettings } from '@ghostfolio/common/types'; +import type { UserSettings } from '@ghostfolio/common/interfaces'; +import type { UserWithSettings } from '@ghostfolio/common/types'; /** * Describes whose data a request presents. The user id, the settings and the diff --git a/libs/common/src/lib/types/order-with-account.type.ts b/libs/common/src/lib/types/order-with-account.type.ts index cff844707f..73537a7eff 100644 --- a/libs/common/src/lib/types/order-with-account.type.ts +++ b/libs/common/src/lib/types/order-with-account.type.ts @@ -1,6 +1,6 @@ import type { Order, SymbolProfile, Tag } from '@ghostfolio/prisma/browser'; -import { AccountWithPlatform } from './account-with-platform.type'; +import type { AccountWithPlatform } from './account-with-platform.type'; export type OrderWithAccount = Order & { account?: AccountWithPlatform; diff --git a/libs/common/src/lib/types/request-with-user.type.ts b/libs/common/src/lib/types/request-with-user.type.ts index 48f47fe515..0e6c8b030d 100644 --- a/libs/common/src/lib/types/request-with-user.type.ts +++ b/libs/common/src/lib/types/request-with-user.type.ts @@ -1,4 +1,4 @@ -import { +import type { ImpersonationContext, UserWithSettings } from '@ghostfolio/common/types'; diff --git a/libs/common/src/lib/types/user-with-settings.type.ts b/libs/common/src/lib/types/user-with-settings.type.ts index 24be244b39..8661be31c0 100644 --- a/libs/common/src/lib/types/user-with-settings.type.ts +++ b/libs/common/src/lib/types/user-with-settings.type.ts @@ -1,5 +1,8 @@ -import { SubscriptionType } from '@ghostfolio/common/enums'; -import { SubscriptionOffer, UserSettings } from '@ghostfolio/common/interfaces'; +import type { SubscriptionType } from '@ghostfolio/common/enums'; +import type { + SubscriptionOffer, + UserSettings +} from '@ghostfolio/common/interfaces'; import type { Account, Settings, User } from '@ghostfolio/prisma/browser'; // TODO: Compare with User interface diff --git a/libs/common/src/lib/utils/form.util.ts b/libs/common/src/lib/utils/form.util.ts index 6a6c32b1f6..bdddd112d5 100644 --- a/libs/common/src/lib/utils/form.util.ts +++ b/libs/common/src/lib/utils/form.util.ts @@ -1,5 +1,9 @@ -import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; -import { FormGroup } from '@angular/forms'; +import type { + AbstractControl, + ValidationErrors, + ValidatorFn +} from '@angular/forms'; +import type { FormGroup } from '@angular/forms'; import { plainToInstance } from 'class-transformer'; import { isJSON, validate } from 'class-validator'; diff --git a/libs/ui/src/lib/assistant/interfaces/interfaces.ts b/libs/ui/src/lib/assistant/interfaces/interfaces.ts index c00a2b832e..46085a2df1 100644 --- a/libs/ui/src/lib/assistant/interfaces/interfaces.ts +++ b/libs/ui/src/lib/assistant/interfaces/interfaces.ts @@ -1,7 +1,7 @@ -import { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; -import { AccountWithValue, DateRange } from '@ghostfolio/common/types'; +import type { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; +import type { AccountWithValue, DateRange } from '@ghostfolio/common/types'; -import { SearchMode } from '../enums/search-mode'; +import type { SearchMode } from '../enums/search-mode'; export interface AccountSearchResultItem extends Pick< AccountWithValue, @@ -30,9 +30,7 @@ export interface QuickLinkSearchResultItem { } export type SearchResultItem = - | AccountSearchResultItem - | AssetSearchResultItem - | QuickLinkSearchResultItem; + AccountSearchResultItem | AssetSearchResultItem | QuickLinkSearchResultItem; export interface SearchResults { accounts: SearchResultItem[]; diff --git a/libs/ui/src/lib/benchmark/benchmark-detail-dialog/interfaces/interfaces.ts b/libs/ui/src/lib/benchmark/benchmark-detail-dialog/interfaces/interfaces.ts index 80d09148c9..25bd24e6bb 100644 --- a/libs/ui/src/lib/benchmark/benchmark-detail-dialog/interfaces/interfaces.ts +++ b/libs/ui/src/lib/benchmark/benchmark-detail-dialog/interfaces/interfaces.ts @@ -1,5 +1,5 @@ -import { ColorScheme } from '@ghostfolio/common/types'; -import { DataSource } from '@ghostfolio/prisma/enums'; +import type { ColorScheme } from '@ghostfolio/common/types'; +import type { DataSource } from '@ghostfolio/prisma/enums'; export interface BenchmarkDetailDialogParams { colorScheme?: ColorScheme; diff --git a/libs/ui/src/lib/chart/chart.options.ts b/libs/ui/src/lib/chart/chart.options.ts index 277704b76f..a2b55a73de 100644 --- a/libs/ui/src/lib/chart/chart.options.ts +++ b/libs/ui/src/lib/chart/chart.options.ts @@ -1,5 +1,5 @@ import { getTooltipOptions } from '@ghostfolio/common/chart-helper'; -import { ColorScheme, GroupBy } from '@ghostfolio/common/types'; +import type { ColorScheme, GroupBy } from '@ghostfolio/common/types'; import type { TooltipOptions } from 'chart.js'; diff --git a/libs/ui/src/lib/chart/chart.registry.ts b/libs/ui/src/lib/chart/chart.registry.ts index a6a8b3e554..eb22f7399f 100644 --- a/libs/ui/src/lib/chart/chart.registry.ts +++ b/libs/ui/src/lib/chart/chart.registry.ts @@ -1,6 +1,7 @@ import { getTooltipPositionerMapTop } from '@ghostfolio/common/chart-helper'; -import { Chart, Tooltip, TooltipPositionerFunction, ChartType } from 'chart.js'; +import type { TooltipPositionerFunction, ChartType } from 'chart.js'; +import { Chart, Tooltip } from 'chart.js'; import annotationPlugin from 'chartjs-plugin-annotation'; interface VerticalHoverLinePluginOptions { diff --git a/libs/ui/src/lib/environment/environment.token.ts b/libs/ui/src/lib/environment/environment.token.ts index 277e9c5e28..672c99653c 100644 --- a/libs/ui/src/lib/environment/environment.token.ts +++ b/libs/ui/src/lib/environment/environment.token.ts @@ -1,6 +1,6 @@ import { InjectionToken } from '@angular/core'; -import { GfEnvironment } from './environment.interface'; +import type { GfEnvironment } from './environment.interface'; export const GF_ENVIRONMENT = new InjectionToken( 'GF_ENVIRONMENT' diff --git a/libs/ui/src/lib/fire-calculator/fire-calculator.component.ts b/libs/ui/src/lib/fire-calculator/fire-calculator.component.ts index 057ce796bb..c2c9b47c1d 100644 --- a/libs/ui/src/lib/fire-calculator/fire-calculator.component.ts +++ b/libs/ui/src/lib/fire-calculator/fire-calculator.component.ts @@ -41,11 +41,10 @@ import { BarElement, CategoryScale, Chart, - type ChartData, - type ChartDataset, LinearScale, Tooltip } from 'chart.js'; +import type { ChartData, ChartDataset } from 'chart.js'; import 'chartjs-adapter-date-fns'; import Color from 'color'; import { diff --git a/libs/ui/src/lib/fire-calculator/fire-calculator.service.spec.ts b/libs/ui/src/lib/fire-calculator/fire-calculator.service.spec.ts index fbdc859d22..a290122093 100644 --- a/libs/ui/src/lib/fire-calculator/fire-calculator.service.spec.ts +++ b/libs/ui/src/lib/fire-calculator/fire-calculator.service.spec.ts @@ -1,4 +1,5 @@ -import { Test, TestingModule } from '@nestjs/testing'; +import type { TestingModule } from '@nestjs/testing'; +import { Test } from '@nestjs/testing'; import { FireCalculatorService } from './fire-calculator.service'; diff --git a/libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/interfaces/interfaces.ts b/libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/interfaces/interfaces.ts index fcc98c271e..7a47a34ae9 100644 --- a/libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/interfaces/interfaces.ts +++ b/libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/interfaces/interfaces.ts @@ -1,5 +1,5 @@ -import { User } from '@ghostfolio/common/interfaces'; -import { DataSource } from '@ghostfolio/prisma/enums'; +import type { User } from '@ghostfolio/common/interfaces'; +import type { DataSource } from '@ghostfolio/prisma/enums'; export interface HistoricalMarketDataEditorDialogParams { currency: string; diff --git a/libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.spec.ts b/libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.spec.ts index 7cb9636f0e..85c71574c4 100644 --- a/libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.spec.ts +++ b/libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.spec.ts @@ -1,7 +1,8 @@ import { DataService } from '@ghostfolio/ui/services'; import { signal } from '@angular/core'; -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { FormBuilder } from '@angular/forms'; import { MatDialog } from '@angular/material/dialog'; import { MatSnackBar } from '@angular/material/snack-bar'; diff --git a/libs/ui/src/lib/line-chart/line-chart.component.ts b/libs/ui/src/lib/line-chart/line-chart.component.ts index e6f1b9b2e2..5754ed6fc0 100644 --- a/libs/ui/src/lib/line-chart/line-chart.component.ts +++ b/libs/ui/src/lib/line-chart/line-chart.component.ts @@ -17,26 +17,24 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, - type ElementRef, Input, OnChanges, OnDestroy, SimpleChanges, ViewChild } from '@angular/core'; +import type { ElementRef } from '@angular/core'; import { - type AnimationsSpec, Chart, - type ChartData, Filler, LinearScale, LineController, LineElement, PointElement, TimeScale, - Tooltip, - type TooltipOptions + Tooltip } from 'chart.js'; +import type { AnimationsSpec, ChartData, TooltipOptions } from 'chart.js'; import 'chartjs-adapter-date-fns'; import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; diff --git a/libs/ui/src/lib/mocks/entity-logo-image-source.service.mock.ts b/libs/ui/src/lib/mocks/entity-logo-image-source.service.mock.ts index 4160485bce..fd33776757 100644 --- a/libs/ui/src/lib/mocks/entity-logo-image-source.service.mock.ts +++ b/libs/ui/src/lib/mocks/entity-logo-image-source.service.mock.ts @@ -1,4 +1,4 @@ -import { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; +import type { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; import { DataSource } from '@ghostfolio/prisma/enums'; // Resolves like a logo of an unknown entity, but fails to load diff --git a/libs/ui/src/lib/mocks/holdings.ts b/libs/ui/src/lib/mocks/holdings.ts index 0acb52e5f9..d2e0de32e7 100644 --- a/libs/ui/src/lib/mocks/holdings.ts +++ b/libs/ui/src/lib/mocks/holdings.ts @@ -1,4 +1,4 @@ -import { PortfolioPosition } from '@ghostfolio/common/interfaces'; +import type { PortfolioPosition } from '@ghostfolio/common/interfaces'; export const holdings: PortfolioPosition[] = [ { diff --git a/libs/ui/src/lib/notifications/confirmation-dialog/interfaces/interfaces.ts b/libs/ui/src/lib/notifications/confirmation-dialog/interfaces/interfaces.ts index a7c380496a..260f93594d 100644 --- a/libs/ui/src/lib/notifications/confirmation-dialog/interfaces/interfaces.ts +++ b/libs/ui/src/lib/notifications/confirmation-dialog/interfaces/interfaces.ts @@ -1,4 +1,4 @@ -import { ConfirmationDialogType } from '@ghostfolio/common/enums'; +import type { ConfirmationDialogType } from '@ghostfolio/common/enums'; export interface ConfirmDialogParams { confirmLabel: string; diff --git a/libs/ui/src/lib/notifications/interfaces/interfaces.ts b/libs/ui/src/lib/notifications/interfaces/interfaces.ts index a9e065d83d..7a26db8e76 100644 --- a/libs/ui/src/lib/notifications/interfaces/interfaces.ts +++ b/libs/ui/src/lib/notifications/interfaces/interfaces.ts @@ -1,4 +1,4 @@ -import { ConfirmationDialogType } from '@ghostfolio/common/enums'; +import type { ConfirmationDialogType } from '@ghostfolio/common/enums'; export interface AlertParams { copyValue?: string; diff --git a/libs/ui/src/lib/portfolio-filter-form/interfaces/portfolio-filter-form-value.interface.ts b/libs/ui/src/lib/portfolio-filter-form/interfaces/portfolio-filter-form-value.interface.ts index 820facb2f4..cfd46dc980 100644 --- a/libs/ui/src/lib/portfolio-filter-form/interfaces/portfolio-filter-form-value.interface.ts +++ b/libs/ui/src/lib/portfolio-filter-form/interfaces/portfolio-filter-form-value.interface.ts @@ -1,4 +1,4 @@ -import { PortfolioPosition } from '@ghostfolio/common/interfaces'; +import type { PortfolioPosition } from '@ghostfolio/common/interfaces'; export interface PortfolioFilterFormValue { account: string | null; diff --git a/libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.util.ts b/libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.util.ts index 163029258a..92131da629 100644 --- a/libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.util.ts +++ b/libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.util.ts @@ -1,11 +1,12 @@ import { TAG_ID_EXCLUDE_FROM_ANALYSIS } from '@ghostfolio/common/config'; import { getAssetProfileIdentifier } from '@ghostfolio/common/helper'; -import { Filter, PortfolioPosition } from '@ghostfolio/common/interfaces'; +import type { Filter, PortfolioPosition } from '@ghostfolio/common/interfaces'; import type { Tag } from '@ghostfolio/prisma/browser'; -import { AssetClass, DataSource } from '@ghostfolio/prisma/enums'; +import type { DataSource } from '@ghostfolio/prisma/enums'; +import { AssetClass } from '@ghostfolio/prisma/enums'; import { translate } from '../i18n'; -import { PortfolioFilterFormValue } from './interfaces'; +import type { PortfolioFilterFormValue } from './interfaces'; export function getAssetClassFilters(): Filter[] { return Object.keys(AssetClass) diff --git a/libs/ui/src/lib/portfolio-proportion-chart/interfaces/interfaces.ts b/libs/ui/src/lib/portfolio-proportion-chart/interfaces/interfaces.ts index 25d12b0491..fd7ddb2e2e 100644 --- a/libs/ui/src/lib/portfolio-proportion-chart/interfaces/interfaces.ts +++ b/libs/ui/src/lib/portfolio-proportion-chart/interfaces/interfaces.ts @@ -1,5 +1,4 @@ -import { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; +import type { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; export type PortfolioProportionChartClickEvent = - | AssetProfileIdentifier - | { accountId: string }; + AssetProfileIdentifier | { accountId: string }; diff --git a/libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts b/libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts index b837d887b7..be78d07b6d 100644 --- a/libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts +++ b/libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts @@ -20,13 +20,11 @@ import { Big } from 'big.js'; import { ArcElement, Chart, - type ChartData, - type ChartDataset, DoughnutController, LinearScale, - Tooltip, - type TooltipOptions + Tooltip } from 'chart.js'; +import type { ChartData, ChartDataset, TooltipOptions } from 'chart.js'; import ChartDataLabels from 'chartjs-plugin-datalabels'; import { isUUID } from 'class-validator'; import Color from 'color'; diff --git a/libs/ui/src/lib/treemap-chart/interfaces/interfaces.ts b/libs/ui/src/lib/treemap-chart/interfaces/interfaces.ts index ffd7b0094b..ba6cec28cd 100644 --- a/libs/ui/src/lib/treemap-chart/interfaces/interfaces.ts +++ b/libs/ui/src/lib/treemap-chart/interfaces/interfaces.ts @@ -1,7 +1,7 @@ -import { PortfolioPosition } from '@ghostfolio/common/interfaces'; +import type { PortfolioPosition } from '@ghostfolio/common/interfaces'; -import { ScriptableContext } from 'chart.js'; -import { TreemapDataPoint } from 'chartjs-chart-treemap'; +import type { ScriptableContext } from 'chart.js'; +import type { TreemapDataPoint } from 'chartjs-chart-treemap'; export interface GetColorParams { annualizedNetPerformancePercent: number;