Definitelytyped: @ рдкреНрд░рдХрд╛рд░/рд╕реБрдкрд░рдПрдЬреЗрдВрдЯ рддреНрд░реБрдЯрд┐ TS2304: 'XMLHttpRequest' рдирд╛рдо рдирд╣реАрдВ рдЦреЛрдЬрд╛ рдЬрд╛ рд╕рдХрд╛ред

рдХреЛ рдирд┐рд░реНрдорд┐рдд 17 рдЕрдХреНрддреВре░ 2016  ┬╖  31рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: DefinitelyTyped/DefinitelyTyped

  • [ ] рдореИрдВрдиреЗ рдЗрд╕ рд░реЗрдкреЛ рдореЗрдВ рдирд╡реАрдирддрдо xxxx/xxxx.d.ts рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реБрдИрдВред
  • [] рдореИрдВрдиреЗ tsc рдХреЗ рдирд╡реАрдирддрдо рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред https://www.npmjs.com/package/typescript
  • [ ] рдореЗрд░рд╛ рдПрдХ рдкреНрд░рд╢реНрди рд╣реИ рдЬреЛ StackOverflow рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкрдпреБрдХреНрдд рд╣реИред (рдХреГрдкрдпрд╛ рд╡рд╣рд╛рдВ рдХреЛрдИ рдЙрдкрдпреБрдХреНрдд рдкреНрд░рд╢реНрди рдкреВрдЫреЗрдВ)ред
  • [ ] рдореИрдВ xxxx/xxxx.d.ts рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

    • рдЙрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд▓реЗрдЦрдХ рд╣реИрдВ cc/ @....

рдЖрдЬ рдореЗрд░реЗ рдмрд┐рд▓реНрдб @ рдЯрд╛рдЗрдк/рд╕реБрдкрд░рдПрдЬреЗрдВрдЯ рдкрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рд▓рдЧрддреЗ рд╣реИрдВред рдореИрдВ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ рдЬрдм рддрдХ рдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рд╕рдВрд╕реНрдХрд░рдг 2.0.34 рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ (рд╕рдВрд╕реНрдХрд░рдг 2.1.0-dev.20161017) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

@types/ superagent @2.0.34 рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐ рд╣реИ:
node_modules/@types/superagent/index.d.ts(79,12): рддреНрд░реБрдЯрд┐ TS2304: 'XMLHttpRequest' рдирд╛рдо рдирд╣реАрдВ рдЦреЛрдЬрд╛ рдЬрд╛ рд╕рдХрд╛ред

рдФрд░ рд╕рд╛рде рдореЗрдВ @types/ [email protected] рддреНрд░реБрдЯрд┐ рд╣реИ:
node_modules/@types/superagent/index.d.ts(79,12): рддреНрд░реБрдЯрд┐ TS2304: 'XMLHttpRequest' рдирд╛рдо рдирд╣реАрдВ рдЦреЛрдЬрд╛ рдЬрд╛ рд╕рдХрд╛ред

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

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

рдореЗрд░реЗ рдкрд╛рд╕ рдореЗрд░реЗ tsconfig.json рдореЗрдВ "рдбреЛрдо" рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдХреЛрдб рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЙрд╕ рдкрд░рд┐рд╡рд╛рдж рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред XMLHttpRequest рдХреЛ Node.js рдХреЗ рд╕рд╛рде рд╢рд┐рдк рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╕реБрдкрд░рдПрдЬреЗрдВрдЯ рдкреИрдХреЗрдЬ рдиреЗ Node.js рдкрд░ рдереНрд░реЛ рдФрд░ рдПрд░рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рд╕рдорд╕реНрдпрд╛ @typings рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рд╣реИ рдЬреЛ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ XMLHttpRequest рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдкреИрдХреЗрдЬ Node.js рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ @typings рдХреЛ рднреА рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдХреНрдпрд╛ рдЖрдк tsc рдХреЗ рд▓рд┐рдП --lib dom рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?

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

@vvakame - "dom" рдХреЛ рдореЗрд░реЗ compilerOptions.lib рд╕рд░рдгреА рдореЗрдВ tsconfig.json рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдЪрд╛рд▓ рдЪрд▓реАред рдпрд╣ рдереЛрдбрд╝рд╛ рдЙрд▓реНрдЯрд╛ рд▓рдЧрддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╕рдорд╛рдзрд╛рди рд╣реИ?

рдЕрд╕реНрд╡реАрдХрд░рдг: рдореИрдВ рд╕реБрдкрд░рдПрдЬреЗрдВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реВрдВред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред

https://www.npmjs.com/package/superagent

рдПрдХ рдзрд╛рд░рд╛рдкреНрд░рд╡рд╛рд╣ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдФрд░ рд╕реБрд╡рд┐рдзрд╛ рд╕рдВрдкрдиреНрди рдмреНрд░рд╛рдЙрдЬрд╝рд░ / рдиреЛрдб HTTP

рдЪрд╛рд░реЛрдВ рдУрд░ рдХрд╛рдо рдХрд░реЛред

interface XMLHttpRequest {}

рдореЗрд░реЗ рдкрд╛рд╕ "dom" рдХреЛ рдореЗрд░реЗ tsconfig.json рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде рдПрдХрдорд╛рддреНрд░ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдореЗрд░реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ lib рдЕрдиреБрднрд╛рдЧ рдирд╣реАрдВ рдерд╛, рдФрд░ рдЕрдм рдЬрдм рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рд╣реИ рддреЛ рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдиреНрдп libs рдЬреИрд╕реЗ "es2016" ред

рд╢рд╛рдпрдж рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рддрд░реАрдХрд╛ рд╣реИ? рдЬрд┐рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ tsconfig.json ?

["dom", "es2017"] рдХреЛ lib рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдпрд╣ рдареАрдХ рд╣реЛ рдЧрдпрд╛ред

рдореЗрд░реЗ рдкрд╛рд╕ рдореЗрд░реЗ tsconfig.json рдореЗрдВ "рдбреЛрдо" рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдХреЛрдб рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЙрд╕ рдкрд░рд┐рд╡рд╛рдж рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред XMLHttpRequest рдХреЛ Node.js рдХреЗ рд╕рд╛рде рд╢рд┐рдк рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╕реБрдкрд░рдПрдЬреЗрдВрдЯ рдкреИрдХреЗрдЬ рдиреЗ Node.js рдкрд░ рдереНрд░реЛ рдФрд░ рдПрд░рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рд╕рдорд╕реНрдпрд╛ @typings рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рд╣реИ рдЬреЛ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ XMLHttpRequest рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдкреИрдХреЗрдЬ Node.js рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ @typings рдХреЛ рднреА рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдЖрдк рдЗрди рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ superagent.d.ts рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:

// error TS2304: Cannot find name 'XMLHttpRequest'
declare interface XMLHttpRequest {}
// error TS2304: Cannot find name 'Blob'
declare interface Blob {}

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

рд╣рдореЗрдВ https://github.com/strongloop/loopback-next рдореЗрдВ рднреА рдЗрд╕рд╕реЗ рдХрд╛рдЯ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред dom lib рдЬреЛрдбрд╝рдХрд░, рд╡реИрд╢реНрд╡рд┐рдХ рдирд╛рдо рд╕реНрдерд╛рди рдЕрдЪрд╛рдирдХ Request рдЬреИрд╕реЗ рдкреНрд░рдХрд╛рд░реЛрдВ рд╕реЗ рдкреНрд░рджреВрд╖рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ Node.js рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВред

рд╣рдо HTTP рд╕рд░реНрд╡рд░ рд╕реНрдЯреИрдХ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЖрдорддреМрд░ рдкрд░ import {ServerRequest as Request} from 'http' рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рдпрд╣ рд▓рд╛рдЗрди рдЧрд▓рддреА рд╕реЗ рдЫреЛрдбрд╝ рджреА рдЬрд╛рддреА рд╣реИ, рдпрд╛ ServerRequest рдХреЛ Request рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдирд╛рдо рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЦреБрд╢реА рд╕реЗ рд╣рдорд╛рд░реЗ рдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рддреНрд░реБрдЯрд┐ рдХреЗрд╡рд▓ рд░рдирдЯрд╛рдЗрдо рдкрд░ рджреЗрдЦреА рдЬрд╛рддреА рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдм рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рд╣рд░рд╛ рджреЗрддрд╛ рд╣реИред

рдореИрдВ рдЕрднреА рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВ рдЪрддреБрд░ рд╣реЛрдКрдВрдЧрд╛ рдФрд░ рд╕реБрдкрд░рдЯреЗрд╕реНрдЯ рд╕реЗ рдЪрд╛рдп-http рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдХреЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЪрд╛рдп-http @ рдкреНрд░рдХрд╛рд░/рд╕реБрдкрд░рдЯреЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред -_-

рд╣рдо, рдпрд╣рд╛рдБ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдорд╛рдзрд╛рди рджреЗрдВрдЧреЗ: https://github.com/jwalton/node-supertest-fetch

рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рдпрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @zephyrec рдиреЗ рдЗрд╕реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд░рдЦрд╛ рд╣реИ, рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЗрд╕реЗ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб (рдпрд╛рдиреА рдиреЛрдб) рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?

рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдореВрд▓ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рддреЛ рдЖрдк рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ tsconfig.test.json :

{
  "extends": "./tsconfig.prod.json",
  "compilerOptions": {
    "lib": ["dom", "..."] // supertest requires dom for type definitions to work
  }
}

(рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдЖрдк рдХреЗрд╡рд▓ libs рдХреЛ рдЯреНрд╡рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдХрдВрдкрд╛рдЗрд▓рд░ рдзреНрд╡рдЬ skipLibCheck:true рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡рд╣ рд╕рднреА node_modules рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрдЪреЗрдХрд┐рдВрдЧ рдЫреЛрдбрд╝ рджреЗрдЧрд╛)

рдпрджрд┐ рдЖрдк ts-jest рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ

"jest": {
        "globals": {
            "ts-jest": {
                "tsConfig": "tsconfig.test.json"
            }
        }
}

рдЗрд╕ рддрд░рд╣ рдЖрдк рдЕрдкрдиреЗ рдирд┐рдпрдорд┐рдд рдХреЛрдб рдореЗрдВ рдкреНрд░рдХрд╛рд░ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рддреНрдпрд╛рдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд╣реИ (рдореИрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рдореЗрдВ рд╕реБрдкрд░рдЯреЗрд╕реНрдЯ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛)ред

https://github.com/DefinitelyTyped/DefinitelyTyped/pull/33517 рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЙрд╕ рдкреАрдЖрд░ рдХреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд▓рдп рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрд╛ рдЬрд╛рддрд╛ рд╣реИ

chai-http depends on superagent but has a lower required TypeScript version

рдореИрдВ рдЗрд╕рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ @types/superagent рдЕрдкрдиреА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ 3.0+ рддрдХ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд╕рднреА @types рдкреИрдХреЗрдЬ рдЬреЛ @types/superagent рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ, рдиреЗ рднреА рдЕрдкрдиреА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ 3.0+ рддрдХ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ @types рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рджреЛрд╖ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореЗрд░реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЙрди рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЗ рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЬреЛ рдореБрдЭ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВред

рдХреНрдпрд╛ рдХреЛрдИ рдЙрд╕ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреА рдореЗрд░реА рд╕рдордЭ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рд╣реИ?

рдЙрд╕ рдкреАрдЖрд░ рдХреА рддрд░рд╣ рдПрдХ рдмреЗрд╣рддрд░ рд╕реНрдерд╛рдпреА рд╕реБрдзрд╛рд░ рдХреЗ рдЕрднрд╛рд╡ рдореЗрдВ, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛:

/// <reference lib="dom" />
import request = require('supertest');

рд╡рд╣ "рдЯреНрд░рд┐рдкрд▓-рд╕реНрд▓реИрд╢" lib рдирд┐рд░реНрджреЗрд╢ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг 3.0+ рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЦреЛрд▓реЗ рд╣реБрдП рд▓рдЧрднрдЧ 2.5 рд╕рд╛рд▓ рд╣реЛ рдЪреБрдХреЗ рд╣реИрдВ! рд╣рдо рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ, рдЬрдм рдЖрдк рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдХрдВрдкрд╛рдЗрд▓рд░ рд╡рд┐рдХрд▓реНрдк skipLibCheck рд╕рдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИред

рдЬрдм skipLibCheck рд╕рдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рд╕реА рднреА .d.ts рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ - рджреЛрдиреЛрдВ @types/superagent рдЬреИрд╕реА рдирд┐рд░реНрднрд░рддрд╛ рд╕реЗ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдореМрдЬреВрдж рдХрд┐рд╕реА рднреА .d.ts рдлрд╛рдЗрд▓реЛрдВ рдХреА рднреАред рдЖрдк рдЕрдкрдиреЗ рдХрд╛рдо рд╕реЗ dom рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рдЕрдм рд╢рд┐рдХрд╛рдпрдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдПрдХ рдЕрдЪреНрдЫреЗ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ, skipLibCheck рдЖрдорддреМрд░ рдкрд░ рдмрд┐рд▓реНрдб рд╕реНрдкреАрдб рдореЗрдВ рднреА рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИред

@bajtos рдЬреЛ рдЖрдкрдХреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЦреЛрд▓ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░рдХрд╛рд░ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред

  • lib: [ "es6" ] рдХрд╛рдо рдХрд┐рдпрд╛
  • target: "es2016+" рдиреЗ рднреА рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛

@ рдЬреА-рд░рде рдЬрдм рддрдХ рдореИрдВ рдЧрд▓рдд рдирд╣реАрдВ рд╕рдордЭрддрд╛, рд╕реНрдХрд┐рдкрд▓рд┐рдмрдЪреЗрдХ рдЖрдкрдХреЗ рдХреЛрдб рдХреА рдЯрд╛рдЗрдк рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ d.ts рдлрд╛рдЗрд▓реЛрдВ рдХрд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдиреЛрдб рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВ рдФрд░ рд╡реИрд╕реЗ рднреА рдЖрдкрдХрд╛ рдХреЛрдб рдирд╣реАрдВ рд╣реИред

рд╕реНрдХрд┐рдкрд▓рд┐рдмрдЪреЗрдХ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдпрд╣ рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рдЖрдИрдПрдордУ рдирд╣реАрдВ рд╣реИред https://stackoverflow.com/questions/52311779/usage-of-the-typescript-compiler-argument-skiplibcheck рд╕реЗ "рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдХрдВрдкрд╛рдЗрд▓рд░ рдЙрдирд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЙрдмрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдХреЛрдб рдореЗрдВ рдХрд╣реАрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖрддреА рд╣реИрдВред рдХрд┐рд╕реА рдХрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рдЬрд╛рдирд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдЧрд▓рдд рдкреНрд░рдХрд╛рд░ рдХреЛ рдХрд┐рд╕реА рдХреЗ рд╕рд╛рде рдмрджрд▓рдХрд░), рдЗрд╕рд▓рд┐рдП рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджрдмрд╛рдирд╛ (рдЪрд╛рд╣реЗ --skipLibCheck, //@ts-ignore, рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдорд╛рдзреНрдпрдо рд╕реЗ) рдПрдХ рдЬреЛрдЦрд┐рдо рднрд░рд╛ рдЕрднреНрдпрд╛рд╕ рд╣реИ"

@carnesen рдЖрдкрдиреЗ рдореБрдЭреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╢рд░реНрдд рд▓рдЧрд╛рдИ - рд╡рд╣ рд╕рдЯреАрдХ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкреНрд░рд╢реНрди рдерд╛ рдЬрд┐рд╕реЗ рдореИрдВ рдЙрджреНрдзреГрдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рдерд╛: рдЦреБрд╢реА:

@rjmunro рд╡рд╣рд╛рдБ рддреБрдо рдЬрд╛рдУ

рдпрд╣ // @ts-ignore рдЬрд┐рддрдирд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рдЬреЛ рдЯрд╛рдЗрдк рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджрдмрд╛рддрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рдХрд┐рддрдиреА рд╣реА рдХрдо рд╣реЛ, рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдХреЛрдб рдХреА рдкреНрд░рдХрд╛рд░ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдХрдордЬреЛрд░ рдХрд░рддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рдЖрдкрдХрд╛ node_modules рдлрд╝реЛрд▓реНрдбрд░ $ .d.ts рд╕реЗ рдмрдирд╛ рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рд╕рд╛рдл рд╕рдорд╛рдзрд╛рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ @carnesen рджреНрд╡рд╛рд░рд╛ рдкреАрдЖрд░ # 33517 рд╣реИ рдЬреЛ dom рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ superagent рдкреНрд░рдХрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдмрд╛рд╣рд░реА рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ Blob рдФрд░ XMLHttpRequest рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ superagent рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ, рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ (_рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмрдирд╛рдо рдиреЛрдб_)ред

рдХреЗрд╡рд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ lib рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг 3.0.0 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдЕрдм рд▓рдЧрднрдЧ 9 рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдЪрд╛рдп-http ( рдЯреНрд░реИрд╡рд┐рд╕-рд╕реАрдЖрдИ рджреЗрдЦреЗрдВ) рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ рдпрд╛ рдпрджрд┐ рдЕрдиреНрдп рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ 3.0.0 рдкрд░ рдЯрдХреНрдХрд░ рдорд╛рд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдХреЛрдИ рдЕрдкрдбреЗрдЯреНрд╕? 2 рдорд╣реАрдиреЗ рдмрд╛рдж рдлрд┐рд░...

рдпрд╣ рд╕рдм рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╕рдмрд╕реЗ рд╕рд╛рдл рд╕рдорд╛рдзрд╛рди @carnesen рд╕реЗ рд╣реИ рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ :-(

/// <reference lib="dom" />
import request = require('supertest');

рдореИрдВрдиреЗ рдЙрдирдХреЗ рдкреАрдЖрд░ (https://github.com/DefinitelyTyped/DefinitelyTyped/pull/33517) рдХреА рднреА рдЬрд╛рдБрдЪ рдХреА, рд▓реЗрдХрд┐рди TravisCI рддреНрд░реБрдЯрд┐ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ chai-http рдХреЛ 3.0 рд╕реЗ рдХрдо TS рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ ...

рдореИрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдирдпрд╛ рд╣реВрдВ рдЗрд╕рд▓рд┐рдП рдЕрдЧрд░ рдореИрдВ рдХреБрдЫ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред рдЯреНрд░реИрд╡рд┐рд╕ рд╕реАрдЖрдИ рд▓реЙрдЧ (https://github.com/DefinitelyTyped/DefinitelyTyped/pull/36282) рдореЗрдВ рдЧрд╣рд░реА рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рдХреЛрдб @carnesen рдиреЗ рдПрдХ рдирдП рдкреАрдЖрд░ рдореЗрдВ рд╕рдмрдорд┐рдЯ рдХрд┐рдпрд╛ рдерд╛ред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ chai-http рдЕрдм рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди promisify-supertest рд╣реИ... /рдорд╛рд╕реНрдЯрд░/рдЯреЗрд╕реНрдЯ/рдЗрдВрдбреЗрдХреНрд╕.рдЬреЗрдПрд╕)

рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреНрдпрд╛ рд╣реИ?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ 2:

рдореИрдВрдиреЗ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЦреЛрдЬрд╛ рдФрд░ рдкрд╛рдпрд╛ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  • рд╡рд╛рджрд╛ рдХрд░рдирд╛-рд╕реБрдкрд░рдЯреЗрд╕реНрдЯ
  • рд╕рд░рд▓-рд╕реАрдбрдмреНрд▓реНрдпреВ-рдиреЛрдб
  • рд╕реБрдкрд░рдПрдЬреЗрдВрдЯ-рдмреБрдирд┐рдпрд╛рди
  • рд╕реБрдкрд░рдПрдЬреЗрдВрдЯ-рдиреЛ-рдХреИрд╢
  • рд╕реБрдкрд░рдПрдЬреЗрдВрдЯ-рдЙрдкрд╕рд░реНрдЧ
  • рд╕реБрдкрд░рдЯреЗрд╕реНрдЯ

// рддреНрд░реБрдЯрд┐ TS2304: 'XMLHttpRequest' рдирд╛рдо рдирд╣реАрдВ рдЦреЛрдЬрд╛ рдЬрд╛ рд╕рдХрд╛
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдШреЛрд╖рд┐рдд рдХрд░реЗрдВ XMLHttpRequest {}
// рддреНрд░реБрдЯрд┐ TS2304: 'рдмреНрд▓реЙрдм' рдирд╛рдо рдирд╣реАрдВ рдЦреЛрдЬрд╛ рдЬрд╛ рд╕рдХрд╛
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмреНрд▓реЙрдм рдШреЛрд╖рд┐рдд рдХрд░реЗрдВ {}

@JasonKleban рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдХрд╣рд╛рдБ рдЬрд╛рддреА рд╣реИ? node_modules > superagent ? рдореИрдВ рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рдЕрдкрдиреА рдмреБрджреНрдзрд┐ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣реВрдВред

@mikeyamato - рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди node_modules рдореЗрдВ рдирд╣реАрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдкреНрд░рдмрдВрдзрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдпрд╣ рд╢рд╛рдпрдж рдЖрдкрдХреА рдЕрдиреНрдп рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рд╣реА рд╣реИред рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реЛрдЧреА, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИред рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ?

рдЖрдк tsconfig.json рдЯрд╛рдЗрдкрд┐рдВрдЧ рдлреЛрд▓реНрдбрд░ рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рднреА рдкреНрд░рдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЗрд╕реЗ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓рд╛: #41425


#36282 рдХреЗ рд╡рд┐рд▓рдп рд╕реЗ рдПрдХ рдирдИ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛ рдЧрдИ рд╣реИред рдиреЛрдб-рдУрдирд▓реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реБрдкрд░рдПрдЬреЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЯреНрд░рд┐рдкрд▓-рд╕реНрд▓реИрд╢ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдкрд░рд┐рдЪрдп

/// <reference lib="dom" />

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

window.setTimeout()

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

рдХреНрдпрд╛ рдХреЛрдИ рдРрд╕рд╛ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╣рдо рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреЗрд╡рд▓-рдиреЛрдб рдпрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░-рдУрдирд▓реА рдЯрд╛рдЗрдкрд┐рдВрдЧ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рд╣рдо рдЪреБрди рд╕рдХреЗрдВ рдХрд┐ рдХрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ?

рдирд┐рд░реНрднрд░рддрд╛ рд╣реЛрдиреЗ рдХрд╛ рдПрдХ рдФрд░ рджреБрд╖реНрдкреНрд░рднрд╛рд╡ dom рд╣реИ рдХрд┐ рдпрд╣ supertest ( superagent ) рдХреЛ lib: webworker рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ, рд░реЗрдлрд░реА: https: //github.com/microsoft/TypeScript/issues/20595ред рдЬрд╣рд╛рдБ рддрдХ рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдБ, рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдкрд╣рд▓реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

$ npm i @types/ superagent@latest -D

рдЪрд╛рд▓ рдЪрд▓рдиреА рдЪрд╛рд╣рд┐рдП!

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

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

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

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

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

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

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