Browse Source

Feature/switch the consistent-type-definitions eslint rule from warn to error (#3980)

* Switch the consistent-type-definitions eslint rule from warn to error

* Update changelog

---------

Signed-off-by: Dominik Willner <th33xitus@gmail.com>
pull/3981/head
dw-0 3 months ago
committed by GitHub
parent
commit
405ec0d2b2
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 1
      .eslintrc.json
  2. 1
      CHANGELOG.md
  3. 4
      apps/api/src/app/auth/interfaces/simplewebauthn.ts
  4. 4
      apps/api/src/app/user/update-user-setting.dto.ts
  5. 7
      apps/client/src/app/components/home-holdings/home-holdings.component.ts
  6. 6
      apps/client/src/app/components/rule/rule-settings-dialog/interfaces/interfaces.ts
  7. 2
      apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.component.ts
  8. 6
      apps/client/src/app/components/rule/rule.component.ts
  9. 6
      apps/client/src/app/components/rules/rules.component.ts
  10. 2
      apps/client/src/app/components/toggle/toggle.component.ts
  11. 5
      apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
  12. 6
      libs/common/src/lib/interfaces/index.ts
  13. 4
      libs/common/src/lib/interfaces/toggle-option.interface.ts
  14. 4
      libs/common/src/lib/interfaces/user-settings.interface.ts
  15. 4
      libs/common/src/lib/interfaces/x-ray-rules-settings.interface.ts
  16. 6
      libs/common/src/lib/types/index.ts

1
.eslintrc.json

@ -142,7 +142,6 @@
// The following rules are part of @typescript-eslint/stylistic-type-checked
// and can be remove once solved
"@typescript-eslint/consistent-type-definitions": "warn",
"@typescript-eslint/prefer-function-type": "warn",
"@typescript-eslint/prefer-nullish-coalescing": "warn", // TODO: Requires strictNullChecks: true
"@typescript-eslint/consistent-type-assertions": "warn",

1
CHANGELOG.md

@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- Switched the `consistent-type-definitions` rule from `warn` to `error` in the `eslint` configuration
- Switched the `no-empty-function` rule from `warn` to `error` in the `eslint` configuration
### Fixed

4
apps/api/src/app/auth/interfaces/simplewebauthn.ts

@ -198,12 +198,12 @@ export interface AuthenticatorAssertionResponseJSON
/**
* A WebAuthn-compatible device and the information needed to verify assertions by it
*/
export declare type AuthenticatorDevice = {
export declare interface AuthenticatorDevice {
credentialPublicKey: Buffer;
credentialID: Buffer;
counter: number;
transports?: AuthenticatorTransport[];
};
}
/**
* An attempt to communicate that this isn't just any string, but a Base64URL-encoded string
*/

4
apps/api/src/app/user/update-user-setting.dto.ts

@ -1,10 +1,10 @@
import { IsCurrencyCode } from '@ghostfolio/api/validators/is-currency-code';
import { XRayRulesSettings } from '@ghostfolio/common/interfaces';
import type {
ColorScheme,
DateRange,
HoldingsViewMode,
ViewMode,
XRayRulesSettings
ViewMode
} from '@ghostfolio/common/types';
import {

7
apps/client/src/app/components/home-holdings/home-holdings.component.ts

@ -4,14 +4,11 @@ import { UserService } from '@ghostfolio/client/services/user/user.service';
import {
AssetProfileIdentifier,
PortfolioPosition,
ToggleOption,
User
} from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import {
HoldingType,
HoldingsViewMode,
ToggleOption
} from '@ghostfolio/common/types';
import { HoldingType, HoldingsViewMode } from '@ghostfolio/common/types';
import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
import { FormControl } from '@angular/forms';

6
apps/client/src/app/components/rule/rule-settings-dialog/interfaces/interfaces.ts

@ -1,5 +1,7 @@
import { PortfolioReportRule } from '@ghostfolio/common/interfaces';
import { XRayRulesSettings } from '@ghostfolio/common/types';
import {
PortfolioReportRule,
XRayRulesSettings
} from '@ghostfolio/common/interfaces';
export interface IRuleSettingsDialogParams {
rule: PortfolioReportRule;

2
apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.component.ts

@ -1,4 +1,4 @@
import { XRayRulesSettings } from '@ghostfolio/common/types';
import { XRayRulesSettings } from '@ghostfolio/common/interfaces';
import { CommonModule } from '@angular/common';
import { Component, Inject } from '@angular/core';

6
apps/client/src/app/components/rule/rule.component.ts

@ -1,7 +1,9 @@
import { UpdateUserSettingDto } from '@ghostfolio/api/app/user/update-user-setting.dto';
import { RuleSettings } from '@ghostfolio/api/models/interfaces/rule-settings.interface';
import { PortfolioReportRule } from '@ghostfolio/common/interfaces';
import { XRayRulesSettings } from '@ghostfolio/common/types';
import {
PortfolioReportRule,
XRayRulesSettings
} from '@ghostfolio/common/interfaces';
import {
ChangeDetectionStrategy,

6
apps/client/src/app/components/rules/rules.component.ts

@ -1,6 +1,8 @@
import { UpdateUserSettingDto } from '@ghostfolio/api/app/user/update-user-setting.dto';
import { PortfolioReportRule } from '@ghostfolio/common/interfaces';
import { XRayRulesSettings } from '@ghostfolio/common/types';
import {
PortfolioReportRule,
XRayRulesSettings
} from '@ghostfolio/common/interfaces';
import {
ChangeDetectionStrategy,

2
apps/client/src/app/components/toggle/toggle.component.ts

@ -1,4 +1,4 @@
import { ToggleOption } from '@ghostfolio/common/types';
import { ToggleOption } from '@ghostfolio/common/interfaces';
import {
ChangeDetectionStrategy,

5
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts

@ -4,13 +4,14 @@ import { ImpersonationStorageService } from '@ghostfolio/client/services/imperso
import { UserService } from '@ghostfolio/client/services/user/user.service';
import {
HistoricalDataItem,
InvestmentItem,
PortfolioInvestments,
PortfolioPerformance,
PortfolioPosition,
ToggleOption,
User
} from '@ghostfolio/common/interfaces';
import { InvestmentItem } from '@ghostfolio/common/interfaces/investment-item.interface';
import { GroupBy, ToggleOption } from '@ghostfolio/common/types';
import { GroupBy } from '@ghostfolio/common/types';
import { translate } from '@ghostfolio/ui/i18n';
import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';

6
libs/common/src/lib/interfaces/index.ts

@ -50,8 +50,10 @@ import type { Subscription } from './subscription.interface';
import type { SymbolMetrics } from './symbol-metrics.interface';
import type { SystemMessage } from './system-message.interface';
import type { TabConfiguration } from './tab-configuration.interface';
import type { ToggleOption } from './toggle-option.interface';
import type { UserSettings } from './user-settings.interface';
import type { User } from './user.interface';
import type { XRayRulesSettings } from './x-ray-rules-settings.interface';
export {
Access,
@ -104,6 +106,8 @@ export {
Subscription,
SymbolMetrics,
TabConfiguration,
ToggleOption,
User,
UserSettings
UserSettings,
XRayRulesSettings
};

4
libs/common/src/lib/types/toggle-option.type.ts → libs/common/src/lib/interfaces/toggle-option.interface.ts

@ -1,4 +1,4 @@
export type ToggleOption = {
export interface ToggleOption {
label: string;
value: string;
};
}

4
libs/common/src/lib/interfaces/user-settings.interface.ts

@ -1,9 +1,9 @@
import { XRayRulesSettings } from '@ghostfolio/common/interfaces/x-ray-rules-settings.interface';
import {
ColorScheme,
DateRange,
HoldingsViewMode,
ViewMode,
XRayRulesSettings
ViewMode
} from '@ghostfolio/common/types';
export interface UserSettings {

4
libs/common/src/lib/types/x-ray-rules-settings.type.ts → libs/common/src/lib/interfaces/x-ray-rules-settings.interface.ts

@ -1,4 +1,4 @@
export type XRayRulesSettings = {
export interface XRayRulesSettings {
AccountClusterRiskCurrentInvestment?: RuleSettings;
AccountClusterRiskSingleAccount?: RuleSettings;
AllocationClusterRiskDevelopedMarkets?: RuleSettings;
@ -7,7 +7,7 @@ export type XRayRulesSettings = {
CurrencyClusterRiskCurrentInvestment?: RuleSettings;
EmergencyFundSetup?: RuleSettings;
FeeRatioInitialInvestment?: RuleSettings;
};
}
interface RuleSettings {
isActive: boolean;

6
libs/common/src/lib/types/index.ts

@ -16,10 +16,8 @@ import type { Market } from './market.type';
import type { OrderWithAccount } from './order-with-account.type';
import type { RequestWithUser } from './request-with-user.type';
import type { SubscriptionOffer } from './subscription-offer.type';
import type { ToggleOption } from './toggle-option.type';
import type { UserWithSettings } from './user-with-settings.type';
import type { ViewMode } from './view-mode.type';
import type { XRayRulesSettings } from './x-ray-rules-settings.type';
export type {
AccessType,
@ -40,8 +38,6 @@ export type {
OrderWithAccount,
RequestWithUser,
SubscriptionOffer,
ToggleOption,
UserWithSettings,
ViewMode,
XRayRulesSettings
ViewMode
};

Loading…
Cancel
Save