Browse Source

Reorganize helper lib

pull/100/head
Thomas 4 years ago
parent
commit
b4b9478904
  1. 2
      apps/api/src/app/access/access.controller.ts
  2. 6
      apps/api/src/app/account/account.controller.ts
  3. 6
      apps/api/src/app/admin/admin.controller.ts
  4. 7
      apps/api/src/app/experimental/experimental.controller.ts
  5. 2
      apps/api/src/app/info/info.service.ts
  6. 6
      apps/api/src/app/order/order.controller.ts
  7. 6
      apps/api/src/app/portfolio/portfolio.controller.ts
  8. 6
      apps/api/src/app/user/user.controller.ts
  9. 9
      apps/api/src/app/user/user.service.ts
  10. 2
      apps/api/src/models/portfolio.spec.ts
  11. 8
      apps/api/src/models/portfolio.ts
  12. 2
      apps/api/src/models/rule.ts
  13. 5
      apps/api/src/services/data-gathering.service.ts
  14. 2
      apps/api/src/services/data-provider.service.ts
  15. 2
      apps/api/src/services/data-provider/ghostfolio-scraper-api/ghostfolio-scraper-api.service.ts
  16. 2
      apps/api/src/services/data-provider/rakuten-rapid-api/rakuten-rapid-api.service.ts
  17. 8
      apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts
  18. 2
      apps/api/src/services/exchange-rate-data.service.ts
  19. 2
      apps/api/src/services/interfaces/interfaces.ts
  20. 2
      apps/client/src/app/adapter/date-formats.ts
  21. 8
      apps/client/src/app/app.component.ts
  22. 2
      apps/client/src/app/components/access-table/access-table.component.ts
  23. 2
      apps/client/src/app/components/fear-and-greed-index/fear-and-greed-index.component.ts
  24. 2
      apps/client/src/app/components/header/header.component.ts
  25. 2
      apps/client/src/app/components/investment-chart/investment-chart.component.ts
  26. 7
      apps/client/src/app/components/line-chart/line-chart.component.ts
  27. 3
      apps/client/src/app/components/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
  28. 2
      apps/client/src/app/components/position/position.component.ts
  29. 4
      apps/client/src/app/components/transactions-table/transactions-table.component.ts
  30. 2
      apps/client/src/app/components/value/value.component.ts
  31. 2
      apps/client/src/app/pages/about/about-page.component.ts
  32. 9
      apps/client/src/app/pages/account/account-page.component.ts
  33. 2
      apps/client/src/app/pages/accounts/accounts-page.component.ts
  34. 2
      apps/client/src/app/pages/admin/admin-page.component.ts
  35. 2
      apps/client/src/app/pages/home/home-page.component.ts
  36. 2
      apps/client/src/app/pages/pricing/pricing-page.component.ts
  37. 2
      apps/client/src/app/pages/transactions/transactions-page.component.ts
  38. 2
      apps/client/src/app/pipes/symbol/symbol.pipe.ts
  39. 2
      apps/client/src/app/services/data.service.ts
  40. 3
      libs/helper/src/index.ts
  41. 0
      libs/helper/src/lib/interfaces/access.interface.ts
  42. 3
      libs/helper/src/lib/interfaces/index.ts
  43. 2
      tsconfig.base.json

2
apps/api/src/app/access/access.controller.ts

@ -1,10 +1,10 @@
import { RequestWithUser } from '@ghostfolio/api/app/interfaces/request-with-user.type';
import { Access } from '@ghostfolio/helper/interfaces';
import { Controller, Get, Inject, UseGuards } from '@nestjs/common';
import { REQUEST } from '@nestjs/core';
import { AuthGuard } from '@nestjs/passport';
import { AccessService } from './access.service';
import { Access } from './interfaces/access.interface';
@Controller('access')
export class AccessController {

6
apps/api/src/app/account/account.controller.ts

@ -1,7 +1,11 @@
import { RequestWithUser } from '@ghostfolio/api/app/interfaces/request-with-user.type';
import { nullifyValuesInObjects } from '@ghostfolio/api/helper/object.helper';
import { ImpersonationService } from '@ghostfolio/api/services/impersonation.service';
import { getPermissions, hasPermission, permissions } from '@ghostfolio/helper';
import {
getPermissions,
hasPermission,
permissions
} from '@ghostfolio/helper/permissions';
import {
Body,
Controller,

6
apps/api/src/app/admin/admin.controller.ts

@ -1,6 +1,10 @@
import { RequestWithUser } from '@ghostfolio/api/app/interfaces/request-with-user.type';
import { DataGatheringService } from '@ghostfolio/api/services/data-gathering.service';
import { getPermissions, hasPermission, permissions } from '@ghostfolio/helper';
import {
getPermissions,
hasPermission,
permissions
} from '@ghostfolio/helper/permissions';
import {
Controller,
Get,

7
apps/api/src/app/experimental/experimental.controller.ts

@ -1,9 +1,6 @@
import { RequestWithUser } from '@ghostfolio/api/app/interfaces/request-with-user.type';
import {
baseCurrency,
benchmarks,
isApiTokenAuthorized
} from '@ghostfolio/helper';
import { baseCurrency, benchmarks } from '@ghostfolio/helper/config';
import { isApiTokenAuthorized } from '@ghostfolio/helper/permissions';
import {
Body,
Controller,

2
apps/api/src/app/info/info.service.ts

@ -1,6 +1,6 @@
import { ConfigurationService } from '@ghostfolio/api/services/configuration.service';
import { PrismaService } from '@ghostfolio/api/services/prisma.service';
import { permissions } from '@ghostfolio/helper';
import { permissions } from '@ghostfolio/helper/permissions';
import { Injectable } from '@nestjs/common';
import { JwtService } from '@nestjs/jwt';
import { Currency } from '@prisma/client';

6
apps/api/src/app/order/order.controller.ts

@ -1,7 +1,11 @@
import { RequestWithUser } from '@ghostfolio/api/app/interfaces/request-with-user.type';
import { nullifyValuesInObjects } from '@ghostfolio/api/helper/object.helper';
import { ImpersonationService } from '@ghostfolio/api/services/impersonation.service';
import { getPermissions, hasPermission, permissions } from '@ghostfolio/helper';
import {
getPermissions,
hasPermission,
permissions
} from '@ghostfolio/helper/permissions';
import {
Body,
Controller,

6
apps/api/src/app/portfolio/portfolio.controller.ts

@ -4,7 +4,11 @@ import {
} from '@ghostfolio/api/helper/object.helper';
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data.service';
import { ImpersonationService } from '@ghostfolio/api/services/impersonation.service';
import { getPermissions, hasPermission, permissions } from '@ghostfolio/helper';
import {
getPermissions,
hasPermission,
permissions
} from '@ghostfolio/helper/permissions';
import {
Controller,
Get,

6
apps/api/src/app/user/user.controller.ts

@ -1,5 +1,9 @@
import { RequestWithUser } from '@ghostfolio/api/app/interfaces/request-with-user.type';
import { getPermissions, hasPermission, permissions } from '@ghostfolio/helper';
import {
getPermissions,
hasPermission,
permissions
} from '@ghostfolio/helper/permissions';
import {
Body,
Controller,

9
apps/api/src/app/user/user.service.ts

@ -1,11 +1,8 @@
import { ConfigurationService } from '@ghostfolio/api/services/configuration.service';
import { PrismaService } from '@ghostfolio/api/services/prisma.service';
import {
getPermissions,
locale,
permissions,
resetHours
} from '@ghostfolio/helper';
import { locale } from '@ghostfolio/helper/config';
import { resetHours } from '@ghostfolio/helper/helper';
import { getPermissions, permissions } from '@ghostfolio/helper/permissions';
import { Injectable } from '@nestjs/common';
import { Currency, Prisma, Provider, User } from '@prisma/client';
import { add } from 'date-fns';

2
apps/api/src/models/portfolio.spec.ts

@ -5,13 +5,13 @@ import {
getYesterday
} from '@ghostfolio/helper';
import { AccountType, Currency, DataSource, Role, Type } from '@prisma/client';
import { format } from 'date-fns';
import { DataProviderService } from '../services/data-provider.service';
import { ExchangeRateDataService } from '../services/exchange-rate-data.service';
import { MarketState } from '../services/interfaces/interfaces';
import { RulesService } from '../services/rules.service';
import { Portfolio } from './portfolio';
import { format } from 'date-fns';
jest.mock('../services/data-provider.service', () => {
return {

8
apps/api/src/models/portfolio.ts

@ -2,12 +2,8 @@ import {
PortfolioItem,
Position
} from '@ghostfolio/api/app/portfolio/interfaces/portfolio-item.interface';
import {
UNKNOWN_KEY,
getToday,
getYesterday,
resetHours
} from '@ghostfolio/helper';
import { UNKNOWN_KEY } from '@ghostfolio/helper/config';
import { getToday, getYesterday, resetHours } from '@ghostfolio/helper/helper';
import {
add,
format,

2
apps/api/src/models/rule.ts

@ -1,4 +1,4 @@
import { groupBy } from '@ghostfolio/helper';
import { groupBy } from '@ghostfolio/helper/helper';
import { Currency } from '@prisma/client';
import { PortfolioPosition } from '../app/portfolio/interfaces/portfolio-position.interface';

5
apps/api/src/services/data-gathering.service.ts

@ -1,10 +1,9 @@
import { benchmarks, currencyPairs } from '@ghostfolio/helper/config';
import {
benchmarks,
currencyPairs,
getUtc,
isGhostfolioScraperApiSymbol,
resetHours
} from '@ghostfolio/helper';
} from '@ghostfolio/helper/helper';
import { Injectable } from '@nestjs/common';
import {
differenceInHours,

2
apps/api/src/services/data-provider.service.ts

@ -2,7 +2,7 @@ import {
isCrypto,
isGhostfolioScraperApiSymbol,
isRakutenRapidApiSymbol
} from '@ghostfolio/helper';
} from '@ghostfolio/helper/helper';
import { Injectable } from '@nestjs/common';
import { MarketData } from '@prisma/client';
import { format } from 'date-fns';

2
apps/api/src/services/data-provider/ghostfolio-scraper-api/ghostfolio-scraper-api.service.ts

@ -1,4 +1,4 @@
import { getYesterday } from '@ghostfolio/helper';
import { getYesterday } from '@ghostfolio/helper/helper';
import { Injectable } from '@nestjs/common';
import { DataSource } from '@prisma/client';
import * as bent from 'bent';

2
apps/api/src/services/data-provider/rakuten-rapid-api/rakuten-rapid-api.service.ts

@ -1,4 +1,4 @@
import { getToday, getYesterday } from '@ghostfolio/helper';
import { getToday, getYesterday } from '@ghostfolio/helper/helper';
import { Injectable } from '@nestjs/common';
import { DataSource } from '@prisma/client';
import * as bent from 'bent';

8
apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts

@ -1,9 +1,5 @@
import {
UNKNOWN_KEY,
isCrypto,
isCurrency,
parseCurrency
} from '@ghostfolio/helper';
import { UNKNOWN_KEY } from '@ghostfolio/helper/config';
import { isCrypto, isCurrency, parseCurrency } from '@ghostfolio/helper/helper';
import { Injectable } from '@nestjs/common';
import { DataSource } from '@prisma/client';
import { format } from 'date-fns';

2
apps/api/src/services/exchange-rate-data.service.ts

@ -1,4 +1,4 @@
import { getYesterday } from '@ghostfolio/helper';
import { getYesterday } from '@ghostfolio/helper/helper';
import { Injectable } from '@nestjs/common';
import { Currency } from '@prisma/client';
import { format } from 'date-fns';

2
apps/api/src/services/interfaces/interfaces.ts

@ -1,4 +1,4 @@
import { UNKNOWN_KEY } from '@ghostfolio/helper';
import { UNKNOWN_KEY } from '@ghostfolio/helper/config';
import { Account, Currency, DataSource } from '@prisma/client';
import { OrderType } from '../../models/order-type';

2
apps/client/src/app/adapter/date-formats.ts

@ -1,7 +1,7 @@
import {
DEFAULT_DATE_FORMAT,
DEFAULT_DATE_FORMAT_MONTH_YEAR
} from '@ghostfolio/helper';
} from '@ghostfolio/helper/config';
export const DateFormats = {
display: {

8
apps/client/src/app/app.component.ts

@ -8,12 +8,8 @@ import {
import { NavigationEnd, PRIMARY_OUTLET, Router } from '@angular/router';
import { InfoItem } from '@ghostfolio/api/app/info/interfaces/info-item.interface';
import { User } from '@ghostfolio/api/app/user/interfaces/user.interface';
import {
hasPermission,
permissions,
primaryColorHex,
secondaryColorHex
} from '@ghostfolio/helper';
import { primaryColorHex, secondaryColorHex } from '@ghostfolio/helper/config';
import { hasPermission, permissions } from '@ghostfolio/helper/permissions';
import { MaterialCssVarsService } from 'angular-material-css-vars';
import { Subject } from 'rxjs';
import { filter, takeUntil } from 'rxjs/operators';

2
apps/client/src/app/components/access-table/access-table.component.ts

@ -6,7 +6,7 @@ import {
OnInit
} from '@angular/core';
import { MatTableDataSource } from '@angular/material/table';
import { Access } from '@ghostfolio/api/app/access/interfaces/access.interface';
import { Access } from '@ghostfolio/helper/interfaces';
@Component({
selector: 'gf-access-table',

2
apps/client/src/app/components/fear-and-greed-index/fear-and-greed-index.component.ts

@ -5,7 +5,7 @@ import {
OnChanges,
OnInit
} from '@angular/core';
import { resolveFearAndGreedIndex } from '@ghostfolio/helper';
import { resolveFearAndGreedIndex } from '@ghostfolio/helper/helper';
@Component({
selector: 'gf-fear-and-greed-index',

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

@ -12,7 +12,7 @@ import { LoginWithAccessTokenDialog } from '@ghostfolio/client/pages/login/login
import { DataService } from '@ghostfolio/client/services/data.service';
import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service';
import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service';
import { hasPermission, permissions } from '@ghostfolio/helper';
import { hasPermission, permissions } from '@ghostfolio/helper/permissions';
import { EMPTY, Subject } from 'rxjs';
import { catchError, takeUntil } from 'rxjs/operators';

2
apps/client/src/app/components/investment-chart/investment-chart.component.ts

@ -10,7 +10,7 @@ import {
ViewChild
} from '@angular/core';
import { PortfolioItem } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-item.interface';
import { primaryColorRgb } from '@ghostfolio/helper';
import { primaryColorRgb } from '@ghostfolio/helper/config';
import {
LineController,
LineElement,

7
apps/client/src/app/components/line-chart/line-chart.component.ts

@ -9,11 +9,8 @@ import {
OnInit,
ViewChild
} from '@angular/core';
import {
getBackgroundColor,
primaryColorRgb,
secondaryColorRgb
} from '@ghostfolio/helper';
import { primaryColorRgb, secondaryColorRgb } from '@ghostfolio/helper/config';
import { getBackgroundColor } from '@ghostfolio/helper/helper';
import {
Chart,
Filler,

3
apps/client/src/app/components/portfolio-proportion-chart/portfolio-proportion-chart.component.ts

@ -8,7 +8,8 @@ import {
ViewChild
} from '@angular/core';
import { PortfolioPosition } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position.interface';
import { UNKNOWN_KEY, getCssVariable, getTextColor } from '@ghostfolio/helper';
import { UNKNOWN_KEY } from '@ghostfolio/helper/config';
import { getCssVariable, getTextColor } from '@ghostfolio/helper/helper';
import { Currency } from '@prisma/client';
import { Tooltip } from 'chart.js';
import { LinearScale } from 'chart.js';

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

@ -8,7 +8,7 @@ import {
import { MatDialog } from '@angular/material/dialog';
import { ActivatedRoute, Router } from '@angular/router';
import { PortfolioPosition } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position.interface';
import { UNKNOWN_KEY } from '@ghostfolio/helper';
import { UNKNOWN_KEY } from '@ghostfolio/helper/config';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';

4
apps/client/src/app/components/transactions-table/transactions-table.component.ts

@ -22,8 +22,8 @@ import { MatSort } from '@angular/material/sort';
import { MatTableDataSource } from '@angular/material/table';
import { ActivatedRoute, Router } from '@angular/router';
import { OrderWithAccount } from '@ghostfolio/api/app/order/interfaces/order-with-account.type';
import { DEFAULT_DATE_FORMAT } from '@ghostfolio/helper';
import { format, parse, parseISO } from 'date-fns';
import { DEFAULT_DATE_FORMAT } from '@ghostfolio/helper/config';
import { format } from 'date-fns';
import { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';
import { takeUntil } from 'rxjs/operators';

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

@ -5,7 +5,7 @@ import {
OnChanges,
OnInit
} from '@angular/core';
import { DEFAULT_DATE_FORMAT } from '@ghostfolio/helper';
import { DEFAULT_DATE_FORMAT } from '@ghostfolio/helper/config';
import { format, isDate } from 'date-fns';
import { isNumber } from 'lodash';

2
apps/client/src/app/pages/about/about-page.component.ts

@ -2,7 +2,7 @@ import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
import { User } from '@ghostfolio/api/app/user/interfaces/user.interface';
import { DataService } from '@ghostfolio/client/services/data.service';
import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service';
import { baseCurrency } from '@ghostfolio/helper';
import { baseCurrency } from '@ghostfolio/helper/config';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';

9
apps/client/src/app/pages/account/account-page.component.ts

@ -1,13 +1,10 @@
import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
import { Access } from '@ghostfolio/api/app/access/interfaces/access.interface';
import { User } from '@ghostfolio/api/app/user/interfaces/user.interface';
import { DataService } from '@ghostfolio/client/services/data.service';
import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service';
import {
DEFAULT_DATE_FORMAT,
hasPermission,
permissions
} from '@ghostfolio/helper';
import { DEFAULT_DATE_FORMAT } from '@ghostfolio/helper/config';
import { Access } from '@ghostfolio/helper/interfaces/access.interface';
import { hasPermission, permissions } from '@ghostfolio/helper/permissions';
import { Currency } from '@prisma/client';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';

2
apps/client/src/app/pages/accounts/accounts-page.component.ts

@ -7,7 +7,7 @@ import { User } from '@ghostfolio/api/app/user/interfaces/user.interface';
import { DataService } from '@ghostfolio/client/services/data.service';
import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service';
import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service';
import { hasPermission, permissions } from '@ghostfolio/helper';
import { hasPermission, permissions } from '@ghostfolio/helper/permissions';
import { Account as AccountModel, AccountType } from '@prisma/client';
import { DeviceDetectorService } from 'ngx-device-detector';
import { Subject, Subscription } from 'rxjs';

2
apps/client/src/app/pages/admin/admin-page.component.ts

@ -5,7 +5,7 @@ import { AdminService } from '@ghostfolio/client/services/admin.service';
import { CacheService } from '@ghostfolio/client/services/cache.service';
import { DataService } from '@ghostfolio/client/services/data.service';
import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service';
import { DEFAULT_DATE_FORMAT } from '@ghostfolio/helper';
import { DEFAULT_DATE_FORMAT } from '@ghostfolio/helper/config';
import { formatDistanceToNow, isValid, parseISO, sub } from 'date-fns';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';

2
apps/client/src/app/pages/home/home-page.component.ts

@ -16,7 +16,7 @@ import {
SettingsStorageService
} from '@ghostfolio/client/services/settings-storage.service';
import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service';
import { hasPermission, permissions } from '@ghostfolio/helper';
import { hasPermission, permissions } from '@ghostfolio/helper/permissions';
import { DeviceDetectorService } from 'ngx-device-detector';
import { Subject, Subscription } from 'rxjs';
import { takeUntil } from 'rxjs/operators';

2
apps/client/src/app/pages/pricing/pricing-page.component.ts

@ -2,7 +2,7 @@ import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
import { User } from '@ghostfolio/api/app/user/interfaces/user.interface';
import { DataService } from '@ghostfolio/client/services/data.service';
import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service';
import { baseCurrency } from '@ghostfolio/helper';
import { baseCurrency } from '@ghostfolio/helper/config';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';

2
apps/client/src/app/pages/transactions/transactions-page.component.ts

@ -7,7 +7,7 @@ import { User } from '@ghostfolio/api/app/user/interfaces/user.interface';
import { DataService } from '@ghostfolio/client/services/data.service';
import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service';
import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service';
import { hasPermission, permissions } from '@ghostfolio/helper';
import { hasPermission, permissions } from '@ghostfolio/helper/permissions';
import { Order as OrderModel } from '@prisma/client';
import { DeviceDetectorService } from 'ngx-device-detector';
import { Subject, Subscription } from 'rxjs';

2
apps/client/src/app/pipes/symbol/symbol.pipe.ts

@ -1,5 +1,5 @@
import { Pipe, PipeTransform } from '@angular/core';
import { ghostfolioScraperApiSymbolPrefix } from '@ghostfolio/helper';
import { ghostfolioScraperApiSymbolPrefix } from '@ghostfolio/helper/config';
@Pipe({ name: 'gfSymbol' })
export class SymbolPipe implements PipeTransform {

2
apps/client/src/app/services/data.service.ts

@ -1,6 +1,5 @@
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Access } from '@ghostfolio/api/app/access/interfaces/access.interface';
import { CreateAccountDto } from '@ghostfolio/api/app/account/create-account.dto';
import { UpdateAccountDto } from '@ghostfolio/api/app/account/update-account.dto';
import { AdminData } from '@ghostfolio/api/app/admin/interfaces/admin-data.interface';
@ -21,6 +20,7 @@ import { SymbolItem } from '@ghostfolio/api/app/symbol/interfaces/symbol-item.in
import { UserItem } from '@ghostfolio/api/app/user/interfaces/user-item.interface';
import { User } from '@ghostfolio/api/app/user/interfaces/user.interface';
import { UpdateUserSettingsDto } from '@ghostfolio/api/app/user/update-user-settings.dto';
import { Access } from '@ghostfolio/helper/interfaces';
import { Order as OrderModel } from '@prisma/client';
import { Account as AccountModel } from '@prisma/client';
import { parseISO } from 'date-fns';

3
libs/helper/src/index.ts

@ -1,3 +0,0 @@
export * from './lib/config';
export * from './lib/helper';
export * from './lib/permissions';

0
apps/api/src/app/access/interfaces/access.interface.ts → libs/helper/src/lib/interfaces/access.interface.ts

3
libs/helper/src/lib/interfaces/index.ts

@ -0,0 +1,3 @@
import { Access } from './access.interface';
export { Access };

2
tsconfig.base.json

@ -18,7 +18,7 @@
"paths": {
"@ghostfolio/api/*": ["apps/api/src/*"],
"@ghostfolio/client/*": ["apps/client/src/app/*"],
"@ghostfolio/helper": ["libs/helper/src/index.ts"]
"@ghostfolio/helper/*": ["libs/helper/src/lib/*"]
}
},
"exclude": ["node_modules", "tmp"]

Loading…
Cancel
Save