Typescript: - JSJ рдХреЗ рд╕рд╛рде рдмрдбрд╝реА JS рдлрд╛рдЗрд▓ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╕рдордп рдХрдВрдкрд╛рдЗрд▓рд░ рд╣реИрдВрдЧ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 8 рдЬреБрд▓ре░ 2017  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: microsoft/TypeScript

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг: 2.4.1

рд░реЗрдкреНрд░реЛ рдкрд░рд┐рдпреЛрдЬрдирд╛
рдЬрдм рдПрдХ рдмрдбрд╝реА JS рдлрд╛рдЗрд▓ (рдПрдХ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдкрд╛рд░реНрд╕рд░) (245 Kbytes commonjs рдлреЙрд░реНрдореЗрдЯ) рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ ( --allowJs рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде) рдХрдВрдкрд╛рдЗрд▓рд░ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд╣реИрдВрдЧ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдорд┐рдирд┐рдорд▓ рд░рд┐рдкреНрд░реЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛: tsc-hang-00

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░:
рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдпрд╛ рдмрд┐рдирд╛ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░:
рд╕рдВрдХрд▓рди рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд▓рдЯрдХ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕реАрдкреАрдпреВ рдХреА рдЦрдкрдд рд╣реЛрддреА рд░рд╣рддреА рд╣реИред

рдЯреЗрд╕реНрдЯ рдХреА рд╕реНрдерд┐рддрд┐

  • рд╡рд┐рдВрдбреЛрдЬ 10, рдиреЛрдбрдЬреЗрдПрд╕ 8.0, рдЯреАрдПрд╕ 2.4.1
  • рдЯреНрд░реИрд╡рд┐рд╕: рд▓рд┐рдирдХреНрд╕ рдХрдВрдЯреЗрдирд░, рдиреЛрдбрдЬреЗрдПрд╕ 8.0, рдЯреАрдПрд╕ 2.4.1

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

рдЕрд░реЗ, рдмрд╕ рдореИрдВ рдПрдХ рдФрд░ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, https://github.com/filipesilva/tsc-allowjs-big-file рдкрд░ рд╕рд░рд▓ рд░реАрдкреНрд░реЛ @dzonatan рдХреЗ рд░реЗрдкреНрд░реЛ рддрдХ рдХрдо рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рдерд╛ https://github.com/angular/angular-cli/issues/9636#issuecomment -+рейреп,режреи,режрей,релрекрейред

рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╣рдЬрд╛рд░ рд╡рд┐рдзрд┐рдпреЛрдВ рд╡рд╛рд▓рд╛ рдПрдХ рд╡рд░реНрдЧ рд╣реИ:

export class BigClass {
  myVar: any;

  method000() { return this.myVar; }
  method001() { return this.myVar; }
  // ...
  method999() { return this.myVar; }
}

рдЙрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкрд░ npm test рдЪрд▓рдирд╛ рдЗрд╕ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдЧрд╛, рдФрд░ рдлрд┐рд░ рдкрд░рд┐рдгрд╛рдореА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ --allowJs рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдЧрд╛ред

рдпрд╣ TS 2.7.2 рдФрд░ 2.8.4 рдХреЗ рд╕рд╛рде RangeError: Maximum call stack size exceeded рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЯреАрдПрд╕ 2.9.1 рдХреЗ рд╕рд╛рде, рдХреЛрдИ рднреА рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╕рдВрдХрд▓рди рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИред

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

рдореИрдВрдиреЗ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдХрд┐ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рд▓рдореНрдмрд╛рдИ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ 1s) рдХреЗ рд▓рд┐рдП рд╕реАрдкреАрдпреВ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд╕реЗ рд╕реАрдкреАрдпреВ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рдХреНрд░реЛрдо рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

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

'рд╕реНрдерд╛рди' рдХреЗ рджреЛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЕрд░реНрде рд╣реИрдВ: рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд┐рд╕ рдиреЛрдб рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ, рдФрд░ рдЬрд╣рд╛рдВ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЛ рд░реЛрдХрд╛ рдЧрдпрд╛ рд╣реИ, рд╡рд╣рд╛рдВ рдирд┐рд░реНрджреЗрд╢ рд╕реВрдЪрдХ рд╣реИред

рдЕрд░реЗ, рдмрд╕ рдореИрдВ рдПрдХ рдФрд░ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, https://github.com/filipesilva/tsc-allowjs-big-file рдкрд░ рд╕рд░рд▓ рд░реАрдкреНрд░реЛ @dzonatan рдХреЗ рд░реЗрдкреНрд░реЛ рддрдХ рдХрдо рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рдерд╛ https://github.com/angular/angular-cli/issues/9636#issuecomment -+рейреп,режреи,режрей,релрекрейред

рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╣рдЬрд╛рд░ рд╡рд┐рдзрд┐рдпреЛрдВ рд╡рд╛рд▓рд╛ рдПрдХ рд╡рд░реНрдЧ рд╣реИ:

export class BigClass {
  myVar: any;

  method000() { return this.myVar; }
  method001() { return this.myVar; }
  // ...
  method999() { return this.myVar; }
}

рдЙрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкрд░ npm test рдЪрд▓рдирд╛ рдЗрд╕ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдЧрд╛, рдФрд░ рдлрд┐рд░ рдкрд░рд┐рдгрд╛рдореА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ --allowJs рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдЧрд╛ред

рдпрд╣ TS 2.7.2 рдФрд░ 2.8.4 рдХреЗ рд╕рд╛рде RangeError: Maximum call stack size exceeded рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЯреАрдПрд╕ 2.9.1 рдХреЗ рд╕рд╛рде, рдХреЛрдИ рднреА рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╕рдВрдХрд▓рди рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИред

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

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

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

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

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

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

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