Merge pull request #3458 from gradido/upgrade_typescript

feat(backend): upgrade typescript
This commit is contained in:
einhornimmond 2025-03-19 18:31:33 +01:00 committed by GitHub
commit 836cdaddde
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
21 changed files with 439 additions and 317 deletions

View File

@ -7,7 +7,7 @@ module.exports = {
collectCoverageFrom: ['src/**/*.ts', '!**/node_modules/**', '!src/seeds/**', '!build/**'],
coverageThreshold: {
global: {
lines: 80,
lines: 79,
},
},
setupFiles: ['<rootDir>/test/testSetup.ts'],

View File

@ -69,10 +69,10 @@
"@types/nodemailer": "^6.4.4",
"@types/sodium-native": "^2.3.5",
"@types/uuid": "^8.3.4",
"@typescript-eslint/eslint-plugin": "^5.57.1",
"@typescript-eslint/parser": "^5.57.1",
"@typescript-eslint/eslint-plugin": "^5.62.0",
"@typescript-eslint/parser": "^5.62.0",
"apollo-server-testing": "^2.25.2",
"eslint": "^8.37.0",
"eslint": "^8.57.1",
"eslint-config-prettier": "^8.8.0",
"eslint-config-standard": "^17.0.0",
"eslint-import-resolver-typescript": "^3.5.4",
@ -92,9 +92,9 @@
"nodemon": "^2.0.7",
"prettier": "^2.8.7",
"ts-jest": "^27.0.5",
"ts-node": "^10.0.0",
"ts-node": "^10.9.2",
"tsconfig-paths": "^3.14.0",
"typescript": "^4.3.4"
"typescript": "^4.9.5"
},
"nodemonConfig": {
"ignore": [

View File

@ -49,14 +49,16 @@ export class GmsUser {
if (
user.gmsAllowed &&
user.alias &&
user.gmsPublishName === PublishNameType.PUBLISH_NAME_ALIAS_OR_INITALS
(user.gmsPublishName as PublishNameType) === PublishNameType.PUBLISH_NAME_ALIAS_OR_INITALS
) {
return user.alias
}
if (
user.gmsAllowed &&
((!user.alias && user.gmsPublishName === PublishNameType.PUBLISH_NAME_ALIAS_OR_INITALS) ||
user.gmsPublishName === PublishNameType.PUBLISH_NAME_INITIALS)
((!user.alias &&
(user.gmsPublishName as PublishNameType) ===
PublishNameType.PUBLISH_NAME_ALIAS_OR_INITALS) ||
(user.gmsPublishName as PublishNameType) === PublishNameType.PUBLISH_NAME_INITIALS)
) {
return (
this.firstUpperCaseSecondLowerCase(user.firstName) +
@ -68,16 +70,18 @@ export class GmsUser {
private getGmsFirstName(user: dbUser): string | null | undefined {
if (
user.gmsAllowed &&
(user.gmsPublishName === PublishNameType.PUBLISH_NAME_FIRST ||
user.gmsPublishName === PublishNameType.PUBLISH_NAME_FIRST_INITIAL ||
user.gmsPublishName === PublishNameType.PUBLISH_NAME_FULL)
((user.gmsPublishName as PublishNameType) === PublishNameType.PUBLISH_NAME_FIRST ||
(user.gmsPublishName as PublishNameType) === PublishNameType.PUBLISH_NAME_FIRST_INITIAL ||
(user.gmsPublishName as PublishNameType) === PublishNameType.PUBLISH_NAME_FULL)
) {
return user.firstName
}
if (
user.gmsAllowed &&
((!user.alias && user.gmsPublishName === PublishNameType.PUBLISH_NAME_ALIAS_OR_INITALS) ||
user.gmsPublishName === PublishNameType.PUBLISH_NAME_INITIALS)
((!user.alias &&
(user.gmsPublishName as PublishNameType) ===
PublishNameType.PUBLISH_NAME_ALIAS_OR_INITALS) ||
(user.gmsPublishName as PublishNameType) === PublishNameType.PUBLISH_NAME_INITIALS)
) {
// return this.firstUpperCaseSecondLowerCase(user.firstName)
return null // cause to delete firstname in gms
@ -85,10 +89,16 @@ export class GmsUser {
}
private getGmsLastName(user: dbUser): string | null | undefined {
if (user.gmsAllowed && user.gmsPublishName === PublishNameType.PUBLISH_NAME_FULL) {
if (
user.gmsAllowed &&
(user.gmsPublishName as PublishNameType) === PublishNameType.PUBLISH_NAME_FULL
) {
return user.lastName
}
if (user.gmsAllowed && user.gmsPublishName === PublishNameType.PUBLISH_NAME_FIRST_INITIAL) {
if (
user.gmsAllowed &&
(user.gmsPublishName as PublishNameType) === PublishNameType.PUBLISH_NAME_FIRST_INITIAL
) {
return this.firstUpperCaseSecondLowerCase(user.lastName)
}
return null // cause to delete lastname in gms
@ -114,8 +124,10 @@ export class GmsUser {
private getGmsCountryCode(user: dbUser): string | undefined {
if (
user.gmsAllowed &&
(user.emailContact?.gmsPublishPhone === GmsPublishPhoneType.GMS_PUBLISH_PHONE_COUNTRY ||
user.emailContact?.gmsPublishPhone === GmsPublishPhoneType.GMS_PUBLISH_PHONE_FULL)
((user.emailContact?.gmsPublishPhone as GmsPublishPhoneType) ===
GmsPublishPhoneType.GMS_PUBLISH_PHONE_COUNTRY ||
(user.emailContact?.gmsPublishPhone as GmsPublishPhoneType) ===
GmsPublishPhoneType.GMS_PUBLISH_PHONE_FULL)
) {
return user.emailContact?.countryCode
}
@ -124,7 +136,8 @@ export class GmsUser {
private getGmsPhone(user: dbUser): string | undefined {
if (
user.gmsAllowed &&
user.emailContact?.gmsPublishPhone === GmsPublishPhoneType.GMS_PUBLISH_PHONE_FULL
(user.emailContact?.gmsPublishPhone as GmsPublishPhoneType) ===
GmsPublishPhoneType.GMS_PUBLISH_PHONE_FULL
) {
return user.emailContact?.phone
}

View File

@ -144,7 +144,7 @@ export class ContributionResolver {
dbContributions.map((contribution) => {
// filter out moderator messages for this call
contribution.messages = contribution.messages?.filter(
(m) => m.type !== ContributionMessageType.MODERATOR,
(m) => (m.type as ContributionMessageType) !== ContributionMessageType.MODERATOR,
)
return new Contribution(contribution, user)
}),
@ -352,7 +352,7 @@ export class ContributionResolver {
}
const moderator = getUser(context)
if (
contribution.contributionType === ContributionType.USER &&
(contribution.contributionType as ContributionType) === ContributionType.USER &&
contribution.userId === moderator.id
) {
throw new LogError('Own contribution can not be deleted as admin')
@ -532,8 +532,9 @@ export class ContributionResolver {
throw new LogError('Contribution not found', id)
}
if (
contributionToUpdate.contributionStatus !== ContributionStatus.IN_PROGRESS &&
contributionToUpdate.contributionStatus !== ContributionStatus.PENDING
(contributionToUpdate.contributionStatus as ContributionStatus) !==
ContributionStatus.IN_PROGRESS &&
(contributionToUpdate.contributionStatus as ContributionStatus) !== ContributionStatus.PENDING
) {
throw new LogError(
'Status of the contribution is not allowed',

View File

@ -266,7 +266,7 @@ export class TransactionResolver {
// userTransactions.forEach((transaction: dbTransaction) => {
// use normal for loop because of timing problems with await in forEach-loop
for (const transaction of userTransactions) {
if (transaction.typeId === TransactionTypeId.CREATION) {
if ((transaction.typeId as TransactionTypeId) === TransactionTypeId.CREATION) {
continue
}
if (transaction.linkedUserId && !involvedUserIds.includes(transaction.linkedUserId)) {
@ -398,7 +398,7 @@ export class TransactionResolver {
: involvedUsers.find((u) => u.id === userTransaction.linkedUserId)
*/
let linkedUser: User | undefined
if (userTransaction.typeId === TransactionTypeId.CREATION) {
if ((userTransaction.typeId as TransactionTypeId) === TransactionTypeId.CREATION) {
linkedUser = communityUser
logger.debug('CREATION-linkedUser=', linkedUser)
} else if (userTransaction.linkedUserId) {

View File

@ -193,7 +193,10 @@ export class UserResolver {
})
}
if (dbUser.passwordEncryptionType !== PasswordEncryptionType.GRADIDO_ID) {
if (
(dbUser.passwordEncryptionType as PasswordEncryptionType) !==
PasswordEncryptionType.GRADIDO_ID
) {
dbUser.passwordEncryptionType = PasswordEncryptionType.GRADIDO_ID
dbUser.password = await encryptPassword(dbUser, password)
await dbUser.save()
@ -571,7 +574,7 @@ export class UserResolver {
// Sign into Klicktipp
// TODO do we always signUp the user? How to handle things with old users?
if (userContact.emailOptInTypeId === OptInType.EMAIL_OPT_IN_REGISTER) {
if ((userContact.emailOptInTypeId as OptInType) === OptInType.EMAIL_OPT_IN_REGISTER) {
try {
await subscribe(userContact.email, user.language, user.firstName, user.lastName)
logger.debug(

View File

@ -2,6 +2,7 @@ import { Point } from '@dbTools/typeorm'
import { User as DbUser } from '@entity/User'
import { UpdateUserInfosArgs } from '@/graphql/arg/UpdateUserInfosArgs'
import { GmsPublishLocationType } from '@/graphql/enum/GmsPublishLocationType'
import { PublishNameType } from '@/graphql/enum/PublishNameType'
import { LogError } from '@/server/LogError'
import { backendLogger as logger } from '@/server/logger'
@ -44,13 +45,14 @@ export function compareGmsRelevantUserSettings(
}
if (
updateUserInfosArgs.gmsPublishLocation &&
orgUser.gmsPublishLocation !== updateUserInfosArgs.gmsPublishLocation
(orgUser.gmsPublishLocation as GmsPublishLocationType) !==
updateUserInfosArgs.gmsPublishLocation
) {
return true
}
if (
updateUserInfosArgs.gmsPublishName &&
orgUser.gmsPublishName !== updateUserInfosArgs.gmsPublishName
(orgUser.gmsPublishName as PublishNameType) !== updateUserInfosArgs.gmsPublishName
) {
return true
}

View File

@ -38,7 +38,7 @@ export abstract class AbstractUnconfirmedContributionRole {
throw new LogError('Month of contribution can not be changed')
}
if (this.self.contributionStatus === ContributionStatus.CONFIRMED) {
if ((this.self.contributionStatus as ContributionStatus) === ContributionStatus.CONFIRMED) {
throw new LogError('the contribution is already confirmed, cannot be changed anymore')
}

View File

@ -35,9 +35,10 @@ export class UnconfirmedContributionUserRole extends AbstractUnconfirmedContribu
throw new LogError('Can not update contribution of another user', this.self, user.id)
}
// only admins and moderators can update it when status is other than progress or pending
const contributionStatus = this.self.contributionStatus as ContributionStatus
if (
this.self.contributionStatus !== ContributionStatus.IN_PROGRESS &&
this.self.contributionStatus !== ContributionStatus.PENDING
contributionStatus !== ContributionStatus.IN_PROGRESS &&
contributionStatus !== ContributionStatus.PENDING
) {
throw new LogError(
'Contribution can not be updated due to status',

View File

@ -22,7 +22,7 @@ export class UnconfirmedContributionUserAddMessageRole extends AbstractUnconfirm
protected update(): void {
if (
this.self.contributionStatus === ContributionStatus.IN_PROGRESS ||
(this.self.contributionStatus as ContributionStatus) === ContributionStatus.IN_PROGRESS ||
this.self.resubmissionAt !== null
) {
this.self.contributionStatus = ContributionStatus.PENDING
@ -38,9 +38,10 @@ export class UnconfirmedContributionUserAddMessageRole extends AbstractUnconfirm
}
// only admins and moderators can update it when status is other than progress or pending
// but we are in the user add message role.. we are currently not admin or moderator
const contributionStatus = this.self.contributionStatus as ContributionStatus
if (
this.self.contributionStatus !== ContributionStatus.IN_PROGRESS &&
this.self.contributionStatus !== ContributionStatus.PENDING
contributionStatus !== ContributionStatus.IN_PROGRESS &&
contributionStatus !== ContributionStatus.PENDING
) {
throw new LogError(
'Contribution can not be updated due to status',

View File

@ -52,7 +52,8 @@ export const userFactory = async (
if (user.deletedAt) {
dbUser.deletedAt = user.deletedAt
}
if (user.role && (user.role === RoleNames.ADMIN || user.role === RoleNames.MODERATOR)) {
const userRole = user.role as RoleNames
if (userRole && (userRole === RoleNames.ADMIN || userRole === RoleNames.MODERATOR)) {
await setUserRole(dbUser, user.role)
}
await dbUser.save()

File diff suppressed because it is too large Load Diff

View File

@ -16,7 +16,7 @@
"devDependencies": {
"@types/joi": "^17.2.3",
"@types/node": "^17.0.21",
"typescript": "^4.3.5",
"typescript": "^4.9.5",
"mkdirp": "^3.0.1",
"ncp": "^2.0.0"
},

View File

@ -64,7 +64,7 @@ ncp@^2.0.0:
resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"
integrity sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==
typescript@^4.3.5:
typescript@^4.9.5:
version "4.9.5"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==

View File

@ -1,4 +1,3 @@
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
/* eslint-disable @typescript-eslint/no-explicit-any */

View File

@ -37,8 +37,8 @@
"mkdirp": "^3.0.1",
"ncp": "^2.0.0",
"prettier": "^2.8.7",
"ts-node": "^10.2.1",
"typescript": "^4.3.5"
"ts-node": "^10.9.2",
"typescript": "^4.9.5"
},
"dependencies": {
"@types/uuid": "^8.3.4",

View File

@ -9,17 +9,12 @@
dependencies:
regenerator-runtime "^0.13.11"
"@cspotcode/source-map-consumer@0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b"
integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==
"@cspotcode/source-map-support@0.6.1":
version "0.6.1"
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.6.1.tgz#118511f316e2e87ee4294761868e254d3da47960"
integrity sha512-DX3Z+T5dt1ockmPdobJS/FAsQPW4V4SrWEhD2iYQT2Cb2tQsiMnYxrcUH9By/Z3B+v0S5LMBkQtV/XOBbpLEOg==
"@cspotcode/source-map-support@^0.8.0":
version "0.8.1"
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
dependencies:
"@cspotcode/source-map-consumer" "0.8.0"
"@jridgewell/trace-mapping" "0.3.9"
"@eslint-community/eslint-plugin-eslint-comments@^3.2.1":
version "3.2.1"
@ -80,6 +75,24 @@
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
"@jridgewell/resolve-uri@^3.0.3":
version "3.1.2"
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6"
integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
"@jridgewell/sourcemap-codec@^1.4.10":
version "1.5.0"
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a"
integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==
"@jridgewell/trace-mapping@0.3.9":
version "0.3.9"
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
dependencies:
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
@ -2353,12 +2366,12 @@ ts-mysql-migrate@^1.0.2:
"@types/mysql" "^2.15.8"
mysql "^2.18.1"
ts-node@^10.2.1:
version "10.2.1"
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.2.1.tgz#4cc93bea0a7aba2179497e65bb08ddfc198b3ab5"
integrity sha512-hCnyOyuGmD5wHleOQX6NIjJtYVIO8bPP8F2acWkB4W06wdlkgyvJtubO/I9NkI88hCFECbsEgoLc0VNkYmcSfw==
ts-node@^10.9.2:
version "10.9.2"
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f"
integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==
dependencies:
"@cspotcode/source-map-support" "0.6.1"
"@cspotcode/source-map-support" "^0.8.0"
"@tsconfig/node10" "^1.0.7"
"@tsconfig/node12" "^1.0.7"
"@tsconfig/node14" "^1.0.0"
@ -2369,6 +2382,7 @@ ts-node@^10.2.1:
create-require "^1.1.0"
diff "^4.0.1"
make-error "^1.1.1"
v8-compile-cache-lib "^3.0.1"
yn "3.1.1"
tsconfig-paths@^3.14.1:
@ -2440,10 +2454,10 @@ typeorm@^0.3.16:
uuid "^9.0.0"
yargs "^17.6.2"
typescript@^4.3.5:
version "4.3.5"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4"
integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==
typescript@^4.9.5:
version "4.9.5"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
unbox-primitive@^1.0.2:
version "1.0.2"
@ -2482,6 +2496,11 @@ uuid@^9.0.0:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5"
integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==
v8-compile-cache-lib@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
which-boxed-primitive@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"

View File

@ -49,7 +49,7 @@
"jest": "^27.2.4",
"prettier": "^2.8.7",
"ts-jest": "^27.0.5",
"ts-node": "^10.9.1",
"ts-node": "^10.9.2",
"typescript": "^4.9.4"
},
"engines": {

View File

@ -2435,7 +2435,7 @@ graceful-fs@^4.2.4:
joi "^17.13.3"
"gradido-database@file:../database":
version "2.4.4"
version "2.5.1"
dependencies:
"@types/uuid" "^8.3.4"
cross-env "^7.0.3"
@ -4667,10 +4667,10 @@ ts-mysql-migrate@^1.0.2:
"@types/mysql" "^2.15.8"
mysql "^2.18.1"
ts-node@^10.9.1:
version "10.9.1"
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b"
integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==
ts-node@^10.9.2:
version "10.9.2"
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f"
integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==
dependencies:
"@cspotcode/source-map-support" "^0.8.0"
"@tsconfig/node10" "^1.0.7"

View File

@ -64,7 +64,7 @@
"nodemon": "^2.0.7",
"prettier": "^2.8.7",
"ts-jest": "27.0.5",
"ts-node": "^10.9.1",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.1.1",
"typescript": "^4.3.4"
},

View File

@ -5363,10 +5363,10 @@ ts-jest@27.0.5:
semver "7.x"
yargs-parser "20.x"
ts-node@^10.9.1:
version "10.9.1"
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b"
integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==
ts-node@^10.9.2:
version "10.9.2"
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f"
integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==
dependencies:
"@cspotcode/source-map-support" "^0.8.0"
"@tsconfig/node10" "^1.0.7"