Fable: рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рд╕рдорд░реНрдерди рд╡рд╛рдкрд╕ рд▓рд╛рдПрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 15 рд╕рд┐рддре░ 2020  ┬╖  35рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: fable-compiler/Fable

рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ Fable 3 рд╢реБрд░реВ рдореЗрдВ F# рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рд╕рдорд░реНрдерди рдХреЗ рдмрд┐рдирд╛ рдЬрд╣рд╛рдЬ рдЬрд╛рдПрдЧрд╛ (рд╣рдо рдЗрд╕реЗ рдЕрдзрд┐рдХ рдкрдардиреАрдп JS рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рдХреНрд╖рддрд┐рдкреВрд░реНрддрд┐ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ) рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИ ред рдЬреИрд╕рд╛ рдХрд┐ Fable 3 рдПрдХ "рд╢реБрджреНрдз" рдбреЙрдЯрдиреЗрдЯ рдРрдк рд╣реИ, рд╣рдореЗрдВ рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЙрдЯрдиреЗрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдХреЛрдИ рднреА рдРрд╕рд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬреЛ рд╣рдорд╛рд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реЛред рдореЛрдЬрд╝рд┐рд▓рд╛ рдХреА рдЬреЗрдПрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдбреЙрдЯрдиреЗрдЯ (рдпрд╛ рддреЛ рдПрдл # рдпрд╛ рд╕реА #) рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╢рд╛рдпрдж рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╕рдореБрджрд╛рдп рдЗрд╕рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХреЗред

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

https://github.com/delneg/source-map-sharp
https://github.com/mozilla/source-map/blob/master/lib/source-map-generator.js рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рддреЗ рд╣реБрдП рдХреБрдЫ рдХрд╛рдо рд╢реБрд░реВ рдХрд┐рдпрд╛
рд╡рд╣рд╛рдВ, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХреЛрдб рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╕реАрдзрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА

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

рдХреНрдпрд╛ Fable 3 рдХреЛ рдЕрдм fable-compiler рдкреИрдХреЗрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ ( fable-loader рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)? ЁЯШ▒ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдиреЛрдб.рдЬреЗрдПрд╕ рдРрдк рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝реЗрдмрд▓-рд╕реНрдкреНрд▓рд┐рдЯрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╢реБрджреНрдз рдлрд╝реЗрдмрд▓ рдРрдк рдореЗрдВ рдмреЗрд╣рддрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдирдкреАрдПрдо рд╡рд┐рддрд░рдг рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╣рд░ рдЬрдЧрд╣ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдмрджрд▓рд╛рд╡ рд╣реЛрдЧрд╛ рдФрд░ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрда рдореЗрдВ рдереЛрдбрд╝рд╛ рджрд░реНрдж рд╣реЛрдЧрд╛: рдЯреЗрдореНрдкреНрд▓реЗрдЯ, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВред рдпрд╣ рдХрд╣рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ: npm upgrade fable-compiler рдФрд░ рдпрд╣ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ (рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рддреЛрдбрд╝реЗ рдмрд┐рдирд╛)

рдЪреВрдВрдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕реНрдерд╛рдиреАрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг-рдкрд┐рдирд┐рдВрдЧ рдХреЛ рддрдп рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП Fable 3 рдХреЛ рдПрдХ рдбреЙрдЯрдиреЗрдЯ рдЯреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рд╕рдВрднрд╡ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдиреНрдп рд╕рднреА F # рдЯреВрд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (Paket, Fake, Fantomas, Femto, Snowflaqe)ред рдлрд╝реЗрдмрд▓-рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рд╡рд┐рддрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдХрдЯ рд╣реЛрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛрдЧрд╛ред

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

dotnet tool install fable
npm upgrade fable-loader

рд╕рдВрднрд╡рддрдГ *.fs.js рдХреЛ .gitignore рдореЗрдВ рднреА рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВред fable-compiler рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЗрд╕реЗ рдЕрднреА рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛? рдФрд░, рдХреНрдпрд╛ рдХреЛрдИ рд╕реНрд╡реЗрдЪреНрдЫрд╛ рд╕реЗ рдирдП рдХрд▓реНрдкрд┐рдд-рд▓реЛрдбрд░ рдХреЛ рдмрдирд╛рдП рд░рдЦреЗрдЧрд╛? рдореИрдВ

рдлрд╝реЗрдмрд▓-рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рд╡рд┐рддрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдХрдЯ рд╣реЛрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛрдЧрд╛ред

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

рдореБрдЭреЗ рдлреИрдмрд▓-рд╕реНрдкреНрд▓рд┐рдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдиреЛрдб.рдЬреЗрдПрд╕ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдПрд▓рдЖрдИ рдЙрдкрдХрд░рдг рдкрд╕рдВрдж рд╣реИ

рдЪреВрдВрдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕реНрдерд╛рдиреАрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг-рдкрд┐рдирд┐рдВрдЧ рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП Fable 3 рдХреЛ рдПрдХ рдбреЙрдЯрдиреЗрдЯ рдЯреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореМрдЬреВрджрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдпрд╣ рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ?

рдЪрд░реНрдЪрд╛ рдХреЛ #2195 рдкрд░ рд▓реЗ рдЬрд╛рдирд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдФрд░ рдпрд╣ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░реЛрдВ рдХреЗ рдмрд┐рдирд╛ VSCode рдореЗрдВ launch.json рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдХреНрдпрд╛ рдпрд╣ рд╕рд╣реА рд╣реИ?

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

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

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

рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рд╢рд╛рдпрдж рдЬреЛ рдЕрднреА рдореЗрд░реЗ рд╕рд╛рде рд╣реБрдЖ рд╣реИ, рд╡рд╣ рд╣реЛрдЧрд╛ WebAssembly рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Mozilla/source-map рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП WebAssembly рд╕рдорд░реНрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдФрд░ рдлрд┐рд░ WASM рдХреЛ .NET рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ Wasmtime рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдореНрдмреЗрдб рдХрд░рдирд╛ ред рдореИрдВ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рд╕реЗ рдЙрддрдирд╛ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрдереЛрдЪрд┐рдд рдкреНрд░рджрд░реНрд╢рди рдХрд░рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдореВрд▓ рд╕реНрд░реЛрдд-рдорд╛рдирдЪрд┐рддреНрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рд╕рдордиреНрд╡рдпрд┐рдд рд░рдЦрдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рд╢рд╛рдпрдж рдЬреЛ рдЕрднреА рдореЗрд░реЗ рд╕рд╛рде рд╣реБрдЖ рд╣реИ, рд╡рд╣ рд╣реЛрдЧрд╛ WebAssembly рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Mozilla/source-map рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП WebAssembly рд╕рдорд░реНрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдФрд░ рдлрд┐рд░ WASM рдХреЛ .NET рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ Wasmtime рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдореНрдмреЗрдб рдХрд░рдирд╛ ред рдореИрдВ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рд╕реЗ рдЙрддрдирд╛ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрдереЛрдЪрд┐рдд рдкреНрд░рджрд░реНрд╢рди рдХрд░рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдореВрд▓ рд╕реНрд░реЛрдд-рдорд╛рдирдЪрд┐рддреНрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рд╕рдордиреНрд╡рдпрд┐рдд рд░рдЦрдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд▓рдЧрднрдЧ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ F# рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓рд░ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛-рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ...

рдкреВрд░реА рдЧрдВрднреАрд░рддрд╛ рд╕реЗ, рдПрдХ рдПрдл # рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдЧрд╛ред

https://github.com/delneg/source-map-sharp
https://github.com/mozilla/source-map/blob/master/lib/source-map-generator.js рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рддреЗ рд╣реБрдП рдХреБрдЫ рдХрд╛рдо рд╢реБрд░реВ рдХрд┐рдпрд╛
рд╡рд╣рд╛рдВ, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХреЛрдб рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╕реАрдзрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА

рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ @delneg , рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж! рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕реАрдзрд╛ рдЕрдиреБрд╡рд╛рдж рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рд╡рд╣ рдПрдл # рдореБрд╣рд╛рд╡рд░реЗрджрд╛рд░ рди рд╣реЛ, рдЕрдЧрд░ рд╣рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдореВрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЛ рд╕рд┐рдВрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ: +1:

рдореИрдВрдиреЗ рдХреБрдЫ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ (рдпрд╣рд╛рдВ https://github.com/delneg/source-map-sharp), рд▓реЗрдХрд┐рди рдореБрдЭреЗ "util.js" рдлрд╝рдВрдХреНрд╢рди рдЬреИрд╕реЗ util.join , util.relative рдорджрдж рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ source-map-generator.js

рдореБрдЭреЗ рд▓рдЧрднрдЧ рдпрдХреАрди рд╣реИ рдХрд┐ рд╣рдореЗрдВ F# рдкреНрд░рдХрд╛рд░ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдХрд╛рд░рдг util.getArg рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА, рдФрд░ рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рд╣рдореЗрдВ util.toSetString рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ '__proto__' рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдмрдЧ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдХ рд╣реИред

рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдпрд╣ рднреА рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реАрдПрд▓рдЖрдИ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░реЗрдВрдЧреЗ рдпрд╛ ...?

рдзрдиреНрдпрд╡рд╛рдж @ рдбреЗрд▓рдиреЗрдЧ! рдореИрдВ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдореЗрдВ рджреЗрдЦреВрдВрдЧрд╛ рдФрд░ рдореИрдВ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреАрдЖрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛: +1: рд╣рд╛рдВ, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ Fable.Cli рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдХреЗрд╡рд▓ рдЖрдкрдХреЗ Nuget рдкреИрдХреЗрдЬ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВрдиреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ SourceMapNode, SourceMapGenerator рдХрд┐рдП рд╣реИрдВ, рдФрд░ рд╡рд░реНрддрдорд╛рди рдкреНрд░рдЧрддрд┐ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ README.md рдмрдирд╛рдпрд╛ рд╣реИред
рд╕рд╛рде рд╣реА, рдЖрдк рдкрддрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рддрд░рд╣ рдХреА рдорджрдж рдХреА рдЬрд░реВрд░рдд рд╣реИред

рдпрд╣рд╛рдБ рдбреЙрдХреНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░ https://github.com/mozilla/source-map#generating -a-source-map , рдЬреЛ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИ рд╡рд╣ рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ ... (рдмрд┐рд▓реНрдХреБрд▓, рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдПрдЯреАрдПрдо)

рдпрд╣ рд╢рд╛рдирджрд╛рд░ рд╣реИ @delneg! рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рддреНрд╡рд░рд┐рдд рдкреНрд░рдпрд╛рд╕ рджрд┐рдпрд╛ рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ: +1: рдЕрдм рдореИрдВ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред

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

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

рдЕрднреА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ Fable Nuget рдЦрд╛рддрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рдо рдЕрдкрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЦрд╛рддреЗ рдХреЗ рд╕рд╛рде рдкреИрдХреЗрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдХреЗрд╡рд▓ 2-3 рдорд╛рд▓рд┐рдХреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВред рдпрджрд┐ рдЖрдк nuget.org рдореЗрдВ рдПрдХ рдЦрд╛рддрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдЯреЛрдХрди рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рдХрд╛рд╢рди рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ ред рдореИрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкреАрдЖрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдореБрдЭреЗ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╣рдпреЛрдЧреА рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдареАрдХ рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдордп рд╣реЛрдиреЗ рдкрд░ рдореИрдВ nuget рдкреНрд░рдХрд╛рд╢рди рд╕рд╛рдордЧреНрд░реА рджреЗрдЦ рд▓реВрдВрдЧрд╛
рд╕рд╛рде рд╣реА, рдореИрдВрдиреЗ рдЖрдкрдХреЛ рд░реЗрдкреЛ рдореЗрдВ рд╕рд╣рдпреЛрдЧреА рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИ
рдЕрдЧрд░ рдореИрдВ рдХрд░ рдкрд╛рдКрдВрдЧрд╛, рддреЛ рдореИрдВ рдПрдкреАрдЖрдИ рдХреЛ рднреА рдереЛрдбрд╝рд╛ рдкреЙрд▓рд┐рд╢ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рдФрд░ SourceGenerator рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛

рдореИрдВрдиреЗ SourceMapGenerator рдХреЗ рд▓рд┐рдП рдФрд░ рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреБрдЫ рдмрдЧ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдХрд┐рдпрд╛ рдЬреЛ рдЫреБрдкрд╛ рд░рд╣реЗ рдереЗред
рдХреБрдЫ рдЕрдм рдареАрдХ рд╣реЛ рдЧрдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрди рд╕рднреА рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЕрдиреНрдпрдерд╛ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдореИрдкрд┐рдВрдЧ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИ
рдЗрд╕рд▓рд┐рдП, nuget atm . рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рдереЛрдбрд╝рд╛ рдЬрд▓реНрджреА рд╣реИ
рдЕрдЧрд░ рдХреЛрдИ рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ - рдЕрд╕рдлрд▓ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ ( dotnet test )

https://www.nuget.org/packages/source-map-sharp/
рдореИрдВрдиреЗ nuget рдкреИрдХреЗрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, SourceMapGenerator рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореИрдкрд┐рдВрдЧ рдкреАрдврд╝реА (SerializeMapping рдлрд╝рдВрдХреНрд╢рди) рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ рдмрдЧреНрд╕ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореИрдВ SourceNode рдФрд░ рдЕрдиреНрдп рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛, рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ some1 util.relative / util.join рд╕рд╛рде рдорджрдж рдХрд░ рд╕рдХреЗ

рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ @delneg! рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ рдЫреБрдЯреНрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рдж рдзреАрд░реЗ-рдзреАрд░реЗ рдХрд╛рдо рдкрд░ рд╡рд╛рдкрд╕ рдЖ рд░рд╣рд╛ рд╣реВрдВ рдЗрд╕рд▓рд┐рдП рдЬрдм рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдореИрдВ рдЖрдкрдХреЗ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдПрдХ Fable 3.1 рдмреАрдЯрд╛ рд░рд┐рд▓реАрдЬ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛: +1:

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Fable рдХреЛ рд╕реНрд╡рдпрдВ SourceNode рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдкреВрд░реНрдгрддрд╛ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдЕрдиреНрдп рдЙрдкрднреЛрдХреНрддрд╛рдУрдВ рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд▓рдЧрднрдЧ util.relative/join , рдореИрдВ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рднреЗрдЬрдиреЗ рдХреА рднреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ .NET рдкрд░ рдЪрд▓реЗрдЧрд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ System.IO.Path.GetRelativePath рдФрд░ System.IO.Path.Combine рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред : https://docs.microsoft.com/en-us/dotnet/api/system.io.path?view=net-5.0

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, GetRelativePath netstandard2.0 рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ (рджреЗрдЦреЗрдВ https://docs.microsoft.com/en-us/dotnet/api/system.io.path.getrelativepath?view=net-5.0#applies -рдкреНрд░рддрд┐)
рд╕рдорд╛рдзрд╛рди netstandard2.1 рд╕реЗ рдЯрдХрд░рд╛рдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐)
util.join - рд╕рднреА рдЕрд╡рд╕рд░реЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ consumer -рд╕рдВрдмрдВрдзрд┐рдд рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬреЛ рдореИрдВ рдПрдЯреАрдПрдо рдирд╣реАрдВ рдХрд░реВрдБрдЧрд╛), рдЗрд╕рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рдЕрднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

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

.Net Standard 2.1 рдореЛрдиреЛ-рд╕рдВрдмрдВрдзрд┐рдд рдЪреАрдЬреЛрдВ рдХреЛ рдзреВрд▓ рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрдЧрд╛ (рдпрд╛рдиреА Xamarin рдЪреАрдЬреЗрдВ)ред рд▓реЗрдХрд┐рди Fable рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╢рд╛рдпрдж рдпрд╣ рдареАрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рд╡рд┐рдХрд╛рд╕-рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ рдФрд░ рдврд╛рдВрдЪреЗ рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдХреБрдЫ рднреА рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред

рддреЛ рдЕрдЧрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗрд╡рд▓ Fable рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, 2.1 рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЕрдиреНрдп .Net рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХрддрдо рд╕рдВрдЧрддрддрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 2.0 рдЙрд╕рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЖрджрд░реНрд╢ рд╣реИред

FWIW, рдХрд┐рд╕реА рдиреЗ StackOverflow рдкрд░ рдЗрд╕рдХрд╛ рд╕рд░рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛: https://stackoverflow.com/questions/275689/how-to-get-relative-path-from-absolute-path

.Net Standard 2.1 рдореЛрдиреЛ-рд╕рдВрдмрдВрдзрд┐рдд рдЪреАрдЬреЛрдВ рдХреЛ рдзреВрд▓ рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрдЧрд╛ (рдпрд╛рдиреА Xamarin рдЪреАрдЬреЗрдВ)ред рд▓реЗрдХрд┐рди Fable рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╢рд╛рдпрдж рдпрд╣ рдареАрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рд╡рд┐рдХрд╛рд╕-рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ рдФрд░ рдврд╛рдВрдЪреЗ рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдХреБрдЫ рднреА рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред

рддреЛ рдЕрдЧрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗрд╡рд▓ Fable рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, 2.1 рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЕрдиреНрдп .Net рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХрддрдо рд╕рдВрдЧрддрддрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 2.0 рдЙрд╕рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЖрджрд░реНрд╢ рд╣реИред

рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ, рдХрд┐рд╕реА рдиреЗ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рдЗрд╕рдХрд╛ рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛: stackoverflow.com/questions/275689/how-to-get-relative-path-from-absolute-path

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

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЕрдкрд▓реЛрдб 1.0.1 https://www.nuget.org/packages/source-map-sharp/1.0.1 netstandard2.1 рдХреЗ рд╕рд╛рде

рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ (#if рдХреЗ рд╕рд╛рде) рдЙрди рдЪреАрдЬреЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдорд▓реНрдЯреАрдЯрд╛рд░реНрдЧреЗрдЯрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ GetRelativePath рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВ, рддрд╛рдХрд┐ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ .Net рдорд╛рдирдХ 2.0 рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛред

рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ (#if рдХреЗ рд╕рд╛рде) рдЙрди рдЪреАрдЬреЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдорд▓реНрдЯреАрдЯрд╛рд░реНрдЧреЗрдЯрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ GetRelativePath рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВ, рддрд╛рдХрд┐ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ .Net рдорд╛рдирдХ 2.0 рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛред

рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕рд╛рдкреЗрдХреНрд╖ рдпреВрдЖрд░рдПрд▓ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ overcomplication рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ (рдХреЗрд╡рд▓ рдПрдЯреАрдПрдо рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП GetRelativePath рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ)

рдбреЙрдЯрдиреЗрдЯ рдЯреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╝реЗрдмрд▓ netcoreapp3.1 рд╣реИ, рдЗрд╕рд▓рд┐рдП netstandard2.1 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдареАрдХ рд╣реИ, рдмрд╕ рдЖрдкрдХреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдореЗрдВ Path.GetRelativePath(path, pathTo).Replace('\\', '/') рдЬреИрд╕реЗ рдЪрд▓рдиреЗ рдкрд░ рдкрде рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЕрдзрд┐рдХрддрдо рдЕрдиреБрдХреВрд▓рддрд╛ рдХреЗ рд▓рд┐рдП netstandard2.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░реЗ, рдЬреИрд╕рд╛ рдХрд┐ @jwosty рдмрддрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдорд╛рд░рд╛ рдЕрдкрдирд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдереЛрдбрд╝реА рджреЗрд░ рдореЗрдВ рдЫреБрдЖ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ: https://github.com/fable-compiler/Fable/blob/ba509a94a50522794d3e60f27dd826bb5602eca1/src/Fable.Transforms/Global/Prelude.fs#L508 -L555

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ Path.GetRelativePath рд╣рдореЗрд╢рд╛ рд╕рд╛рдкреЗрдХреНрд╖ рдкрде рдХреЗ рд╕рд╛рдордиреЗ рдПрдХ рдЕрд╡рдзрд┐ рдирд╣реАрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ:

> Path.GetRelativePath("/foo/bar", "/foo/bar/hoho/mir");;
val it : string = "hoho\mir"

рд╕реЛрд░реНрд╕рдореИрдкреНрд╕ рдпреВрдЖрд░рдПрд▓ рдХреЗ рд▓рд┐рдП рд╢рд╛рдпрдж рдЕрд╡рдзрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрде рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдЙрдкрд░реЛрдХреНрдд рдЕрдВрд╢ рдХреЗ 545-548 рдХреА рддрд░рд╣ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдореИрдВ рдКрдкрд░ рджреА рдЧрдИ рд╕рд╛рдордЧреНрд░реА рдХреА рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЬреЗрдПрд╕ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реВрдВрдЧрд╛ (test-util.js рдореЗрдВ рдХрд╛рдлреА рдЧреБрдЪреНрдЫрд╛ рд╣реИ), рд╢рд╛рдпрдж рд╣рдорд╛рд░реЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдЫ рдкреНрд░рд╢реНрди рд╢реЗрд╖ рд╣реИрдВ:
1) рд╢рд╛рдпрдж рд╣рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреЛ рд╕реНрд░реЛрдд-рдорд╛рдирдЪрд┐рддреНрд░-рддреЗрдЬ рднрдВрдбрд╛рд░ рдореБрджреНрджреЛрдВ рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
2) рдХреНрдпрд╛ рд╣рдо рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдбрдмреНрд▓реНрдпреВрдПрдПрд╕рдПрдо рд╕рдВрдХрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ (рдХреНрдпрд╛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдореВрд▓ рд╕реНрд░реЛрдд-рдорд╛рдирдЪрд┐рддреНрд░ рд░реЗрдкреЛ рдПрдЯреАрдПрдо рдореЗрдВ рдбрдмреНрд▓реНрдпреВрдПрдПрд╕рдПрдо рдЙрдкрдпреЛрдЧ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдкрддрд╛ рд╣реИ)?
3) рдХреНрдпрд╛ рд╕реНрд░реЛрдд-рдорд╛рдирдЪрд┐рддреНрд░-рддреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлреИрдмрд▓ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЕрдЧрд░ рдХреБрдЫ рднреА (рджрд╕реНрддрд╛рд╡реЗрдЬрд╝, рдкрд░реАрдХреНрд╖рдг, рдЕрддрд┐рд░рд┐рдХреНрдд рдПрдкреАрдЖрдИ рдЖрджрд┐ рд╕рд╣рд┐рдд)?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдареАрдХ рд╣реИ, рдпрд╣ рдЖрд╕рд╛рди рдерд╛, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╕реНрдЯрдо Util.getRelativePath рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдФрд░ рдорд╛рдореВрд▓реА рд╕рдВрд╢реЛрдзрди рдХреЗ рдмрд╛рдж рд╡реЗ рд╣рд░реЗ рд╣реЛ рдЧрдПред
рдХреНрдпрд╛ рд╣рдореЗрдВ netstandard2.0 рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░/рдпрд╛ 1.0.2 nuget рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ @delneg! ЁЯСП ЁЯЪА ЁЯСП

  1. рд╣рд╛рдВ, рдЪрд░реНрдЪрд╛ рдХреЛ рд╕реНрд░реЛрдд-рдорд╛рдирдЪрд┐рддреНрд░-рддреЗрдЬ рднрдВрдбрд╛рд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ: +1: рдЬрдм рдЖрдкрдХреЛ рдореЗрд░реЗ рдЗрдирдкреБрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рддреЛ рдХреГрдкрдпрд╛ рдореЗрд░рд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдореБрдЭреЗ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдорд┐рд▓ рд╕рдХреЗред
  2. рдореВрд▓ рд╕реНрд░реЛрдд-рдорд╛рдирдЪрд┐рддреНрд░ рдореЗрдВ WASM рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдБрдЪ рдирд╣реАрдВ рдХреА, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЧрдгрдирд╛рдУрдВ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП WASM рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдореЗрдВ .NET рдкреЛрд░реНрдЯ рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИред
  3. рдпрд╣ рдареАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ рдЗрди рджрд┐рдиреЛрдВ рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВ рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдЬрд▓реНрдж рд╣реА 3.1 рдмреАрдЯрд╛ рд░рд┐рд▓реАрдЬрд╝ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ рдЖрдк рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ 1.0.2 рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рд╣рдо рдмреАрдЯрд╛ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

Fable 3.1 рдмреАрдЯрд╛ рдХреЛ рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде @delneg рд╢рд╛рдирджрд╛рд░ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ! :рдЯрд╛рдбрд╛: https://twitter.com/FableCompiler/status/1347421291502997504

рд╢рд╛рдирджрд╛рд░ - рдПрдХ рдХрд▓реНрдкрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ: рдЗрд╕ @delneg рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

рдЕрджрднреБрдд рдЕрджрднреБрдд рдЕрджрднреБрдд !

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ @delneg! ЁЯСП ЁЯЪА ЁЯСП

1. Yes it makes sense to move discussion to source-map-sharp repository ЁЯСН Please mention me when you need my input so I get the notification.

2. Didn't check WASM usage in original source-map, but I assume they use it in environments supporting WASM to speed up numeric calculations. I don't think we need to worry about it in the .NET port.

3. It should be fine, I just didn't have much time these days, but I'll try to publish a 3.1 beta release soon with source maps ЁЯТк You can go ahead and publish 1.0.2 so we use this in the beta.

рдЖрдкрдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдореИрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕реНрд░реЛрдд-рдорд╛рдирдЪрд┐рддреНрд░-рддреЗрдЬ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдкреВрд░реА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рдФрд░ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХрд┐ рдпрд╣ рдЕрдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
1) рдореИрдВ рддрдм рд░реЗрдкреЛ рдХреЗ рдореБрджреНрджреЛрдВ рдореЗрдВ рд▓рд┐рдЦреВрдВрдЧрд╛, рдФрд░ рдпрджрд┐ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдкреНрд░рд╢реНрди рдЖрджрд┐ рд╣реИ - рдХреГрдкрдпрд╛ рд╕реНрд░реЛрдд-рдорд╛рдирдЪрд┐рддреНрд░-рддреЗрдЬ рдореЗрдВ рдПрдХ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВ
2) рд╣рд╛рдБ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП WASM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ред
рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рд╕реНрд░реЛрдд-рдорд╛рдирдЪрд┐рддреНрд░-рддреЗрдЬ рдХрд╛рдо рдХрд╛ WASM рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ .net рдореЗрдВ WASM рд╕рдВрдХрд▓рди рдХреА рд╕реНрдерд┐рддрд┐ рднрдпрд╛рдирдХ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдХрдард┐рди рд▓рдЧрддреА рд╣реИ (рдХреБрдЫ рдХрд╛рдо Uno.Platform.Bootstrap рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рджреЗрдЦрдХрд░ рд╕реНрд░реЛрдд рдХреЛрдб рдиреЗ рдореБрдЭреЗ рдмрд╣реБрдд рдирд┐рд░рд╛рд╢ рдХрд┐рдпрд╛)
рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрд╕реЛрд░реНрд╕-рдореИрдк-рд╢рд╛рд░реНрдк рдХреЛ .NET рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдЧрд░ рд╣рдореЗрдВ рдХрднреА рднреА рдЕрдзрд┐рдХ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рддреЛ рд╣рдо рд╣рдореЗрд╢рд╛ рд╕реНрдкреИрди рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВрдФрд░ рдЕрдиреНрдп .NET рд╕рд╛рдорд╛рди рдЗрд╕реЗ рддреЗрдЬрд╝ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП
рей) рдореИрдВрдиреЗ рез.реж.реи рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╣реА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ, рддреЛ рдмрд╕ рдЗрддрдирд╛ рд╣реАред
рдореИрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ Nuget рдХреЗ рдкреНрд░рдХрд╛рд╢рди рдХреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдпрджрд┐ рд╣рдореЗрдВ рдХреЛрдИ рдмрдЧ рдЖрджрд┐ рдорд┐рд▓реЗ (рдФрд░ рдПрдкреАрдЖрдИ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рди рдХрд░реЗрдВ)

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

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рд╢рд╛рдирджрд╛рд░ рдлреАрдЪрд░ рдХреЛ рд╡рд╛рдкрд╕ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд╛рдорд┐рд▓ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рдж

рдЕрджреНрднреБрдд рдХрд╛рд░реНрдп! рдореИрдВ рдЖрдЬ рд╡рд╛рдкрд╕ рдЖрдпрд╛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЙрдард╛ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдореЗрд░реА рдЦреБрд╢реА рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд╣рд▓реЗ рд╣реА рдкреВрд░рд╛ рд╣реЛ рдЪреБрдХрд╛ рд╣реИред рдореИрдВрдиреЗ рдЙрд╕ рд░реЗрдкреЛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЗрд╕ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рд┐рдП https://github.com/delneg/source-map-sharp рд░реЗрдкреЛ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд┐рдпрд╛ред рдлрд┐рд░ рд╕реЗ рдмрдврд╝рд┐рдпрд╛ рдХрд╛рдо!

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

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

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

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

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

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

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