From 711f736b95212303770c7ce200d7110c2724bc85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szymon=20=C5=81=C4=85giewka?= Date: Mon, 5 Oct 2026 21:46:39 +0200 Subject: [PATCH] Task/split type and symbol imports w/ linter support Ensure that types are always imported with `import type {}` and actual symbols used by code have separate definitions. This useful for style, as well as type stripping where type imports are erased entirely and symbol imports need to be "clean" from types. --- .../interfaces/cash-details.interface.ts | 2 +- .../app/activities/activities.service.spec.ts | 19 +++++++-------- apps/api/src/app/app.module.spec.ts | 8 ++----- .../api/src/app/auth/interfaces/interfaces.ts | 4 ++-- apps/api/src/app/auth/oidc.strategy.ts | 3 ++- .../asset-profiles.service.spec.ts | 11 +++++---- .../app/endpoints/mcp/mcp.controller.spec.ts | 7 +++--- .../src/app/endpoints/mcp/mcp.service.spec.ts | 14 +++++------ .../src/app/endpoints/mcp/mcp.test-utils.ts | 2 +- .../mcp/types/activity-to-import.type.ts | 4 ++-- .../api/src/app/import/import.service.spec.ts | 23 ++++++++++--------- .../asset-profile-to-create.interface.ts | 2 +- .../calculator/mwr/portfolio-calculator.ts | 8 +++---- .../portfolio-calculator-test-utils.ts | 6 ++--- ...aln-buy-and-sell-in-two-activities.spec.ts | 2 +- ...ulator-btceur-in-base-currency-eur.spec.ts | 2 +- .../roai/portfolio-calculator-btceur.spec.ts | 2 +- ...cusd-buy-before-first-market-price.spec.ts | 2 +- .../roai/portfolio-calculator-cash.spec.ts | 4 ++-- .../roai/portfolio-calculator-fee.spec.ts | 2 +- .../portfolio-calculator-googl-buy.spec.ts | 2 +- ...-calculator-googl-fee-and-dividend.spec.ts | 2 +- .../portfolio-calculator-liability.spec.ts | 2 +- ...nual-buy-before-first-market-price.spec.ts | 2 +- ...h-market-price-between-chart-dates.spec.ts | 2 +- ...folio-calculator-msft-buy-and-sell.spec.ts | 2 +- ...tor-msft-buy-from-two-data-sources.spec.ts | 2 +- .../portfolio-calculator-stock-split.spec.ts | 5 ++-- .../portfolio-calculator-valuable.spec.ts | 2 +- .../calculator/roai/portfolio-calculator.ts | 16 ++++++------- .../calculator/roi/portfolio-calculator.ts | 8 +++---- .../calculator/twr/portfolio-calculator.ts | 8 +++---- .../portfolio/current-rate.service.mock.ts | 6 ++--- .../portfolio/current-rate.service.spec.ts | 16 +++++-------- .../accumulated-values.interface.ts | 2 +- .../interfaces/get-value-object.interface.ts | 2 +- .../interfaces/get-values-object.interface.ts | 7 ++++-- .../interfaces/get-values-params.interface.ts | 6 ++--- .../interfaces/holding-balance.interface.ts | 4 ++-- .../holding-balances-at-date.interface.ts | 2 +- .../holding-performance.interface.ts | 4 ++-- .../holding-valuation-item.interface.ts | 4 ++-- .../interfaces/holding-valuation.interface.ts | 4 ++-- ...olio-calculator-activity-item.interface.ts | 4 ++-- ...portfolio-calculator-activity.interface.ts | 2 +- .../portfolio-calculator-holding.interface.ts | 2 +- .../app/portfolio/portfolio.service.spec.ts | 11 +++++---- .../types/performance-percentages.type.ts | 2 +- .../redis-cache/redis-cache.service.mock.ts | 4 ++-- .../src/decorators/impersonation.decorator.ts | 2 +- .../requires-scope-of-access.decorator.ts | 2 +- .../decorators/requires-scope.decorator.ts | 2 +- .../src/events/asset-profile-changed.event.ts | 2 +- .../guards/impersonation-write.guard.spec.ts | 5 ++-- .../src/guards/impersonation.guard.spec.ts | 2 +- apps/api/src/guards/oauth-callback.guard.ts | 6 +++-- apps/api/src/guards/scope.guard.spec.ts | 5 ++-- apps/api/src/helper/account.helper.ts | 2 +- apps/api/src/helper/activity.helper.ts | 2 +- .../api/src/helper/data-source.helper.spec.ts | 2 +- apps/api/src/helper/data-source.helper.ts | 5 ++-- .../src/helper/execution-context.helper.ts | 2 +- .../interfaces/table-parameters.interface.ts | 2 +- .../src/helper/markdown-table.helper.spec.ts | 2 +- apps/api/src/helper/markdown-table.helper.ts | 2 +- apps/api/src/helper/object.helper.spec.ts | 2 +- apps/api/src/helper/portfolio.helper.ts | 4 ++-- apps/api/src/helper/redis.helper.ts | 2 +- apps/api/src/helper/sector.helper.ts | 2 +- .../helper/security-headers.helper.spec.ts | 2 +- .../api/src/helper/security-headers.helper.ts | 2 +- apps/api/src/main.ts | 7 +++--- .../language-redirect.middleware.ts | 2 +- .../mcp-authorization.middleware.ts | 4 ++-- .../src/models/interfaces/rule.interface.ts | 4 ++-- apps/api/src/models/rule.ts | 10 ++++---- .../current-investment.ts | 13 +++++++---- .../account-cluster-risk/single-account.ts | 9 +++++--- .../rules/asset-class-cluster-risk/equity.ts | 9 +++++--- .../asset-class-cluster-risk/fixed-income.ts | 9 +++++--- .../base-currency-current-investment.ts | 9 +++++--- .../current-investment.ts | 9 +++++--- .../developed-markets.ts | 6 ++--- .../emerging-markets.ts | 6 ++--- .../emergency-fund/emergency-fund-coverage.ts | 6 ++--- .../emergency-fund/emergency-fund-setup.ts | 6 ++--- .../fees/fee-ratio-total-investment-volume.ts | 6 ++--- .../models/rules/liquidity/buying-power.ts | 6 ++--- .../asia-pacific.ts | 6 ++--- .../emerging-markets.ts | 6 ++--- .../regional-market-cluster-risk/europe.ts | 6 ++--- .../interfaces/rule-settings.interface.ts | 2 +- .../regional-market-cluster-risk/japan.ts | 6 ++--- .../north-america.ts | 6 ++--- apps/api/src/models/rules/rule-settings.ts | 6 ++--- .../src/models/types/x-ray-rule-key.type.ts | 2 +- .../asset-profile-split.helper.spec.ts | 5 ++-- .../asset-profile-split.helper.ts | 4 ++-- .../asset-profile-split.service.spec.ts | 5 ++-- .../interfaces/benchmark-value.interface.ts | 2 +- .../interfaces/data-enhancer.interface.ts | 2 +- .../interfaces/data-provider.interface.ts | 6 ++--- .../manual/manual.service.spec.ts | 4 ++-- .../exchange-rate-data.service.mock.ts | 2 +- .../impersonation.service.spec.ts | 8 +++---- .../interfaces/environment.interface.ts | 2 +- .../api/src/services/interfaces/interfaces.ts | 2 +- .../data-source-table-context.interface.ts | 2 +- .../holdings-table-context.interface.ts | 4 ++-- .../portfolio-table.service.spec.ts | 4 ++-- .../holdings-table-column-definition.type.ts | 6 ++--- .../data-gathering.processor.spec.ts | 6 ++--- ...data-gathering.processor.time-zone.spec.ts | 4 ++-- .../portfolio-snapshot-queue-job.interface.ts | 4 ++-- .../portfolio-snapshot.service.mock.ts | 4 ++-- apps/client/src/app/app.routes.ts | 2 +- .../interfaces/interfaces.ts | 4 ++-- .../benchmark-comparator.component.ts | 6 ++--- .../data-provider-status.component.ts | 3 ++- .../interfaces/interfaces.ts | 4 ++-- .../investment-chart.component.ts | 9 ++++---- .../interfaces/interfaces.ts | 2 +- .../interfaces/interfaces.ts | 2 +- .../interfaces/interfaces.ts | 2 +- .../src/app/pages/about/about-page.routes.ts | 2 +- .../about/changelog/changelog-page.routes.ts | 2 +- .../about/license/license-page.routes.ts | 2 +- .../oss-friends/oss-friends-page.routes.ts | 2 +- .../overview/about-overview-page.routes.ts | 2 +- .../privacy-policy-page.routes.ts | 2 +- .../terms-of-service-page.routes.ts | 2 +- .../pages/accounts/accounts-page.routes.ts | 2 +- .../interfaces/interfaces.ts | 4 ++-- .../transfer-balance/interfaces/interfaces.ts | 4 ++-- .../src/app/pages/admin/admin-page.routes.ts | 2 +- .../src/app/pages/auth/auth-page.routes.ts | 2 +- .../src/app/pages/blog/blog-page.routes.ts | 2 +- .../src/app/pages/faq/faq-page.routes.ts | 2 +- .../faq/overview/faq-overview-page.routes.ts | 2 +- .../app/pages/faq/saas/saas-page.routes.ts | 2 +- .../self-hosting/self-hosting-page.routes.ts | 2 +- .../src/app/pages/home/home-page.routes.ts | 2 +- .../app/pages/landing/landing-page.routes.ts | 2 +- .../app/pages/markets/markets-page.routes.ts | 2 +- .../src/app/pages/open/open-page.routes.ts | 2 +- .../activities/activities-page.routes.ts | 2 +- .../interfaces/interfaces.ts | 4 ++-- .../interfaces/interfaces.ts | 4 ++-- .../allocations/allocations-page.routes.ts | 2 +- .../allocations/interfaces/interfaces.ts | 2 +- .../analysis/analysis-page.routes.ts | 2 +- .../pages/portfolio/fire/fire-page.routes.ts | 2 +- .../pages/portfolio/portfolio-page.routes.ts | 2 +- .../portfolio/x-ray/x-ray-page.routes.ts | 2 +- .../app/pages/pricing/pricing-page.routes.ts | 2 +- .../app/pages/public/public-page.routes.ts | 2 +- .../pages/register/register-page.routes.ts | 2 +- .../glossary/resources-glossary.routes.ts | 2 +- .../guides/resources-guides.routes.ts | 2 +- .../markets/resources-markets.routes.ts | 2 +- .../overview/resources-overview.routes.ts | 2 +- .../personal-finance-tools-page.routes.ts | 2 +- .../pages/resources/resources-page.routes.ts | 2 +- .../user-account/user-account-page.routes.ts | 2 +- .../src/app/pages/zen/zen-page.routes.ts | 2 +- .../src/app/services/user/user-store.state.ts | 2 +- apps/client/src/main.ts | 2 +- eslint.config.cjs | 9 ++++++++ libs/common/src/lib/calculation-helper.ts | 2 +- libs/common/src/lib/chart-helper.ts | 2 +- libs/common/src/lib/config.ts | 4 ++-- libs/common/src/lib/helper.spec.ts | 2 +- libs/common/src/lib/helper.ts | 11 ++++----- .../interfaces/access-settings.interface.ts | 2 +- .../src/lib/interfaces/access.interface.ts | 4 ++-- .../lib/interfaces/activities.interface.ts | 4 ++-- .../lib/interfaces/admin-data.interface.ts | 2 +- .../lib/interfaces/admin-jobs.interface.ts | 2 +- .../admin-market-data-details.interface.ts | 2 +- .../lib/interfaces/admin-user.interface.ts | 2 +- .../asset-class-selector-option.interface.ts | 2 +- .../asset-profile-identifier.interface.ts | 2 +- .../asset-profile-item.interface.ts | 4 ++-- .../src/lib/interfaces/benchmark.interface.ts | 4 ++-- .../src/lib/interfaces/coupon.interface.ts | 2 +- .../data-provider-info.interface.ts | 2 +- .../enhanced-asset-profile.interface.ts | 12 +++++----- .../lib/interfaces/filter-group.interface.ts | 2 +- .../holding-with-parents.interface.ts | 2 +- .../src/lib/interfaces/info-item.interface.ts | 4 ++-- .../lib/interfaces/lookup-item.interface.ts | 4 ++-- .../interfaces/portfolio-chart.interface.ts | 2 +- .../interfaces/portfolio-details.interface.ts | 4 ++-- .../portfolio-position.interface.ts | 4 ++-- .../interfaces/portfolio-summary.interface.ts | 4 ++-- .../src/lib/interfaces/product.interface.ts | 5 +++- .../responses/account-response.interface.ts | 2 +- .../responses/accounts-response.interface.ts | 2 +- .../activities-response.interface.ts | 2 +- .../responses/activity-response.interface.ts | 2 +- .../admin-user-response.interface.ts | 2 +- .../admin-users-response.interface.ts | 2 +- .../asset-profile-response.interface.ts | 2 +- .../asset-profiles-response.interface.ts | 2 +- ...-market-data-details-response.interface.ts | 2 +- .../responses/benchmark-response.interface.ts | 2 +- .../create-activity-response.interface.ts | 2 +- ...er-ghostfolio-status-response.interface.ts | 2 +- .../data-provider-response.interface.ts | 6 ++--- .../responses/dividends-response.interface.ts | 2 +- .../interfaces/responses/errors.interface.ts | 2 +- .../responses/export-response.interface.ts | 8 +++---- .../historical-response.interface.ts | 2 +- .../responses/import-response.interface.ts | 2 +- .../responses/info-response.interface.ts | 2 +- .../responses/lookup-response.interface.ts | 2 +- ...rket-data-of-markets-response.interface.ts | 2 +- .../portfolio-dividends-response.interface.ts | 2 +- .../portfolio-holding-response.interface.ts | 2 +- .../portfolio-holdings-response.interface.ts | 2 +- .../portfolio-investments.interface.ts | 2 +- ...ortfolio-performance-response.interface.ts | 6 ++--- .../responses/portfolio-report.interface.ts | 2 +- .../public-portfolio-response.interface.ts | 4 ++-- .../responses/quotes-response.interface.ts | 2 +- .../responses/watchlist-response.interface.ts | 2 +- .../subscription-offer.interface.ts | 2 +- .../lib/interfaces/symbol-item.interface.ts | 2 +- .../interfaces/system-message.interface.ts | 2 +- .../src/lib/interfaces/user-item.interface.ts | 2 +- .../lib/interfaces/user-settings.interface.ts | 8 +++---- .../src/lib/interfaces/user.interface.ts | 14 +++++------ libs/common/src/lib/permissions.ts | 4 ++-- libs/common/src/lib/personal-finance-tools.ts | 2 +- .../interfaces/internal-route.interface.ts | 2 +- libs/common/src/lib/routes/routes.ts | 6 ++--- libs/common/src/lib/scopes.spec.ts | 4 ++-- libs/common/src/lib/scopes.ts | 4 ++-- .../src/lib/types/account-with-value.type.ts | 2 +- .../lib/types/impersonation-context.type.ts | 4 ++-- .../src/lib/types/order-with-account.type.ts | 2 +- .../src/lib/types/request-with-user.type.ts | 2 +- .../src/lib/types/user-with-settings.type.ts | 7 ++++-- libs/common/src/lib/utils/form.util.ts | 8 +++++-- .../lib/assistant/interfaces/interfaces.ts | 10 ++++---- .../interfaces/interfaces.ts | 4 ++-- libs/ui/src/lib/chart/chart.options.ts | 2 +- libs/ui/src/lib/chart/chart.registry.ts | 3 ++- .../src/lib/environment/environment.token.ts | 2 +- .../fire-calculator.component.ts | 3 +-- .../fire-calculator.service.spec.ts | 3 ++- .../interfaces/interfaces.ts | 4 ++-- ...rical-market-data-editor.component.spec.ts | 3 ++- .../lib/line-chart/line-chart.component.ts | 8 +++---- .../entity-logo-image-source.service.mock.ts | 2 +- libs/ui/src/lib/mocks/holdings.ts | 2 +- .../interfaces/interfaces.ts | 2 +- .../notifications/interfaces/interfaces.ts | 2 +- .../portfolio-filter-form-value.interface.ts | 2 +- .../portfolio-filter-form.util.ts | 7 +++--- .../interfaces/interfaces.ts | 5 ++-- .../portfolio-proportion-chart.component.ts | 6 ++--- .../treemap-chart/interfaces/interfaces.ts | 6 ++--- 263 files changed, 528 insertions(+), 494 deletions(-) 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;