Less.js: рд╕рдВрд╕реНрдХрд░рдг 3.10.x рдХрд╛рдлреА рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ 3.9.0 . рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рдзреАрдорд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 12 рд╕рд┐рддре░ 2019  ┬╖  95рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: less/less.js

рд╣рдорд╛рд░реЗ рдмрд┐рд▓реНрдб рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рд▓рдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рд▓рдЧрднрдЧ 80 рдХрдо рдмрд┐рд▓реНрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдХрдо.рдЬреЗрдПрд╕ рдХрд╛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЗрддрдиреА рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдиреЛрдб рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдордиреЗ рдХрдо.js рд╕реЗ 3.9.0 рд╕реЗ 3.10.3 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд░реИрд╢ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ред

рдореИрдВрдиреЗ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдХрдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ (рдПрдХ рд╕рдордп рдореЗрдВ 2 рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг) рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдиреЛрдб рдХреЗ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХрд╛ рдирдореВрдирд╛ рд▓рд┐рдпрд╛ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП:

less graph

рдХрдо.рдЬреЗрдПрд╕ рдЕрдм 130% рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрднрдЧ 100% рдЕрдзрд┐рдХ рд╕рдордп рд▓реЗрддрд╛ рд╣реИред

рдмрд╕ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдиреЗ less.js рдХреЛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдЖрдкрдХреЛ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ

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

рдареАрдХ рд╣реИ рдЯреАрдо! рдореИрдВ 3.x рдмрд┐рд▓реНрдб рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдХреБрдЫ рд╕рдордп рдмрд╛рдж, рд╢рд╛рдпрдж рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣, 4.0 рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВред рджреЛрдиреЛрдВ рдХреЗ рдкрд╛рд╕ рдЕрдм рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдбреАрдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рдж!

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

рдЕрдЬреАрдм рд╣реИ рдХрд┐ред рдЖрдкрдХрд╛ рдиреЛрдб рд╕рдВрд╕реНрдХрд░рдг рдХреНрдпрд╛ рд╣реИ?

@ PatSmuk360 рдХреНрдпрд╛ рдЖрдк рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ 3.10.0 рдХреА рдореЗрдореЛрд░реА рдкреНрд░реЛрдлрд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЕрд▓рдЧ рд╣реИ рдпрд╛ рдирд╣реАрдВ?

рд╣рдо 10 (10.16.3) рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВред

рдкрд╣рд▓реЗ рд╕реНрдиреИрдкрд╢реЙрдЯ рдвреЗрд░ рдХрд░реЗрдВ:

image

рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреЗ рдмрд╛рдж рдвреЗрд░ рдХрд░реЗрдВ:

image

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореИрдВрдиреЗ рдиреЛрдб 12.10.0 рдкрд░ рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдПрдХ рдмрд┐рдВрджреБ рдкрд░ 587 рдПрдордмреА рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЛ рдорд╛рд░рдХрд░ рдпрд╣ рдмрд╣реБрдд рдЦрд░рд╛рдм рд▓рдЧрддрд╛ рд╣реИред

рдкрд╣рд▓реЗ рд╕реАрдкреАрдпреВ рдкреНрд░реЛрдлрд╛рдЗрд▓:
CPU-20190916T133934.cpuprofile.zip

image

рд╕реАрдкреАрдпреВ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХреЗ рдмрд╛рдж:
CPU-20190916T134917.cpuprofile.zip

image

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

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

рдпрджрд┐ рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕рд╛ ES5 рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдо рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рд╣рдо рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рдЙрди рдмреЗрдмреЗрд▓ рдирд┐рд░реНрдпрд╛рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЕрдзрд┐рдХ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдирд┐рд░реНрдпрд╛рдд рдореЗрдВ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@PatSmuk360 рд╕рдВрдпреЛрдЧ рд╕реЗ, рд╡рд╣ split рдлрд╝рдВрдХреНрд╢рди рдХреНрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЗрддрдирд╛ рд╕рдордп рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ?

@ рдореИрдереНрдпреВ-рдбреАрди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ String.prototype.split ред рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ chrome devtools рдореЗрдВ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рд╕рднреА рдбреЗрдЯрд╛ рд░рдВрдЧ рдХреЛрдбрд┐рдд рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЗрд╕рдХреЗ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ https://cdn.jsdelivr.net/npm/[email protected]/dist/less.cjs.js рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдмрд╛рдзрд╛рдУрдВ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛред рдХреНрдпрд╛ *.cjs.js рд╕реЗ *.js рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ? https://cdn.jsdelivr.net/npm/[email protected]/dist/less.min.js.map рдлрд╝рд╛рдЗрд▓ .min рдлрд╝рд╛рдЗрд▓ рдХреЛ ES6 рд╕реНрд░реЛрдд рд╕реЗ рдореИрдк рдХрд░рддреА рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рджреЗрд╡ рдЙрдкрдХрд░рдг рдореЗрдВ рдлреАрдб рдХрд░ рд╕рдХреЗрдВ рддрд╛рдХрд┐ рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХреЗрдВ рдХрд┐ рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓реЗрд╢рди рдХрд╣рд╛рдВ рдмрд╛рдзрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред

рд╡рд┐рд╢рд┐рд╖реНрдЯ https://github.com/less/less.js/blob/cae5021358a5fca932c32ed071f652403d07def8/lib/less/source-map-output.js#L78 рдореЗрдВ рдЗрд╕ рд▓рд╛рдЗрди рдореЗрдВ рд╕реАрдкреАрдпреВ рд╕рдордп рдХреА рдПрдХ рдЙрдЪреНрдЪ рдорд╛рддреНрд░рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЬреЛ рдСрдкрд░реЗрд╢рди рдХрд░рддрд╛ рд╣реИ рдЙрд╕реЗ рджреЗрдЦрддреЗ рд╣реБрдП рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЬрдЧрд╣ рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред

рдореБрдЭреЗ рдвреЗрд░ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдЬреНрдпрд╛рджрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреЛ рдЪреАрдЬ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрд▓рдЧ рд╣реИ рд╡рд╣ рд╣реИ (closures), (system), (array), system / Context рдХреА рд░рд╛рд╢рд┐ рдореЗрдВ рд╡реГрджреНрдзрд┐ред рдЗрд╕реЗ рд╕реАрдкреАрдпреВ рдкреНрд░реЛрдлрд╛рдЗрд▓ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрди рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдХрдЪрд░рд╛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдореЗрдВ рднрд╛рд░реА рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИред

@kevinramharak рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, _n_ рдЧрд╣рд░рд╛рдИ рдХреЗ рд╕рд╛рде рдПрдХ рдПрдПрд╕рдЯреА рдХреЛ _n_ рдЧрд╣рд░рд╛рдИ рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд░рдордмрджреНрдз, рдЪрдкрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ рдЯреНрд░реА рдЬреИрд╕реЗ рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрд╕реНрдерд╛рдпреА рдСрдмреНрдЬреЗрдХреНрдЯ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИред рддреЛ, рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде, рдпрд╣ рдЕрддрд┐рд░рд┐рдХреНрдд _x_ рд╡рд╕реНрддреБрдУрдВ рдХреА рдорд╛рддреНрд░рд╛ рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИред рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рднреА, рдЖрдк рдПрдХ рдШрд╛рддреАрдп рдкреНрд░рднрд╛рд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗрд╡рд▓ 2-3x рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛ рд░рд╣рд╛ рд╣реИ, рдиреЛрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЛ рдлрд╝реНрд▓реИрдЯ рдХрд░рдиреЗ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ... рдореИрдВ рдЗрд╕реЗ рдЬреЛрдбрд╝ рд░рд╣рд╛ рдерд╛ред рд╣рдо рд╢рд╛рдпрдж ES6 рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ ES5 рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рд╡рд╛рдХреНрдпрд╛рддреНрдордХ рдЪреАрдиреА рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЕрдиреБрднрд╡рд╣реАрди рдереЗред (рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╢рд╛рдпрдж рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рджреЛрд╖реА рд╣реИрдВред) рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдирдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓ рдХрд░рдиреЗ рд╕реЗ ES5 рдкреИрдЯрд░реНрди рдмрди рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рджрд░реНрд╢рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИрдВред 99% рджреЗрд╡реЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреЛрдИ рдмрдбрд╝реА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЙрд╕ рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рд╕реИрдХрдбрд╝реЛрдВ рдпрд╛ рд╣рдЬрд╛рд░реЛрдВ рдмрд╛рд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рдЕрдиреНрдп рдмрдбрд╝реЗ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдереЗред

@kevinramharak рдкреБрди: рд╕реНрд░реЛрдд рд░реЗрдЦрд╛рдПрдВ - рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореВрд▓ рдХрдо рдкрд╛рд░реНрд╕рд░ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд╛рдЗрдиреЛрдВ/рдХреЙрд▓рдо рдХреЛ рдЯреНрд░реИрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдм рд╕реНрд░реЛрдд рдореИрдкрд┐рдВрдЧ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдЗрдирдкреБрдЯ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдореИрдк рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдореВрд▓ рд╕реНрд░реЛрддред рдпрд╣ 4.x+ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдм рд╡рд╣рд╛рдВ рдмрд╣реБрдд рд╕рдордп рдХреНрдпреЛрдВ рдмрд┐рддрд╛рдПрдЧрд╛ред

рдореИрдВ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ less.min.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ 3.10.3 рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ 2.7.3 рд╕реЗ рджреЛ рдЧреБрдирд╛ рдзреАрдорд╛ рд╣реИред рдХреНрд░реЛрдо рдФрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рджреЛрдиреЛрдВ рдореЗрдВред

@PatSmuk360 рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рд╢рд╛рдЦрд╛ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ? https://github.com/matthew-dean/less.js/tree/3.11.0

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

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

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

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

рд╡рд░реНрддрдорд╛рди рд╢рд╛рдЦрд╛рдПрдВ рдпрд╣рд╛рдВ рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ: https://github.com/less/less.js/pull/3442

2.7 рд╕реЗ рдЕрднреА рднреА 2x рдзреАрдорд╛ред

@alecpl рдпрд╣ рдЕрдЪреНрдЫреА рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ 3.11.0 3.10 рд╕реЗ рдЕрдзрд┐рдХ рд╕реБрдзрд╛рд░ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдЬреАрдм рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐, _in theory_, рдореВрд▓ рдХрдо рдХреЛрдб рдХреЛ рд▓реЗрдмреИрдм рдХреЗ рд╕рд╛рде рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдХрд┐ рдмреИрдмреЗрд▓ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ ES5 -> ES6 -> ES5 рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рддреЛ рдореБрдЭреЗ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдЬрдм рддрдХ рдХрд┐ рдХрд┐рд╕реА рдФрд░ рдХреЗ рдкрд╛рд╕ рд╕рдордп рди рд╣реЛ, рдЬреЛ рд╕реНрд╡рд╛рдЧрдд рд╕рдорд░реНрдерди рд╣реИ) рдмрд╕ ES6-> ES5 рдХреЛрдб рдореВрд▓ ES5 рдХреЛрдб рд╕реЗ рдХреИрд╕реЗ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИред

@alecpl

рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдХрдИ рддрд░рд╣ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдП рд╣реИрдВ, рдФрд░ рд╣реЗрдбрд▓реЗрд╕ рдХреНрд░реЛрдо рдореЗрдВ 3.11.0 рдмрдирд╛рдо 3.10.3 рдмрдирд╛рдо 3.9.0 рдмрдирд╛рдо 2.7.3 рдХреА рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдордп рдмрд┐рддрд╛рдпрд╛ рд╣реИред

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

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

@PatSmuk360 рдХреНрдпрд╛ рдЖрдк

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

рдХреНрд░реЛрдо рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬрд╝ рд╣реИ, рд▓реЗрдХрд┐рди рджреЛрдиреЛрдВ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рд╕рдорд╛рди рд╣реИред

@alecpl рд╣рдореНрдо .... рд╢рд╛рдпрдж рдпрд╣ рдЙрд╕ рд╡рд┐рд╢реЗрд╖ рдХрдо рдХреЛрдб рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЕрдВрддрд░ рд╣реИред рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдордирдорд╛рдирд╛ рд╣реИред рдпрджрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдордп рд╣реИ, рддреЛ рдореИрдВ рдЙрди рдХрдо рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдореЗрдВ рдЬреЛрдбрд╝ рджреВрдВрдЧрд╛ред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреБрд░рд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╣рд╛рд▓ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИред рдЖрдЧреЗ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдкрдХреЗ рдпреЛрдЧрджрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдмрд╕ рдПрдХ рддреНрд╡рд░рд┐рдд рдЕрдкрдбреЗрдЯ рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛: рдореИрдВрдиреЗ 3.11.1 рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ 3.10.3 рдЬрд┐рддрдирд╛ рдзреАрдорд╛ рдерд╛ред рдореИрдВ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг/рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВред

рдореИрдВрдиреЗ 3.11.1 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЕрдм рд╡рд╣реА рдореЗрдореЛрд░реА рдЦрдкрдд рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдПрдХ рдорд╛рдореВрд▓реА рдЖрдХрд╛рд░ рдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡реЗрдмрдкреИрдХ рдФрд░ less-loader рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ~600MB RAM рд▓реЗ рд░рд╣рд╛ рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдвреЗрд░ рдЖрд╡рдВрдЯрди рд╕рдордпрд░реЗрдЦрд╛ рд▓реА рд╣реИ;

heap-timeline

Ruleset рджреНрд╡рд╛рд░рд╛ рдЬреАрд╡рд┐рдд рд░рдЦреЗ рдЧрдП рдкрд╛рдЧрд▓ рднрд╛рд░реА рдЖрд╡рдВрдЯрди рдХрд╛ рдХрд╛рд░рдг рдХреБрдЫ рд╣реИред


[рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ]
рдореИрдВ 3.9 рдХреЗ рд▓рд┐рдП рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ рдЙрд╕ рд╕реЗ рдПрдХ рдвреЗрд░ рдЖрд╡рдВрдЯрди рд╕рдордпрд░реЗрдЦрд╛ рд╣рдерд┐рдпрд╛рдиреЗред рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдореБрдЭреЗ рдХреБрдЫ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред

@ рдореИрдереНрдпреВ-рдбреАрди
рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрдд рдорд┐рд▓рд╛ред

3.11 рдореЗрдВ рд░реВрд▓рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рд╕реВрдЪреАрдмрджреНрдз рдЕрдиреБрдЪрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЗрдореНрдкреЛрд░реНрдЯрдореИрдиреЗрдЬрд░ рд╣реИред
3.9 рдореЗрдВ рдпрд╣ _рдирд╣реАрдВ рдорд╛рдорд▓рд╛_ рд╣реИред

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

@rjgotten рд╣рдореНрдо ...... рдЕрдЧрд░ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╕рдВрджрд░реНрдн рд╣реИ, рддреЛ рд╡рд╣ рдЬреАрд╕реА рдХреЛ рдХреНрдпреЛрдВ рд░реЛрдХреЗрдЧрд╛? рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ, рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рд╕рднреА рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдиреЛрдбреНрд╕ рдХреЗ рд╕рдВрджрд░реНрдн рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реИрдВред рдпрд╣ рдХреЗрд╡рд▓ рдЬреАрд╕реА рдХреЛ рд░реЛрдХреЗрдЧрд╛ рдпрджрд┐ рд░рд┐рд╡рд░реНрд╕ рд╕рддреНрдп рд╣реИ рдпрд╛рдиреА рдХреБрдЫ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рдпрдо рд╕реЗрдЯ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рдВрджрд░реНрдн рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реИрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЧрд▓рдд рд╕рдордЭрд╛ред

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

@rjgotten рдУрд╣ рдпрд╣ рдХрд░рддрд╛ рд╣реИ? рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рд╡рд╣рд╛рдВ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪрд╛ред рдореБрдЭреЗ рджреЛрд╖ рджреЗрдиреЗ рдХреА рдкреНрд░рдмрд▓ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╛ ES6 рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рдЗрд╕реЗ рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рд╣рд╛рдБ, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реИ! рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдареАрдХ рд╣реИ, рдЗрд╕ рдХрдЯреНрдЯрд░рдкрдВрдереА рд╡рд┐рдЪрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ред

рдореИрдВрдиреЗ рдЪреЗрд░реА рдХреЗ рд╕рд╛рде ES6 рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рдм рдХреБрдЫ рдЙрдард╛рдХрд░ рдПрдХ рд╢рд╛рдЦрд╛ рдмрдирд╛рдИред рдпрд╣ рдЖрд╕рд╛рди рдирд╣реАрдВ рдерд╛, рдФрд░ рдпрд╣ рдЙрд╕ рд╕рд╛рд░реЗ рдХрд╛рдо рдХреЛ рдиреНрдпреВрдХ рдХрд░ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдПрдХ Babelified / Typescript'd рдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрджрд╛ рдореВрд▓ JS рд╕реЗ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИ, рддреЛ рдпрд╣ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╣рдо рдЧрд┐рдЯ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдХреИрд╕реЗ рд╕реБрд▓рдЭрд╛рдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд╢рд╛рдЦрд╛ рд╣реИ -> https://github.com/less/less.js/tree/release_v3.12.0-RC1ред рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рд░реЛрдХрдирд╛ рдПрдХ рдмрдбрд╝реА рдмрд╛рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╢рд╛рдЦрд╛ рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдареЛрд╕ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рд╣реЛрдЧреАред

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рд╡рд╣рд╛рдВ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪрд╛ред рдореБрдЭреЗ рджреЛрд╖ рджреЗрдиреЗ рдХреА рдкреНрд░рдмрд▓ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╛ ES6 рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рдЗрд╕реЗ рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рд╣рд╛рдБ, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реИ! рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

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

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬреЛ рдмреАрдЪ рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдпрд╛рдиреА Node.js рдХреЗ рд▓рд┐рдП ES6 рдмрд┐рд▓реНрдб рдХреЛ рдмрдирд╛рдП рд░рдЦреЗрдВ рд▓реЗрдХрд┐рди рдПрдХ рдкрд╛рд░рджрд░реНрд╢реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд▓рдХреНрд╖реНрдп рднреА рд░рдЦреЗрдВред ES6 рд░реВрдкрд╛рдВрддрд░рдг рдЬреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рд╡рд╣ рдХреЛрдб рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдиреБрдХрд╕рд╛рди рд╣реЛрдЧрд╛ред рдореИрдВ

@rjgotten

ES6 рд░реВрдкрд╛рдВрддрд░рдг рдЬреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рд╡рд╣ рдХреЛрдб рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдиреБрдХрд╕рд╛рди рд╣реЛрдЧрд╛ред

рдпрд╣ рджреЛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЙрддрдирд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рдЬрд┐рддрдирд╛ рд▓рдЧрддрд╛ рд╣реИ:

  1. рд░реЛрд▓рдЕрдк рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИ, рдФрд░ рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕ рдкрд░ рд╢реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рддреЛ рдЗрд╕реЗ рдХрдорд┐рдЯ рд╕реЗ рдЦреАрдВрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  2. рдореИрдВ рдХреБрдЫ рд╕рдордп рд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдЖрдзрд╛рд░рд┐рдд рдХрдо 4.0 рдкрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдЗрд╕ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рддрд┐рдЧрдорди рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЙрд╕ рдкрд░ рдЕрдкрдирд╛ рд╕рдордп рдмрд┐рддрд╛рдКрдВрдЧрд╛ред рдпрд╣ рдПрдХ рдЧреНрд░рд╛рдЙрдВрдб-рдЕрдк рд░рд┐рдлреИрдХреНрдЯрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдХрд░реАрдм рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЯреАрдПрд╕ рдХреА рдкреНрд░рдХреГрддрд┐ рд╕реЗ, рдЗрди рдПрдХ-рдСрдл рдСрдмреНрдЬреЗрдХреНрдЯ рдореНрдпреВрдЯреЗрд╢рди рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╕рдВрджрд░реНрднреЛрдВ рдкрд░ рдкрдХрдбрд╝ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЬреАрд╕реА рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВред рдФрд░ рдХреЛрдб рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИ ред рддреЛ рд╡рд╣ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╡рд╛рдкрд╕ ES5 рдореЗрдВ рд░реЛрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ _bit_ рднрд╛рд░реА-рднрд░рдХрдо рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИред рдлрд┐рд░ рднреА, рд╣рдореЗрдВ рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╣рдореЗрдВ рдЗрд╕ рдирд┐рд░реНрдгрдп рдХреЗ рд╕рд╛рде рдХрд┐рддрдиреЗ рд╕рдордп рддрдХ рд░рд╣рдирд╛ рд╣реЛрдЧрд╛ред рдЬреИрд╕рд╛ рдХрд┐ @rjgotten рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рд╣рдо рдмрд╣реБрдд рд╕рд╛рд░реА рдХреЛрдб рд╕реНрдкрд╖реНрдЯрддрд╛ рдЦреЛ рджреЗрдВрдЧреЗ, рдФрд░ рдпрджрд┐ v4 рдЕрднреА рднреА рдПрдХ рд░рд╛рд╕реНрддрд╛ рджреВрд░ рд╣реИ, рддреЛ рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЖрдЗрдП ES5 рдкрд░рдорд╛рдгреБ рд╡рд┐рдХрд▓реНрдк рд▓реЗрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдереЛрдбрд╝рд╛ рдФрд░ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ- рдЦрд╛рд╕рдХрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рдж рд╕реЗ (рдЬрдмрдХрд┐ рдПрдХ рдмреИрдб рд╡рди) рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреАрд▓рдмреНрд░реЗрдХрд░ рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

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

@ рдореИрдереНрдпреВ-рдбреАрди, рдПрдХ рд╕рд╛рдЗрдб рдиреЛрдЯ рдкрд░, рдХреНрдпрд╛ рдЖрдкрдиреЗ рдмреЗрдмреЗрд▓ рдХреЗ рд╕рд╛рде рдвреАрд▓реЗ рдореЛрдб рдореЗрдВ рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдЗрд╕рдиреЗ рдХреЛрдИ рд╕реИрдирд░-рджрд┐рдЦрдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рдмрдирд╛рдпрд╛ рд╣реИ?

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

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрдиреБрдорд╛рди рдпрд╣ рд╣реИ рдХрд┐ рдХреБрдЫ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рддрд░реНрдХреЛрдВ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡рд╕реНрддреБ-рдирд┐рд░реНрдорд╛рдг рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рд╣реИред

рдореВрд▓ рд░реВрдк рд╕реЗ, рдХрд┐рд╕реА рдХреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╕реНрд╡рд╛рдореА рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВрд╕реЗрд╡рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

@ рдореИрдереНрдпреВ-рдбреАрди, рдПрдХ рд╕рд╛рдЗрдб рдиреЛрдЯ рдкрд░, рдХреНрдпрд╛ рдЖрдкрдиреЗ рдмреЗрдмреЗрд▓ рдХреЗ рд╕рд╛рде рдвреАрд▓реЗ рдореЛрдб рдореЗрдВ рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдЗрд╕рдиреЗ рдХреЛрдИ рд╕реИрдирд░-рджрд┐рдЦрдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рдмрдирд╛рдпрд╛ рд╣реИ?

@seanCodes рдХреЛрдб рдХреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдмреЗрдмреЗрд▓ рдирд╣реАрдВред рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдерд╛ рдХрд┐ рдЯрд╛рдЗрдк-рдЪреЗрдХрд┐рдВрдЧ рдХреЛ рдордЬрдмреВрдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзреАрд░реЗ-рдзреАрд░реЗ JSDoc рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди v4 рдореЗрдВ TS рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ Babel рдмрдирд╛рдо рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реЗрдЯрд┐рдВрдЧреНрд╕) рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ Babel рдЕрдзрд┐рдХ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рдмрдирд╛рддрд╛ рд╣реИред рдмрд╕ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдкреНрд░рддрд┐ рд╕рдЪреЗрдд рд░рд╣реЗрдВ, рдЬреЛ рд╢реБрд░реВ рдореЗрдВ Node.js рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреИрд░-ES5 рдмрд┐рд▓реНрдб рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реБрдЖ рдерд╛: https://github.com/less/less.js/issues/3414

@seanCodes рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдЕрднреА рднреА рдкреНрд░рджрд░реНрд╢рди рдЕрдВрддрд░ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИред рдХрд┐рд╕реА рдиреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЕрдВрддрд░ рд╕рд╛рдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрдЖрд░ / рдХрджрдо рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рд╣реИред рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдХрдИ рдЙрдкрд╛рдЦреНрдпрд╛рди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдХреЛрдб рдпрд╛ рдЪрд░рдгреЛрдВ рдХреЗ рдмрд┐рдирд╛, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреЛрдИ рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдПрдХ рдкреАрдЖрд░ рд╣реЛрдЧрд╛ рдЬреЛ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдЯреВрд▓ (рдХреНрд░реЛрдо рдбреАрдмрдЧрд░ рдпрд╛ рдЕрдиреНрдпрдерд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИ, рдФрд╕рддрди рдХрдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдкрд░ред рдЗрд╕рд▓рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣, рдЕрдм рддрдХ, 100% рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ, рдЬрд╣рд╛рдБ рддрдХ рдХреЛрдИ рднреА рдкреНрд░рдЬрдирди рдЪрд░рдгреЛрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЙрд╕ рдЦрд░рдЧреЛрд╢ рдХреЗ рдЫреЗрдж рдХреЗ рдиреАрдЪреЗ рдирд╣реАрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред (рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, "рдореИрдВрдиреЗ рдХреНрд░реЛрдо рдбреАрдмрдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛" рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдЬрдирди рдЪрд░рдгреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐рд╕реА рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╣рдореЗрдВ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рдЯреНрд░реИрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдХреНрдпреЛрдВ / рдХреНрдпрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реЛрдирд╛ред)

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

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

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

@rjgotten

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

"рдЖрдк" рдпрд╣рд╛рдБ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯ рд╣реИред рдореИрдВ

"рдЖрдк" рдпрд╣рд╛рдБ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯ рд╣реИред рдореИрдВ

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

@rjgotten рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмреЗрд╣рддрд░ рдЬрд╛рдирдХрд╛рд░реА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ "рдмрд╣реБрдд рд╕рд╛рд░реА рдЖрдпрд╛рддрд┐рдд рдлрд╝рд╛рдЗрд▓реЗрдВ" рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ? рдХреНрдпрд╛ 100 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╛рдЗрд▓реЗрдВ рдРрд╕рд╛ рдХрд░реЗрдВрдЧреА рдпрд╛ рд╣рдо 1000 рдХреА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

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

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

100 рдпрд╛ рддреЛ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ред

рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрдм рд╣рдорд╛рд░реЗ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╕реАрдЖрдИ рд╡рд╛рддрд╛рд╡рд░рдг рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рд▓рдЧрд╛ред рд╣рдо рдЙрди рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдореЗрдореЛрд░реА рдкреНрд░рддрд┐рдмрдВрдз рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВред

@rjgotten рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА 3.11.3 рдкрд░ рд╕реНрдореГрддрд┐ рд╕рдорд╕реНрдпрд╛ рд╣реИ? рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реА рд░рд┐рд▓реАрдЬ рдореЗрдВ рдЖрдпрд╛рдд рдХреЗ рднреАрддрд░ рдПрдПрд╕рдЯреА рдХреЗ рдХрд┐рд╕реА рднреА рдХреИрд╢рд┐рдВрдЧ (рд╕рдВрджрд░реНрдн) рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛, рдФрд░ рдПрдПрд╕рдЯреА рдкреЗрдбрд╝ рдЙрд╕рдХреЗ рднреАрддрд░ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдереЗ, рддреЛ рдЗрд╕рд╕реЗ рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рдкреЗрдбрд╝реЛрдВ рдХреЛ рдЖрдпреЛрдЬрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рдХреНрдпрд╛ рдпрд╣ рдЗрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ?

@ рдореИрдереНрдпреВ-рдбреАрди рд╣рд╛рдВ, рдореБрджреНрджрд╛ рдЕрднреА рднреА 3.11.3 рдкрд░ рдореМрдЬреВрдж рд╣реИред

рдореИрдВ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдкреНрд░рдорд╛рдг рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рд▓реЗрдХрд┐рди рдореЗрд░реА рдерд╛рд▓реА рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рд╣реИред рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдордп рдорд┐рд▓рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреА рдЯреВ рдбреВ рд▓рд┐рд╕реНрдЯ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ рд╣реИред

@ рдореИрдереНрдпреВ-рдбреАрди рдореИрдВ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬреЛ рдкрд╣рд▓реЗ рдЕрд╕рдлрд▓ рд░рд╣рд╛ рдерд╛ред рдореБрдЭреЗ рдХреБрдЫ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ? рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕ рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, https://github.com/less/less.js/tree/release_v3.12.0-RC1 ?

@nfq рдЖрдк рдЗрд╕реЗ рдЖрдЬрдорд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдкреНрд░рдЪрд▓рд┐рдд рдЬреНрдЮрд╛рди ES6 рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рдЙрдбрд╝рд╛ рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдХрд┐ рд╡рд╣ рд╢рд╛рдЦрд╛ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдареАрдХ рд╕реЗ рдирд┐рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

рд╕рдВрдпреЛрдЧ рд╕реЗ, рдореИрдВрдиреЗ рдХрд┐рд╕реА рднреА рд▓рдЧрд╛рддрд╛рд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди less рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рдФрд░ рдХреЛрдИ рднреА рдирд╣реАрдВ рдорд┐рд▓рд╛ред тАНтЩВя╕П

рдореБрдЭреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдореБрджреНрджреЛрдВ рдХрд╛ рднреА рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИред рдПрдХ рд╣реА рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдХреЗ рд▓рд┐рдП:

| рд╕рдВрд╕реНрдХрд░рдг | рд╕рдордп |
| -- | -- |
| v3.9.0 | ~1.6s |
| v3.10.0~v3.11.1 | ~3.6s |
| v3.11.2+ | ~12s |

рдпрд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ 3.9.0 тЖТ 3.10.0 рдХреЗ рдЕрд▓рд╛рд╡рд╛, v3.11.2 рдкрд░ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рджрд░реНрд╢рди рдЧрд┐рд░рд╛рд╡рдЯ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИред рдЪреИрдВрдЬ рдореЗрдВ рдпрд╣ рдмрджрд▓рд╛рд╡ рд╕рдВрджреЗрд╣рд╛рд╕реНрдкрдж рд▓рдЧрддрд╛ рд╣реИ:

3498 рдЖрдпрд╛рдд рдкреНрд░рдмрдВрдзрдХ рдореЗрдВ рдЯреНрд░реА рдХреИрд╢рд┐рдВрдЧ рдирд┐рдХрд╛рд▓реЗрдВ (#3498)

рдореЗрд░реЗ рд▓рд┐рдП рднреА рдРрд╕рд╛ред

рд╕рдорд╛рди рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рд╕рдордп (рд╕рднреА рдиреЛрдб 10.19.0 рдкрд░):

  • v3.9: 29.9 рд╕реЗрдХрдВрдб
  • v3.10: 76.0 рд╕реЗрдХрдВрдб
  • v3.12: 89.3 рд╕реЗрдХрдВрдб

@jrnail23

рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд░реЗрдкреЛ рд╣реИ рдЬреЛ рдЙрди рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

@ рдореИрдереНрдпреВ-рдбреАрди рдореЗрд░реЗ рдкрд╛рд╕ https://github.com/less/less.js/issues/3434#issuecomment -672580467 рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИ: https://github.com/ecomfe/dls-tooling/tree/master/packages/ рдХрдо-рдкреНрд▓рдЧрдЗрди- рдбреАрдПрд▓рдПрд╕ (рдпрд╣ рдПрдХ рдореЛрдиреЛрд░реЗрдкреЛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдХрдо рдкреНрд▓рдЧрдЗрди рд╢рд╛рдорд┐рд▓ рд╣реИред)

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, @ рдореИрдереНрдпреВ-рдбреАрди, рдореИрдВ рдирд╣реАрдВред рд╡реЗ рдкрд░рд┐рдгрд╛рдо рдореЗрд░реЗ рдирд┐рдпреЛрдХреНрддрд╛ рдХреЗ рдЙрддреНрдкрд╛рдж рд╕реЗ рд╣реИрдВред

рд╡реЗ рдкрд░рд┐рдгрд╛рдо рдореЗрд░реЗ рдирд┐рдпреЛрдХреНрддрд╛ рдХреЗ рдЙрддреНрдкрд╛рдж рд╕реЗ рд╣реИрдВред

рдЗрд╕реА рдХрд╛рд░рдг рд╕реЗ рдореИрдВ рдХреЛрдИ рдлрд╛рдЗрд▓ рднреА рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ред рдореИрдВ

@rjgotten @ jrnail23 @Justineo - рдмрд╕ рдЙрддреНрд╕реБрдХ рд╣реИ, рддреЛ рдЖрдк рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдПрдХ рд╣реА рдЖрдпрд╛рдд рд╡рд┐рднрд┐рдиреНрди рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХрдИ рдмрд╛рд░ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреА рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реИ?

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдкреНрд▓рдЧрдЗрди рд╣реИ рдЬреЛ @import рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд╕реНрдЯрдо рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЖрдпрд╛рддрд┐рдд рдлрд╝рд╛рдЗрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреНрдп рднрд╛рдЧреЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░рддреА рд╣реИ рдЬреЛ рдЕрдВрддрддрдГ 1000+ рдХрдо рдЪрд░ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧреАред

@ рдореИрдереНрдпреВ-рдбреАрди, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ base.less рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рдЪреАрдЬреЛрдВ (рдЬреИрд╕реЗ, рд░рдВрдЧ рдЪрд░, рдЯрд╛рдЗрдкреЛрдЧреНрд░рд╛рдлреА, рдЖрджрд┐) рдХреЛ рдЖрдпрд╛рдд рдХрд░рддреА рд╣реИред
рд╣рдорд╛рд░реЗ рдРрдк рдХреЗ рдХреБрдЫ рддреНрд╡рд░рд┐рдд рдЧреНрд░реЗрдкрд┐рдВрдЧ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдПрдХ base.less рд╕рдВрджрд░реНрдн (рдпрд╛рдиреА, <strong i="8">@import</strong> (reference) "../../../less/base.less"; ) 66 рдЕрдиреНрдп рдШрдЯрдХ/рдлреАрдЪрд░-рд╡рд┐рд╢рд┐рд╖реНрдЯ less рдлрд╛рдЗрд▓реЛрдВ рджреНрд╡рд╛рд░рд╛ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдлрд╛рдЗрд▓реЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЕрдиреНрдп рдШрдЯрдХ/рд╕реБрд╡рд┐рдзрд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдо рдлрд╝рд╛рдЗрд▓реЗрдВ рднреА рдЖрдпрд╛рдд рдХрд░реЗрдВ (рдЬреЛ рд╕реНрд╡рдпрдВ base.less рд╕рдВрджрд░реНрдн рджреЗ рд╕рдХрддреА рд╣реИрдВ)ред
рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдФрд░ less рдлрд╝рд╛рдЗрд▓ рднреА рд╣реИ рдЬреЛ (рд╢рд╛рдпрдж рдЧрд▓рддреА рд╕реЗ?) рдЦреБрдж рдХреЛ рдПрдХ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рддреА рд╣реИред

@rjgotten @ jrnail23 @Justineo - рдмрд╕ рдЙрддреНрд╕реБрдХ рд╣реИ, рддреЛ рдЖрдк рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдПрдХ рд╣реА рдЖрдпрд╛рдд рд╡рд┐рднрд┐рдиреНрди рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХрдИ рдмрд╛рд░ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреА рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реИ?

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

рдореВрд▓ рд░реВрдк рд╕реЗ; рдкреНрд░рддреНрдпреЗрдХ рдЖрд╢реНрд░рд┐рдд рдХреЛ рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕рдЦреНрддреА рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╣рдо рдХрдо рд╕рдВрдХрд▓рдХ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдпрд╛рдд рдХреЛ рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рдЕрдиреБрдХреНрд░рдорд┐рдд рдФрд░ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдФрд░ рд╕рд╣реА рд╕реАрдПрд╕рдПрд╕ рдЖрдЙрдЯрдкреБрдЯ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

@rjgotten

рдореИрдВрдиреЗ рдЗрд╕реЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдФрд░ рд╣рдЯрд╛ рджрд┐рдпрд╛ (рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд▓рд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рднреА рдЗрд╕реЗ рджреЛрд╣рд░рд╛ рдирд╣реАрдВ рд╕рдХрд╛), рдЕрднреА рднреА рд▓реЛрдЧ рдХреНрдпрд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рдореЗрдВ рдХреМрди рд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрджрдо рдирд╣реАрдВ рд╣реИрдВред

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдХреБрдЫ рднреА рдЗрддрдирд╛ рдЖрд╕рд╛рди:

3.11 рдореЗрдВ рд░реВрд▓рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рд╕реВрдЪреАрдмрджреНрдз рдЕрдиреБрдЪрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЗрдореНрдкреЛрд░реНрдЯрдореИрдиреЗрдЬрд░ рд╣реИред

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

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

@Justineo рдЖрдкрдХреЗ рд░реЗрдкреЛ рдкрд░, рдореЗрдореЛрд░реА рдЖрдХрд╛рд░ рдпрд╛ рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдиреЗ рдХреНрдпрд╛ рдХрджрдо рдЙрдард╛рдП? рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рдереЗ?

@Justineo рдЪреВрдВрдХрд┐ рдЖрдкрдиреЗ рдХреИрд╢ рд╣рдЯрд╛рдиреЗ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд┐рдпрд╛ рдерд╛ (рдЬреЛ рд╢рд╛рдпрдж рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдерд╛), рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рд╢рд╛рдЦрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреА рдирд┐рд░реНрдорд╛рдг рдЧрддрд┐ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ? https://github.com/less/less.js/tree/cache-restored

рдЖрдЬ рдХреЗ рдкреНрд░рдпреЛрдЧ/рдкрд░реАрдХреНрд╖рдг рдкрд░ рдХреБрдЫ рдЕрдкрдбреЗрдЯ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП:

рдЧреНрд░рдВрдЯ рдХрд╛ shell:test рдмрд╛рд░

  • рдХрдо 3.9 - 1.8s
  • рдХрдо 3.12 (рдмреЗрдмреЗрд▓-рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓реНрдб рдЯреВ ES5) -- 9.2s
  • рдХрдо 3.12 (рдмреЗрдмреЗрд▓-рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓реНрдб рдЯреВ ES6) -- 3.1s
  • рдХрдо 3.12 (рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ-ES5 рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд) -- 3.2s

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

@Justineo рдЖрдкрдХреЗ рд░реЗрдкреЛ рдкрд░, рдореЗрдореЛрд░реА рдЖрдХрд╛рд░ рдпрд╛ рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдиреЗ рдХреНрдпрд╛ рдХрджрдо рдЙрдард╛рдП? рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рдереЗ?

npm run test рдмреАрддреЗ рд╣реБрдП рдХреБрд▓ рд╕рдордп рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░реЗрдЧрд╛ред рдФрд░ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╣рдо 3.12 рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдкрд░ рдУрдУрдПрдо рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдпрджрд┐ рд╣рдо рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рджреЗрдЦреЗрдВ, рддреЛ рд╣рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рдорд┐рд▓рддрд╛ рд╣реИ:

Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var node_1 = tslib_1.__importDefault(require("./node"));
var variable_1 = tslib_1.__importDefault(require("./variable"));
var property_1 = tslib_1.__importDefault(require("./property"));
var Quoted = /** <strong i="6">@class</strong> */ (function (_super) {
    tslib_1.__extends(Quoted, _super);
    function Quoted(str, content, escaped, index, currentFileInfo) {
        var _this = _super.call(this) || this;
        _this.escaped = (escaped == null) ? true : escaped;
        _this.value = content || '';
        _this.quote = str.charAt(0);
        _this._index = index;
        _this._fileInfo = currentFileInfo;
        _this.variableRegex = /@\{([\w-]+)\}/g;
        _this.propRegex = /\$\{([\w-]+)\}/g;
        _this.allowRoot = escaped;
        return _this;
    }

рдмрдирд╛рдо:

var Node = require('./node'),
    Variable = require('./variable'),
    Property = require('./property');

var Quoted = function (str, content, escaped, index, currentFileInfo) {
    this.escaped = (escaped == null) ? true : escaped;
    this.value = content || '';
    this.quote = str.charAt(0);
    this._index = index;
    this._fileInfo = currentFileInfo;
    this.variableRegex = /@\{([\w-]+)\}/g;
    this.propRegex = /\$\{([\w-]+)\}/g;
};

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

рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:

рдЕрдЧрд░ рдореИрдВ 3.9 рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ 3.12 рдХреЗ рдмрд░рд╛рдмрд░ рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ 1.2s рдмрдирд╛рдо 1.3s рдорд┐рд▓рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЕрдм рдЗрд╕ рдЕрдВрддрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдкрд░реАрдХреНрд╖рдг рдмрджрд▓ рдЧрдП рд╣реИрдВред рдЗрд╕реЗ рдареАрдХ рдЙрд╕реА рдХрдо рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ред

@Justineo @rjgotten рдореИрдВ рд╢рд╛рдпрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЯрд╛рдЗрдкрдкреНрд░рддрд┐ рддреЛрдбрд╝ рдорд░реЛрдбрд╝ рдЖрдЧреЗ рдмрдврд╝рд╛рдпрд╛ рд╣реИ рдЬреЛ рдПрдХ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдк рдЙрд╕ рд╢рд╛рдЦрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? https://github.com/less/less.js/tree/cache-restored

@ рдореИрдереНрдпреВ-рдбреАрди рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ рдЗрд╕реЗ рдЖрдЬ рдмрд╛рдж рдореЗрдВ рдЖрдЬрдорд╛рдКрдВрдЧрд╛ред

рдореИрдВрдиреЗ cache-restored рд╢рд╛рдЦрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ v3.11.2+ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬрд╝ рд╣реИ, рд▓рдЧрднрдЧ рдЙрд╕реА рдЧрддрд┐ рд╕реЗ рдЬреИрд╕реЗ v.3.1.0~3.11.1ред

@ рдЬрд╕реНрдЯрд┐рдиреЛ

рдореИрдВрдиреЗ рдХреИрд╢-рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рд╢рд╛рдЦрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ v3.11.2+ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬрд╝ рд╣реИ, рд▓рдЧрднрдЧ рдЙрд╕реА рдЧрддрд┐ рд╕реЗ рдЬреИрд╕реЗ v.3.1.0~3.11.1ред

рдЦреИрд░, рдпрд╣ рдЖрд╢рд╛рдЬрдирдХ рд╣реИред рдЖрдЗрдП рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ @rjgotten @jrnail23 рдФрд░ рдЕрдиреНрдп рд╕реЗ рдХреБрдЫ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдЗрд╕ рдереНрд░реЗрдб рдХреЛ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреИрд╢ рдирд┐рдХрд╛рд▓рдирд╛ рдерд╛ (3.11.2); рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдХреБрдЫ рдореЗрдореЛрд░реА рдУрд╡рд░рд╣реЗрдб рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдерд╛, рд▓реЗрдХрд┐рди рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдЖрдк рдПрдХ рд╣реА рдлрд╛рдЗрд▓ рдХреЛ рдХрдИ рдмрд╛рд░ рдЖрдпрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЪреАрдЬреЛрдВ рдХреЛ рдФрд░ рдЦрд░рд╛рдм рдХрд░ рд╕рдХрддрд╛ рд╣реИред

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

@ рдореИрдереНрдпреВ-рдбреАрди, рдореБрдЭреЗ cache-restored рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХреБрдЫ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИ (рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ npm link рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ рдореБрдЭреЗ)ред
рдХреНрдпрд╛ рдЖрдк рдПрдХ рдХреИрдирд░реА/рд░рд┐рд▓реАрдЬрд╝-рдкреВрд░реНрд╡ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдореИрдВ рдЖрдЬрд╝рдорд╛ рд╕рдХрддрд╛ рд╣реВрдБ?

@jrnail23

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред рдХрдо рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ npm i [email protected]+84d40222 рд╕рд╛рде рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ

@ рдореИрдереНрдпреВ-рдбреАрди, рдореИрдВрдиреЗ рдЕрднреА рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рдФрд░ рдпрд╣ рдЕрднреА рднреА рдореЗрд░реЗ рд▓рд┐рдП рдмреБрд░рд╛ рд╣реИред
рддрд╛рдЬрд╝рд╛ рд╡реЗрдмрдкреИрдХ рдмрд┐рд▓реНрдб (рдХреЛрдИ рдХреИрд╢рд┐рдВрдЧ рдирд╣реАрдВ) рдХреЗ рд▓рд┐рдП, рдпрд╣ v3.9 рдХреЗ рд▓рд┐рдП 62.4 рд╕реЗрдХрдВрдб рд▓реЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди v3.13.1 рдХреЗ рд▓рд┐рдП 121 рд╕реЗрдХрдВрдб рд▓реЗрддрд╛ рд╣реИред
рдХреИрд╢реНрдб рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП, v3.9 30 рд╕реЗрдХрдВрдб рд▓реЗрддрд╛ рд╣реИ, рдФрд░ v3.13.1 83-87 рд╕реЗрдХрдВрдб рд▓реЗрддрд╛ рд╣реИред

@ jrnail23 рдХреНрдпрд╛ рдЖрдк рд╕рднреА рдиреЛрдб рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ [email protected]+b2049010 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдХрдо 3.9 рдмреЗрдВрдЪрдорд╛рд░реНрдХ:
Screen Shot 2020-12-05 at 2 36 09 PM

рдХрдо 4.0.1-рдЕрд▓реНрдлрд╛.0:
Screen Shot 2020-12-05 at 1 12 26 PM

рдХрдо 4.0.1-рдЕрд▓реНрдлрд╛.2:
Screen Shot 2020-12-05 at 2 35 20 PM

@Justineo @rjgotten рдЖрдк рдпрд╣ рднреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@ jrnail23 @Justineo @rjgotten

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдПрдХ 4.0 рдмрд┐рд▓реНрдб рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рдпреЗ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЖ рд╕рдХрддреА рд╣реИрдВ:

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

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

https://github.com/less/less.js/issues/3434#issuecomment -672580467 рдХреЗ рд╕рдорд╛рди рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдХрд╛ рдкрд░рд┐рдгрд╛рдо:

| рд╕рдВрд╕реНрдХрд░рдг | рд╕рдордп |
| -- | -- |
| v3.9.0 | ~1.6s |
| v3.10.0~v3.11.1 | ~3.6s |
| v3.11.2+ | ~12s |
| 4.0.1-alpha.2+b2049010 | ~1.6s |

рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореЗрд░реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдХреЗ рд▓рд┐рдП, рдкреНрд░рджрд░реНрд╢рди рд╕реНрддрд░ v3.9.0 рдЬрд┐рддрдирд╛ рддреЗрдЬрд╝ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреА рдореИрдЯ! рдЬрдмрдХрд┐ рдореИрдВ рдЧрдгрд┐рдд рдореЛрдб рдкрд░ рдмреНрд░реЗрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВред рдЗрд╕реЗ рдмрджрд▓рдиреЗ рд╕реЗ рд╣рдорд╛рд░реЗ рдХрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреВрдЯ рд╕рдХрддреЗ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рд╣рдо v3.9.0 рдкрд░ рдЕрдЯрдХ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛ рднреА рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИред

@ рдЬрд╕реНрдЯрд┐рдиреЛ

рдЬрдмрдХрд┐ рдореИрдВ рдЧрдгрд┐рдд рдореЛрдб рдкрд░ рдмреНрд░реЗрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВред

рдкрд┐рдЫрд▓реЗ рдЧрдгрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк math=always рдореЛрдб рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЕрд▓рдЧ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИред

рдореБрджреНрджреЗ рдХрд╛ рдЯреВрдЯрдирд╛

рдЯреАрдПрд▓; рдбреАрдЖрд░ - рд╡рд░реНрдЧ рдкреИрдЯрд░реНрди рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ

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

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред _(рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдареАрдХ рд╣реИ .... рдпрд╣ рд╣реИ рдФрд░ рдпрд╣ рдирд╣реАрдВ рд╣реИред рдпрд╣ "рд╡рд┐рд░рд╛рд╕рдд" рд╕реЗ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ рдФрд░ рдЖрдкрдиреЗ рдЗрд╕реЗ рдХреИрд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд▓реНрдж рд╣реА рджреЗрдЦреЗрдВрдЧреЗ ... рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ "рд╡рд┐рд░рд╛рд╕рдд" рдмрдирд╛рдПрдВ, рдФрд░ рдХрдХреНрд╖рд╛рдПрдВ рдХреЗрд╡рд▓ рдПрдХ рдкреИрдЯрд░реНрди рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╣ рдкреИрдЯрд░реНрди рдЕрдиреНрдп рд╕рднреА рд╕реЗ рдХреБрдЫ рдЕрд▓рдЧ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЯреАрдПрд╕/рдмреЗрдмреЗрд▓ рдХреЛ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдкреИрдЯрд░реНрди рдХреА "рдирдХрд▓" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред)_

рдХрдо рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рдерд╛:

var Node = function() {
  this.foo = 'bar';
}

var Inherited = function() {
  this.value = 1;
}
Inherited.prototype = new Node();

var myNode = new Inherited();

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

class Node {
  constructor() {
    this.foo = 'bar';
  }
}
class Inherited extends Node {
  constructor() {
    super();
    this.value = 1;
  }
}
var myNode = new Inherited();

рд╡рд╣реА рдмрд╛рдд, рд╣реИ рдирд╛? рджрд░рдЕрд╕рд▓ рдирд╣реАрдВред рдкрд╣рд▓рд╛ { value: 1 } рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд╕реНрддреБ рдмрдирд╛рдПрдЧрд╛, рдФрд░ рдЗрд╕рдХреА рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкрд░, рдЗрд╕рдореЗрдВ { foo: 'bar' } рд╡рд╕реНрддреБ рд╣реЛрдЧреАред

рджреВрд╕рд░рд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ Inherited рдФрд░ Node рджреЛрдиреЛрдВ рдкрд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛, { value: 1, foo: 'bar' } рдЬреИрд╕реА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдЧрд╛ред

рдЕрдм, _user_ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ value рдФрд░ foo рдХреЛ myNode рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред _рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ_, рд╡реЗ рд╡рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВред

рдпрд╣рд╛рдВ рдореИрдВ рд╢реБрджреНрдз рдЕрдЯрдХрд▓реЛрдВ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реВрдВ

рд╡реА8 рдЬреИрд╕реЗ рдЬреЗрдЖрдИрдЯреА рдЗрдВрдЬрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦреЛрдВ рдореЗрдВ рдореБрдЭреЗ рдЬреЛ рдпрд╛рдж рд╣реИ, рдЙрд╕рд╕реЗ рд╡рд╕реНрддреБ рд╕рдВрд░рдЪрдирд╛рдПрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред рдпрджрд┐ рдореИрдВ { value: 1 } , { value: 2 } , { value: 3 } , { value: 4 } рдЬреИрд╕реА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдмрдирд╛рддрд╛ рд╣реВрдВ, рддреЛ V8 рдЙрд╕ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЖрдВрддрд░рд┐рдХ рд╕реНрдерд┐рд░ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдмрдирд╛рддрд╛ рд╣реИред рдЖрдк рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рдмрд╛рд░ рд╕рдВрд░рдЪрдирд╛ + рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдбреЗрдЯрд╛ 3 рдмрд╛рд░ред

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ рд╣рд░ рдмрд╛рд░ рдЗрд╕рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЧреБрдг рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ, рдЬреИрд╕реЗ: { a: 'a', value: 1 } , { b: 'b', value: 2 } , { c: 'c', value: 3 } , { d: 'd', value: 4 } , рддреЛ рд╡реЗ 4 рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд╕рд╛рде 4 рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрд░рдЪрдирд╛рдПрдВ рд╣реИрдВ , рднрд▓реЗ рд╣реА рд╡реЗ рдореВрд▓ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдПрдХ рд╣реА рд╕реЗрдЯ рд╕реЗ рдмрдирд╛рдП рдЧрдП рд╣реЛрдВред рдЬреЗрдПрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдбреЗрдЯрд╛ рд▓реБрдХрдЕрдк рдХреЛ рдбреА-рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рд╡рд░реНрдЧ рдкреИрдЯрд░реНрди рдЬреЛ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рд╢рд╛рдпрдж) рдЕрдзрд┐рдХ-рдЕрджреНрд╡рд┐рддреАрдп рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред (рдореБрдЭреЗ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдореВрд▓ рд╡рд░реНрдЧ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рд╕рдЪ рд╣реИ рдпрд╛ рдирд╣реАрдВред)

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

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

рдореИрдВрдиреЗ рдкреБрд░рд╛рдиреЗ рдХрдо рд╕рд┐рдВрдЯреИрдХреНрд╕ рдФрд░ рдЯреАрдПрд╕ рдХреЗ рд╕рд╛рде рдЯреНрд░рд╛рдВрд╕рдкрд╛рдЗрд▓ рдХрд┐рдП рдЧрдП рд╡рд░реНрдЧ рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдиреЛрдб рдФрд░ рдПрдХ рд╡рд┐рд░рд╛рд╕рдд рд╕рдорд╛рд░реЛрд╣ рдХреЗ рдирдВрдЧреЗ-рд╣рдбреНрдбрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд▓рд┐рдЦрд╛ред рдЧреЗрдЯ рдХреЗ рдареАрдХ рдмрд╛рд╣рд░, рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдиреЛрдб 25% рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА/рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЦрдкрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд┐рдП рдЧрдП рдиреЛрдб рдХреЗ рдХрд┐рд╕реА рднреА рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реЛред

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

рдлрд┐рд░ рд╕реЗ, рдпрд╣ рдЕрдЯрдХрд▓реЗрдВ рд╣реИрдВ

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

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

рдореИрдВрдиреЗ рдЖрдЦрд┐рд░рдХрд╛рд░ рдЗрд╕рдХрд╛ рдкрддрд╛ рдХреИрд╕реЗ рд▓рдЧрд╛рдпрд╛

рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдХрд╣реВрдВ рддреЛ рдореБрдЭреЗ рдХрднреА рднреА рдХреНрд▓рд╛рд╕ рдкреИрдЯрд░реНрди рдкрд░ рд╢рдХ рдирд╣реАрдВ рд╣реБрдЖред рдореБрдЭреЗ рдкрддрд╛ рдерд╛ рдХрд┐ рдореВрд▓ ES5 рдХреЛрдб рд░рд┐рд╡рд░реНрд╕-рдмреЗрдмреЗрд▓рд┐рдлрд╛рдЗрдб рдХреЛрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдЪрд▓рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рддреАрд░ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреБрдЫ рд╕рдВрджреЗрд╣ рдерд╛ рдпрд╛ рдХрд╣реАрдВ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдлреИрд▓рд╛рдирд╛ рдерд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдЕрдк-рдЯреВ-рдбреЗрдЯ ES5 рд╢рд╛рдЦрд╛ рдереА, рдЗрд╕рд▓рд┐рдП рдПрдХ рджрд┐рди рдореИрдВрдиреЗ рдлрд┐рд░ рд╕реЗ lebab рдЪрд▓рд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рдХреЗрд╡рд▓ рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: let,class,commonjs,template ред рддрднреА рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рдерд╛ рдХрд┐ рдпрд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЯреЗрдореНрдкреНрд▓реЗрдЯрд┐рдВрдЧ рдпрд╛ рд▓реЗрдЯ-рдЯреВ-рд╡рд╛рд░ рдирд╣реАрдВ рдерд╛; рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рд╢рд╛рдпрдж рдЖрдпрд╛рдд-рд╕реЗ-рдЖрд╡рд╢реНрдпрдХрддрд╛ рдиреЗ рдХреБрдЫ рдХрд┐рдпрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдЙрд╕рдХреЗ рд╕рд╛рде рдЦреЗрд▓рд╛ред рд╡рд╣ рдХрдХреНрд╖рд╛рдПрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рддреЛ рдПрдХ рдЭреБрдХрд╛рд╡ рдкрд░, рдореИрдВ рд╕рднреА рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╡рд░реНрдЧреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реВрдВред рдмрдо, рдкреНрд░рджрд░реНрд╢рди рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рдерд╛ред

рдПрдХ рд╕рд╛рд╡рдзрд╛рди рдХрд╣рд╛рдиреА

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

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

рдкрд┐рдЫрд▓реЗ рдЧрдгрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЧрдгрд┐рдд = рд╣рдореЗрд╢рд╛ рдореЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЕрд▓рдЧ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИред

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

рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡реЗрдЪрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВрдиреЗ рд╕рдВрдХрд▓рд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ Object.assign рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЗрдЦрд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдЙрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдореВрд▓ ES class рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рддреЛ рдЕрдЧрд░ рд╣рдо рдкреБрд░рд╛рдиреЗ рд╡рд╛рддрд╛рд╡рд░рдг (рдЬреИрд╕реЗ IE11, рдиреЛрдб 4, ...) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рд╣рдо ES5 рддрдХ рдЯреНрд░рд╛рдВрд╕рдкрд╛рдЗрд▓ рдХрд┐рдП рдмрд┐рдирд╛ рдореВрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╕рд╛рде рд╣реА, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмреЗрд╣рддрд░ рд╣реИ рдЕрдЧрд░ рд╣рдо рдкреНрд░рджрд░реНрд╢рди рдЧрд┐рд░рд╛рд╡рдЯ рдФрд░ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдлрд┐рдХреНрд╕ рдХреЛ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреНрд░рджрд░реНрд╢рди рдлрд┐рдХреНрд╕ рдХреЛ v3 рдореЗрдВ рд▓реИрдВрдб рдХрд░рдирд╛ рдФрд░ рдХреЗрд╡рд▓ v4 рдореЗрдВ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╣реИред

@ рдореИрдереНрдпреВ-рдбреАрди
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдИрдПрд╕ рд╡рд░реНрдЧ рдЕрдкрд░рд╛рдзреА рд╣реИрдВ рдкрд╛рдЧрд▓ рдбрд░рд╛рд╡рдирд╛ рд╣реИред
рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡реЗрдЪрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рддрд╛ рд╣реИ: _рд╡рд┐рд░рд╛рд╕рдд рдкрд░ рд╕рдВрд░рдЪрдирд╛_

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдлрд╡рд╛рдИрдЖрдИ; рдпрджрд┐ рдЖрдк рдПрдХ рдХреНрд▓реАрдирд░ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╡рд┐рд░рд╛рд╕рдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрджрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ Object.create рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:

var Node = function() {
  this.foo = 'bar';
}
Node.prototype = Object.create();
Node.prototype.constructor = Node;

var Inherited = function() {
  Node.prototype.constructor.call( this );
  this.value = 1;
}
Inherited.prototype = Object.create( Node.prototype );
Inherited.prototype.constructor = Inherited;

var myNode = new Inherited();

рдлрд┐рд░ рдЖрдк рдЧреБрдгреЛрдВ рдХреЛ рдЙрди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╕рдорддрд▓ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рддрдм рд╕рдорд╛рди рдЖрдХрд╛рд░ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ; рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдЖрдХрд╛рд░ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ; _рдФрд░_ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдХреНрд░реЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрддреЗ рд╣реИрдВред рдореИрдВ

@ рдЬрд╕реНрдЯрд┐рдиреЛ

рдореИрдВрдиреЗ рд╕рдВрдХрд▓рд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ Object.assign рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЗрдЦрд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдЙрди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдореВрд▓ ES рд╡рд░реНрдЧ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рддреЛ рдЕрдЧрд░ рд╣рдо рдкреБрд░рд╛рдиреЗ рд╡рд╛рддрд╛рд╡рд░рдг (рдЬреИрд╕реЗ IE11, рдиреЛрдб 4, ...) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рд╣рдо ES5 рддрдХ рдЯреНрд░рд╛рдВрд╕рдкрд╛рдЗрд▓ рдХрд┐рдП рдмрд┐рдирд╛ рдореВрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рд╣реИ рдпрд╛рдиреА рдСрдмреНрдЬреЗрдХреНрдЯ.рдЕрд╕рд╛рдЗрди рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рдЙрддрд░рд╛ рд▓реЗрдХрд┐рди рдЖрдкрдХреА рдмрд╛рдд рдорд╛рди рд▓реА рдЧрдИред рдореИрдВ рдмрд╕ [Something].prototype.property рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рдерд╛: /

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

рд╕рд╛рде рд╣реА, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмреЗрд╣рддрд░ рд╣реИ рдЕрдЧрд░ рд╣рдо рдкреНрд░рджрд░реНрд╢рди рдЧрд┐рд░рд╛рд╡рдЯ рдФрд░ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдлрд┐рдХреНрд╕ рдХреЛ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреНрд░рджрд░реНрд╢рди рдлрд┐рдХреНрд╕ рдХреЛ v3 рдореЗрдВ рд▓реИрдВрдб рдХрд░рдирд╛ рдФрд░ рдХреЗрд╡рд▓ v4 рдореЗрдВ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╣реИред

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

@rjgotten AFAIK рд╡рд╣реА рд╣реИ рдЬреЛ рдПрдХ рд╡рд░реНрдЧ рдкреИрдЯрд░реНрди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рдЗрд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдЬрдм рддрдХ рдореИрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рдирд╣реАрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБред рддреЛ тАНя╕Пред рдпрджрд┐ рдпрд╣ рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░ рд░рд╣рд╛ рд╣реИ рддреЛ рдореИрдВ рд▓реЗрд╕ рдХреЗ рдиреЛрдб рдЗрдирд╣реЗрд░рд┐рдЯреЗрдВрд╕ рдкреИрдЯрд░реНрди рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ (рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореИрдВ рдЗрд╕ Object.assign рдХреЙрд▓ рдХреЛ @Justineo рдХреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣рдЯрд╛ рд╕рдХрддрд╛ рд╣реВрдВред)

@Justineo @rjgotten рдЖрдк рдЗрд╕ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: [email protected]+b1390a54

рдмрд╕ рдХреЛрд╢рд┐рд╢ рдХреА:

| рд╕рдВрд╕реНрдХрд░рдг | рд╕рдордп |
| -- | -- |
| v3.9.0 | ~1.6s |
| v3.10.0~v3.11.1 | ~3.6s |
| v3.11.2+ | ~12s |
| 4.0.1-alpha.2+b2049010 | ~1.6s |
| 3.13.0-alpha.10+b1390a54 | ~4.7s |

рдкреА.рдПрд╕. Node.js v12.13.1 рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдореИрдВ рдХреНрдпрд╛ рд╣реВрдБред

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

рд╕рдВрд╕реНрдХрд░рдг | рд╕рдордп | рдкреАрдХ рдореЗрдореЛрд░реА
:--------------------------|----------:|---------------:
3.9 | 35376ms | 950MB
3.11.3 | 37878ms | 920рдПрдордмреА
3.13.0-alpha.10+b1390a54 | 34801ms | 740MB
3.13.1-рдЕрд▓реНрдлрд╛.1+84рдбреА40222 | 37367ms | 990MB
4.0.1-alpha.2+b2049010 | 35857ms | 770рдПрдордмреА

рдореЗрд░реЗ рд▓рд┐рдП 3.13.0 _best_ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ...

3.11.3 рдореЗрдВ рдпрд╣ рднреА рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рднрдЧреЛрдбрд╝рд╛ рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореИрдВрдиреЗ 3.11.1 рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рджреЗрдЦрд╛ рдерд╛ред
рд▓реЗрдХрд┐рди 4.0.1 рдФрд░ 3.13.0 рдмреАрдЯрд╛ рдЕрднреА рднреА рдмреЗрд╣рддрд░ рд╣реИрдВред

рдХреИрд╢ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ 3.13.1 рдореЗрд░реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╡рд┐рд╢реНрд╡ рд╕рдВрдХрд▓рди рд╕рдордп рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред

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

рдпрд╣рд╛рдВ рдЯреНрд░реА рдкрд░ рдЗрдирд╣реЗрд░рд┐рдЯреЗрдВрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рдХрд╛рд╢рд┐рдд рдмрд┐рд▓реНрдб рд╣реИ, рдФрд░ рдкрд╛рд░реНрд╕ рдЯреНрд░реА рдХреИрд╢ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: [email protected]+e8d05c61

рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдорд╛рдорд▓рд╛

https://github.com/ecomfe/dls-tooling/tree/master/packages/less-plugin-dls

рдкрд░рд┐рдгрд╛рдо

| рд╕рдВрд╕реНрдХрд░рдг | рд╕рдордп |
| -- | -- |
| v3.9.0 | ~1.6s |
| v3.10.0~v3.11.1 | ~3.6s |
| v3.11.2+ | ~12s |
| 4.0.1-рдЕрд▓реНрдлрд╛.2| ~1.6s |
| 3.13.0-рдЕрд▓реНрдлрд╛.10| ~4.7s |
| 3.13.0-рдЕрд▓реНрдлрд╛.12 | ~1.6s |

Node.js рд╕рдВрд╕реНрдХрд░рдг

v12.13.1


рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдореИрдВ рдЕрдкрдиреЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реВрдВрдЧрд╛ред

рдореЗрд░реЗ рд▓рд┐рдП alpha.10 рд╕реЗ рдереЛрдбрд╝рд╛ рдЦрд░рд╛рдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рднрд┐рдиреНрдирддрд╛ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

рд╕рдВрд╕реНрдХрд░рдг | рд╕рдордп | рдкреАрдХ рдореЗрдореЛрд░реА
:--------------------------|----------:|---------------:
3.9 | 35376ms | 950MB
3.11.3 | 37878ms | 920рдПрдордмреА
3.13.0-alpha.10+b1390a54 | 34801ms | 740MB
3.13.0-alpha.12+e8d05c61 | 36263ms | 760рдПрдордмреА
3.13.1-рдЕрд▓реНрдлрд╛.1+84рдбреА40222 | 37367ms | 990MB
4.0.1-alpha.2+b2049010 | 35857ms | 770рдПрдордмреА

@ рдореИрдереНрдпреВ-рдбреАрди, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдХреЛрдб рдЕрднреА рддрдХ 4.0.1-alpha.2+b2049010 рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рд╣реИред рдореИрдВ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдЕрдкрдиреЗ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдЖрдЬрдорд╛ рд╕рдХрддрд╛ рд╣реВрдВред

@rjgotten рд╣рд╛рдБ, рдЖрдкрдХреЗ рдЯреЗрд╕реНрдЯ рдХреЗрд╕ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░ рдорд╛рдореВрд▓реА рд▓рдЧрддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдирддреАрдЬрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ 3.x рдФрд░ 4.0 рджреЛрдиреЛрдВ рд░рд┐рд▓реАрдЬ рддреИрдпрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрдирд╕реБрд▓рдЭреЗ рдХреЗ рд╕рд╛рде 4.0 рдзрдХреНрдХрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдЬрд▓реА рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ред рд╢реБрдХреНрд░ рд╣реИ, рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣реЛ рдЧрдпрд╛ рд╣реИред

рджреВрд╕рд░реА рд╡рд╕реНрддреБ рдЬреЛ рдореИрдВ рдХрд░реВрдБрдЧрд╛ рд╡рд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рднреА рдПрдХ рдореБрджреНрджрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдерд┐рдпрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реАрдЖрдИ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдбрд╛рд▓рдирд╛ рд╣реИ рдЬреЛ рдХрдо рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдпрджрд┐ рдпрд╣ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд╕реАрдорд╛ рд╕реЗ рдиреАрдЪреЗ рдЖрддреА рд╣реИред

@ jrnail23 рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк 4.0 рдЕрд▓реНрдлрд╛ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдмреАрдЪ [email protected]+e8d05c61 рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ?

@ рдореИрдереНрдпреВ-рдбреАрди, рдореБрдЭреЗ рдЕрдкрдиреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд┐рд▓ рд░рд╣реЗ рд╣реИрдВ:

  • v3.9: 98 рд╕реЗрдХрдВрдб
  • v3.10.3: 161 рд╕реЗрдХрдВрдб
  • v3.13.0-alpha.12: 93-96 рд╕реЗрдХрдВрдб

рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╡рд╛рдкрд╕ рд╡рд╣реАрдВ рдЖ рдЧрдП рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ! рдЕрдЪреНрдЫрд╛ рдХрд╛рдо!

рдЕрдЪреНрдЫрд╛ рдХрд╛рдо!

рд╣рд╛рдБ, рдореИрдВ рджреВрд╕рд░реЗ рд╕реНрдерд╛рди рдкрд░ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдБ; рддреАрд╕рд░рд╛; рдФрд░ рдЪреМрдерд╛ рд╡рд╣ред
рдпрд╣ рдПрдХ рдмреБрд░рд╛, рдмреБрд░рд╛ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рддрд┐рдЧрдорди рдерд╛ рдЬрд┐рд╕реЗ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ _lot_ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдХрд╛рдо_рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛_рдХрд┐рдпрд╛ред

рдареАрдХ рд╣реИ рдЯреАрдо! рдореИрдВ 3.x рдмрд┐рд▓реНрдб рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдХреБрдЫ рд╕рдордп рдмрд╛рдж, рд╢рд╛рдпрдж рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣, 4.0 рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВред рджреЛрдиреЛрдВ рдХреЗ рдкрд╛рд╕ рдЕрдм рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдбреАрдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рдж!

рд╡реИрд╕реЗ, рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрдо.рдЬреЗрдПрд╕ рдХреЛрдбрдмреЗрд╕ рдХреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реВрдВ, рдФрд░ рдХреБрдЫ рдкреНрд░рджрд░реНрд╢рди рдЯреНрдпреВрдирд┐рдВрдЧ/рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрд╡рд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ рддреЛ рдореИрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ! https://github.com/matthew-dean/less.js/compare/master...matthew-dean :next

рдХреБрдЫ рдЦрд╛рд╕ рдЬрд╣рд╛рдВ рдЖрдк рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрдВрдЦреЗрдВ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ? рдкреАрдЖрд░ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИ

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

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

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

yggi49 picture yggi49  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

matthew-dean picture matthew-dean  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

seven-phases-max picture seven-phases-max  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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