Protractor: NPM рд░рд┐рд▓реАрдЬрд╝ рдкреИрдХреЗрдЬ рдХреЛ `globals.ts` рдХреЛ `globals.d.ts` рд╕реЗ рдмрджрд▓ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП

рдХреЛ рдирд┐рд░реНрдорд┐рдд 18 рдЕрдЧре░ 2016  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: angular/protractor

рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ

  • рдиреЛрдб рд╕рдВрд╕реНрдХрд░рдг: 6.3.1
  • рдЪрд╛рдВрджрд╛ рд╕рдВрд╕реНрдХрд░рдг: 4.0.3
  • рдЯрд╛рдЗрдкрдкреНрд░рддрд┐ рд╕рдВрд╕реНрдХрд░рдг: 2.0.0

    рдЕрд╡рд▓реЛрдХрди

рдпрд╣ protractor/globals рдЖрдпрд╛рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рд╡рд╛рд▓реА рдЯрд╛рдЗрдкрдкреНрд░рддрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, protractor/globals рдЖрдпрд╛рдд рдХрд░рддреЗ рд╕рдордп, рдХреНрдпреЛрдВрдХрд┐ NPM рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓ ( globals.d.ts ) рдХреЗ рдмрдЬрд╛рдп globals.ts рдлрд╝рд╛рдЗрд▓ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреА рд╣реИ, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрд░реЛрдд рд░реВрдЯ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдЧрд╛ рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ global.ts рдирд┐рд░реНрднрд░рддрд╛ (рд╕рдВрднрд╡рддрдГ node_modules/protractor ) рдФрд░ рдЬрд╣рд╛рдВ рдХрд╣реАрдВ рднреА рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕реНрд░реЛрдд рдирд┐рд╣рд┐рдд рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, src/test/**/*.ts ) рдХреЗ рдмреАрдЪ рд╕рд╛рдорд╛рдиреНрдп рдкрде рдкрд░ред рдпрд╣ рд╕рдВрдХрд▓рдХ рдХреЛ рд╕рднреА рдореВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред

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

рдкреНрд░рдЬрдирди рдХреЗ рдЪрд░рдг

рдЬрд┐рд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛ рдореИрдВ рдЦрд░рд╛рдм рд╡рд░реНрдгрди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЙрд╕реЗ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рджреЗрдЦреЗрдВ ред

рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдпрд╣рд╛рдВ рд╣рд▓ рдХрд░рдирд╛ рджреЛ рдЪреАрдЬреЛрдВ рдХрд╛ рд╕рдВрдпреЛрдЬрди рд╣реЛрдЧрд╛:

  1. globals.ts рдлрд╝рд╛рдЗрд▓ рд╕рдВрдХрд▓рд┐рдд рд╣реЛрдиреЗ рдкрд░ рдПрдХ рдкрд░рд┐рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рдЧрдИ рд╣реИ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдЧрд▓реНрдк рд╕рдВрдХрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрджреНрдпрддрди рдХрд░реЗрдВ; рддрдерд╛
  2. рдПрдирдкреАрдПрдо рд░рд┐рд▓реАрдЬ рдкреИрдХреЗрдЬ рд╕реЗ globals.ts рдлрд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рдПрдирдкреАрдПрдо рд░рд┐рд▓реАрдЬ рдкреНрд░рдХреНрд░рд┐рдпрд╛ (рдЪрд╛рд╣реЗ рдореИрдиреБрдЕрд▓ рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд) рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ, рдХреЗрд╡рд▓ рд╕рдВрдХрд▓рд┐рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╛рдЗрд▓ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рднрд╛рд╖рд╛ рдлрд╛рдЗрд▓ рдХреЛ рдЫреЛрдбрд╝рдХрд░ред

рдпрджрд┐ рдпрд╣ рд╕рд╣реА рд╣реИ, рддреЛ рд╕рдорд╛рдзрд╛рди рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░рдиреЗ рдореЗрдВ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреАред рдпрджрд┐ NPM рдХреЗ рд▓рд┐рдП рд░рд┐рд▓реАрдЬрд╝ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрднреА рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░рд┐рд▓реАрдЬрд╝ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреА рд╣реИ, рддреЛ рдореБрдЭреЗ globals.ts рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░рдг рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рднреА рдЦреБрд╢реА рд╣реЛрдЧреА, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдмреЗрд╣рддрд░ рд╕рд┐рджреНрдз рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░рд┐рд▓реАрдЬрд╝ рдХрд░рддрд╛ рд╣реИред

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

(рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдмрдЧ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░реВрдк рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛)

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

@cnishina рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдиреЗ рдорджрдж рдХреА! рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдПрдХ рдмрд╛рдд рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рднреНрд░рдорд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ: рдЬрдмрдХрд┐ рдЖрдкрдХрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рд╕реЗ global.ts рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд globals.d.ts рдШреЛрд╖рдгрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА рдЙрдкрднреЛрдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд▓рд┐рдП protractor/globals рдЖрдпрд╛рдд рдЕрджреГрд╢реНрдп рдмрдирд╛рддреЗ рд╣реИрдВ?

рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд╛ рдкрд╣рд▓рд╛ рднрд╛рдЧ globals.d.ts рдШреЛрд╖рдгрд╛ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд globals.js рдХреЛ рд╣рдЯрд╛рдирд╛ рдирд╣реАрдВ рдерд╛, рдмрд▓реНрдХрд┐ рджреЛрдиреЛрдВ рдХреЛ рд░рдЦрдирд╛ рдерд╛ рддрд╛рдХрд┐ NPM рдкреИрдХреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ:

  • Globals.js
  • Globals.d.ts

рдХреЗрд╡рд▓ globals.ts рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд┐рдирд╛ред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ global.ts рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп --declaration рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде tsc рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреАрдЪреЗ рдХреА рддрд░рд╣ tsc:globals gulp рдЯрд╛рд╕реНрдХ рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ package.json рдореЗрдВ tsc рдФрд░ tsc:w рдХрд╛рд░реНрдп рднреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдмрд╢рд░реНрддреЗ рдХрд┐ рдЧреИрд░-рд╡реИрд╢реНрд╡рд┐рдХ рд╕рдВрдХрд▓рдиреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдХреВрд▓ рд░реВрдк рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рди рдХрд░реЗрдВ:

gulp.task('tsc:globals', function(done) {
  runSpawn(done, 'node', ['node_modules/typescript/bin/tsc', '--declaration', 'globals.ts'],
    'ignore');
});

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

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

@tmeneau рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж: рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ

рддреЛ рдЖрдЙрдЯрдбрд┐рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдПрдХ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ outDir рдХреЛ output рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЯреНрд░рд╛рдВрд╕рдкрд╛рдЗрд▓ рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, output/node_modules/protractor/globals.js рдХреЛ рднреА рдЯреНрд░рд╛рдВрд╕рдкрд╛рдЗрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореИрдВрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ globals.ts рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдерд╛ (рдЙрд╕ рд╕рдордп) рдХреБрдЫ рдкреНрд░рдпреЛрдЧ рдХреЗ рдмрд╛рдж, рдЖрдк рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд┐рдирд╛ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд░ рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд░ рд╕рдХреЗред

рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП:

  1. рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ globals.ts рдХреЗрд╡рд▓ рдПрдХ рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓ *d.ts рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╡реИрд╢реНрд╡рд┐рдХ рдирд╛рдо рд╕реНрдерд╛рди рд╕реЗ рдЪрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
  2. exampleTypescript рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдореИрдВ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .npmignore рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдкреНрд░реЛрдЯреИрдХреНрдЯрд░ рдХреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 2 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рджреЗрдЦреЗрдВ: https://github.com/angular/protractor/pull/3485

@cnishina рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдиреЗ рдорджрдж рдХреА! рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдПрдХ рдмрд╛рдд рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рднреНрд░рдорд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ: рдЬрдмрдХрд┐ рдЖрдкрдХрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рд╕реЗ global.ts рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд globals.d.ts рдШреЛрд╖рдгрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА рдЙрдкрднреЛрдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд▓рд┐рдП protractor/globals рдЖрдпрд╛рдд рдЕрджреГрд╢реНрдп рдмрдирд╛рддреЗ рд╣реИрдВ?

рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд╛ рдкрд╣рд▓рд╛ рднрд╛рдЧ globals.d.ts рдШреЛрд╖рдгрд╛ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд globals.js рдХреЛ рд╣рдЯрд╛рдирд╛ рдирд╣реАрдВ рдерд╛, рдмрд▓реНрдХрд┐ рджреЛрдиреЛрдВ рдХреЛ рд░рдЦрдирд╛ рдерд╛ рддрд╛рдХрд┐ NPM рдкреИрдХреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ:

  • Globals.js
  • Globals.d.ts

рдХреЗрд╡рд▓ globals.ts рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд┐рдирд╛ред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ global.ts рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп --declaration рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде tsc рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреАрдЪреЗ рдХреА рддрд░рд╣ tsc:globals gulp рдЯрд╛рд╕реНрдХ рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ package.json рдореЗрдВ tsc рдФрд░ tsc:w рдХрд╛рд░реНрдп рднреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдмрд╢рд░реНрддреЗ рдХрд┐ рдЧреИрд░-рд╡реИрд╢реНрд╡рд┐рдХ рд╕рдВрдХрд▓рдиреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдХреВрд▓ рд░реВрдк рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рди рдХрд░реЗрдВ:

gulp.task('tsc:globals', function(done) {
  runSpawn(done, 'node', ['node_modules/typescript/bin/tsc', '--declaration', 'globals.ts'],
    'ignore');
});

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

рд╣рд╛рдБ... globals.d.ts рдЕрднреА рднреА protractor/globals рдЖрдпрд╛рдд рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВрдиреЗ рдкреАрдЖрд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ред рдзрдиреНрдпрд╡рд╛рдж!

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

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

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

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

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

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

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