Jest: рдХреГрдкрдпрд╛ ES рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдореВрд▓ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рдирд╡ре░ 2017  ┬╖  81рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: facebook/jest

рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдмрдЧ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
рдореИрдВ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ?
рдЕрднреА рдЬреЗрд╕реНрдЯ import рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рд╕рд╛рде рдЯреЗрд╕реНрдЯ рд╕реВрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╡реЗ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо:

SyntaxError: Unexpected token import

      at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:305:17)
          at Generator.next (<anonymous>)
          at new Promise (<anonymous>)

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ?
рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЬреЗрд╕реНрдЯ рдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ ES рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рд╣реЛред

рдХреГрдкрдпрд╛ рдЕрдкрдирд╛ рд╕рдЯреАрдХ рдЬреЗрд╕реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рджрд╛рди рдХрд░реЗрдВ рдФрд░ рдЕрдкрдиреЗ рдЬреЗрд╕реНрдЯ, рдиреЛрдб, рдпрд╛рд░реНрди/рдПрдирдкреАрдПрдо рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВред
рдЬреЗрд╕реНрдЯ: 21.2.1
рдиреЛрдб: 8.9.0
рдПрдирдкреАрдПрдо: 5.5.1

рдкрд╣рд▓реЗ, ES рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдореВрд▓ рд╕рдорд░реНрдерди рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ node.js рдиреЗ рдЙрдирдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред рдХреБрдЫ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, node.js рдиреЗ рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде ES рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ (https://nodejs.org/api/esm.html)ред рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЬреЗрд╕реНрдЯ рдИрдПрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рдорд░реНрдерди рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдорд┐рд▓рд╛рди рдХрд░реЗрдЧрд╛, рд╢рд╛рдпрдж рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдпрд╛ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рднреАред

Node.js рдХреЛ .mjs рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд▓рд┐рдП ES рдореЙрдбреНрдпреВрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдИрдПрд╕ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЗрд╕реНрдЯ рдХреЛ рдЙрди рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдкрд╣рдЪрд╛рди рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдЬреЗрд╕реНрдЯ рдХреЛ рдиреЛрдб.рдЬреЗрдПрд╕ рдХреЛ рдПрдХ --experimental-modules рдзреНрд╡рдЬ рднреА рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдиреЛрдб рдмрд┐рдирд╛ рдзреНрд╡рдЬ рдХреЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рдорд░реНрдерди рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЗрд╕реНрдЯ рдХреЗ рднреАрддрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдЖрд╡рд╢реНрдпрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдЖрд╢рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдХрдард┐рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЬреЗрд╕реНрдЯ .mjs рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдмрд┐рдирд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рднреА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкрд╣рдЪрд╛рди рд▓реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдб рдЬреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдХрднреА рд╕рдВрднрд╡ рд╣реИ рдпрд╛ рдирд╣реАрдВред Node.js рдЙрд╕рдХреЗ рд▓рд┐рдП рд▓реЛрдбрд░ рд╣реБрдХ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ (https://nodejs.org/api/esm.html) рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдирд┐рд░реНрдзрд╛рд░рдг рдХреЗ рд╕рд╛рде рд╣рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдореЙрдбреНрдпреВрд▓ рд╣реИред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ ES рдореЙрдбреНрдпреВрд▓ рд╕рднреА рдореМрдЬреВрджрд╛ JS рдореЙрдбреНрдпреВрд▓ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдмреЗрд╣рддрд░реАрди рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред рдЗрд╕реЗ рдиреЛрдб.рдЬреЗрдПрд╕ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рдЬреЗрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рднреА рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рджреНрд╡рд╛рд░ рдЦреБрд▓ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдкрд╣рд▓реЗ рд╕рд╣реА рдорд╛рдпрдиреЗ рдореЗрдВ рдорд╛рдирдХреАрдХреГрдд рдЬреЗрдПрд╕ рдореЙрдбреНрдпреВрд▓ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рди рдХреЗрд╡рд▓ рдкреВрд░реЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ, рдмрд▓реНрдХрд┐ рдЯреНрд░рдл рдкрд░реАрдХреНрд╖рдг рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

Discussion ES Modules

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

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

рдЕрджреНрдпрддрди:

рдЕрдм рдореИрдВ esm рд╕рд╛рде рдЬреЗрд╕реНрдЯ рдХреЛ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ

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

рдЬреЗрд╕реНрдЯ рдХрд╛ рдЕрдкрдирд╛ require рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ (https://github.com/facebook/jest/blob/master/packages/jest-runtime/src/index.js), рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рд┐рд░реНрдл рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛ .mjs рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ред рдореИрдВ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдЭрдВрдбреЛрдВ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рднреА рдЦрд┐рд▓рд╛рдл рд╣реВрдВред

import / export рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЯреНрд░рд╛рдВрд╕рдкрд╛рдЗрд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рдмреНрджрд╛рд░реНрде рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЙрдкрдХреНрд░рдо рд╣реИ, рдФрд░ рд╕рдВрднрд╡рдд: рдиреЛрдб 6 рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рдХрд╛рд░рдг рдПрдХ рд╡рд░реНрд╖ рдХреЗ рд▓рд┐рдП рдЕрд╡рд░реБрджреНрдз рд╣реИред

рдореИрдВ рд╕рд┐рдореЗрдирдмреА рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред vm рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдиреЛрдб рдЯреАрдо рд╕реЗ рдХрдИ рд╣реБрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рджреМрд░рд╛рди рд╣рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдкреВрд░реНрдг рдореВрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдХреЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдмреЗрдмреЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдФрд░ рдЗрд╕реЗ babel-jest рдЕрдВрджрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рдХрд░рдХреЗред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдФрд░ рд╣рдореЗрдВ рд╡рд╣реА рдЧрд╛рд░рдВрдЯреА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдЬреЛ рдиреЛрдб рд░рдирдЯрд╛рдЗрдо рдХреЛ рд╡реИрд╕реЗ рднреА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рддреЛ рдмрд╕ babel-plugin-transform-es2015-modules-commonjs рдФрд░ babel-plugin-dynamic-import-node рдХреЛ babel-jest рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ?

рд╣рд╛рдБ, рдореИрдВ рдпрд╣реА рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ред

рджреЛрд╕реНрддреЛрдВ, https://github.com/standard-things/esm рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдпрд╣ рддреЗрдЬрд╝ рд╣реИ рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд┐рдирд╛рд░реЗ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред

@TrySound рд╡рд╣ рдареЛрд╕ рд░реВрдк рд╕реЗ рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛? рдХреНрдпрд╛ рдЖрдк рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ?

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛-рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдореЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ) рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕рд╕реЗ рдмрд╣реБрдд рдорджрдж рдорд┐рд▓реЗрдЧреАред

рдФрд░ рд╣рдореЗрдВ рдиреЛрдб рдХреЗ рдирд┐рдпрдореЛрдВ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдирд┐рдпрдореЛрдВ рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рд╕рд╣реА рд╣реЛрдиреЗ рдореЗрдВ рдмрд╣реБрдд рдЦреБрд╢реА рд╣реЛрдЧреА рдФрд░ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛: D

@std/esm рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рд╕рд┐рд░реНрдл рдордЬрд╛рдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: https://twitter.com/jdalton/status/930257653292400640

рдХреНрдпрд╛ рдХреЛрдИ рдЗрд╕реЗ рдШреБрдорд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рдкреАрдЖрд░ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рдЖ рд╕рдХрддрд╛ рд╣реИ? рдореИрдВ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣рд░ рдЬрдЧрд╣ рд╕рдорд░реНрдерди рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдкрд░реАрдХреНрд╖рдг рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

// test.js
require = require('@std/esm')(module, { esm: 'js', cjs: true });
const utils = require('./utils');
// utils.js
export { default as update } from './update';

рдпрд╣ рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИред

рддреЛ рдмрд╕ рдмреЗрдмреЗрд▓-рдкреНрд▓рдЧрдЗрди-рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо-рдПрд╕2015-рдореЙрдбреНрдпреВрд▓-рдХреЙрдордирдЬ рдФрд░ рдмреЗрдмреЗрд▓-рдкреНрд▓рдЧрдЗрди-рдбрд╛рдпрдирд╛рдорд┐рдХ-рдЖрдпрд╛рдд-рдиреЛрдб рдХреЛ рдмреЗрдмрд▓-рдЬреЗрд╕реНрдЯ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛?

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЛрдИ "рд▓рд╛рдкрддрд╛ рдирд┐рд░реНрдпрд╛рдд" рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ ES рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдореВрд▓реНрдпрд╡рд╛рди рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░рд┐рдПрдХреНрдЯ рд░реЗрдкреЛ рдореЗрдВ рдореИрдВрдиреЗ рдмрд┐рд▓реНрдб рдХреЛ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЪрд▓рд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рд░реЛрд▓рдЕрдк рдЗрди рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рдвреВрдВрдврддрд╛ рд╣реИ рд▓реЗрдХрд┐рди es2015-modules-commonjs рд╕рд╛рде рдЬреЗрд╕реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

@ std/esm рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рд╕рд┐рд░реНрдл рдордЬрд╛рдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

рдЙрдирдХреЗ рдЗрдВрдЯрд░рдСрдк рдореЗрдВ рдХреБрдЫ рд╕рдордп рдирд┐рд╡реЗрд╢ рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдмрд╣реБрдд рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рд╣реИрдХреА рд╕рдорд╛рдзрд╛рди рдЕрдВрддрддрдГ рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛: https://stackoverflow.com/questions/46433678/specify-code-to-run-before-any-jest-setup-happensред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ рд╕рд┐рд░реНрдл рдЬреЗрд╕реНрдЯ рдХреА рддрд░рдл рдХреБрдЫ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреА рдмрд╛рдд рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕рдорд░реНрдерд┐рдд рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

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

  1. .mjs рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП testMatch рдЧреБрдг рдХреЛ рдареАрдХ рдХрд░реЗрдВ
    (рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд░реЗрдЧреЗрдХреНрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╣реА рд▓рдЧрддрд╛ рд╣реИ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдПрдХ рд╣рд╛рд░реНрдб рдХреЛрдб рд╣реИ рдЬреЛ .mjs рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдЦрд╛рд░рд┐рдЬ рдХрд░ рд░рд╣рд╛ рд╣реИ)
  2. рдиреЛрдб.рдЬреЗрдПрд╕ рдЪрд▓рд╛рддреЗ рд╕рдордп --рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ-рдореЙрдбреНрдпреВрд▓ рдзреНрд╡рдЬ рдкрд╛рд╕ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдЪрд▓ рд╕рдХреЗ
  3. рдЬреЗрд╕реНрдЯ рдХреЛ .mjs рдХреЗ рд╕рд╛рде рдареАрдХ рдЙрд╕реА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕реЗ рдЖрдЬ .js (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП jest рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) - рдЖрдЬ .js рдХреЗ рдЕрдВрджрд░ рдЖрдпрд╛рдд рд╡рд┐рд╡рд░рдг рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЗрд╡рд▓ .mjs рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЕрдВрддрд┐рдо рд╕рдорд╛рдзрд╛рди рдЬрдЯрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рд╣реИ, рд╣реИ рдирд╛?

рд╣реИрд▓реЛ, рдХреНрдпрд╛ рдХреЛрдИ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ?

рд╣рдо "рдиреЛрдб --рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ-рдореЙрдбреНрдпреВрд▓" рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде .mjs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХреЛрдИ рдЙрдкрд╛рдп?

рд╣рдо "рдиреЛрдб --рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ-рдореЙрдбреНрдпреВрд▓" рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде .mjs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХреЛрдИ рдЙрдкрд╛рдп?

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

@std/esm рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рд╣рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рд╕реНрд╡рд╛рдЧрдд рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рд╣реИ!

@SimenB рдХреНрдпрд╛ рдЖрдк рдХрднреА hangouts рдкрд░ рдЪреИрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╣рд╛рдп @SimenB

рдПрдХ esm рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ esm + рдЬреЗрд╕реНрдЯ рдбреЗрдореЛ рдХрд╛ рдпреЛрдЧрджрд╛рди рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдзрд┐рдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЧрд╛рдп рдкрде рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЕрджреНрдпрддрди:

esm + рдЬреЗрд╕реНрдЯ рдбреЗрдореЛ рдХреЛ рдореВрд▓ рдореЙрдбреНрдпреВрд▓ рдирд╛рдо рдореИрдкрд┐рдВрдЧ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдпрд╣ рдмрд╣реБрдд рдордЬреЗрджрд╛рд░ рд╣реИ! рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдо рдПрдХреАрдХрд░рдг рдХреЛ рдХрд╣рд╛рдБ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рд╕реАрдПрд╕рдПрд╕ (рдпрд╛ рдЕрдиреНрдп рдЧреИрд░-рдЬреЗрдПрд╕ рд╕рдВрдкрддреНрддрд┐) рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓реЗрдЧрд╛? рдХреНрдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдмрд┐рд▓реНрдЯ-рдЗрди рдмреЗрдмреЗрд▓ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдЖрдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдбрд░ рдХреА рдмрд╛рдд рдХрд░реЗрдВ рддреЛ рдЬреЗрд╕реНрдЯ рдХреЛ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдЧрд░ рдпрд╣ рдХреБрдЫ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ?

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдореБрджрд╛рдп рдпреЛрдЧрджрд╛рди esm -рд╕рдХреНрд╖рдо рд╡реИрдХрд▓реНрдкрд┐рдХ рдЬреЗрд╕реНрдЯ рд░рдирд░ (рдпрд╛ рдПрдХ рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ/рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдзреНрд╡рдЬ) рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд╛рдн рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╣рдо рдЗрд╕ рддрд░рд╣ рдХреБрдЫ рдкреНрд░рдЧрддрд┐ рдХрд░ рд╕рдХреЗрдВред рдХреНрдпрд╛ рдЗрд╕рдореЗрдВ рдЬреЗрд╕реНрдЯ рдЯреАрдо рдХреА рдУрд░ рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреА?

require рдПрдХ рдзрд╛рд╡рдХ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рд╣реА рд╣реИред рдЗрд╕реЗ рдкреНрд▓рдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдпреЛрдЧрджрд╛рди рдХрд╛ рдмрд╣реБрдд рд╕реНрд╡рд╛рдЧрдд рд╣реИ (рд╕рдВрджрд░реНрдн #848)ред

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

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

рдЕрджреНрдпрддрди:

рдЕрдм рдореИрдВ esm рд╕рд╛рде рдЬреЗрд╕реНрдЯ рдХреЛ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ

@jdalton esm рд╕рдВрдЧрддрддрд╛ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЕрдкрдбреЗрдЯ?

рд╣рд╛рдп @JasonCust , рд╡рд╛рд╣ рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рдиреЗ рдХреБрдЫ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИ!

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

рдЕрдкрдбреЗрдЯ @jdalton рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЬреЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде esm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реВрдВред рддрд╛рдХрд┐ рдЬрдм рдЖрдк рдЙрди рдЪреАрдЬреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрдВ рддреЛ рдЖрдкрдХреЛ рдкрд░реЗрд╢рд╛рди рди рдХрд░реЗрдВ, рдХреНрдпрд╛ esm рд▓рд┐рдП рдХреЛрдИ рдХрд╛рд░реНрдп рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдкреНрд░рдЧрддрд┐ рдХреЗ рд╕рд╛рде рдкрд╛рд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЖрдк рдлреЙрд▓реЛ рд░реЗрдкреЛ рдХреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреЛ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬреЗрд╕реНрдЯ рд╕рдорд░реНрдерди v3.1.0 рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рдЖрдк рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдирдЬрд╝рд░ рд░рдЦ рд╕рдХреЗрдВред

@jdalton esm рдореЗрдВ рдЬреЗрд╕реНрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЦрдмрд░?

рд╣рд╛рдп @рджреАрдкрдЬ!

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

@jdalton рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИред рдФрд░ рдЖрдкрдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ!

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ :speak_no_evil:

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

рддреЛ рдмрд╕ babel-plugin-transform-es2015-modules-commonjs рдФрд░ babel-plugin-dynamic-import-node рдХреЛ babel-jest рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ?

рдЙрд╕ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдХреНрдпрд╛ рд╣реБрдЖ? рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рджрд┐рдХреНрдХрдд?

рд╣рд╛рдп @jdaltonред рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рд╣рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрджреНрдпрддрд┐рдд рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдпрджрд┐ рдореИрдВ рдЖрдкрдХреЛ рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдпрд╣ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдкрд┐рдЫрд▓реЗ/рдЕрдЧрд▓реЗ рдЫрд╣ рдорд╣реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдкреНрд░рд╛рдкреНрдд рд╣реЛред рд╢реБрдХреНрд░рд┐рдпрд╛ :)

рдирдорд╕реНрддреЗ @SurenAt93!

рдЖрдкрдХреЗ рдзреИрд░реНрдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдЬреЗрд╕реНрдЯ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдорд╣реАрдиреЗ рдХреЗ рдЕрдВрдд рддрдХ рд░рд┐рд▓реАрдЬ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЗрд╕рдХреЗ рд╕рд╛рде рдЖрдк esm рдХреЛ рдЬреЗрд╕реНрдЯ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВрдЧреЗред

рдардВрдбрд╛ред рд╡рд╣ рдкрд░рд┐рд╡рд░реНрддрди рдмрд╛рдмреЗрд▓ рд╕реЗ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рднрд┐рдиреНрди рд╣реИ?

@ рдХреЗрдиреЛрдЯреНрд░реЙрди

рдЬреЗрд╕реНрдЯ рдХреЗ transform рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП esm рд▓реЛрдбрд░ рдХреЛ рд╕рд╛рдЗрдб-рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЬрдмрдХрд┐ рдпрд╣ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рд╕реНрд░реЛрдд рдХреЛ рднреА рдмрджрд▓ рд░рд╣рд╛ рд╣реИ, рдпрд╣ esm рд▓реЛрдбрд░ рдХреЛ рднреА рддрд╛рд░-рддрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдпрджрд┐ рдкреНрд░рд╢реНрди рдЕрдзрд┐рдХ рд╣реИ рддреЛ Babel рдФрд░ esm рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИред рдмреИрдмреЗрд▓ рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ рдЬреЛ рд╕реНрд░реЛрдд рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ, рд▓рдХреНрд╖реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдИрдПрд╕рдПрдо рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред esm рд▓реЛрдбрд░ рдПрдХ рд╢реВрдиреНрдп рдирд┐рд░реНрднрд░рддрд╛ рд▓реЛрдбрд░ рд╣реИ рдЬреЛ рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реИред рддреЛ esm рдЧрддрд┐рд╢реАрд▓ import() рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкрд░реАрдХреНрд╖рдг 262 рдЪрд╢реНрдорд╛ (рдЕрд╕реНрдерд╛рдпреА рдореГрдд рдХреНрд╖реЗрддреНрд░, рд▓рд╛рдЗрд╡ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ, рдЕрдЧреНрд░рд┐рдо-рддреНрд░реБрдЯрд┐рдпрд╛рдВ, рдЖрджрд┐) рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕реАрдЬреЗрдПрд╕/рдИрдПрд╕рдПрдо/рдбрдмреНрд▓реНрдпреВрдПрдПрд╕рдПрдо рдХреЗ рдорд┐рд╢реНрд░рдг рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рд╡рд┐рдиреНрдпрд╛рд╕ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рд╛рджред

@jdalton рдЖрдкрдХреЗ рдХрд╛рдо рдФрд░ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

@ рдЯреЙрдорд╣реЗрд▓рд░ ;)

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

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВред

рдореИрдВрдиреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг Vue рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛, рдЬреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рднреА рдкреНрд░рдХрдЯ рдХрд░рддрд╛ рд╣реИред
https://github.com/igasparetto/vue-jest-test
рдореИрдВ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛ред

рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреГрд╖реНрдареЛрдВ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛:

рдореЗрд░реА рдорд╢реАрди (рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ):

  • рд╡рд┐рдВрдбреЛрдЬ 10 рдкреНрд░реЛ 64-рдмрд┐рдЯ
  • рдиреЛрдб v8.9.4
  • рд╡реНрдпреВ: 3.2.3
  • рдПрдирдкреАрдПрдо: 6.5.0

@ рдХреЗрдиреЛрдЯреНрд░реЙрди

рдЬреЗрд╕реНрдЯ рдХреЗ transform рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП esm рд▓реЛрдбрд░ рдХреЛ рд╕рд╛рдЗрдб-рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЬрдмрдХрд┐ рдпрд╣ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рд╕реНрд░реЛрдд рдХреЛ рднреА рдмрджрд▓ рд░рд╣рд╛ рд╣реИ, рдпрд╣ esm рд▓реЛрдбрд░ рдХреЛ рднреА рддрд╛рд░-рддрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдпрджрд┐ рдкреНрд░рд╢реНрди рдЕрдзрд┐рдХ рд╣реИ рддреЛ Babel рдФрд░ esm рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИред рдмреИрдмреЗрд▓ рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ рдЬреЛ рд╕реНрд░реЛрдд рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ, рд▓рдХреНрд╖реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдИрдПрд╕рдПрдо рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред esm рд▓реЛрдбрд░ рдПрдХ рд╢реВрдиреНрдп рдирд┐рд░реНрднрд░рддрд╛ рд▓реЛрдбрд░ рд╣реИ рдЬреЛ рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реИред рддреЛ esm рдЧрддрд┐рд╢реАрд▓ import() рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкрд░реАрдХреНрд╖рдг 262 рдЪрд╢реНрдорд╛ (рдЕрд╕реНрдерд╛рдпреА рдореГрдд рдХреНрд╖реЗрддреНрд░, рд▓рд╛рдЗрд╡ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ, рдЕрдЧреНрд░рд┐рдо-рддреНрд░реБрдЯрд┐рдпрд╛рдВ, рдЖрджрд┐) рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕реАрдЬреЗрдПрд╕/рдИрдПрд╕рдПрдо/рдбрдмреНрд▓реНрдпреВрдПрдПрд╕рдПрдо рдХреЗ рдорд┐рд╢реНрд░рдг рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рд╡рд┐рдиреНрдпрд╛рд╕ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рд╛рджред

@kenotron рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдПрдХ рдЕрдкрдбреЗрдЯ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@igasparetto , рдпрд╣ @jdalton рдХрд╛ рдХрд╛рдо рд╣реИ рдЬреЛ рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЙрд╕ рд╕рдорд╛рдзрд╛рди рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рдереАред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд╡реАрдирддрдо рд╕реНрдерд┐рддрд┐ рд╣реИ: https://twitter.com/jdalton/status/10800627279124934661

рд╣рд╛рдВ! рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдЗрд╕рдореЗрдВ рдореЗрд░реА рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧ рд░рд╣рд╛ рд╣реИред рд╕реНрдерд╛рдиреАрдп рддреМрд░ рдкрд░ рдЕрдм рдореЗрд░реЗ рдкрд╛рд╕ рд╕рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЯреЗрд╕реНрдЯ262 рдЯреЗрд╕реНрдЯ рдкрд╛рд╕ рд╣реЛ рд░рд╣реЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдордЬрд╝рд╛рдХ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рджреГрд╢реНрдп рдкрд░реАрдХреНрд╖рдг рдлрд┐рд╕рд▓ рдЧрдП, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рдкрд╕ рд▓реЗрдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рджреБрд░реНрдЧрдо рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдореИрдВ 16 рдЬрдирд╡рд░реА рдХреЛ Covalence Conf рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ рддрдм рддрдХ рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рдХреА рдЖрд╢рд╛ рдХрд░рддрд╛ рд╣реВрдБред рдЕрдиреНрдп рд╕рдорд╛рдЪрд╛рд░реЛрдВ рдореЗрдВ, npm tink рдиреЗ рдЕрдкрдиреЗ ESM рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛рдпрд╛ ред

16 рдЬрдирд╡рд░реА рдФрд░ рддрдм рддрдХ рд░рд┐рд▓реАрдЬ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ

@jdalton рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╕реНрддреБрддрд┐ рдЕрдЪреНрдЫреА рд░рд╣реАред

рдХреНрдпрд╛ рдЖрдкрдХреЛ рдХреГрдкрдпрд╛ рдЗрд╕ рд░рд┐рд▓реАрдЬрд╝ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рдорд┐рд▓рд╛ рд╣реИ?

@igasparetto рдпрд╣ рдореЗрдВ рд╣реИ https://github.com/standard-things/esm/issues/97#issuecomment -+рекрел,рекреп,реорел,реорепрем рдФрд░ рдореЗрдВ https://github.com/standard-things/esm/issues/706 тШ║я╕П

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

рдореИрдВрдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рджреЛрдиреЛрдВ рдкрдХреНрд╖реЛрдВ рдкрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдкрд░ рдЧрддрд┐ рдХреЗ рд▓рд┐рдП рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд▓ рдХрд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп, рд╢рдирд┐рд╡рд╛рд░ рдХреЛ рдХрдо рдирд╣реАрдВ рдмрд┐рддрд╛рдпрд╛ред рдИрдПрд╕рдПрдо, рдХреЙрдордирдЬреЗрдПрд╕, рдПрдПрдордбреА, рдХреНрдпрд╛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЧрдбрд╝рдмрдбрд╝ рд╣реИред рдореИрдВ рдХрднреА рднреА .mjs рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ ESM рд▓реЛрдбрд┐рдВрдЧ (рдиреЛрдб) рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬреЗрд╕реНрдЯ рдЯреЗрд╕реНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛ред рдореИрдВ рдЙрд╕реА рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рдерд╛ред рдореИрдВ рдПрдХ рдиреЛрдб "рдХреНрд▓рд╛рдЗрдВрдЯ" рдмрдирд╛ рд╕рдХрддрд╛ рдерд╛ рдЬреЛ рдПрдХ рдЖрдпрд╛рдд рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдерд╛ред рдореИрдВ рдЬреЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдпрд╛ рдмрд┐рдирд╛ esm рдХреЗ рд╕рдорд╛рди рдЖрдпрд╛рдд рд╡рд┐рд╡рд░рдг рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЬреЗрд╕реНрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред рдореИрдВрдиреЗ рдЕрдВрддрддрдГ рдПрд╡рд╛ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛, рдФрд░ рдмрд╕ рдЗрд╕реЗ рдЙрдирдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рдиреБрд╕реНрдЦрд╛ рдХреЗ рдмрд╛рдж рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛ред рд╣рд╛рдВ, рдореИрдВрдиреЗ рдПрдХ рдиреБрд╕реНрдЦрд╛ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛, рдореИрдВ рдЙрд╕ рдорд╢реАрдирд░реА рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рд╕рдордЭрддрд╛ рдЬрд┐рд╕рдиреЗ рд╕рднреА рднрд╛рдЧреЛрдВ рдХреЛ рдХрд╛рдо рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдЕрдм рдореИрдВ рдИрдПрд╕рдПрдо рд▓реЛрдбрд┐рдВрдЧ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИред рдореИрдВ рдПрдХ рд╣реА рд╕рдлрд▓рддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХреНрд╕рдЯреНрд░рдкрд▓реЗрд╢рди рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЙрдирдХреЗ рдкрд╛рд╕ рдПрд╡рд╛ рдХреЛ рд╡реЗрдмрд╕реНрдЯреЙрд░реНрдо рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдПрдХ рдиреБрд╕реНрдЦрд╛ рднреА рд╣реИред рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рд╡реЗ рдореЗрд░реЗ рдЬреИрд╕реЗ рдирд╢реНрд╡рд░ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╡реНрдпрдВрдЬрди рд╡рд┐рдзрд┐ рдкреЗрд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

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

рдирдП рдореЙрдбреНрдпреВрд▓ рдХреЗ рдкреНрд░рдХрд╛рд╢ рдореЗрдВ рдХреЛрдИ рдЦрдмрд░

@dandv рдореИрдВ рдХреБрдЫ рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдЬреЗрд╕реНрдЯ рдиреЛрдб 12 рдореЗрдВ рджреЗрд╢реА ES рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ vm.SourceTextModule API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреЗрд╕реНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП node рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ CLI рдЭрдВрдбреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

--experimental-modules --es-module-specifier-resolution=node --experimental-vm-modules

рдПрдкреАрдЖрдИ рд╕реБрдкрд░ рд▓реЛ-рд▓реЗрд╡рд▓ рднреА рд╣реИред

рдЯреАрдмреАрдбреАред

https://github.com/nodejs/node/issues/27387 рдореЗрдВ рдЪрд░реНрдЪрд╛

рдЕрджреНрдпрддрди: рдиреЛрдб рдХреЗ рдореЙрдбреНрдпреВрд▓ рд▓реЛрдбрд░ рдХрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рд▓реЙрдХ рд╣реЛрдиреЗ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдмреАрдЪ, рдорд╛рдирдХ-рдЪреАрдЬреЗрдВ/esm#ренрежрем рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд╢рд░реНрдд рд╣реЛ рд╕рдХрддреА рд╣реИред

рдЬреЗрд╕реНрдЯ рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдкрд░реАрдХреНрд╖рдг рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред рдИрдПрд╕рдПрдо рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ!

рдЕрджреНрдпрддрди: рдиреЛрдб рдХреЗ рдореЙрдбреНрдпреВрд▓ рд▓реЛрдбрд░ рдХрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рд▓реЙрдХ рд╣реЛрдиреЗ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдмреАрдЪ, рдорд╛рдирдХ-рдЪреАрдЬреЗрдВ/esm#ренрежрем рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рджрд╛рдВрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдордЬрд╛рдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛, рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИред

@jdalton рд╣рдо lodash-es рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ lodash-es рд╡реЗрдмрдкреИрдХ v4 рдХреЗ рд╕рд╛рде рдЯреНрд░реА рд╢реЗрдХреЗрдмрд▓ рд╣реИ! (тЧФ )тКГтФБтШЖя╛Я.*уГ╗.

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рд╣рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдБ рджреЗ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЬреЗрд╕реНрдЯ рдХреЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдХреЛрдИ ES рдореЙрдбреНрдпреВрд▓ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдлреАрдЪрд░ рдЬрд▓реНрдж рд╣реА рдЬреЗрд╕реНрдЯ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдЧрд╛ред рдЪрд╛рд╣реЗрдВрдЧреЗ рдХрд┐рд╕реА рдХреЛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрддрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛ lodash-рдПрд╕ рдЬреЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо?

рдЬреЗрд╕реНрдЯ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ:

node_modules\lodash-es\lodash.js:10
    export { default as add } from './add.js';
    ^^^^^^

    SyntaxError: Unexpected token export

рд╣рдорд╛рд░реЗ jest.config.js

рд╣рдо рдЬреЗрд╕реНрдЯ-рдкреНрд░реАрд╕реЗрдЯ-рдХреЛрдгреАрдп рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

module.exports = {
  testMatch: ['**/+(*.)+(spec|test).+(ts|js)?(x)'],
  transform: {
    '^.+\\.(ts|js|html)$': 'ts-jest'
  },
  resolver: '@nrwl/builders/plugins/jest/resolver',
  moduleFileExtensions: ['ts', 'js', 'html'],
  collectCoverage: true,
  coverageReporters: ['html']
};

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рд╣рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдБ рджреЗ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЬреЗрд╕реНрдЯ рдХреЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдХреЛрдИ ES рдореЙрдбреНрдпреВрд▓ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдлреАрдЪрд░ рдЬрд▓реНрдж рд╣реА рдЬреЗрд╕реНрдЯ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдЧрд╛ред рдЪрд╛рд╣реЗрдВрдЧреЗ рдХрд┐рд╕реА рдХреЛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрддрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛ lodash-рдПрд╕ рдЬреЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо?

рдЬреЗрд╕реНрдЯ рдХреЛ рдмрддрд╛рдПрдВ рдХрд┐ рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдо рдХрд░рддреЗ рд╕рдордп рд▓реЙрд╢-рдПрд╕ рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рди рдХрд░реЗрдВ:

  "transformIgnorePatterns": [
    "[/\\\\]node_modules[/\\\\](?!lodash-es/).+\\.js$"
  ],

@azz рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдЬрдм рдиреЛрдб рдХреЗ рдореЙрдбреНрдпреВрд▓ рд▓реЛрдбрд░ рдХрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рд▓реЙрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛?
рдЪреВрдВрдХрд┐:

npx -n '--experimental-modules' jest func.spec.js

рдЗрддрдирд╛ рд╢рд╛рдВрдд рдФрд░ рдЖрд╕рд╛рди рдЬреАрд╡рди рд╣реЛрдЧрд╛ред

рдЪреВрдВрдХрд┐ Node.js v12.0.0 2019-04-23 рдХреЛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╕рдм рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рдмрджрд▓ рдЧрдпрд╛

рдореИрдВрдиреЗ npm рдкреИрдХреЗрдЬ рдмреЗрдмреЗрд▓ рдХреЗ рд╕рд╛рде рдЯреВрдЯ рдЧрдИ рдереАрдВ
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Node.js 12+ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрд╛рдиреАред package.json рдФрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди .js . рдореЗрдВ "рдЯрд╛рдЗрдк: рдореЙрдбреНрдпреВрд▓"
jest-esnext рдореЗрдВ рд░рдгрдиреАрддрд┐ рд╕рднреА рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓рд┐рдВрдЧ рдХреЛ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдореЗрдВ рдХрд░рдирд╛ рд╣реИ рддрд╛рдХрд┐ рдПрдХ рд╕реНрдерд┐рд░ рдмреЗрдмрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░рд╛рдкреНрдд рд╣реЛ рд╕рдХреЗред рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдмреЗрдмреЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ

https://www.npmjs.com/package/jest-esnext

https://github.com/haraldrudell/ECMAScript2049/tree/master/packages/jest-esnext

@haraldrudell рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдпрд╣ рдХрд╣рддрд╛ рд╣реИ: package.json рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо jest.config.js рд╕рд╛рдордЧреНрд░реА module.exports = require('jest-esnext') , рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ? рдХреИрд╕реЗ рдПрдХреАрдХреГрдд рдХрд░реЗрдВ?

рдпрд╣ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рд╣реИ

https://github.com/haraldrudell/ECMAScript2049/blob/master/packages/jest-esnext/config/jest.config.js

рдЖрдк _default рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЕрдкрдиреЗ jest.config.js рд╕реЗ рдмрджрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ

рд╣рд╛рдп рджреЛрд╕реНрддреЛрдВ,
рдиреЛрдб резреи.резрей.реж рдПрд▓рдЯреАрдПрд╕ рдЖрдЦрд┐рд░рдХрд╛рд░ рдЬрд╛рд░реА рд╣реЛ рдЧрдпрд╛ ... рдЙрд╕ рдорд╛рдорд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЦрдмрд░?

@ mtsmachado8 рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдкрд░ v8 рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдЕрднреА рднреА рдХреБрдЫ рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ESM рдореЙрдбреНрдпреВрд▓ рдЕрднреА рднреА рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╝реНрд▓реИрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ ... рд╡реЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рд░реЛрдбрдореИрдк рдкрд░ рд╡рд┐рдлрд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

https://nodejs.org/api/esm.html

рдзреНрд╡рдЬрд╛рдВрдХрд┐рдд рдИрдПрд╕рдПрдо рдХреЗ рд▓рд┐рдП рдпрд╣ рдкреАрдЖрд░ рдЬрдЧрд╣ рдореЗрдВ рд╣реИ
https://github.com/nodejs/node/pull/29866

@azder @haraldrudell рдореВрд▓ рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдЖрдк node_modules рд╕рд╣рд┐рдд рд╕рднреА рдЬреЗрдПрд╕ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрдмреЗрд▓ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдореЗрд╢рди рдХрд░рддреЗ рд╣реИрдВ?

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореБрдЭреЗ рд╕реАрдзреЗ рдЖрдкрдХреЗ рдкреНрд░реАрд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ:

const babelPreset7Esnext = require('babel-preset-7-esnext');
const babelJest = require('babel-jest');

module.exports = babelJest.createTransformer(
    babelPreset7Esnext(undefined, {decorators: {legacy: true}})
);

рдиреЛрдб рдореЗрдВ рдЕрдм рдореЙрдбреНрдпреВрд▓ рд╕рдорд░реНрдерди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЯреЙрдЧрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

https://github.com/nodejs/node/pull/29866

рдИрд╕реАрдПрдордПрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдорд░реНрдерди 13.2.0 рдореЗрдВ рдЙрддрд░рд╛

https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V13.md#13.2.0

рд▓реЛрдбрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рддрдХ рд╣рдо рдЗрд╕ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдЙрдирдХреЗ рдмрд┐рдирд╛, рдиреЛрдб рдХреЗ рдкрд╛рд╕ рд╣реБрдХ рдирд╣реАрдВ рд╣реИрдВ рдЬреЗрд╕реНрдЯ рдХреЛ рдЙрдЪрд┐рдд рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рджреЗрдЦреЗрдВ https://medium.com/@nodejs/announcing -core-node-js-support-for-ecmascript-modules-c5d6dc29b663 (рдореИрдВ рд╕реАрдзреЗ рд╕реЗрдХреНрд╢рди рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ "рд╡рд░реНрдХ рдЗрди рдкреНрд░реЛрдЧреНрд░реЗрд╕" рд╣реИред рддрд▓ рдкрд░)

рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рджреЗрд╢реА рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЬрдм рдЖрдк рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрдВ рддреЛ рдореИрдВ рдиреЛрдб v. резрей.реи.реж рдХреЗ рд▓рд┐рдП рдПрдХ рддреНрд╡рд░рд┐рдд рд╕реБрдзрд╛рд░ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ:
рдмреЗрдмрд▓-рдкреНрд▓рдЧрдЗрди-рд░реВрдкрд╛рдВрддрд░рдг-рдбрд┐рдлрд╝реЙрд▓реНрдЯ-рдЖрдпрд╛рдд
рдЙрдкрдпреЛрдЧ (_package.json_ рдореЗрдВ):

{
  "babel": {
    "presets": [
      [
        "@babel/preset-env",
        {
          "targets": {
            "node": "current"
          }
        }
      ]
    ],
    "plugins": ["transform-default-import"]
  },
}

Libs рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
npm i --save-dev @babel/core @babel/preset-env babel-plugin-transform-default-import

рдиреЛрдЯ: рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ libs рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рдирд┐рд░реНрдпрд╛рдд рд╣реИ (рдпрд╛ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ)

@infodusha рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ :)ред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╢реБрдХреНрд░рд┐рдпрд╛ред

рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдпрд╣ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

npm i --save-dev @babel/preset-env

babel.config.js (рдЗрд╕рдХрд╛ рдирд╛рдо рдЗрд╕рд▓рд┐рдП рд░рдЦрд╛ рдЬрд╛рдирд╛ рдерд╛, рди рдХрд┐ .babelrc ):

module.exports = {
    presets: [
        [
            '@babel/preset-env',
            {
                targets: {
                    node: '13.2',
                },
                modules: 'commonjs',
            },
        ],
    ],

    plugins: [],
};

рдЪрд╛рд▓ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдЕрд▓рдЧ рдХрд░рдирд╛ рдФрд░ рдЙрдирдореЗрдВ рдЙрдкрдпреБрдХреНрдд package.json рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ:

test рдбреАрдЖрдИрдЖрд░ рдореЗрдВ, рдореИрдВрдиреЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛

{
  "type": "commonjs"
}

рдЬрдмрдХрд┐ src рдбреАрдЖрдИрдЖрд░ рдореЗрдВ:

{
  "type": "module"
}

@azder рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдкреИрдХреЗрдЬ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рджреЗрд╢реА рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЖрдпрд╛рдд рдирд╛рдо рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдирд╛рдо рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЖрдпрд╛рдд рдХреЗ рд╕рд╛рде рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдмреЗрдмреЗрд▓ рдореЗрдВ рдЖрдкрдХреЛ рдирд╛рдорд┐рдд рдЖрдпрд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╕рдВрднрд╡рддрдГ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХреЛрдИ рдкреИрдХреЗрдЬ рдирд╣реАрдВ рд╣реИ, рдпрд╛ рдкреИрдХреЗрдЬ рдЬреЛ es6 рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рднреА рдкреИрдХреЗрдЬ рдЗрд╕реЗ рдХрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИрдВ

@infodusha рд╢рд╛рдпрдж рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдм рдХреНрдпрд╛ рдирд╣реАрдВ рд╣реИ? рдХреНрдпрд╛ рдЖрдкрдиреЗ рдореИрдВрдиреЗ рдЬреЛ рд▓рд┐рдЦрд╛ рд╣реИ рдЙрд╕реЗ рдЖрдЬрдорд╛рдпрд╛ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдвреВрдВрдвреА рдпрд╛ рдХреНрдпрд╛ рдЖрдк рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ?

рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ "рдЖрдпрд╛рдд рдкреИрдХреЗрдЬ рдЬреЛ рджреЗрд╢реА рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЖрдпрд╛рдд рдирд╛рдордХ рд╕рд╛рдорд╛рдиреНрдпрдЬ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ" рд╕реЗ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред

рдЕрдм рддрдХ рдореБрдЭреЗ .js рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд╛рд▓реА рд╕рднреА рдлрд╝рд╛рдЗрд▓реЗрдВ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ рдЬрд╣рд╛рдБ ./src рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ "type":"module" рдФрд░ ./test рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ "type":"commonjs" рд╕рд╛рде

const imported = require('../src/module.js').default;
const {anotherOne} = require('../src/module.js');

рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЬреЗрд╕реНрдЯ рдЪреБрдкрдЪрд╛рдк CommonJS рдХреЛрдб рдХреЗ рд▓рд┐рдП ES рдореЙрдбреНрдпреВрд▓ transpiles рд╣реИред

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

(async () => {
    const [
        { default: imported },
        { anotherOne },
    ] = await Promise.all([
        import('../src/some-module.js'),
        import('../src/another-module.js'),
    ]);

    // Rest of your test goes here.
})();

@azder рд╡реЗ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИрдВред

package.son type=module рдФрд░ рдЗрд╕рдореЗрдВ рджреЛ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде mymodule рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВ: first.js рдФрд░ second.js ред
рдлрд┐рд░ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ import { first } from "mymodule";

рдиреЛрдб рдИрдПрд╕рдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЬреЗрд╕рди рдореЗрдВ exports рдлрд╝реАрд▓реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЖрдЬрдХрд▓ рдХреЛрдИ рдкреИрдХреЗрдЬ рдирд╣реАрдВ рд╣реИ (рдпрд╛рдиреА: рд▓реЙрд╢)ред

рдЖрдкрдХрд╛ рдЙрджрд╛рд╣рд░рдг рдХрд╛рдо рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЬреИрд╕реЗ рд╣реА some-module.js рдпрд╛ another-module.js рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдирд╛рдорд┐рдд рдореЙрдбреНрдпреВрд▓ рдХреЛ import рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реА рдпрд╣ рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИ: рд╡реЗ рдХреИрд╕реНрдХреЗрдб рдкрд░ рддреЛрдбрд╝рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред

@damianobarbati You _ NEED _ "type":┬а"module" рдореЗрдВ package.json , рдЗрд╕рдХреЗ рдмрд┐рдирд╛, рдЖрдкрдХреЗ рдореЙрдбреНрдпреВрд▓ рдХреА рд╕рднреА .js рдлрд╛рдЗрд▓реЗрдВ CommonJS рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЛрдб рдХреА рдЬрд╛рдПрдВрдЧреАред

exports рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдмрд╛рд╣рд░реА рдЙрдкрднреЛрдХреНрддрд╛рдУрдВ рдХреЗ рд╕рдВрдкрд░реНрдХ рдореЗрдВ рдЖрдиреЗ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рд╢рд░реНрдд рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд▓рд┐рдП , рдЗрд╕рдХрд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИ рдХрд┐ .js рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ CommonJS рдпрд╛ ESM рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рдирд╣реАрдВред

@damianobarbati рдЖрдк рдЧрд▓рдд рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ @ Exe-Boss рдиреЗ рдХрд╣рд╛ рдерд╛, btw,

рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЬреЗрд╕реНрдЯ рдЪреБрдкрдЪрд╛рдк рдИрдПрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХреЙрдордирдЬреЗрдПрд╕ рдХреЛрдб рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдкрд╛рдЗрд▓ рдХрд░рддрд╛ рд╣реИред

рд╣рд╛рдВ, рдореИрдВ рдЬреЗрд╕реНрдЯ рдХреНрд╡рд░реНрдХреА рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ babel.config.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ devDependencies рдмреЗрдмреЗрд▓ рдХреЛ рдЬреЛрдбрд╝реЗ рдмрд┐рдирд╛ред

@damianobarbati

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╡рд░реНрдХрд┐рдВрдЧ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ, рдЗрд╕рдореЗрдВ рдореИрдВ рдЬреЗрд╕реНрдЯ рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬрдмрдХрд┐ src рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдЯрд╛рдЗрдк рд╣реИ, рдиреЛрдЯ, ./src рд╡рд╣ рд░реВрдЯ рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ рдмреЗрдмреЗрд▓ рдХреЙрдиреНрдлрд┐рдЧ рдлрд╛рдЗрд▓ рд╣реИ (рд╡рд╣ рдПрдХ рд╕реАрдЬреЗрдПрд╕ рд╣реИ рд╡рд┐рдЪрд┐рддреНрд░рддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг)ред

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

рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд▓рдХреНрд╖реНрдп рдХреЗрд╡рд▓ рдИрдПрд╕рдПрдо (рдЯреВрд▓рд┐рдВрдЧ рд╡рд╕рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬреЗрд╕реНрдЯ рдПрдХрдорд╛рддреНрд░ рдЕрдкрд╡рд╛рдж рд╣реИ рдЬреЛ рдЕрдкрдиреЗ рдЖрдк рд╣реА рдкрд╛рд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

@azder рдРрд╕рд╛ рдХреБрдЫ? https://github.com/damianobarbati/node-jest/tree/feature/azder-test

@damianobarbati

рдРрд╕рд╛ рд╣реА рдХреБрдЫ, рдпрд╣рд╛рдБ рдкреНрд░реЛрдЬреЗрдХреНрдЯ https://github.com/azder/clip рд╣реИ ред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдЕрдВрд╢ рдХреЗ рдЕрдВрддрд┐рдо рд╡рд╛рдХреНрдп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдореЗрд░реЗ package.json рдореЗрдВ "рдирд┐рд░реНрднрд░рддрд╛" рдирд╣реАрдВ рд╣реИ, рдореИрдВрдиреЗ NPM рд╕реЗ ESM рдФрд░ CJS рдореЙрдбреНрдпреВрд▓ рдХреЛ рдирд╣реАрдВ рдорд┐рд▓рд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

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

https://medium.com/@nodejs/announcing -a-new-experimental-modules-1be8d2d6c2ff

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдРрд╕рд╛ рдкреИрдХреЗрдЬ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрд╡рд╢реНрдпрдХрддрд╛ ('рдкреАрдХреЗрдЬреА') рдФрд░ рдЖрдпрд╛рдд 'рдкреАрдХреЗрдЬреА' рджреЛрдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, Node.js рдкреИрдХреЗрдЬ рдХреЗ ES рдореЙрдбреНрдпреВрд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрд┐рдВрджреБ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдореБрдЦреНрдп" рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдЕрдиреНрдп рдлрд╝реАрд▓реНрдб рдЪреБрди рд╕рдХрддрд╛ рд╣реИред рдЬрдмрдХрд┐ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╕рдореБрджрд╛рдп рдиреЗ "рдореЙрдбреНрдпреВрд▓" рдлрд╝реАрд▓реНрдб рдХреЛ рдЕрдкрдирд╛рдпрд╛ рд╣реИ, рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ Node.js рдЙрд╕ рдлрд╝реАрд▓реНрдб рдХреЛ рдЕрдкрдирд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ "рдореЙрдбреНрдпреВрд▓" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдП рдЧрдП рдХрдИ рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ ES рдореЙрдбреНрдпреВрд▓ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ Node.js рдореЗрдВ рдореВрд▓реНрдпрд╛рдВрдХрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рд╕реЗ рдЫреВрдЯ рдЧрдП рд╣реИрдВ, рдпрд╛ рдХреЛрдб рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╡рд░рдг рдЖрджрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ)ред рдХреГрдкрдпрд╛ Node.js рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖рд┐рдд рдХреЛрдИ рднреА ES рдореЙрдбреНрдпреВрд▓ рдкреИрдХреЗрдЬ рддрдм рддрдХ рдкреНрд░рдХрд╛рд╢рд┐рдд рди рдХрд░реЗрдВ рдЬрдм рддрдХ рдХрд┐ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рди рд╣реЛ рдЬрд╛рдПред

рдХреГрдкрдпрд╛ #9430 рджреЗрдЦреЗрдВ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЕрднреА рдЬреЗрд╕реНрдЯ рдореЗрдВ рд╕рдорд░реНрдерди рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЛрд▓рд╛ рд╣реИред рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рд░рдЦреВрдВрдЧрд╛ред

@SimenB рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдВрдХреЗрдд рд╣реИ! рдпрд╣ рдФрд░ рдЬреЗрд╕реНрдЯ 25 рд░рд┐рд▓реАрдЬ рдиреЛрдЯреНрд╕ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдЬрд▓реНрдж рд╣реА рд╕рдорд░реНрдерди рджреЗрдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рджреЗрддрд╛ рд╣реИред

@SimenB рдЕрдЧрд░ рдореБрдЭреЗ рд╕рд╣реА рд╕реЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдЬреЗрд╕реНрдЯ NPM рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдерд╛ рдЬреЛ рдХреЗрд╡рд▓ ESM рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдХреБрдЫ node_modules рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рднреА Babel рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реЛрддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдпрд╣ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ?

рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛрдб рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рддрдХ рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд рдХреЛ рдЯреНрд░рд╛рдВрд╕рдкрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА

@ рд╕рд┐рдореЗрдирдмреА :

рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛрдб рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рддрдХ рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд рдХреЛ рдЯреНрд░рд╛рдВрд╕рдкрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА

рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЕрдм рддрдХ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рд╕рднреА рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ /es/ dir рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд╛рдЬреБрдХ рд╣реИ рдФрд░ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

transformIgnorePatterns: ['node_modules/(?!.*?/es/.*\\.js)'],

рдЬреЗрд╕реНрдЯ type: module рдмрд╛рд╡рдЬреВрдж рдЙрди рдкреИрдХреЗрдЬ w/o рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдирд╣реАрдВ рдЙрдард╛рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рдХрд╣рд╛ рдерд╛ред

рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛрдб рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рддрдХ рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд рдХреЛ рдЯреНрд░рд╛рдВрд╕рдкрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА

рдЗрд╕ рдкрд░ рдХреЛрдИ рдХрдард┐рди рд╕рдордп рд╕рд╛рд░рд┐рдгреА?
рдиреЛрдб 14 рд░рд┐рд▓реАрдЬ рд╕реЗ:

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

Node.js рдореЗрдВ ESM рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрднреА рднреА рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо Node.js рдореЗрдВ ESM рдХреЛ "рд╕реНрдерд┐рд░" рдХрд╣рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм рдкрд╣реБрдВрдЪ рд░рд╣реЗ рд╣реИрдВред рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рд╣рдЯрд╛рдирд╛ рдЙрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рдмрдбрд╝рд╛ рдХрджрдо рд╣реИред

рдЬреИрд╕реЗ рдХрд┐ рдореИрдВ рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдирд┐рдЪреНрдЫреБрдХ рд╣реВрдВ (рдЬреЛ рдХрд┐ рдЬреЗрд╕реНрдЯ рдкрд░реАрдХреНрд╖рдг рдврд╛рдВрдЪреЗ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЙрдкрднреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) рдХреЙрдордирдЬреЗрдПрд╕ рдХрд╛ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред

рд╣рдо рдЬреЗрд╕реНрдЯ 25.4 рд╕реЗ рдПрдХ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╕рдВрд╕реНрдХрд░рдг рднреЗрдЬ рд░рд╣реЗ рд╣реИрдВред 25.5 рдореЗрдВ рдХреБрдЫ рдмрдЧ рдлрд┐рдХреНрд╕ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ рдЗрд╕реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдк #9430 . рдореЗрдВ рдкреНрд░рдЧрддрд┐ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

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

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

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

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

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

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

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