Ember.js: V3.17.0 рдореЗрдВ рдПрд╕реЗрдЯ рдЖрдХрд╛рд░ рдкреНрд░рддрд┐рдЧрдорди

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рдорд╛рд░реНрдЪ 2020  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: emberjs/ember.js

рд╣рдордиреЗ рдЕрдкрдиреЗ рдПрдХ рдРрдк рдореЗрдВ рджреЗрдЦрд╛ рдХрд┐ рдПрдореНрдмрд░ v3.17.0 рд░рд┐рд▓реАрдЬрд╝ рд╕реЗ рд╣рдорд╛рд░реА рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЖрдХрд╛рд░ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИ:

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ

  • dist / рдЖрд╕реНрддрд┐рдпреЛрдВ / app.js: 613.18 KB (78.46 KB gzipped)
  • dist / рдЖрд╕реНрддрд┐рдпреЛрдВ / рд╡рд┐рдХреНрд░реЗрддрд╛.js: 2.34 MB (558.13 KB gzipped)

рдЙрдкрд░рд╛рдВрдд

  • рдЬрд┐рд▓рд╛ / рд╕рдВрдкрддреНрддрд┐ / app.js: 690.43 KB (89.22 KB gzipped)
  • dist / рдЖрд╕реНрддрд┐рдпреЛрдВ / рд╡рд┐рдХреНрд░реЗрддрд╛.js: 2.42 MB (572.39 KB gzipped)

/ cc @pzuraq @rwjblue

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

FYI рдХрд░реЗрдВ - https://github.com/emberjs/ember.js/pull/18941 рд╡рд┐рдХрд╛рд╕ рдХреЗ рдереЛрдХ рдХреЗ рдкрддреЗ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред 3.16 (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрднреА рднреА ~ 3% рд╕реЗ рдмрдбрд╝рд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рд╣рдо рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ)ред

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

рдПрдХ рдирдП рдирдП рдПрдореНрдмрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

__2.16.0__

  • рд╡рд┐рдХреНрд░реЗрддрд╛: 692.58 KB (176.09 KB gzipped)
  • рдРрдк: 9.82 KB (2.15 KB gzipped)

__2.17.0__

  • рд╡рд┐рдХреНрд░реЗрддрд╛: 715.12 KB (183.64 KB gzipped)
  • рдПрдкреНрд▓рд┐рдХреЗрд╢рди: 9.94 KB (2.2 KB gzipped)

рдХреНрдпрд╛ рдХреБрдЫ рд╡реЗрдВрдбрд░ рдЕрд▓рдЧ рд╣реБрдП рдФрд░ рдпрд╣ рдХреБрдЫ рдЧреНрд▓рд┐рдорд░-рд╡реАрдПрдо рдЕрдкрдбреЗрдЯреНрд╕ рдХреЗ рдХрд╛рд░рдг рд▓рдЧрддрд╛ рд╣реИ, рдЬреИрд╕реЗ https://github.com/glimmerjs/glimmer-vm/commit/4c56c216465410f5bf6f53fb7d4508f8048f09#diff -64c3cff3cf6c6 /16 ember.js / рдкреНрд░рддрд┐рдмрджреНрдз / 699439c0aaa1917754490efeb5751d10f77e5230

рдореБрдЭреЗ рднреАред

2.16.3

  • рд╡рд┐рдХреНрд░реЗрддрд╛: 886KB (213KB рдмреНрд░реЗрдЯрд▓реА)
  • рдРрдк: 1.01MB (126KB рдмреНрд░реЗрдЯрд▓реА)

2.17.0

  • рд╡рд┐рдХреНрд░реЗрддрд╛: 907KB (219KB рдмреНрд░реЗрдЯрд▓реА)
  • рдРрдк: 1.15MB (137KB рдмреНрд░реЗрдЯрд▓реА)

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ 2.16.3 рд╕реЗ 2.17.0 рддрдХ рд╣рдорд╛рд░реЗ рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдПрдХ ~ 5% рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рджреЗрдЦреАред

PS @ Turbo87 - рдХреНрдпрд╛ рдпрд╣ рдПрдЪрдмреАрдПрд╕ рдорд┐рдирд┐рдлрд╝рд╛рдпрд░ рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдореИрдВ рднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдХреНрдпрд╛ рдпрд╣ рдЕрдкрдбреЗрдЯреЗрдб рдЧреНрд▓рд┐рдорд░ рд╡реАрдПрдо рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдирдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рддрд░рд╣ "рдЯреВрдЯ" рд╕рдХрддрд╛ рд╣реИ?

@ рдмреЛрд░рд┐рд╕-рдкреЗрдЯреНрд░реЛрд╡ - рдорди рдХреА рдЬрд╛рдБрдЪ рд╣рдорд╛рд░реЗ рд▓рд┐рдП? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдРрдкреНрд╕ рд╕реЗ рдорд┐рдирд┐рдлрд╝рд░ рдХреЛ package.json рдирд┐рдХрд╛рд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП ...

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЧреНрд▓рд┐рдорд░ рд╡рд╛рдпрд░рдлреЙрд░реНрдо рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╕реЗ рдЖ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдереЛрдбрд╝рд╛ рдмрдврд╝рд╛ рд░рд╣рд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдРрдк рдкрд░ рдПрдХ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП https://github.com/glimmerjs/glimmer-vm/blob/11cc83b2adf220bef298a1a6298c9e4e750c9b1/packages/%40glimmer/interfaces/lib/compile/wireat-.dat###

@rwjblue - рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ @krisselden рд╕рд╣реА рд╣реИ - рдЗрд╕рдХрд╛ ember-hbs-minifier рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ рдирд┐рдореНрди рд╕рд╣рд╛рдпрдХ рдХреЗ рд╕рд╛рде рдПрдХ рдмрд┐рд▓реНрдХреБрд▓ рдирдпрд╛ рдПрдореНрдмрд░ рдРрдк рдЖрдЬрд╝рдорд╛рдпрд╛:

import Helper from '@ember/component/helper';
export default Helper.helper(() => true);

рдФрд░ рджреЛ рдШрдЯрдХ:

other-component.hbs

{{some-component foo=1}}

some-component.hbs

{{some-helper 1 2 3 @foo}}

3.16.3 рджреЛ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрд╛рджрд┐рдд:

other-component.hbs :

block: "{\"symbols\":[],\"statements\":[[1,[28,\"some-component\",null,[[\"foo\"],[1]]],false],[0,\"\\n\"]],\"hasEval\":false}",

some-component.hbs :

block: "{\"symbols\":[\"@foo\"],\"statements\":[[1,[28,\"some-helper\",[1,2,3,[23,1,[]]],null],false],[0,\"\\n\"]],\"hasEval\":false}",

3.17 рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди:

other-component.hbs :

block: "{\"symbols\":[],\"statements\":[[1,0,0,0,[31,2,14,[27,[26,0,\"CallHead\"],[]],null,[[\"foo\"],[1]]]],[1,1,0,0,\"\\n\"]],\"hasEval\":false,\"upvars\":[\"some-component\"]}",

some-component.hbs :

block: "{\"symbols\":[\"@foo\"],\"statements\":[[1,0,0,0,[31,2,11,[27,[26,0,\"CallHead\"],[]],[1,2,3,[27,[24,1],[]]],null]],[1,1,0,0,\"\\n\"]],\"hasEval\":false,\"upvars\":[\"some-helper\"]}",

рдореИрдВ рдЗрд╕реЗ "рдмрдЧ" рдирд╣реАрдВ рдХрд╣реВрдВрдЧрд╛, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЗ рдкрд╛рд╕ рдЬрд┐рддрдирд╛ рдмрдбрд╝рд╛ рдРрдк рд╣реЛрдЧрд╛, рдЙрддрдирд╛ рдмрдбрд╝рд╛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ред

рд╡рд╛рдпрд░ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдпрд╣рд╛рдВ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ: https://github.com/glimmerjs/glimmer-vm/pull/972

рдЕрдВрдЧрд╛рд░ 3.16

- dist/assets/ember-observer.js: 706.89 KB (66.89 KB gzipped)

рдЕрдВрдЧрд╛рд░ 3.17

 - dist/assets/ember-observer.js: 743.7 KB (69.63 KB gzipped)

рдХрд╛рдВрд╕реНрдЯреЗрдмрд▓ рдПрдирдо рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдмрд╛рдж рдирдВрдмрд░

 - dist/assets/ember-observer.js: 739.58 KB (69.44 KB gzipped)

рд▓реЛрдХрд▓ рдбреЗрдЯрд╛ рд╣рдЯрд╛рдирд╛

 - dist/assets/ember-observer.js: 723.55 KB (68.06 KB gzipped)

рдЪрдкрдЯрд╛ рд╣реЛ рдЬрд╛рдУ + GetPath + GetContextualFree рднрд╛рд╡

- dist/assets/ember-observer.js: 721.99 KB (68.04 KB gzipped)

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

https://www.npmjs.com/package/ember-template-size

$ npx ember-template-size .
npx: installed 11 in 1.766s
{
  '3.16.3': {
    version: '3.16.3',
    original: 793656,
    compiled: 1223295,
    brotli: 242598,
    gzip: 242606
  },
  '3.17.0-patched': {
    version: '3.17.0-patched',
    original: 793656,
    compiled: 1299096,
    brotli: 258803,
    gzip: 258826
  },
  '3.17.0': {
    version: '3.17.0',
    original: 793656,
    compiled: 1624741,
    brotli: 294760,
    gzip: 294780
  }
}

рдФрд░ https://github.com/rust-lang/crates.io рдХреЗ рд▓рд┐рдП :

{
  '3.16.3': {
    version: '3.16.3',
    original: 73613,
    compiled: 143264,
    brotli: 32477,
    gzip: 32608
  },
  '3.17.0-patched': {
    version: '3.17.0-patched',
    original: 73613,
    compiled: 160526,
    brotli: 34663,
    gzip: 34803
  },
  '3.17.0': {
    version: '3.17.0',
    original: 73613,
    compiled: 183711,
    brotli: 36903,
    gzip: 37070
  }
}

рд╣рдорд╛рд░реЗ рд▓рд┐рдП:

{
  '3.16.3': {
    version: '3.16.3',
    original: 281240,
    compiled: 450040,
    brotli: 98120,
    gzip: 98142
  },
  '3.17.0-patched': {
    version: '3.17.0-patched',
    original: 281240,
    compiled: 494042,
    brotli: 105152,
    gzip: 105178
  },
  '3.17.0': {
    version: '3.17.0',
    original: 281240,
    compiled: 596287,
    brotli: 117757,
    gzip: 117784
  }
}

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

рдореЗрд░реЗ рдкрд╛рд╕ 2 рдФрд░ рд╕рд░рд▓ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ, рд╕рдорддрд▓ рдХрд░реЗрдВ [рдкрд░рд┐рд╢рд┐рд╖реНрдЯ, 1 | 0, ...] рдореЗрдВ [TrustingAppend | рдкрд░рд┐рд╢рд┐рд╖реНрдЯ, ..] рдФрд░ рдлрд┐рд░ рддрд╛рд░ рдкреНрд░рд╛рд░реВрдк рдЯрдкрд▓ рд╣реИ рдЬреЛ рдмреВрд▓рд┐рдпрди рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ 1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ 0 рдХреЗ рдмрдЬрд╛рдпред

FYI рдХрд░реЗрдВ - https://github.com/emberjs/ember.js/pull/18941 рд╡рд┐рдХрд╛рд╕ рдХреЗ рдереЛрдХ рдХреЗ рдкрддреЗ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред 3.16 (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрднреА рднреА ~ 3% рд╕реЗ рдмрдбрд╝рд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рд╣рдо рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ)ред

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

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

SaladFork picture SaladFork  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

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

dfreeman picture dfreeman  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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