Typescript: @ts-рдмреНрд▓реЙрдХ рд╕реНрдХреЛрдк рдФрд░ рдЖрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 30 рдЕрдХреНрддреВре░ 2017  ┬╖  88рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: microsoft/TypeScript

рд╡рд░реНрддрдорд╛рди рдореЗрдВ @ts-ignore рдХреЗрд╡рд▓ рдЗрд╕рдХреЗ рдареАрдХ рдиреАрдЪреЗ рдХреА рд░реЗрдЦрд╛ рд╕реЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдореНрдпреВрдЯ рдХрд░рддрд╛ рд╣реИ

рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛

  1. рдкреВрд░рд╛ рдЕрдЧрд▓рд╛ рдмреНрд▓реЙрдХ
  2. рд╕рднреА рдЖрдпрд╛рддреЛрдВ рдХреЗ рд▓рд┐рдП рднреА

рдЙрджрд╛рд╣рд░рдг:

рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ: рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдирд╛ рдХрд┐ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХреНрдпрд╛ рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛, рдлрд┐рд░ рднреА рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рд╕реЗ рдкрд░рд╣реЗрдЬ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рдЯрд┐рдкреНрдкрдгреА рдХреЛрдб рд╣реИ рдЬреЛ рдХрдИ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

Awaiting More Feedback Suggestion VS Code Tracked

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

// @ts-ignore-start
// @ts-ignore-end

рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: https://github.com/Microsoft/TypeScript/issues/19139

// @ts-ignore-start Property_0_does_not_exist_on_type_1
// @ts-ignore-end (possible include the error type again so you can turn be more specific of where you want to ignore some errors

@marianturchyn рдпрд╣ tslint рдирд╣реАрдВ рд╣реИред

рд╕рднреА 88 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЗрд╕ рд▓реЛрд▓ рдХреА рдЬрд░реВрд░рдд рд╣реИ

рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдПрдХ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рд╣реИ рдЬреЛ рд╡реНрд╣рд╛рдЗрдЯрд╕реНрдкреЗрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ "рдиреЛ-рдЯреНрд░реЗрд▓рд┐рдВрдЧ-рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк" рдирд┐рдпрдо рдЪрд╛рд▓реВ рд╣реИ, рд▓реЗрдХрд┐рди рдмреНрд▓реЙрдХ рд╕реНрддрд░ рдкрд░ рдЗрд╕реЗ рдкреНрд░рдмрд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдИрдПрд╕ 6 рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд┐рдЫрд▓реА рд╡реНрд╣рд╛рдЗрдЯрд╕реНрдкреЗрд╕ рдФрд░ рдХреИрд░рд┐рдЬ рд░рд┐рдЯрд░реНрди рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред .

рдЧрдгрд┐рдд рдореЗрдВ рдХрд╕реНрдЯрдо рдмрдВрдбрд▓рд┐рдВрдЧ _ a.k.a partial import _ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реЗ рдПрдХ

// tslint:disable:no-var-requires
import core from 'mathjs/core'

// @ts-ignore
import mathUnit from 'mathjs/lib/type/unit'
// @ts-ignore
import mathExpression from 'mathjs/lib/expression/function'
// @ts-ignore
import mathArithmatic from 'mathjs/lib/function/arithmetic'


const math = core.create()
// math.import(require('mathjs/lib/type/unit'))
// math.import(require('mathjs/lib/expression/function')) // compile, eval
// math.import(require('mathjs/lib/function/arithmetic')) // basic arithmetic like divide, exponent, etc

math.import(mathUnit)
math.import(mathExpression) // compile, eval
math.import(mathArithmatic) // basic arithmetic like divide, exponent, etc

export const unit = math.unit
export const createUnit = math.createUnit
export const compile = math.compile

рдореИрдВ рдкреВрд░реА рдлрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рдХреБрдЫ ES6 JS рдХреЛрдб рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ ES5 рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдкрд╛рдЗрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдордп рдмреИрдмреЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ .ts рдХрд░рдирд╛ рдФрд░ TS рдХреЗ рд╕рд╛рде рдЯреНрд░рд╛рдВрд╕рдкрд╛рдЗрд▓ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

@ptallett рдЖрдк allowJs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ allowJs .js рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕рдВрдХрд▓рди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╣рдо .js рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рддрдм рддрдХ рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд░рддреЗ рдЬрдм рддрдХ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ // @ts-check рдЯрд┐рдкреНрдкрдгреА рди рд╣реЛ, рдпрд╛ рдЖрдк checkJs рдЪрд╛рд▓реВ рди рдХрд░реЗрдВред

рдореИрдВ рдЕрднреА рднреА рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛, рдореИрдВ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмреИрдард╛ рд╣реВрдВ, рдЗрд╕рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ .ts рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдХреМрди рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╣рд╛рдВ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ src рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╢рд╛рдирджрд╛рд░ рд╣реИред .

рдореЗрд░реА рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЕрдм рд▓рд╛рд▓ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рдХреБрдЫ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ, рдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рджреЗрддрд╛ рд╣реВрдВ, рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рднреА рдЬрд╛рдВрдЪрддрд╛ рд╣реВрдВред

рд╣рд░ рдЬрдЧрд╣ рд▓рд╛рд▓ рд░реЗрдЦрд╛рдУрдВ рдХрд╛ рдЧреБрдЪреНрдЫрд╛ рди рд╣реЛ рддреЛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред :)

рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ, рдпрд╛ рдХрд┐рд╕реА рдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдорд┐рд▓рд╛ рд╣реИ?

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде lodash рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ lodash/fp рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рджрд░реНрджрдирд╛рдХ рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ lodash рдФрд░ @types/lodash рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рднреА рдЖрдк рдмрд╣реБрдд рд╣реА рдЧреБрдкреНрдд рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ @ts-ignore-block рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ _рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ_ :-)

рдореИрдВ рдХрдИ рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рд╡рд╛рд▓реЗ рдЪрд░ рдХреЗ рд╕рд╛рде рд╡рд┐рд░рд╛рд╕рдд рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдкрд░ @ ts-ignore рд▓рд┐рдЦрдирд╛ рдХрдард┐рди рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?

рд╕рд╛рде рд╣реА рдЗрд╕ рдЕрдиреБрд░реЛрдз рдкрд░ рдЕрдкрдбреЗрдЯ рдорд╛рдВрдЧ рд░рд╣реЗ рд╣реИрдВред рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВ рдЬреЛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рднреА рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрдЧрд╛ (рдЕрд░реНрдерд╛рддреН рдЯрд╛рдЗрдк-рдЪреЗрдХрд┐рдВрдЧ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рд╡реАрдпреВ рдЯреЗрдореНрдкрд▓реЗрдЯ рд░реЗрдВрдбрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЗ рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реАрдХреНрд╖рдг рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред)
рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╕рд╛рде, #19139 рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреЛрдб рдХреЗ рдмрдбрд╝реЗ рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдЖрд╡реЗрджрди рдХрд░рддреЗ рд╕рдордп, рдЖрдк рдХреЗрд╡рд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

рдЫреЗрдж рдлрд╝рд╛рдЗрд▓ рдХреЛ рджрдмрд╛рдиреЗ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рд╡рд░реНрдХрд╕реНрдкреЗрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдпрд╛ рдРрд╕реЗ рдореЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдо рдХреЛрдб рдЬреИрд╕реЗ рд╕рдВрдкрд╛рджрдХреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕рдХреА рднреА рдЬрд░реВрд░рдд рд╣реИред рдореИрдВ graphql-code-generator рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдЧреНрд░рд╛рдлрд╝рдХреНрдпреВрдПрд▓ рд╕реНрдХреАрдорд╛ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдкреВрд░реНрдг рдЯреАрдПрд╕ рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рдд: рдЙрддреНрдкрдиреНрди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдПрдХ рдмрд╛рд╣рд░реА рдЖрдпрд╛рдд рдЯреНрд░рд┐рдЧрд░рд┐рдВрдЧ noUnusedLocals рд╣реИред

// @ts-ignore-start
// @ts-ignore-end

рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: https://github.com/Microsoft/TypeScript/issues/19139

// @ts-ignore-start Property_0_does_not_exist_on_type_1
// @ts-ignore-end (possible include the error type again so you can turn be more specific of where you want to ignore some errors

@marianturchyn рдпрд╣ tslint рдирд╣реАрдВ рд╣реИред

рдХрднреА-рдХрднреА рдЬрдм рдореИрдВ рд╕рд╛рдорд╛рди рдХреЛ рдЗрдзрд░-рдЙрдзрд░ рдХрд░ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реВрдВ рдФрд░ рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдкреВрд░реА рдлрд╛рдЗрд▓ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ (рдпрд╛рдиреА рдЗрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛), рдмрд┐рдирд╛ рд╕реАрдПрд▓рдЖрдИ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдХрд┐рдПред

рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдзреНрд╡рдЬ рд╕рдмрд╕реЗ рддреЗрдЬрд╝/рдЖрд╕рд╛рди рд╣реИ:

// @ts-ignore-file

@ lonix1 рдЖрдк рдХреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:

// @ts-ignore-start
// @ts-ignore-end

рдЖрдкрдХреЛ // @ts-ignore-end рднрд╛рдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдХрдИ рд▓рд┐рдВрдЯ рдЯреВрд▓ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

@mgol рдореИрдВ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рдкрдЯрд░реА рд╕реЗ рдирд╣реАрдВ рдЙрддрд╛рд░рдирд╛ рдЪрд╛рд╣рддрд╛ ... рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╕реБрдЭрд╛рд╡ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА - рдзрдиреНрдпрд╡рд╛рдж! - рдФрд░ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрд╛, рдФрд░ рдПрдХ рдХреЛ рд╕рдмрд╕реЗ рдКрдкрд░ рдФрд░ рджреВрд╕рд░реЗ рдХреЛ рдиреАрдЪреЗ рдХреА рдУрд░ рднреА рдЖрдЬрд╝рдорд╛рдпрд╛ред
рдХреНрдпрд╛ рдХреЛрдИ рдФрд░ рдЗрд╕реЗ рдХрд╛рдо рдкрд░ рд▓рд╛ рд╕рдХрддрд╛ рд╣реИ?

@ lonix1 рдореЗрд░рд╛ рдорддрд▓рдм рдерд╛ рдХрд┐ @Blanen рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЖрдкрдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд╣рдореЗрдВ // @ts-ignore-start + // @ts-ignore-end рдФрд░ // @ts-ignore-file рджреЛрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, // @ts-ignore-start рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ // @ts-ignore-end рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдЗрд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдореБрджреНрджрд╛ рдЕрднреА рднреА рдЦреБрд▓рд╛ рд╣реИред

@DanielRosenwasser рдпрд╣ рддрднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬрдм ts рдлрд╛рдЗрд▓реЗрдВ рдмрд┐рд▓реНрдб рдХреЗ рджреМрд░рд╛рди рдХрд┐рд╕реА рдЕрдиреНрдп рдлреЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдЯреЛрд░ рд╣реЛ рдЬрд╛рдПрдВрдЧреАред рдЬрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЬреЗрдПрд╕ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЯреАрдПрд╕ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрдЕрдк рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЬреЗрдПрд╕ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рднреА 'рд╕рдВрдХрд▓рд┐рдд' рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬреИрд╕реЗ рдИрдПрд╕ 5 рдореЗрдВ рдмрджрд▓рдирд╛? рд╡рд┐рд░рд╛рд╕рдд рдХреЛрдб рдкрд░рд┐рд╡рд╣рди рдХрд░рддреЗ рд╕рдордп рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╣рд╛рдпрдХ рд╣реЛрдЧрд╛ред

рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдЬрд░реВрд░рдд рд╣реИред

рдЙрджрд╛рд╣рд░рдг:

рдЯрд╛рдЗрдкрдУрдЖрд░рдПрдо рд╣рдореЗрдВ рдбреАрдмреА рдЗрдХрд╛рдИ рд╡рд░реНрдЧ рдмрдирд╛рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЙрд▓рдо рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рд╢реВрдиреНрдп рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдХрдИ рдХреЙрд▓рдо (рдЗрд╕рд▓рд┐рдП) рдЕрд╢рдХреНрдд рдирд╣реАрдВ рд╣реИрдВ ... рдФрд░ рдЗрд╕рд▓рд┐рдП рд╡рд░реНрдЧ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рдЫреЛрдбрд╝рдХрд░ , рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕реЗ рдХрд┐ рдЧреБрдг рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрд┐рдирд╛ рд╢рд░реНрдд рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдХреЛ рджреГрдврд╝рддрд╛ рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ:

@Entity('investigation')
export class InvestigationEntity {
    @PrimaryGeneratedColumn('uuid')
    // @ts-ignore TS2564
    public investigationId: string;

    @Column({ type: 'uuid' })
    // @ts-ignore TS2564
    public userId: string;

    @Column({ type: 'jsonb' })
    // @ts-ignore TS2564
    public metadata: IEncryptedJSONContainer;
}

рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ (рдЗрд╕рд▓рд┐рдП) рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдореВрд▓реНрдп рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЯрд╛рдЗрдкрдУрдЖрд░рдПрдо рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдХрд╛рд░рдг, рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрдХрд░реНрддрд╛ рдХреА рдХрдореА рд╣реЛред рдкреВрд░реА рдХрдХреНрд╖рд╛ (рдЗрд╕рд▓рд┐рдП/рдпрд╛ рдлрд╝рд╛рдЗрд▓) рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╡рд┐рд╢реЗрд╖, рдУрдЖрд░рдПрдо-рд╡реНрдпреБрддреНрдкрдиреНрди/рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореБрджреНрджреЗ рдХреЛ рджрдмрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдмреЗрд╣рдж рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред

@haggholm ts-ignore рд╕реЗ рдЕрдзрд┐рдХ public metadata!: IEncryptedJSONContainer рдкрд╕рдВрдж рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг?

@RyanCavanaugh рдЕрдЬреНрдЮрд╛рдирддрд╛! рдореИрдВрдиреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдЙрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдпрд╛рдж рдХрд┐рдпрд╛ рдерд╛ред рдорд╛рдлрд╝ рдХрд░рдирд╛; рдХреГрдкрдпрд╛ рдЙрдкреЗрдХреНрд╖рд╛ рдХрд░ рджреАрдЬрд┐рдпреЗред

рдореИрдВ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдБрдЧрд╛

// @ ts-рдЕрдирджреЗрдЦрд╛-рд╢реБрд░реВ
--strick рдирд▓ рдЪреЗрдХ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП

рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдирд┐рдЬреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдФрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдПрдХрдЬреБрдЯ рдХрд░рддрд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдб рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд 6 рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВред рднрдпрдВрдХрд░ред рдореЗрд░реА рдЖрдБрдЦреЛрдВ рдХреЛ рд▓рд╣реВрд▓реБрд╣рд╛рди рдХрд░ рджреЗрддрд╛ рд╣реИред рдмреНрд▓реЙрдХ рдХреА рдЕрдирджреЗрдЦреА рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рд╕рдорд╛рдзрд╛рди рдХреА рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреАред

it('TestNode_ReconnectionsWorkload', async function () {
    for (let i = 0; i < 1; i++) {
        nodes.push(await Node.NewNode(serverUrl, {
            handlers: {
                active: async function (n: Node) {
                    try {
                        // @ts-ignore
                        if (n.view.Empty()) {
                            // @ts-ignore
                            if (n.conns.Empty() && !n.server) {
                                // @ts-ignore
                                await n.login(n.address);
                            }
                            return;
                        }

                        const data = new flats.Message({
                            // @ts-ignore
                            id: n.id,
                            type: flats.MessageType.Data,
                            data: 'hello world',
                        });

                        const dataBytes = data.toBytes();
                        const dataBase64 = base64.encode(dataBytes);
                        // @ts-ignore
                        const dataSigBytes = await n.sign(dataBytes);
                        const dataSigBase64 = base64.encode(dataSigBytes);

                        // @ts-ignore
                        for (const conn of n.conns.Iter()) {
                            conn.Send(`${dataBase64}.${dataSigBase64}`);
                        }
                    } catch (error) {
                        console.log(error);
                    }
                },
            },
        }));
    }

    for (const node of nodes) {
        await node.Wait();
    }
});

рдЦреИрд░, рдореИрдВ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЗрд╕реЗ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИред

@ ts-ignore рдмрд╣реБ-рдкрдВрдХреНрддрд┐ рдФрд░ рдПрдХрд▓-рдкрдВрдХреНрддрд┐ рдЖрдпрд╛рдд рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ!

рдЕрднреА рднреА рдмрд╣реБрдд рд╕рд╛рд░реЗ npm рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ, рдпрд╛ рдмрд┐рдирд╛ NoImplicitAny рдХреЗ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ,
рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк "рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХреЛрдИ" рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ рддреЛ рдЙрдиреНрд╣реЗрдВ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

import { a, b } from 'MyNonTypedModule' // <-- Implicit any error

рддреЛ рдореИрдВ @ ts-рдЕрдирджреЗрдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:

//@ts-ignore
import { a, b } from 'MyNonTypedModule'

рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдСрдЯреЛ рдЖрдпрд╛рдд рдФрд░ рдкреНрд░реАрдЯреАрдпрд░ рдЬреИрд╕реЗ рдлреЙрд░реНрдореЗрдЯрд░реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ:
(рд╕реБрдВрджрд░ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рд░реВрдкрд┐рдд)

//@ts-ignore
import { 
  a, 
  b 
} from 'MyNonTypedModule' // <-- Still (again) getting the Implicit any error

рдореИрдВ рдЗрд╕реЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:

import { 
 a, 
 b
//@ts-ignore
 } from 'MyNonTypedModule'

рдпрд╛

//@ts-ignore-start
import { 
   a, 
   b
} from 'MyNonTypedModule'
//@ts-ignore-end

рд▓реЗрдХрд┐рди рдлрд┐рд░ рдпрд╣ рд╕рд┐рдВрдЧрд▓ рд▓рд╛рдЗрди рдЖрдпрд╛рдд рдкрд░ рдРрд╕рд╛ рджрд┐рдЦрдиреЗ рд▓рдЧрддрд╛ рд╣реИ:

//@ts-ignore-start
import { a } from 'MyNonTypedModule'
//@ts-ignore-end
import { b } from 'SomeTypedModule'
//@ts-ignore-start
import { c } from 'SomeOtherNonTypedModule'
//@ts-ignore-end

рддреЛ рдореБрдЭреЗ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрдирд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдЖрдпрд╛рдд рдХрд┐рдП рдЧрдП рдХрд┐рддрдиреЗ рддрддреНрд╡реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдСрдЯреЛ рдЖрдпрд╛рдд рдФрд░ рд╕реНрд╡рд░реВрдкрдг рд╕рд┐рдВрдЧрд▓-рд▓рд╛рдЗрди рдФрд░ рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рдЖрдпрд╛рдд рдХреЗ рдмреАрдЪ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред
рдЕрдЧрд░ рдореИрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЖрдпрд╛рдд рдХреЛрдб рдмрджрд▓рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдСрдЯреЛ рдЖрдпрд╛рдд рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рд╣рд░рд╛ рджреЗрддрд╛ рд╣реИред

рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рд░ рдПрдХ рдЗрдореНрдкреЛрд░реНрдЯ рдкрд░ ts-ignore-start рдФрд░ ts-ignore-end рди рд▓рд┐рдЦреЗрдВ,
рддреЛ: //@ ts- рдЖрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВ (рдХреЗрд╡рд▓ рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐ рдирд╣реАрдВ) рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ ts-ignore рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред (рдпрд╛ рдХреБрдЫ рдЕрдиреНрдп рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВ рдЬреИрд╕реЗ: @ ts-ignore-block / @ ts-ignore-import )

рдореБрдЭреЗ рдкреВрд░реА рдлрд╛рдЗрд▓ рдореЗрдВ рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджрдмрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ:

// @ts-ignore-all TS1206

/*
... rest of the file
*/

рдЙрдкрд░реЛрдХреНрдд рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдордЭреМрддреЗ рдореЗрдВ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП // @ts-ignore-start рдФрд░ // @ts-ignore-end рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ред

рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд░реНрддрдорд╛рди // @ts-ignore рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рдорд╛рди рджрд┐рдЦрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЖрдкрдХреЛ рд╢реАрд░реНрд╖ рдкрд░ рдХреЗрд╡рд▓ // @ts-ignore-start рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЙрдкрд░реЛрдХреНрдд рд╕реБрдЭрд╛рд╡реЛрдВ рдореЗрдВ рд╕реЗ рдХрдИ рдХреЗ рд▓рд┐рдП рд╕рдХрд╛рд░рд╛рддреНрдордХ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВред рдореИрдВрдиреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛:

@ts-ignore рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ
@ts-ignore TSxxx [TSxxx ...] рд╡рд┐рд╢рд┐рд╖реНрдЯ рддреНрд░реБрдЯрд┐ (рддреНрд░реБрдЯрд┐рдпреЛрдВ) рдХреЛ рджрдмрд╛рдПрдВ
@ts-ignore-start рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ
@ts-ignore-start TSxxx [TSxxx ...] рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рддреНрд░реБрдЯрд┐ (рддреНрд░реБрдЯрд┐рдпреЛрдВ) рдХреЛ рджрдмрд╛рдПрдВ
@ts-ignore-end рдЕрдВрдд рдмреНрд▓реЙрдХ
@ts-ignore-all рд╢реЗрд╖ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд░реЛрдХреЗрдВ
@ts-ignore-all TSxxx [TSxxx ...] рд╢реЗрд╖ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рддреНрд░реБрдЯрд┐ (рддреНрд░реБрдЯрд┐рдпреЛрдВ) рдХреЛ рджрдмрд╛рдПрдВ

"рд╡рд┐рд╢рд┐рд╖реНрдЯ рддреНрд░реБрдЯрд┐рдпреЛрдВ" рдореЗрдВ tsconfig рдпрд╛ TSxxx рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдореВрд╣реЛрдВ рдХреЗ рд╕рдорд╛рди рдирд╛рдорд┐рдд рд╕рдореВрд╣ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВ рдЖрдпрд╛рддрд┐рдд рдореЙрдбреНрдпреВрд▓ рдХреЛ рдиреЗрд╕реНрдЯрд┐рдВрдЧ рдмреНрд▓реЙрдХреЛрдВ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХреЗ рдореВрд▓реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдБ; рдореЗрд░реА рд╡рд░реАрдпрддрд╛ рдЖрдпрд╛рддрд┐рдд рдореЙрдбреНрдпреВрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рднреАрддрд░ ts-рдЕрдирджреЗрдЦрд╛ рдмреНрд▓реЙрдХ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдЧреАред рд▓реЗрдХрд┐рди рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ libs рдЖрдпрд╛рдд рдХрд░рддреЗ рд╕рдордп рдЗрд╕рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╣рд╛рдВ рдмрд╛рдбрд╝ рдкрд░ рд╣реВрдВред

.tsignore рдлрд╝рд╛рдЗрд▓ рдЪрд╛рд╣рддрд╛ рдерд╛

рдЬреИрд╕реЗ .npmignore рдФрд░ .gitignore

image

рдЗрдЧреНрдиреЛрд░ рдмреНрд▓реЙрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдХрдардкреБрддрд▓реА рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдлрдВрд╕ рдЧрдпрд╛ред рдХрдардкреБрддрд▓реА рдореЗрдВ рдЖрдкрдиреЗ "рдореВрд▓реНрдпрд╛рдВрдХрди" рд╡рд┐рдзрд┐ рдХреА рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдкреГрд╖реНрда рдкрд░ рдордирдорд╛рдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмреНрд▓реЙрдХ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдЗрд╕ рдордирдорд╛рдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмреНрд▓реЙрдХ рдореЗрдВ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдкреГрд╖реНрда рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рд╕рдВрджрд░реНрдн рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред

// @ts-ignore-start
// @ts-ignore-end

рд╡рд┐рд░рд╛рд╕рдд рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдмреЗрд╣рдж рдЖрд╕рд╛рди рд╣реЛрдЧрд╛, рдЬрд┐рд╕рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдХрдо рджрд░реНрджрдирд╛рдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ

// @ts-ignore-start
// @ts-ignore-end

рдореИрдВрдиреЗ рдпрд╣ рд╕реБрдЭрд╛рд╡ рдкрд╣рд▓реЗ рджрд┐рдпрд╛ рдерд╛ рдФрд░ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдпрд╛ рддреЛ рдЗрд╕реЗ рд╕реНрдЯрд╛рд░реНрдЯ-рд╕реНрдЯреЙрдк рдмрдирд╛рдПрдВ рдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯ-рдПрдВрдб
start рдФрд░ end (рдХреНрд░рд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ) рд╡рд┐рд▓реЛрдо рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдЕрдЧрд░ рдпрд╣ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЖ рдЧрдпрд╛ рддреЛ рдпрд╣ рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рдХрд░реЗрдЧрд╛ред

рдпрд╣ рдореЗрд░реЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рд╣реИ

// @ts-ignore-begin
// @ts-ignore-end

рдЕрддреНрдпрдзрд┐рдХ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ред

рдпрд╣ рдЕрднреА рднреА рд╕рдВрднрд╡ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ? :-(

рдореБрдЭреЗ рдмреНрд▓реЙрдХ рдЗрдЧреНрдиреЛрд░ рднреА рдЪрд╛рд╣рд┐рдП

+1

+1

рдЗрд╕ рдкрд░ рдХрд┐рд╕реА рднреА рдЕрджреНрдпрддрди?

ЁЯЩПЁЯП╗

рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдЬреИрд╕реЗ рд╣реА рдЖрдк рдЯреАрдПрд╕ рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрд╡реИрдЧрд░ рдХреЗ рд╕рд╛рде) рдЬрд╣рд╛рдВ рдЕрдкреНрд░рдпреБрдХреНрдд рд╕рдВрд╕реНрдХрд░рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдкрдХреЛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

+1

//@ts-ignore-file рдХреЗ рдмрд┐рдирд╛ TS . рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ

рддреЛ, рдпрд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХреА рд╕реВрдЪрдирд╛ рдХреЗ рд╕рдЪ рдирд╣реАрдВ рд╣реИ

@RyanCavanaugh рд╕рдореБрджрд╛рдп рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВ рдЕрднреА рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рднреА рдирд╣реАрдВ рдЦреЗрд▓ рд╕рдХрддрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░реЛрдиреЗ рдФрд░ рдореЗрд░реЗ рд░реЗрдВрдбрд░ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд┐рдП рдмрд┐рдирд╛ рднреА рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╣реИред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдореЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╣рдо рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЖрдпрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдиреЛрдб рдкреНрд░рдХрд╛рд░ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рд╣рдо рд░реБрдЪрд┐ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдПрдХрд▓ рдЖрдпрд╛рдд рдХреЗ рд▓рд┐рдП // @ ts-ignore рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдмрдЬрд╛рдп skipLibCheck рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА lib.

рд╢реБрд░реВ рдореЗрдВ рдореБрдЭреЗ//@ ts-ignore-file рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рдЖрдпрд╛, рд▓реЗрдХрд┐рди//@ ts-ignore рд╢рд╛рдпрдж рдирд┐рд░рдВрддрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рддреЛ.... рдореИрдВрдиреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ //@ts-nocheck рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде #33383 рдЦреЛрд▓рд╛ред рдЕрдм, рд╣рдо _рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ_ рдХрдВрдкрд╛рдЗрд▓рд░ рдЯреАрдо рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рд╕реНрд╡рдпрдВ (рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡реНрд╣рд╛рдЯ !!?!?) - рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ //@ts-ignore рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдмрди рдЧрдИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реА рдмрд╛рдВрд╣ рдореБрдбрд╝ рдЧрдИ рдереА рдереЛрдбрд╝рд╛ рд╕рд╛, рддреЛ рд╣рдо... рд╕рдВрдХреЛрдЪ рдХрд░ рд░рд╣реЗ рд╣реИрдВ... рдФрд░ рджрдорди рддрдВрддреНрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдПред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡реНрдпрд╛рдкрдХ рджрдорди рддрдВрддреНрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рд╡рд╣рд╛рдВ рдЬрд╛ рд╕рдХреЗрдВ рдФрд░

@weswigham , рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреЛрдб рдХреА рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдкрд░ рдЕрд╕реНрдерд╛рдпреА рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреА рддрд░рд╣, рдпрд╣ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХрд╣реАрдВ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рд╕рд╣рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдЕрднреНрдпрд╛рд╕ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░рди рдЯрд╛рдЗрдо рдмрдЧ рдХрд╛ рдХрд╛рд░рдг рдмрдирдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ред рд╢рд╛рдпрдж рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдХреЗрд╡рд▓ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдирд┐рд░реНрдорд╛рдг рдкрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдПред

рдЪреВрдВрдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрднреА рднреА "рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛" рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрдмрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣рд╛рдВ рдФрд░ рднреА рдХреБрдЫ рд╣реИ:

рдирдП рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рджрд┐рд╢рд╛рдУрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд░рддреЗ рд╕рдордп, рдореИрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдирдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЯрд╛рдЗрдк рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬрдмрдХрд┐ рдореИрдВ рдкреНрд░рдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА @ts-ignore- рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред

рдореИрдВ рджреВрд╕рд░рд╛ @ kumar303 рдХреА рдЬрд░реВрд░рдд рд╣реИ: рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдЙрд╕ рджрд┐рдП рдЧрдП рдмреНрд▓реЙрдХ/рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЪреЗрдХ рдмрдВрдж рдХрд░рдирд╛ рдлрд╛рдпрджреЗрдордВрдж рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рджрд╛рд╡реЗ рд╣реЛрдВрдЧреЗред

@weswigham рдЖрдк рдЗрд╕реЗ рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдзреНрд╡рдЬ рдХреЗ рдкреАрдЫреЗ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдк рдЗрд╕реЗ рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдзреНрд╡рдЬ рдХреЗ рдкреАрдЫреЗ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдХреЛрдИ рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ - рдпрд╣ 3.7 рдмреАрдЯрд╛ рдореЗрдВ рд╣реИред

рдкреБрди: https://github.com/microsoft/TypeScript/pull/33383 : @weswigham рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣рд╛рдВ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЯрд╛рдЗрдк рдЪреЗрдХрд┐рдВрдЧ рдХреЛ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдПрдХ рд▓рд┐рдВрдЯ рдирд┐рдпрдо рдХреЛ рд╢рд┐рдк рдХрд░реЗрдВ рдЬреЛ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ @ts-nocheck рдХреЛ рд╣рдЯрд╛рдирд╛ рднреВрд▓ рдЬрд╛рддрд╛ рд╣реИ

рдЧреИрдЯреНрд╕рдмреА рдкрд░ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдПрдХ рд╕реНрдерд┐рд░ рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ рдХреНрд╡реЗрд░реА .jsx рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди .tsx рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдирд╣реАрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рд╕реНрддрд╛рд╡ рдПрдХ рдЕрдзрд┐рдХ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдХрд╛рд░реНрдп-рдЖрд╕рдкрд╛рд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред (рдпрд╣рд╛рдВ рдЬрд╛рд░реА рдХрд░реЗрдВ https://github.com/AdamLeBlanc/gatsby-plugin-ts-loader/issues/5)

рдЕрд░реЗ!
рдХреНрдпрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?

// @ ts-рдЕрдирджреЗрдЦрд╛-рд╢реБрд░реВ
// @ рдЯреАрдПрд╕-рдЕрдирджреЗрдЦрд╛-рдЕрдВрдд

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмреЗрд╣рдж рдлрд╛рдпрджреЗрдордВрдж рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реЛрдЧреАред

рд╣рдордиреЗ 3.7 рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджрдмрд╛рдиреЗ рдХреЗ рд▓рд┐рдП //@ts-nocheck рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓рд╛рдЗрди-рд╕реНрддрд░ рдФрд░ рдлрд╝рд╛рдЗрд▓-рд╕реНрддрд░реАрдп рджрдорди рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкрд░реЗрд╢рд╛рдиреА рдХреЗ _most_ рдЬрд░реВрд░рддреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЪреЗрдХ рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдХреЗ рднреАрддрд░ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдмрдбрд╝рд╛ рдмреНрд▓реЙрдХ рд╣реИ рдЬрд┐рд╕реЗ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рд╢рд╛рдпрдж рдкреВрд░реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪ рдЕрдХреНрд╖рдо рдХрд░ рджреЗрдВ рдпрд╛, рдпрд╣ рдЕрд░реБрдЪрд┐рдХрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдЦрдВрдб рдХреЛ рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдХрд╛рд▓реЗрдВ рдФрд░ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ рдпрд╛ рдЕрд╕рдлрд▓ рд╣реЛрдиреЗ рдкрд░, рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореБрджреНрджреЗ рд╕реЗ рджрдмрд╛рдПрдВ? рдПрдХ ts-ignore рдХреЛ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдмрдХрд┐ ts-nocheck рдХреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - рдПрдХ рд╢реНрд░реЗрдгреА-рдЖрдзрд╛рд░рд┐рдд рджрдорди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЗрдХрд╛рдИ рдХреЛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдореИрдк рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдмрджрддрд░ рд▓рдЧрддрд╛ рд╣реИ (рдЪреВрдВрдХрд┐ рдЗрд╕реЗ рдХрд┐рд╕реА рдПрдХ рдореБрджреНрджреЗ рдпрд╛ рдореВрд▓ рдХрд╛рд░рдг рд╕реЗ рдореИрдк рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рджрдмрд╛ рд░рд╣реЗ рд╣реИрдВ)ред рдХрдо рд╕реЗ рдХрдо рддреНрд░реБрдЯрд┐-рдХреЛрдб рд╡рд┐рд╢рд┐рд╖реНрдЯ рджрдорди рдХреЗ рдмрд┐рдирд╛, рдореИрдВ рд╢реНрд░реЗрдгреА-рдЖрдзрд╛рд░рд┐рдд рджрдорди рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рд╣рдЬ рдирд╣реАрдВ рд╣реВрдВред

рдореИрдВ, рдХрдо рд╕реЗ рдХрдо, рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдПрдХрд▓ рджрдорди ( //@ts-nocheck File is a legacy untyped UMD module concatenated into the build - declarations are pulled from node_modules, so errors here are hopefully meaningless ) рдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдмреБрд░реА рдЪреАрдЬ (tm) рдкрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рджрдорди ( //@ts-ignore The TS compiler doesn't support the assignment on the next line because we never declare it, but we provide this for legacy compat ) рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред рдореИрдВ, рдореЗрд░реЗ рдЬреАрд╡рди рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рдореНрдореЛрд╣рдХ, рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЖ рд╕рдХрддрд╛, рдЬрд╣рд╛рдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ _ranges_ рдХреЛрдб рдХреЛ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд╣реЛрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП (рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рд╡рд╛рд╕-рд░рдгрдиреАрддрд┐-рд╕рдорд░реНрдерд┐рдд рддрд░реНрдХ рдерд╛), "рд▓рдЧрд╛рддрд╛рд░ рдХрдИ рд▓рд┐рдЦрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛" рджрдорди рдореЗрд░реА рдЖрдБрдЦреЛрдВ рд╕реЗ рдЦреВрди рдмрд╣рд╛рддрд╛ рд╣реИ", рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ _zero_ рд╕рд╣рд╛рдиреБрднреВрддрд┐ рд╣реИ, рдореВрд▓ рд░реВрдк рд╕реЗ, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рджрдорди рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдпрд╣ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдореБрджреНрджрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рд╕рдХрддреЗ рд╣реИрдВ (рдЗрд╕реАрд▓рд┐рдП any , рдХрд╛рд╕реНрдЯрд┐рдВрдЧ, рдФрд░ рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдореЙрдбреНрдпреВрд▓ рдШреЛрд╖рдгрд╛рдПрдВ рдореМрдЬреВрдж рд╣реИрдВ)ред рдпрджрд┐ рдпрд╣ рдПрдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рддреЛ рд╕рдм рдХреБрдЫ рднрдпрд╛рдирдХ рд╣реИ рдФрд░ рд╣рдо рд╡реИрд╕реЗ рднреА рдЯреВрдЯ рдЬрд╛рдПрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рджрдорди рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ (рджрдорди рдкрд╛рд░реНрд╕ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред

//@ts-nocheck рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЛрдб рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдЪреЗрдХ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:

const $element = document.createElement('iframe')
$element.loading = 'lazy' // Property 'loading' does not exist on type 'HTMLIFrameElement'.

// @ts-nocheck

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЙрдкрдпреЛрдЧрдХреЗрд╕ рд╣реИред

рд╣рдордиреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдУрдЖрд░рдПрдо рдмрдирд╛рдпрд╛ рдпрд╛ рдЙрд╕рдХрд╛ рдорд╛рд▓рд┐рдХ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рдбреАрдбреАрдПрд▓ рдореЗрдВ рдмрдпрд╛рди рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХреЛрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдПрдХ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕реЗ рд╕реНрдХреЛрдкреНрдб рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

.entities
.include('parent')
.where(m => m.id === this.id, { id: this.entityId })
.toList()

рдпрд╣ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐: Property 'id' does not exist on type 'xxx'

рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ @ts-ignore-start рдореЗрдВ рд▓рдкреЗрдЯрддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдЗрд╕ рддрд░рд╣ рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛:

// @ts-ignore-start
.where(m => m.id === this.id, { id: this.entityId })
// @ts-ignore-end

рд▓реЗрдХрд┐рди рдЬрдм рд╕реНрд╡рд░реВрдкрд┐рдд рдЖрддрд╛ рд╣реИ рдФрд░ рд▓рд╛рдЗрди рдмреНрд░реЗрдХ рдЬреЛрдбрд╝рдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ:

// @ts-ignore-start
.where(m => m.id === this.id || m.id === this.id2, {
  id: this.entityId,
  id2: this.entity2Id
})
// @ts-ignore-end

рдпрд╣ рдЕрдм рдФрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ред

рдпрд╣ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐:

рдпрд╣ рдареАрдХ рдЙрд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЯрд╛рдЗрдк-рд▓реЗрд╡рд▓ рдПрд░рд░ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХреНрд╕реЗрд╕ (рдПрд╕) рдкрд░ рдХреЗрд╡рд▓ as any рдХрд╛рд╕реНрдЯ (рдпрд╛, jsdoc, /** <strong i="8">@type</strong> {any} */(expr) ) рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рджрдмрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

//@ts-nocheck рдореЗрд░реЗ ts рдХреЛрдгреАрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди //@ts-ignore рдХрд░рддрд╛ рд╣реИред Microsoft рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдорд╕реНрдпрд╛ 2017 рдореЗрдВ рд╢реБрд░реВ рд╣реБрдИ рдереА! рдмрд╣реБрдд рдЦреВрдм...

3 рд╕рд╛рд▓ рдЕрдм рдФрд░ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВред рдЗрд╕рдореЗрдВ рдХреЛрдИ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдЫрд▓рд╛рдВрдЧ рдирд╣реАрдВ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ

// @ts-ignore-start
// @ts-ignore-end

рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: #19139

// @ts-ignore-start Property_0_does_not_exist_on_type_1
// @ts-ignore-end (possible include the error type again so you can turn be more specific of where you want to ignore some errors

@marianturchyn рдпрд╣ tslint рдирд╣реАрдВ рд╣реИред

рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ?

// @ts-nocheck
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИ :(

рдпрд╣рд╛рдВ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ ...

рдореИрдВ рдПрдХ рдЗрди-рд╣рд╛рдЙрд╕ рдорд╛рд░реНрдХрдЕрдк рднрд╛рд╖рд╛ рд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рд╣реВрдВ рдЬреЛ рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣ рдФрд░ рд╕рд╢рд░реНрдд рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЬрдмрдХрд┐ рдореИрдВ рдХреЛрдб рдЬрдирд░реЗрд╢рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВ рдХреЛрдб рдЬрдирд░реЗрдЯрд░ рдХреЛ рджрд┐рдП рдЧрдП рдЗрдирдкреБрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ (рдЬреЛ рдХрд┐ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рддрдХ рд╣реИ)

рдирддреАрдЬрддрди, рдЙрддреНрдкрдиреНрди рдХреЛрдб рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рдХреЛрдб рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдПрдХ рдорд╛рдорд▓реЗ рдореЗрдВ TS2367 рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдиреЗрд╕реНрдЯреЗрдб рдХреЛрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдПрдирдо рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдХ рдореВрд▓реНрдп рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рдЙрд╕ рдмреНрд▓реЙрдХ рдХреЗ рдЕрдВрджрд░ рдЙрд╕ рдЪрд░ рдХрд╛ рдПрдХ рдФрд░ рдПрдирдо рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдХ рдФрд░ рдЪреЗрдХ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

if (foo === MyEnum.ONE) {
  const bar = (foo === MyEnum.TWO ? "two" : "one");
}

рд╣рд╕реНрддрд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЗ рд╕рд╛рде, рдЗрд╕ рдкреИрдЯрд░реНрди рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдФрд░ рдЯрд╛рд▓рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдХреЛрдб рдЬрдирд░реЗрд╢рди рдХреЗ рд╕рд╛рде, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдореЗрд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ (рдбреЗрд╡рд▓рдкрд░реНрд╕, рдЖрдк рдкреНрд░рдХрд╛рд░ рдЬрд╛рдирддреЗ рд╣реИрдВ!)

рдореИрдВ рдЯрд╛рдЗрдкрдЪреЗрдХрд┐рдВрдЧ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рдХреЛрдб-рдЬрдирд░реЗрдЯреЗрдб рдХреЛрдб рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдиреНрдп рддрдВрддреНрд░ рдирд╣реАрдВ рд╣реИред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдореИрдВ рд╕рднреА рдХреЛрдб-рдЬрдирд░реЗрдЯреЗрдб рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЛ рджрдмрд╛ рджреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХреЛ рдмрдирд╛рдП рд░рдЦреВрдВрдЧрд╛ред

рд╡реИрд╕реЗ рднреА, рдореЗрд░реЗ рдкрд╛рд╕ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред рдХрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рдореБрдЭреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдо рд╕рд╛рджрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдЕрдзрд┐рдХ рдореВрд▓реНрдп рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ

рдХреНрдпрд╛ рдЖрдк рдЧрдВрднреАрд░ рд╣реИрдВ? рдпрд╣ рдЕрднреА рднреА рдПрдХ рдЦреБрд▓рд╛ рдореБрджреНрджрд╛ рд╣реИ рдФрд░ TS4 рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдореИрдВ

@ivnnv рдЖрдк TS 3.9 рдореЗрдВ // @ts-expect-error рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ

@ndraiman @ts-expect-error рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдХреЛрдИ "рдмреНрд▓реЙрдХ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛" рдЪрд╛рд╣рддрд╛ рд╣реИ рддреЛ рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рдХреЛ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдпрд╣рд╛рдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рдлрд╝реАрдбрдмреИрдХ рджрд┐рдП рдЧрдП рд╣реИрдВ:

рдЖрдкрдХреЛ рдФрд░ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП? рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдореБрджрд╛рдп рдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ?

рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╕ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрдирд╛рдиреЗ рдкрд░ any рд▓рд┐рдЦрдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдЖрдкрдХреЛ рд╕реМрдВрджрд░реНрдпрд╢рд╛рд╕реНрддреНрд░ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдиреБрднреВрддрд┐ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ (рдЬрд┐рд╕рдХрд╛ рдореВрдб рдФрд░ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдкрд░ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬреЛ рдЖрдо рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВ, рдЗрд╕ рдкрд░ рд▓реЛрдЧреЛрдВ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВред

рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдмрд╣реБрдд рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдФрд░ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЛрдб рдЬреИрд╕реЗ рд╕рд╛рдВрд╕рд╛рд░рд┐рдХ рд╕рд╛рдорд╛рди рдХрд░рддреЗ рд╕рдордп рдкреНрд░рд╡рд╛рд╣-рд╕реНрдерд┐рддрд┐ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдореБрдЭреЗ рдпрд╣ рдХрд╖реНрдЯрдкреНрд░рдж рдФрд░ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдб рдХрд╛ рдПрдХ рдЕрдирджреЗрдЦрд╛ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕реЗ any рдХрд╛рд╕реНрдЯ рдХреЗ рд╕рд╛рде рд▓рд┐рдЯрд╛рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдЬреЛ рдЕрдХреНрд╕рд░ рдкрдардиреАрдпрддрд╛ рдкрд░ рд╣рд╛рдирд┐рдХрд╛рд░рдХ рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓рддрд╛ рд╣реИ (рдЬрдм рддрдХ рдХрд┐ рдЙрдЪрд┐рдд рдкреНрд░рдХрд╛рд░ рди рд╣реЛрдВ)ред рд▓рдЧрд╛рддрд╛рд░ рдПрдХ рдирдИ рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦрдиреЗ рдпрд╛ рд╡реНрдпрд╛рдХреБрд▓рддрд╛ рдореЗрдВ рд▓рд┐рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг _ рдЕрдиреНрдпрд╛рдп рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рдХреЛ рдХреЛрдб_ рдХреЗ рдмреНрд▓реЙрдХ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХрд╛ рд▓рд╛рдн рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ, рдпрд╣ рдореЗрд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдареАрдХ рдирд╣реАрдВ рд╣реИред

рдЙрджрд╛рд╣рд░рдг:

рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ JS рд╕реЗ TS рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬрдмрдХрд┐ рджреВрд╕рд░рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд┐рд╕реА рддреАрд╕рд░реЗ рдкрдХреНрд╖ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдкреЛрд░реНрдЯ рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЕрдкрдирд╛рдП рдЧрдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдФрд░ рдирд┐рдпрдо рдпрд╛ рддреЛ рдкреБрд░рд╛рдиреЗ e,g, es2015 рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рд╕реНрдкрд╖реНрдЯ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдФрд░ рдХрдо рдХреЛрдб рдЖрджрд┐ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдкрджрд╛рд╡рдирдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╕рдордп, рдХреБрдЫ рдХреЛрдб рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдмреЗрд╣рдж рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдлрд┐рд░ рднреА, рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмреБрд▓рд┐рдпрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдзрд╛ рд╡рд┐рдЪрд╛рд░ рдФрд░ рдордирдорд╛рдиреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдпрд╛ рддреЛ рдЕрдзрд┐рдХ рд╕рдВрджрд░реНрдн рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдпрд╛ рдЗрд╕рдХреЗ рдкреНрд░рдХрд╛рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╕реЛрдЪрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╕рдордп рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рдХреЛрдб рдХреЗ рдмреНрд▓реЙрдХ рдХреЛ рдЪреЗрдХ рдХрд░рдирд╛ рдмрдВрдж рдХрд░рдирд╛ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реЛрдЧрд╛ред рдПрдХ рдХреЛрдб-рдмреНрд▓реЙрдХ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдЙрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рддреЗрдЬрд╝реА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╡реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рдж рдореЗрдВ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рд╕рд╣реЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рд╣реЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред

рдореЗрд░рд╛ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдЬрдм рдореБрдЭреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рд╣реИ (рдФрд░ рдХреЛрдб рд╣реИ, рдареАрдХ рд╣реИ, рд╕рдмрдкрд░):

  1. .js рд╕реЗ .ts рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВред
  2. рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ TS рдЙрдкрдпреЛрдЧ рд╕реЗ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ
  3. рдЙрдкрдпреЛрдЧ рд╕реЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рдордЭреЗрдВ
  4. рдПрд╣рд╕рд╛рд╕ рддреНрд░реБрдЯреА рдореЗрд░реЗ рд╡рдЬреВрдж рдХрд╛ рдЕрднрд┐рд╢рд╛рдк рд╣реИ
  5. рддреНрд░реБрдЯрд┐рдпреЛрдВ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдЬрд┐рд╕рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрднреА-рдХрднреА рд╕реБрдзрд╛рд░ рд╣реЛрддрд╛ рд╣реИ x3 ESLlint + TS (рдЕрдзрд┐рдХ рдмреЗрд╣рддрд░ рд╣реИ?)
  6. рдмрд╛рдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдФрд░ рдЕрдзрд┐рдХ рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд╝рддреЗ рд╣реБрдП рд╢реАрд░реНрд╖ рдкрд░ // @ts-check рдирд┐рдХрд╛рд▓реЗрдВ рдФрд░ рдЬреЛрдбрд╝реЗрдВред

рдЕрдЧрд░ рд╣рдо рдмреНрд▓реЙрдХ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  1. рдХреЛрдб рдХреЛ .js рд╕реЗ .ts . рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ
  2. рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ TS рдЙрдкрдпреЛрдЧ рд╕реЗ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ
  3. рдЙрдкрдпреЛрдЧ рд╕реЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рдордЭреЗрдВ
  4. // @ts-ignore-enable ... // @ts-ignore-disable рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрд╛рд░реНрдп рдФрд░ рдкрд░реЗрд╢рд╛рдиреА рдХреЛрдб-рдмреНрд▓реЙрдХ
  5. рдЬреИрд╕реЗ рд╣реА рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ, рдЙрдиреНрд╣реЗрдВ рдЕрдирдХрдореНрдореЗрдВрдЯ рдмреНрд▓реЙрдХ рдХрд░реЗрдВ

рдЕрдкрдиреЗ рд▓рд┐рдП рддрдп рдХрд░реЗрдВ рдХрд┐ рд╕рдмрд╕реЗ рдЙрдЪрд┐рдд рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬрдм рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ JS рдХреЛ рдЕрдзрд┐рдХ ESLint рдирд┐рдпрдореЛрдВ рдХреЗ рд╕рд╛рде рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рд╛рдорд╛рдиреЛрдВ рдХреЛ рджреЛрдмрд╛рд░рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдХрд╛рд╢ рд╣рдо ESLint рдореЗрдВ рдРрд╕рд╛ рдХрд░ рдкрд╛рддреЗ рдФрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ /* eslint:disable */ ... /* eslint:enable */ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗред

рдкреАрдПрд╕ рдореБрдЭреЗ рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╕рдордп рдЕрднреА рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореИрдВрдиреЗ 20 рдорд┐рдирдЯ + рдПрдХ рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ (рдФрд░ рдХрдИ рдЕрдиреНрдп) 2017 рд╕реЗ рдорд╛рдВрдЧ рд░рд╣рд╛ рд╣реВрдВ, рдмрд╕ рдЬрд▓реНрдж рд╣реА 3 рд╕рд╛рд▓ рдкреБрд░рд╛рдиреЗ рдЦреБрд▓реЗ рдореБрджреНрджреЗ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

@weswigham @RyanCavanaugh

рдЕрдиреБрд╕реНрдорд╛рд░рдХ: +1:

рдЗрд╕рдХреЗ рдмрджрд▓реЗ рдЬреНрдпреЗрд╖реНрда рдкреБрддреНрд░ рджреЗрдВрдЧреЗ

@augusterodin рдЖрдкрдХрд╛ рдмрд▓рд┐рджрд╛рди рдмреБрд░рд╛рдЗрдпреЛрдВ рдХрд╛ рдзреНрдпрд╛рди рдЦреАрдВрдЪрддрд╛ рд╣реИ.....

рдареАрдХ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдореИрдВ рд╕рд┐рд░реНрдл рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреАрдЖрд░ рджреЗрддрд╛ рд╣реВрдВ :)

рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВ рдЯреАрдПрд╕ рдЯреАрдо рдХреА рд░рд╛рдп рд╕реЗ рджреГрдврд╝рддрд╛ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ - рдпрд╣ рдХрд╛рд░реНрдп рдмреБрд░рд╛ рд╣реИ, рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ @ts-ignore рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ @ts-ignore-enable (рдпрд╛ @ts-ignore-start ) , рдЬреЛ рднреА рд╣реЛ)ред
рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА, рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдХрд╣рд╛рд╡рдд рдХрд╣рддреА рд╣реИ drinking posion to satisfie thirst , рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд┐рд░реНрдл рдЬрд░реВрд░рдд рд╣реИред


рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд╡реНрдпрд╛рдЦреНрдпрд╛ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдЬреЛрдбрд╝реЗрдВред
рдпрд╣ рдкреАрдЖрд░ рджреЛ рдирд┐рд░реНрджреЗрд╢ ts-ignore-enable рдФрд░ ts-ignore-disable рдЬреЛрдбрд╝рддрд╛ рд╣реИред

  1. рдпрджрд┐ рдХреЗрд╡рд▓ ts-ignore-enable рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рддреЛ рд╢реЗрд╖ рднрд╛рдЧ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
...   <-- this is normal
// @ts-ignore-enable
XXX    <-- this is ignored
...    <-- this is ignored
  1. рдЖрдк рдХрдИ рдмрд╛рд░ рдПрдХ рд╣реА рдирд┐рд░реНрджреЗрд╢ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
// @ts-ignore-enable
XXX  <-- this is ignored  
// @ts-ignore-enable       <-- you could remove this line.
YYY   <-- this is ignored
// @ts-ignore-disable
ZZZ   <-- this is normal
// @ts-ignore-disable      <-- you could remove this line.
  1. // @ts-ignore-disable рдЕрдХреЗрд▓реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреБрдЫ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

  2. @ts-expect-error рдЙрдкреЗрдХреНрд╖рд┐рдд рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛

// @ts-ignore-enable
XXX  <-- this is ignored
// @ts-expect-error       <-- No error message. whatever next line has error or not.
YYY   <-- this is ignored
  1. рдХреЛрдИ рдХреНрд╖реЗрддреНрд░ рд▓реЗрдмрд▓ рдирд╣реАрдВ, рд╡реЗ рд╕рд┐рд░реНрдл рдЯрд┐рдкреНрдкрдгреА рд╣реИрдВред
// @ts-ignore-enable A
XXX  <-- this is ignored  
// @ts-ignore-enable   B    <-- you could remove this line.
YYY   <-- this is ignored 
// @ts-ignore-disable B
ZZZ   <-- this is normal
// @ts-ignore-disable A     <-- you could remove this line.

рдПрдХ рдЖрджрд░реНрд╢ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рд╣рдореЗрдВ рдЯрд╛рдЗрдк рд╕реЗрдлреНрдЯреА рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реЛрдЧреА, рд╣реИ рдирд╛? :рдкрд╕реАрдирд╛_рдореБрд╕реНрдХреБрд░рд╛рдирд╛:
рд╢рд╛рдирджрд╛рд░ рдХрд╛рдо рдХреА рдирдХрд▓ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдФрд░ рд╢реБрд░реБрдЖрдд, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдХрднреА-рдХрднреА SO рдЙрддреНрддрд░ рдЬреЛ рдЯрд╛рдЗрдк рдпрд╛ рдЯрд╛рдЗрдк рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЕрдзрд┐рдХрддрд░ рдЗрд╕реЗ рдореЗрд░реЗ рдЯрд╛рдЗрдк-рд╕реБрд░рдХреНрд╖рд┐рдд рдХреЛрдб рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдореЗрд░реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдмрд╕ рдмрд╣реБрдд рд╕рдЦреНрдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рд░рдг рдЕрдХреНрд╕рд░ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рдХреБрдЫ рддрд░реНрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдХреЛрдб рдХреЗ рдЙрд╕ рдмреНрд▓реЙрдХ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдХреЛрдб рдХреЗ рдПрдХ рдмреНрд▓реЙрдХ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рд╣реИ, рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдореИрдВ рдЕрднреА рднреА рдПрдХ рдмреНрд▓реЙрдХ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ @ts-ignore рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдореИрдВ I'll just ignore this because it's easier рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛, рдХреЛрдИ рднреА рдЬреЛ рдмреНрд▓реЙрдХ рд╕реНрдХреЛрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд╡рд╣ drink poison to satisfy their thirst рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджреЗрддрд╛ рд╣реИ, рд╡рд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА @ts-ignore рдХреЗ рд╕рд╛рде рдЬрд╣рд░ рдХреА рдмреВрдВрджреЗрдВ рдкреА рд░рд╣рд╛ рд╣реИред

рдЕрдм рдЬрдм рдЖрдк @ts-nocheck .ts рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ @ts-check рдХреЛ .ts рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рднреА рдЕрдиреБрдорддрд┐ рджреЗрдВ рддрд╛рдХрд┐ рд╣рдо рдЯрд╛рдЗрдк рдЪреЗрдХрд░ рдХреЛ рдмрдВрдж/рдЪрд╛рд▓реВ рдХрд░ рд╕рдХреЗрдВ:

import fs from 'fs'

fs.readFileSync(32423) // type checking

// @ts-nocheck
fs.foobarbaz() // type checking is off
fs.__randomThing()

// @ts-check
fs.readFileSync(123) // now type checking again

рдпрд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ "рдХреЛрдб рдмреНрд▓реЙрдХ" рдХреНрдпрд╛ рд╣реИред рдЖрдк рдХрд┐рд╕реА рднреА рд▓рд╛рдЗрди рд╕реЗ - рдЯрд╛рдЗрдк рдЪреЗрдХрд┐рдВрдЧ рд╢реБрд░реВ рдФрд░ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрджреНрдпрддрди рдХрд░реЗрдВ рдореБрдЭрд╕реЗ рдЧрд▓рддреА рд╣реБрдИ рдереА, рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП https://github.com/microsoft/TypeScript/pull/40267#issuecomment -713840095 рджреЗрдЦреЗрдВред

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ styled-components рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдРрдк рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп, рдореБрдЭреЗ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдЬрд╣рд╛рдВ @ts-ignore рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ (рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ) рдХреЗ рдКрдкрд░ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдЗрдЧреНрдиреЛрд░-рдмреНрд▓реЙрдХ рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред

TS рддреНрд░реБрдЯрд┐ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдЬрд┐рд╕реЗ рдореИрдВ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рдерд╛:

import styled from "styled-components";
import { Button } from "...";

// @ts-ignore here does not work
const StyledNavBar = styled.div`
  ${Button} {
    margin: auto 0;
  }
`;

рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдиреЛрдЯ рдХреЗ рд░реВрдк рдореЗрдВ: рдореИрдВ рдЕрдкрдиреЗ TS рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреЛрдИ рднреА рдХрд╛рд╕реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдореИрдВ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ред рдлрд┐рд░ рдХреНрдпрд╛ рд╕рд┐рдлрд╛рд░рд┐рд╢ рд╣реИ?

@weswigham рд╕реМрдВрджрд░реНрдпрд╢рд╛рд╕реНрддреНрд░ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкреНрд░рд╡рд╛рд╣-рд╕реНрдерд┐рддрд┐ рдФрд░ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдкрд░ рдЖрдкрдХреЗ рдХреНрдпрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЖрдБрдЦреЛрдВ рд╕реЗ рдЦреВрди рдмрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рд╣рд╛рдиреБрднреВрддрд┐ рдирд╣реАрдВ рд╣реИ; рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЙрддреНрдкрд╛рджрдХрддрд╛, рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЛрдб рдФрд░ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдзрд╛рд░рдгрд╛ рд╣реИ? рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдФрд░ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рд╣реЛрдиреЗ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЕрднреА рднреА рдХреЛрдИ рд▓рд╛рдн рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ? рдореИрдВрдиреЗ рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХрд╛ рднреА рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдХрд┐рд╕реА рдХреЛ рдмреНрд▓реЙрдХ рд╕реНрдХреЛрдк рдХреА рдЕрдирджреЗрдЦреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ ESLint рдФрд░ рдЙрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рддреБрд▓рдирд╛ рдХреИрд╕реЗ рдирд╣реАрдВ рдХрд░рддреА рд╣реИ рдЬрд┐рд╕рдХреА рд╣рдо рд╡рд╣рд╛рдВ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ?

рдпрд╣ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рд░реВрдк рд╕реЗ рд╕рд┐рджреНрдз рд╣реИ рдХрд┐ рдХрдо рд░реБрдХрд╛рд╡рдЯреЗрдВ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдмрдврд╝рд╛рддреА рд╣реИрдВ рдФрд░ рджрдХреНрд╖рддрд╛ рдмрдврд╝рд╛рддреА рд╣реИрдВ; рдХреЛрдб рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╕рдордп рдмреНрд▓реЙрдХ рд╕реНрдХреЛрдк рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рд╕реЗ рдХрдо рд░реБрдХрд╛рд╡рдЯреЗрдВ рдЖрддреА рд╣реИрдВред рдХреНрдпрд╛ TS рдЯреАрдо рдХреЛ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдЕрд╣рд╕рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ "рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдорд╛рд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рджрдорди рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред" рд░рд╣рдиреЗ рдФрд░ рд╕рд╛рдВрд╕ рд▓реЗрдиреЗ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рд░рд╛рдп рд╣реИ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рд▓реЛрдЧреЛрдВ рдХреЛ рдЦрд░рд╛рдм рд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЛ рдЕрдиреНрдп рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЕрдзрд┐рдХ рдкреНрд░рдХрд╛рд░ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдЕрдиреНрдп рд▓рд╛рдЗрдирд┐рдВрдЧ рдирд┐рдпрдореЛрдВ рдХреЗ рд╕рд╛рде; рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдпрд╛ рд▓рд╛рдЗрди рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрд╕ рдХреЛрдб рдХреЗ рдмреНрд▓реЙрдХ рдХреЛ рдирд╣реАрдВ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдЕрднреА-рдЕрднреА рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рд╣реИред

рдореЗрд░реЗ рд▓рд┐рдП, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рддреЗ рд╣реБрдП рдпреВрдЯреЛрдкрд┐рдпрд╛ рдХреА рдУрд░ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред @sandersn рдЖрдкрдиреЗ рдореЗрд░реЗ рдХрд┐рд╕реА рднреА рдмрд┐рдВрджреБ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдФрд░ рдорд╛рдорд▓реЗ рдореЗрдВ рдирдИ рдЪрд░реНрдЪрд╛рдУрдВ рдкрд░ рдкреБрд░рд╛рдиреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкрдХрдбрд╝ рд▓рд┐рдпрд╛ред рдЖрдк рдпрд╣ рднреА рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЬрдм рддрдХ рдЯреАрдо рдЕрдиреНрдпрдерд╛ рдирд┐рд░реНрдгрдп рдирд╣реАрдВ рд▓реЗрддреА, рдЗрд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ: рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░реЗрдВ?

рдЯреАрдо рдХреЛ рдпрд╛ рддреЛ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдпрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдорд╛рдорд▓реЗ рдХреЛ рдардВрдбреЗ рдмрд╕реНрддреЗ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдЦреЗрдж рд╣реИ рдХрд┐ рд╣рдо рдЖрдкрдХреЛ рд╡рд╣ рдЕрдВрддрд┐рдо рд░реВрдк рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ рдЬрд┐рд╕рдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ "рд╢рд╛рдпрдж рдмрд╛рдж рдореЗрдВ" рдПрдХ рдРрд╕рд╛ рдЙрддреНрддрд░ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ рдЬреАрдирд╛ рд╕реАрдЦрдирд╛ рд╣реЛрдЧрд╛ред рдХрд┐рд╕реА рднреА рджреА рдЧрдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдХрд▓ рдЙрддреНрдкрд╛рдж рдореЗрдВ рдирд╣реАрдВ рд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╣рдорд╛рд░реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рднреАрддрд░ рдЖрдиреЗ рд╡рд╛рд▓реА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рд╣рдЬрд╛рд░реЛрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЦреБрд▓реЗ рд╕реБрдЭрд╛рд╡ рд╣реИрдВ рдЬреЛ рдЙрддреНрдкрд╛рдж рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╣рдорд╛рд░реА рдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдХрд┐ рдПрд░реНрдЧреЛрдиреЛрдорд┐рдХ рд╣реИ, рдЙрдкрдпреЛрдЧреА, рд╕реНрдерд┐рд░ рдФрд░ рдЖрдЧреЗ рдХреА рд╕реЛрдЪред

рд╣рдо рдореМрдЬреВрджрд╛ рдлреАрдбрдмреИрдХ, рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдФрд░ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреА рд╕реНрдерд┐рддрд┐, рдЙрди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреА рдкреНрд░рдзрд╛рдирддрд╛, рдЯреВрд▓рд┐рдВрдЧ рдФрд░ рд╕реМ рдЕрдиреНрдп рдХрд╛рд░рдХреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЪреАрдЬреЛрдВ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддреЗ рд╣реИрдВред рдЬреЛ рдЪреАрдЬреЗрдВ рдЕрднреА рдЙрдЪреНрдЪ-рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реИрдВ, рд╡реЗ рдмрд╛рдж рдореЗрдВ рдЙрдЪреНрдЪ-рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдмрди рд╕рдХрддреА рд╣реИрдВред рдпрд╣ "рд╢рд╛рдпрдж рдмрд╛рдж рдореЗрдВ" рдХреА рдкреНрд░рдХреГрддрд┐ рд╣реИ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдЯреАрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рд╕реБрдЭрд╛рд╡ рд╣реИред рдЕрднреА рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ рдирд┐рд░реНрдгрдп рдлреАрдбрдмреИрдХ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ рдФрд░ рдпрд╣ рд╕рдордЭрдирд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧ рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдЖрдЧреЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕реИрдХрдбрд╝реЛрдВ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдпрд╣рд╛рдБ рд╕реНрд╡рд░ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рд╢рддреНрд░реБрддрд╛рдкреВрд░реНрдг рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдмреЛрд▓ рд░рд╣рд╛ рд╣реИ, рдПрдХ рдЕрд▓реНрдЯреАрдореЗрдЯрдо рдХреА рдУрд░ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдПрдХ рд░рдЪрдирд╛рддреНрдордХ рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдВ рдореВрд▓реНрдп рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдЗрд╕рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рджреВрд░ рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдЕрд▓реНрдЯреАрдореЗрдЯрдо рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред рдореБрдЭреЗ рдкреАрдЖрд░ рдХреЗ рдкреНрд░рддрд┐ рдЧрддрд┐рд╡рд┐рдзрд┐ рджреЗрдЦрдХрд░ рдХрд╛рдлреА рдЧреБрд╕реНрд╕рд╛ рдЖрдпрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдирд╣реАрдВред рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдореЗрд░реА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдХрд┐рд╕реА рднреА рд░рдЪрдирд╛рддреНрдордХ рддрд░реАрдХреЗ рд╕реЗ рдпреЛрдЧрджрд╛рди рдирд╣реАрдВ рджреЗрддреА рд╣реИред

рдореИрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдореИрдВрдиреЗ рдХреБрдЫ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рджрд╛рди рдХреА рдФрд░ рдкреВрдЫрд╛ рдХрд┐ рд╕рдВрдХрд▓реНрдк рдХреЗ рдХрд░реАрдм рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдХреНрдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдорд┐рд▓реАред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХрд┐ рдореЗрд░реА рдЕрд╕рдВрд░рдЪрд┐рдд рдЯрд┐рдкреНрдкрдгреА рд╡рд╣ рдереА рдЬреЛ рдореБрдЭреЗ рдЯреАрдо рд╕реЗ _some_ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред

рдРрд╕рд╛ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 700 рд╕реЗ рдЕрдзрд┐рдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдореБрджреНрджреЗ рдХреА рдУрд░ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдЧрддрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ, рдЬреЛ рдХрд┐ рдХрдИ рд╕рд╛рд▓ рдкреБрд░рд╛рдиреА рд╣реИред рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯреАрдо рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдЦреЛрдЬ рдореЗрдВ рд░реВрдЪрд┐ рдирд╣реАрдВ рд▓реЗ рд░рд╣реА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рджрд╕реНрдпреЛрдВ рдХреА рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░рд╛рдп рд╣реИред рдореИрдВ рдЗрди рд╕рдм рдмрд╛рддреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВ рдпрд╣рд╛рдБ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реВрдБред рдореИрдВ рдХреБрдЫ рдмрд╛рддрдЪреАрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореЗрд░реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреА рдкреНрд░рдХреГрддрд┐ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреА рдЧрдИ рд╣реИред рд╕рдХреНрд░рд┐рдп рдкреАрдЖрд░ рджреНрд╡рд╛рд░рд╛ рджрд┐рдЦрд╛рдП рдЧрдП рдлреАрдЪрд░-рд╕реЗрдЯ рдореЗрдВ рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рд╡реНрдпрд╡рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдереЛрдбрд╝реЗ рд╕рдордп рдореЗрдВ рд╡реНрд╣реАрдкреНрдб рд╣реЛ рдЧрдпрд╛ред рд╕рдм рдХреБрдЫ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ, рд▓реЛрдЧ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдПрдХ рдмреНрд▓реЙрдХ рдЕрдирджреЗрдЦрд╛ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрддреЗ рд░рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдореИрдВрдиреЗ рдпрд╣ рдкреВрдЫрдиреЗ рдореЗрдВ рдЪрд┐рд▓реНрд▓рд╛рдпрд╛ рдХрд┐ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдореБрджрд╛рдп рдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдореИрдВ рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдХрдИ рдмрд┐рдВрджреБрдУрдВ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рдЕрд╕рд╣рдордд рд╣реВрдВ рдФрд░ рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рддрд░реНрдХ рджрд┐рдпрд╛ рд╣реИ, рдПрдХ рдкреАрдЖрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рджреА рдЧрдИ рдереА рдЬрд┐рд╕рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ 'рдЬрдм рддрдХ рд╣рдо рдЕрдкрдирд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдмрджрд▓рддреЗ' рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ред

рдпрд╣реАрдВ рд╕реЗ рдореЗрд░реА рд╣рддрд╛рд╢рд╛ рд╕рд╛рдордиреЗ рдЖрддреА рд╣реИред рдЖрдк рдПрдХ рддреИрдпрд╛рд░ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдЕрд╡рд╣реЗрд▓рдирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЯреАрдо рдХреЗ рдХрд┐рд╕реА рд╕рджрд╕реНрдп рдХреЗ рдирд┐рд░реНрдгрдп рдореЗрдВ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореЗрд░реЗ рдЕрдкрдиреЗ рдФрд░ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рддрдХ рдЯреАрдо рдХрд╛ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ _рдЕрдкрдиреА рд╕рд╣рдорддрд┐ рдкрд░_ рдирд┐рд░реНрдгрдп рдирд╣реАрдВ рд▓реЗрддрд╛, рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗред рдпрд╣ рд╕рдореБрджрд╛рдп рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдорд╛рдВрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╣реИ рдирд╛? рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдЕрд▓реНрдЯреАрдореЗрдЯрдо рджрд┐рдпрд╛ред

рдореИрдВрдиреЗ @weswigham рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рдХрдИ рддрд░реНрдХ рджрд┐рдП рд╣реИрдВ, рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рджрд┐рдП рд╣реИрдВ, рдФрд░ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдЕрднреА рднреА рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдорджрджрдЧрд╛рд░ рд▓рдЧрддреА рдереА, рд╡рд╣ рдереА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░реЗрд╢рд╛рди рдФрд░ рдЕрд╕рдВрд░рдЪрд┐рддред

рд╣рдо рдпрд╣рд╛рдВ рд╕реЗ рдХреИрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ? рдЯреАрдо рдХреНрдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд╕рдВрдж рдХрд░реЗрдЧреА? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "рд╣рдо рд╡рд░реНрддрдорд╛рди рдлреАрдбрдмреИрдХ, рд╡рд░реНрддрдорд╛рди рд╕рдорд╛рдзрд╛рдиреЛрдВ рдФрд░ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреА рд╕реНрдерд┐рддрд┐, рдЙрди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреА рдкреНрд░рдмрд▓рддрд╛, рдЯреВрд▓рд┐рдВрдЧ рдФрд░ рд╕реМ рдЕрдиреНрдп рдХрд╛рд░рдХреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЪреАрдЬреЛрдВ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддреЗ рд╣реИрдВред" рдЪреВрдВрдХрд┐ рдХрдИ рд▓реЛрдЧреЛрдВ рдиреЗ рдЯреАрдо рдХреА рдУрд░ рд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред

рдореИрдВ рдпрд╣ рджреЛрд╣рд░рд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрджрд┐ рд╣рдо рдЗрд╕ рд╡рд┐рд╖рдп рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреА рд░рд╛рдп рдХреЛ рджреВрд░ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдПрдХ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред рд╕рд╛рде рд╣реА, рд╕реБрд╡рд┐рдзрд╛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ, рдФрд░ рддрд░реНрдХ рджрд┐рдП рдЧрдП рд╣реИрдВред рдЕрдм рдЬрд░реВрд░рдд рдЗрд╕ рдмрд╛рдд рдХреА рд╣реИ рдХрд┐ рдЯреАрдо рдирд┐рд░реНрдгрдп/рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░реЗ (рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рдХреБрдЫ рднреА рд▓рд╛рдЧреВ рдХрд░реЗ) рдФрд░ рдЙрд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХрд░реЗред рдпрджрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реИ, рдпрд╛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП _any_ рд╕реБрд╡рд┐рдзрд╛ рдпрд╛ рдореБрджреНрджреЗ рдкрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдореЗрдВ рдХреЛрдИ рдХреИрд╕реЗ рдорджрдж рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣ рдПрдХред

рдорд▓реНрдЯреАрд▓рд╛рдЗрди ( @ts-ignore-start+@ts-ignore-end ) рдпрд╛ рдЗрдирд▓рд╛рдЗрди (рдЬреИрд╕реЗ /* @ts-ignore */ ) @ts-ignore рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗрд╕ред
рд╡рд╛рддрд╛рд╡рд░рдг:

  • "noUnusedParameters": true
  • рд╕рдХреНрд╖рдо ESLint require-jsdoc рдирд┐рдпрдоред
  • рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рдорд╛рди рдХреЛрдб (рд╕рд░рд▓реАрдХреГрдд рдЙрджрд╛рд╣рд░рдг):
type Data = Record<string, unknown>;
type PrepareSettings = Record<string, unknown>;

/**
 * This is base class that will be inherited.
 */
class SuperClass {
    /**
     * Prepare data for further usage.
     * 
     * <strong i="16">@param</strong> data
     *      Data that should be prepared.
     * <strong i="17">@param</strong> settings
     *      Operation settings.
     */
    prepareData(data: Data, settings: PrepareSettings): Data | undefined {
        return data;
    }

    // Some additional methods...
}

рд╡рд░реНрдгрд┐рдд рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реИ: 'settings' is declared but its value is never read.(6133) ред
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдЕрдВрдд рдХреЗ рдмрд╛рдж @ts-ignore рдЬреЛрдбрд╝рдХрд░ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рджрдмрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ:

     */   // @ts-ignore
    prepareData(data: Data, settings: PrepareSettings): Data | undefined {

рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рдмрд╛рдж ESLint Missing JSDoc comment рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░реЗрдЧрд╛ред
рддреЛ рд╕рдорд╛рдзрд╛рди рд╣реИ:

     */   // @ts-ignore
    prepareData(data: Data, settings: PrepareSettings): Data | undefined {   // eslint-disable-line require-jsdoc

рдЬреЛ рдЕрдЬреАрдм рдФрд░ рдмрджрд╕реВрд░рдд рд╣реИред

@RyanCavanaugh @weswigham @sandersn

рдПрдХ рдорд╛рд╕рд┐рдХ рдЕрдиреБрд╕реНрдорд╛рд░рдХ рдХрд┐ рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╕рдореБрджрд╛рдп рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреАрдо рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рдмрд╣реБрдд рд╕рдорд░реНрдерди рд╣реИ рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЬреЛ рдЧрд╛рдпрдм рд╣реИ рд╡рд╣ рдЯреАрдо рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░реАрдкреЛрдВрдбрд░рд┐рдВрдЧ рд╣реИ, рдФрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдирд╛ рдХреЛрдИ рдЖрд╕рд╛рди рдЙрдкрд▓рдмреНрдзрд┐ рдирд╣реАрдВ рд╣реИред рдЪреАрдЬреЗрдВ рд╕рдордп рд▓реЗрддреА рд╣реИрдВред рдЪреВрдВрдХрд┐ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рд╕реБрдЭрд╛рд╡ рдХреЛ рдХреИрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рдФрд░ рд╕реАрдзреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рд░рд┐рдорд╛рдЗрдВрдбрд░ рджреВрдВрдЧрд╛ред рдореИрдВ рддрдм рддрдХ рд╣рд╛рд░ рдирд╣реАрдВ рдорд╛рди рд░рд╣рд╛ рд╣реВрдВ рдЬрдм рддрдХ рдХрд┐ рдХреЛрдИ рдирд┐рд░реНрдгрдп рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рд╕реЗ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рддрд╛ рд╣реИ (рдЬреНрдпрд╛рджрд╛рддрд░ рдЬрдм рдПрдХ !@# рд╣реЛрдиреЗ рдкрд░)ред

рдЗрди рд╡рд░реНрд╖реЛрдВ рдХреЗ рдмреАрдд рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╣реИрд░рд╛рди рдерд╛ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреИрд╕реЗ рдирд╣реАрдВ рд╣реИ, рдореИрдВрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕ рдкрд░ рдереЛрдбрд╝рд╛ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ ... рдЬрдм @ts-ignore рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдЧреБрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдкрд╣рд▓реЗ рд╣реА рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реИ рдЕрдкрдиреЗ рдХреЛрдб рдХреЗ рд╕рд╛рде, рдФрд░ рдЕрдкрдиреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рдмрд┐рддрд╛рдПрдВред рд╣рдо рд╕рднреА рдХрднреА-рдХрднреА рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ рдЧрддрд┐ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЛрдб рдХреЗ рдмрдбрд╝реЗ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдХрдИ @ts-ignore рдХреЛ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдХреБрдЫ рдЙрдЪрд┐рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЕрдХреНрд╕рд░ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЕрд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдпрд╣ рд╕рдВрддреБрд▓рди рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ @ts-ignore-enable рдХрд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ, рдЬреЛ рдпрд╣рд╛рдВ рдФрд░ рд╡рд╣рд╛рдВ рд╕рднреА рдЫреЛрдЯреЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреА рд╕рдордЧреНрд░ рдЧреБрдгрд╡рддреНрддрд╛ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реИрдВ, - рдпрд╣ рдкрдХреНрд╖рдкрд╛рддрдкреВрд░реНрдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЛрдЧ рдЪреБрдк рд░рд╣рддреЗ рд╣реБрдП рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдмрд┐рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рдорд╣рд╕реВрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдпрд╣рд╛рдВ рдирд╣реАрдВ рд╣реИрдВред

@JerryGreen рдореЗрд░реА рдкреБрд░рд╛рдиреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдареАрдХ рдпрд╣реА рдмрд╛рдд рдХрд╣реА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд▓реЛрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕реЗ рдЗрдЧреНрдиреЛрд░ рдлреАрдЪрд░ рдХреЗ рд╕рд╛рде рдХрд░ рд░рд╣реЗ рд╣реИрдВред _none_ рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдХрд░рддреЗ рд╣реБрдП рд╣рд░ рд╕рдордп рдереЛрдбрд╝рд╛ рд╕рд╛ рдЬрд╣рд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИред

рдпрд╛ рддреЛ @ts-ignore рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рджреЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рддрд░реНрдХ рд╣реИрдВ, рдФрд░ рдЦрд░рд╛рдм рдХреЛрдб рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ @ts-ignore рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗ, рдЬреЛ рдХрд┐ рдПрдХ рдмреНрд▓реЙрдХ рдХреА рдЕрдирджреЗрдЦреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рдорд╛рди рд╣реА рдЦрд░рд╛рдм рд╣реИ, рд╡реЗ рдареАрдХ рдЙрд╕реА рдЪреАрдЬ рд╣реИрдВ - рдмреНрд▓реЙрдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдХрдо рджреГрд╖реНрдЯрд┐ рд╕реЗ рд╡рд┐рдШрдЯрдирдХрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдгред

рд╕рдореБрджрд╛рдп рдХреЛ рдЕрднреА рднреА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреАрдо рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

@JerryGreen рдореЗрд░реА рдкреБрд░рд╛рдиреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдареАрдХ рдпрд╣реА рдмрд╛рдд рдХрд╣реА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд▓реЛрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕реЗ рдЗрдЧреНрдиреЛрд░ рдлреАрдЪрд░ рдХреЗ рд╕рд╛рде рдХрд░ рд░рд╣реЗ рд╣реИрдВред _none_ рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдХрд░рддреЗ рд╣реБрдП рд╣рд░ рд╕рдордп рдереЛрдбрд╝рд╛ рд╕рд╛ рдЬрд╣рд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИред

рдпрд╛ рддреЛ @ts-ignore рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рджреЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рддрд░реНрдХ рд╣реИрдВ, рдФрд░ рдЦрд░рд╛рдм рдХреЛрдб рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ @ts-ignore рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗ, рдЬреЛ рдХрд┐ рдПрдХ рдмреНрд▓реЙрдХ рдХреА рдЕрдирджреЗрдЦреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рдорд╛рди рд╣реА рдЦрд░рд╛рдм рд╣реИ, рд╡реЗ рдареАрдХ рдЙрд╕реА рдЪреАрдЬ рд╣реИрдВ - рдмреНрд▓реЙрдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдХрдо рджреГрд╖реНрдЯрд┐ рд╕реЗ рд╡рд┐рдШрдЯрдирдХрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдгред

рд╕рдореБрджрд╛рдп рдХреЛ рдЕрднреА рднреА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреАрдо рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдЕрднреА рднреА @ TS рдЙрдкреЗрдХреНрд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реАрдбреАрдПрди рдЖрдпрд╛рдд рдиреЛрдб_ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред TS рдлрд╝рд╛рдЗрд▓ рдореЙрдбреНрдпреВрд▓ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ

@ рдПрд▓-рд╣рдХреНрдиреБ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд▓реЛрдЧ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╡реИрд╕реЗ рднреА ESLint рдХреЗ рд╕рд╛рде рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реИрдВред

рдЬрд╣рд╛рдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рдЙрдкреЗрдХреНрд╖рд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдореБрдЭреЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдареАрдХ рд╣реИред

рдореИрдВ рдЕрднреА рднреА рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрддрд╛ рдХрд┐ рдмреНрд▓реЙрдХ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рдордп рдЙрд╕реА рддрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдХреБрдЫ рдУрдкрди рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рдирд╛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрдирд╡рд░реНрдЯ рдХрд░рдиреЗ рдХреА рдкреНрд░рдЧрддрд┐ рдмреНрд▓реЙрдХ рдЕрдирджреЗрдЦрд╛ рдХреЗ рд╕рд╛рде рдФрд░ рдЕрдзрд┐рдХ рдЖрд░рд╛рдорджрд╛рдпрдХ рд╣реЛрддреАред рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рджрд░рд╡рд╛рдЬреЗ рдХреЗ рдЕрдВрджрд░ рдкреИрд░ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛; рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рд░реВрдкрд╛рдВрддрд░рдгреЛрдВ рдореЗрдВ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдпреЛрдЧрджрд╛рди рджреЗрдВрдЧреЗ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдмреНрд▓реЙрдХ рдФрд░ рд╣рд░-рдкрдВрдХреНрддрд┐ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рд╕реМрдВрджрд░реНрдпрд╢рд╛рд╕реНрддреНрд░ рдХрд┐рддрдирд╛ рднрд┐рдиреНрди рд╣реИред

рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЗрд╕рдХреЗ рдХреБрдЫ рдЙрдкрдпреЛрдЧреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

@ рдПрд▓-рд╣рдХреНрдиреБ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд▓реЛрдЧ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╡реИрд╕реЗ рднреА ESLint рдХреЗ рд╕рд╛рде рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реИрдВред

рдЬрд╣рд╛рдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рдЙрдкреЗрдХреНрд╖рд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдореБрдЭреЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдареАрдХ рд╣реИред

рдореИрдВ рдЕрднреА рднреА рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрддрд╛ рдХрд┐ рдмреНрд▓реЙрдХ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рдордп рдЙрд╕реА рддрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдХреБрдЫ рдУрдкрди рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рдирд╛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрдирд╡рд░реНрдЯ рдХрд░рдиреЗ рдХреА рдкреНрд░рдЧрддрд┐ рдмреНрд▓реЙрдХ рдЕрдирджреЗрдЦрд╛ рдХреЗ рд╕рд╛рде рдФрд░ рдЕрдзрд┐рдХ рдЖрд░рд╛рдорджрд╛рдпрдХ рд╣реЛрддреАред рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рджрд░рд╡рд╛рдЬреЗ рдХреЗ рдЕрдВрджрд░ рдкреИрд░ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛; рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рд░реВрдкрд╛рдВрддрд░рдгреЛрдВ рдореЗрдВ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдпреЛрдЧрджрд╛рди рджреЗрдВрдЧреЗ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдмреНрд▓реЙрдХ рдФрд░ рд╣рд░-рдкрдВрдХреНрддрд┐ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рд╕реМрдВрджрд░реНрдпрд╢рд╛рд╕реНрддреНрд░ рдХрд┐рддрдирд╛ рднрд┐рдиреНрди рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣реЛ рдЧрдпрд╛
#40267

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

fwanicka picture fwanicka  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

manekinekko picture manekinekko  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Zlatkovsky picture Zlatkovsky  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kyasbal-1994 picture kyasbal-1994  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jbondc picture jbondc  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ