Typescript: рдлрд╝рд╛рдЗрд▓ рдХреЗрд╡рд▓ рдЖрд╡рд░рдг рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╢рд╛рдорд┐рд▓ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рднрд┐рдиреНрди рд╣реИ: рд╕рд╣реА рдЖрд╡рд░рдг рд▓реЗрдХрд┐рди рд╕рд╛рдкреЗрдХреНрд╖ рдкрде

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

Error TS1149: File name 'C:/Project/frontend/scripts/State.ts' differs from already included file name '../frontend/scripts/State.ts' only in casing.

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

рдпрд╣ рдореИрдХ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдмрд╕ рдареАрдХ рд╕рдВрдХрд▓рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдлреЗрдВрдХрддрд╛ рд╣реИред

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

рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕ рд╕рдЯреАрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рд▓рдбрд╝рдЦрдбрд╝рд╛ рдЧрдпрд╛ред
рдХреБрдЫ рдЧреБрдЧрд▓реА рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдпрд╣ рдорд┐рд▓рд╛ред рдЖрдЦрд┐рд░реА рдЬрд╡рд╛рдм рдиреЗ рдореЗрд░реА рдЖрдВрдЦ рдкрдХрдбрд╝ рд▓реАред рддреЛ рдореИрдВ рдмрд╕ рджреГрд╢реНрдп рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ рдлрд╝реЛрд▓реНрдбрд░ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рд╛ред рд╕рдм рдХреБрдЫ рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдФрд░ рдореБрдЭреЗ tsconfig.json рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдЧрдбрд╝рдмрдбрд╝ рдирд╣реАрдВ рдХрд░рдиреА рдереАред

рдЙрдореНрдореАрдж рд╣реИ рдХреА рдпрд╣ рдорджрдж рдХрд░реЗрдЧрд╛

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

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

рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рдореБрджреНрджрд╛ рдерд░реНрдб рдкрд╛рд░реНрдЯреА рдореЙрдбреНрдпреВрд▓, tsify рдХреЗ рд╕рд╛рде рдерд╛ред рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ 1.0.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рдереА, рдФрд░ 4.0.0 рддрдХ forceConsistentCasingInFileNames рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рдереАред

рдореЗрд░реЗ рдкрд╛рд╕ рдореЗрд░реЗ рдПрдХ рдШрдЯрдХ рдЖрдпрд╛рдд рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдерд╛ред рдореИрдВ рдШрдЯрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдЙрд╕реА "рдПрдЪ" рдХреЗ рд╕рд╛рде рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдерд╛ рдЬрд┐рд╕реЗ рдореИрдВ рд░рд╛рдЬрдзрд╛рдиреА "рдПрдЪ" рдХреЗ рд╕рд╛рде рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП "
рдЖрдпрд╛рдд {GraphDataComponent} рд╕реЗ "./historical/graph-data/graph-data-ponent"; "рдХреЗ рдмрдЬрд╛рдп" import {GraphDataComponent} рд╕реЗ "ред/Historical/graph-data/gata-data.component" app.moudule рдореЗрдВ рдХрд░реЗрдВред tsред

рдзрдиреНрдпрд╡рд╛рдж @aaybhangu!

рдирдорд╕реНрддреЗ, рдореИрдВ рдЕрднреА рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ - рддреНрд░реБрдЯрд┐ TS1149: рдлрд╝рд╛рдЗрд▓ рдирд╛рдо 'src / рдореЙрдбрд▓ / рд╣реЗрдбрд░ / userRole.ts' рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╢рд╛рдорд┐рд▓ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо 'src / рдореЙрдбрд▓ / рд╣реЗрдбрд░ / UserRole.ts' рд╕реЗ рдЕрд▓рдЧ рд╣реИ рдХреЗрд╡рд▓ рдЖрд╡рд░рдг рдореЗрдВред
рдореИрдВрдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рдЖрдЬрдорд╛рдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЛрдИ рдХрд┐рд╕реНрдордд рдирд╣реАрдВред рдореИрдВ рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореИрдВ рднреА рдЗрд╕реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдЕрднреА рдХреЗ рд▓рд┐рдП, рд╕реЗрдЯрд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ "рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛":
"forceConsistentCasingInFileNames": false,
tsconfig.json

рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕ рд╕рдЯреАрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рд▓рдбрд╝рдЦрдбрд╝рд╛ рдЧрдпрд╛ред
рдХреБрдЫ рдЧреБрдЧрд▓реА рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдпрд╣ рдорд┐рд▓рд╛ред рдЖрдЦрд┐рд░реА рдЬрд╡рд╛рдм рдиреЗ рдореЗрд░реА рдЖрдВрдЦ рдкрдХрдбрд╝ рд▓реАред рддреЛ рдореИрдВ рдмрд╕ рджреГрд╢реНрдп рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ рдлрд╝реЛрд▓реНрдбрд░ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рд╛ред рд╕рдм рдХреБрдЫ рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдФрд░ рдореБрдЭреЗ tsconfig.json рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдЧрдбрд╝рдмрдбрд╝ рдирд╣реАрдВ рдХрд░рдиреА рдереАред

рдЙрдореНрдореАрдж рд╣реИ рдХреА рдпрд╣ рдорджрдж рдХрд░реЗрдЧрд╛

рдореИрдВ рдЗрд╕реА рдореБрджреНрджреЗ рдкрд░ рдЖрдпрд╛ рдерд╛

  • рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдирд┐рдХрд╛рд▓реЗрдВ рдорджрдж рдирд╣реАрдВ рдХреА
  • рдмрд▓ рдмрджрд▓рдиреЗ рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдХреИрд╕рд┐рдВрдЧрдЗрдиреНрдлреНрд▓реЗрдо рдиреЗ рдорджрдж рдирд╣реАрдВ рдХреА

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдХрд╣реАрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ, рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛ рд░рд╣реА рдереАрдВ, рдмрджрд▓ рджреА рдЧрдИрдВ ...? рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЙрди рд╕рднреА рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

  1. рдЖрдк рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдХреЛ "OriginalDirectoryName" => "AnotherName" рддрд░рд╣ рдмрджрд▓рддреЗ рд╣реИрдВ
  2. VsCode рд╕реНрд░реЛрдд рдирд╛рдо рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдХреБрдЫ рд╕реЗрдХрдВрдб рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ, рдФрд░ рдпрд╣ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдирдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  3. File -> Save рд╕рднреА рдЬрд╛рдУ рдФрд░ рдЙрди рд╕рднреА рдХреЛ рдмрдЪрд╛рдУ
  4. рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рд╡рд╛рдкрд╕ "AnotherName" => "OriginalDirectoryName" рдмрджрд▓реЗрдВ
  5. рдлрд┐рд░, рдпрд╣ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рддрд╛рдХрд┐ рдЖрдк рдЙрди рд╕рднреА рдХреЛ рдмрдЪрд╛ рд╕рдХреЗрдВред
  6. рд░рд┐рдмреВрдЯ VsрдХреЛрдбред

рддреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рдпрд╣ рдмрдЧ рдКрдБрдЪреЗ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ Logger рдирд╛рдордХ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ logger рдЧрдпрд╛ред рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЬреЛ рдЗрд╕реЗ рдЖрдпрд╛рдд рдХрд░рддреА рд╣реИ рд╡рд╣ рд╣рдореЗрд╢рд╛ рдЗрд╕ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рджрд┐рдЦрд╛рддреА рд╣реИ рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЯрд░реНрдорд┐рдирд▓ рдпрд╛ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ, рдпрд╣ рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рджрд┐рдЦрд╛рдПрдЧреАред

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

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

рдЖрдк рдЗрд╕ рдореЙрдбрд▓ ts рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ рдХреЛрдгреАрдп-рд╕реАрдПрд▓рдЖрдИ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

Info 69   [10:30:18.128] request:
    {"seq":5,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":["c:/temp/est/Logger.ts"],"openFiles":[{"file":"c:/temp/est/logger.ts","fileContent":"export class logger {\r\n    \r\n}","scriptKindName":"TS","projectRootPath":"c:\\temp\\est"}]}}
Err 70    [10:30:18.153] Exception on executing command {"seq":5,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":["c:/temp/est/Logger.ts"],"openFiles":[{"file":"c:/temp/est/logger.ts","fileContent":"export class logger {\r\n    \r\n}","scriptKindName":"TS","projectRootPath":"c:\\temp\\est"}]}}:

    Debug Failure. False expression: Script should not exist and not be open already

    Error: Debug Failure. False expression: Script should not exist and not be open already
        at ProjectService.applyChangesInOpenFiles (c:\Typescript\built\local\tsserver.js:138090:34)
        at Session.handlers.ts.createMapFromTemplate._a.(anonymous function) (c:\Typescript\built\local\tsserver.js:138972:46)
        at c:\Typescript\built\local\tsserver.js:140630:88
        at IOSession.Session.executeWithRequestId (c:\Typescript\built\local\tsserver.js:140621:28)
        at IOSession.Session.executeCommand (c:\Typescript\built\local\tsserver.js:140630:33)
        at IOSession.Session.onMessage (c:\Typescript\built\local\tsserver.js:140653:35)
        at Interface.<anonymous> (c:\Typescript\built\local\tsserver.js:141968:27)
        at Interface.emit (events.js:182:13)
        at Interface._onLine (readline.js:290:10)
        at Interface._normalWrite (readline.js:433:12)
        at Socket.ondata (readline.js:149:10)
        at Socket.emit (events.js:182:13)
        at addChunk (_stream_readable.js:283:12)
        at readableAddChunk (_stream_readable.js:264:11)
        at Socket.Readable.push (_stream_readable.js:219:10)
        at Pipe.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)

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

it("forceConsistentCasingInFileNames works when renaming file with different casing", () => {
            const loggerFile: File = {
                path: `${projectRoot}/logger.ts`,
                content: `export class logger { }`
            };
            const anotherFile: File = {
                path: `${projectRoot}/another.ts`,
                content: `import { logger } from "./logger"; new logger();`
            };
            const tsconfig: File = {
                path: `${projectRoot}/tsconfig.json`,
                content: JSON.stringify({
                    compilerOptions: { forceConsistentCasingInFileNames: true }
                })
            };

            const host = createWatchedSystem([loggerFile, anotherFile, tsconfig, libFile, tsconfig]);
            createWatchOfConfigFile(tsconfig.path, host);
            checkOutputErrorsInitial(host, emptyArray);
            host.writeFile(anotherFile.path, anotherFile.content.replace("./logger", "./Logger"));
            host.runQueuedTimeoutCallbacks();
            checkOutputErrorsIncremental(host, [
                createCompilerDiagnostic(Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, loggerFile.path, `${projectRoot}/Logger.ts`),
            ]); // Currently the errors are not reported in watch mode but will be reported if program is created from scratch.
        });

рд╣рд╛рдБ, рдореИрдВ рдпрд╣ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рдмрддрд╛рдП рдЧрдП рдлрд╝рд┐рдХреНрд╕реЗрд╕ / рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдВрджреЗрд╢ рд╣реИ:

error TS1149: File name '/mnt/c/Users/<username>/Documents/adobe-scripts/InDesign/Create Downloadable 
(2020a)/Illustrator/2015.3/index.d.ts' differs from already included file name '/mnt/c/Users/<username>/Documents/adobe-scripts/InDesign/Create Downloadable (2020a)/illustrator/2015.3/index.d.ts' only in casing.

@SturmB

рдЗрд▓рд╕реНрдЯреНрд░реЗрдЯрд░

рддрдерд╛

рдЗрд▓рд╕реНрдЯреНрд░реЗрдЯрд░

рдореИрдВ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдФрд░ рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓рд░ рдХреНрдпрд╛ рджреЗрдЦрддрд╛ рд╣реИ рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╡рд╛рдХрд┐рдл рд╣реВрдВред рдХреНрдпрд╛ рдореИрдВ _d't_ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ illustrator рдирд┐рдЪрд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдХрд╣рд╛рдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рдХрдИ рдЦреЛрдЬреЗрдВ рдХреА рд╣реИрдВ рдФрд░ рдмрд┐рд▓рдХреБрд▓ рдХреЛрдИ рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдБ illustrator (рдЬрдм рдХрд┐рд╕реА рдЯрд┐рдкреНрдкрдгреА рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдпрд╛ рдЬреЛ рдХреБрдЫ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рд╕рднреА рд▓реЛрдЕрд░рдХреЗрд╕ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬрд╣рд╛рдВ рдореИрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ index.d.ts рдлрд╝рд╛рдЗрд▓ рдЙрд╕ Illustrator рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИ, рд╢рдмреНрдж рдХреЛ рдареАрдХ рд╕реЗ рдХреИрдкрд┐рдЯрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рд╣реИред

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

рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐, рдХрднреА-рдХрднреА, рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдирд╛рдо рдХреЛ 'foo' рд╕реЗ 'Foo' рдореЗрдВ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЬрдм рдЖрдк git pull рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╛ рддреЛ рд╡рд╣ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдирд╛рдо рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдкреБрд╢ рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛ рд╣реИ ред рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрдкрдХреЗ рд╕рднреА рдХреЛрдб рд╕рдВрджрд░реНрдн рд╕рд╣реА рд╣реИрдВ, рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рднреА рдЧрд▓рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдХрдИ рдмрд╛рд░ рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХреА рдлрд╛рдЗрд▓реЗрдВ рдареАрдХ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ; рдпрд╣ рд╕рд┐рд░реНрдл TS рд╕рдирдХреА рдмрд╛рд╣рд░ рдХрд░ рджреВрдБрдЧрд╛ред

рддреЛ рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдЦреЛрдЬреЗрдВ рдЬреЛ рдореВрд▓ рдХрд╛рд░рдг рд╣реИред рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВред рдФрд░ рдареАрдХ рд╕реЗ рдкреНрд░рддрд┐рдмрджреНрдз:

git mv foo tmp
git mv tmp Foo

commit рдФрд░ push рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдПрдХ git рд░реЗрдкреЛ рдореЗрдВ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ред

Git рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧ рд╣реИ рдЬреЛ рдпрд╣ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдорд╛рдорд▓рд╛ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдпрд╛ рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: core.ignorecase ред Git рдХреЛ рдХреЗрд╕-рд╕реЗрдиреНрд╕рдЯрд┐рд╡ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ false рд╕реЗрдЯ рдХрд░реЗрдВ

рдФрд░ рджреЗрдЦреЗрдВ:

https://stackoverflow.com/questions/17683458/how-do-i-commit-case-sensitive-only-filename-changes-in-git/17688308#17688308

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

VSCode рдореЗрдВ рдкреБрдирдГ рд▓реЛрдбрд┐рдВрдЧ рд╡рд┐рдВрдбреЛ рдиреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ CamelCase рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдШрдЯрдХ рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЖрдпрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ VSCode рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХреИрд╢рд┐рдВрдЧ рдореБрджреНрджрд╛ рд╣реИред

рдореИрдВ рдЕрднреА рдЗрд╕ рдкрд╛рд░ рдЖрдпрд╛ рдерд╛; рдореЗрд░рд╛ componentA.tsx рдЖрдпрд╛рддрд┐рдд ../store/someStore рд▓реЗрдХрд┐рди рдЗрд╕ рдЖрдпрд╛рдд рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реБрдИ, рдлрд╝рд╛рдЗрд▓рдирд╛рдо рдХрд╛ рд╕реБрдЭрд╛рд╡ SomeStore.ts (рднрд▓реЗ рд╣реА рдлрд╛рдЗрд▓рд╕рд┐рд╕реНрдЯрдо рдФрд░ VSCode рдЙрд╕ рд╕реНрдерд╛рди рдкрд░ someStore.ts ред

рдлрд╝рд╛рдЗрд▓ рдирд╛рдо '/mypath/store/someStore.ts' рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╢рд╛рдорд┐рд▓ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╕реЗ рднрд┐рдиреНрди рд╣реИ '/ mipath/store/SomeStore.ts' рдХреЗрд╡рд▓ рдЖрд╡рд░рдг рдореЗрдВред _ts (1149) _

рдХреБрдЫ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓ ( ../store/index.ts ) рдХрд╛ рдЧрд▓рдд рдЖрдпрд╛рдд рд╣реБрдЖ ( ./SomeStore ) рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рддреНрд░реБрдЯрд┐ рдХреЛ рдирд╣реАрдВ рдЙрдард╛рдпрд╛ред рдЙрд╕ рдЖрдпрд╛рдд рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдФрд░ VSCode рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, componentA.tsx рдЕрдм рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдирд╣реАрдВ рдЙрдард╛рддрд╛ рд╣реИред

index.ts рдХреЗ рдлрд┐рдХреНрд╕ рдХреЛ рд╡рд╛рдкрд╕ рд▓рд╛рдиреЗ рдФрд░ VSCode рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдлрд┐рд░ рд╕реЗ componentA.tsx рдкрд░ рдПрдХ рдирдХрд▓реА рддреНрд░реБрдЯрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред

рдПрдХ рд╕реНрдерд┐рддрд┐ рдЬреЛ рдореИрдВрдиреЗ рдЕрдкрдиреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреА рдереА, рд╡рд╣ рдереА WSL рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрдВрдж рдХрд░рдирд╛ред рдореИрдВ рдЕрдкрдиреЗ рдореВрд▓ рдХрд╕реНрдЯрдо рд╕реЗрдЯрдЕрдк рдкрд░ рд╡рд╛рдкрд╕ рдЪрд▓рд╛ рдЧрдпрд╛ рдЬреЛ Cygwin рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддрд╛ рд╣реИ рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИред

рдореИрдВ рднреА рдЗрд╕реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдЕрднреА рдХреЗ рд▓рд┐рдП, рд╕реЗрдЯрд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ "рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛":
"forceConsistentCasingInFileNames": false,
tsconfig.json

рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ

рдХреБрдЫ рдЧреБрдЧрд▓реА рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдпрд╣ рдорд┐рд▓рд╛ред рдЖрдЦрд┐рд░реА рдЬрд╡рд╛рдм рдиреЗ рдореЗрд░реА рдЖрдВрдЦ рдкрдХрдбрд╝ рд▓реАред рддреЛ рдореИрдВ рдмрд╕ рджреГрд╢реНрдп рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ рдлрд╝реЛрд▓реНрдбрд░ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рд╛ред рд╕рдм рдХреБрдЫ рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдФрд░ рдореБрдЭреЗ tsconfig.json рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдЧрдбрд╝рдмрдбрд╝ рдирд╣реАрдВ рдХрд░рдиреА рдереАред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛

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

рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдорд╕реНрдпрд╛ рдереА, рдореИрдВрдиреЗ рдЗрд╕реЗ "forceConsistentCasingInFileNames": рдЭреВрдард╛ рд╕реЗрдЯ рдХрд░рдХреЗ рддрдп рдХрд┐рдпрд╛
tsconfig.json рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд╕рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдореИрдВ рдЗрд╕реЗ рдХреЗрд╡рд▓ VSCode рдХреЛ рд░реАрдмреВрдЯ рдХрд░рддрд╛ рд╣реВрдВред

рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рд╡реЗрдмрд╕реНрдЯреЙрд░реНрдо рдореЗрдВ рднреА рдРрд╕реА рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рдЖрдИрдбреАрдИ рдХреИрд╢ рд╣реИред

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

рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рдореИрдХ рдкрд░ рдкрд╛рдпрд╛ рд╣реИ:

рдкрд░рд┐рджреГрд╢реНрдп

  • ComponentA.ts рдирд╛рдо рдХреА рдлрд╝рд╛рдЗрд▓
  • ComponentsB.ts рдореЗрдВ import ComponentA from './ComponentA';
  • ComponentsC.ts рдореЗрдВ import ComponentA from './ComponentA';
  • componentA.ts рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрди ComponentA.ts рдлрд╝рд╛рдЗрд▓ рдирд╛рдо
  • рдШрдЯрдХ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ import ComponentA from './componentA;'
  • рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдЖрдпрд╛рдд рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреВрд▓ рдЬрд╛рдУред рддреЛ рдпрд╣ рдЕрднреА рднреА рдкреБрд░рд╛рдиреЗ import ComponentA from './ComponentA;'

рддреНрд░реБрдЯрд┐ (рдореЛрдЯреЗ рддреМрд░ рдкрд░):

 File name '/componentA.ts' differs from already included file name  '/ComponentA.ts'  only in casing. ts(1149)

рдХрд╛рд░рдг:

рдореИрдХ рдкрд░ рдХреЗрд╕ рдХреА рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рдкрд╣рд▓реЗ рдШрдЯрдХ рдмреА рдореЗрдВ import ComponentA from './ComponentA;' рдЖрдпрд╛рдд рд╣рд▓ рдХрд░ рд░рд╣реА рд╣реИ, рдлрд┐рд░ рдЗрд╕ рдЖрдпрд╛рдд рдкрде рдХреЛ 'рдХреИрд╢рд┐рдВрдЧ / рдкрдВрдЬреАрдХреГрдд' рдХрд░ рд░рд╣реА рд╣реИред

рдлрд┐рд░ рдШрдЯрдХ рд╕реА рдореЗрдВ рд╕рд╣реА рдЖрдпрд╛рдд рдЧрд▓рдд рд╣реИ, рднрд▓реЗ рд╣реА рд╡рд╣ рд╕рд╣реА рд╣реЛред

рдЙрдкрд╛рдп рдХреИрд╕реЗ рдХрд░реЗрдВ:

  • рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЗ рд╕рднреА рдЖрдпрд╛рддреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ
  • рдорд╛рдорд▓реЗ рдХреА рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рдФрд░ рд╕рд╣реА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред

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

рдореБрдЭреЗ рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдмрджрд▓рдирд╛ рдФрд░ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдерд╛ред рдлрд┐рд░, рдореИрдВрдиреЗ рдкреБрд░рд╛рдиреЗ рдирд╛рдо рдкрд░ рд╡рд╛рдкрд╕ рдирд╛рдо рд▓рд┐рдпрд╛ рдФрд░ рдпрд╣ рдареАрдХ рд╣реБрдЖред

рдЕрдЬреАрдм рдХреИрд╢ рдХреЗ рдХрд╛рд░рдг рдЬреЛ vue рдлрд╝рд╛рдЗрд▓ рдХреЗ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдХрд╡рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╡реЗрддреБрд░ рдХреА рд╢рд┐рдХрд╛рдпрдд рдХрд░рддреЗ рд╣реБрдП, рдореБрдЭреЗ @uniquexiaai рдХреЗ рд░реВрдк рдореЗрдВ VS рдХреЛрдб ( Ctrl + Shirt + P -> рд░реАрд▓реЛрдб рд╡рд┐рдВрдбреЛ) рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░рдирд╛ рдкрдбрд╝рд╛ ред

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ-рд╕рд░реНрд╡рд░ рдХрд╛ рдкреБрдирдГ рдЖрд░рдВрдн рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред VSCode рдкреБрдирд░рд╛рд░рдВрдн рдУрд╡рд░рдХрд┐рд▓ рд╣реИред

OSX рдкрд░ VSC рдореЗрдВ: CMD + Shift + P TypeScript: Restart TS server рдЯрд╛рдЗрдк рдХрд░рдХреЗред

рд╡реЗрдмрд╕реНрдЯреЛрд░ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ рдХреИрд╢ рдХреЛ рдЗрдирд╡реИрд▓рд┐рдб рдФрд░ рдХреНрд▓рд┐рдпрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
рдлрд╝рд╛рдЗрд▓> рдХреИрд╢ рдЕрдорд╛рдиреНрдп рдХрд░реЗрдВ / рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ

рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рдФрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдЬреЛ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рд╣реИред

рдмрд╕ рдЙрд╕ рд╢рдмреНрдж рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рдЬрд┐рд╕рд╕реЗ рдЖрд╡рд░рдг рд╕рдорд╕реНрдпрд╛рдПрдБ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВред
рдЬреИрд╕реЗ
ListsDrawerOfContent рдФрд░ ListsDrawerofContent

рдореИрдВрдиреЗ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ред рдФрд░ рд╕рдВрдХрд▓рдХ рдиреЗ рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ред

рдлрд┐рд░ рдмрд╛рдж рдореЗрдВ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╡рд╛рдВрдЫрд┐рдд рдорд╛рдорд▓реЗ рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ ListsDrawerOfContent ред
рдПрдХ рдЬрд╛рджреВ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд┐рдпрд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЧрд┐рдЯ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдВред

https://stackoverflow.com/questions/17683458/how-do-i-commit-case-sensitive-only-filename-changes-in-git

рдореБрдЭреЗ рдЖрдпрд╛рдд рдХреЗ рд╕рд╛рде рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереА, "a" рд╕реЗ "A" рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдмрд╕ рдмрдирд╛рдо рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдФрд░ рдлрд┐рд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред VSCode рдкреБрдирд░рд╛рд░рдВрдн рдФрд░ рд╕реЗрдЯрд┐рдВрдЧ "forceConsistentCasingInFileNames": рдЧрд▓рдд рдореЗрд░реА рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рддреНрд░реБрдЯрд┐ рдЬрд╛рдирдХрд╛рд░реА: (рдбрд┐рд╕реНрдХ рдЪрд┐рдиреНрд╣ рдореЗрдВ рдмрд╕ рднрд┐рдиреНрди)
рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо 'D: /mycode/devmono2/packages/server-sdk/index.ts' рдкрд╣рд▓реЗ рд╕реЗ рд╢рд╛рдорд┐рд▓ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо 'd: /mycode/devmono2/packages/server-dd/index.ts' рд╕реЗ рдХреЗрд╡рд▓ рдЖрд╡рд░рдг рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИред 1149)

рдХреНрдпреЛрдВ?

рд╣рд▓ рдХрд┐рдпрд╛!
рдЦрджрд╛рди рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕рдорд╕реНрдпрд╛ рдереАред

рд╕рдм рдХреБрдЫ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдореИрдХ рдкрд░ рдареАрдХ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдореЗрд░реЗ рдЬреЗрдирдХрд┐рдВрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдорд┐рд▓ рд░рд╣реА рдереАред рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ рдпрд╣ рдереА рдХрд┐ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо 'quot.ts' рдерд╛, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд░рд┐рдореЛрдЯ рдЧрд┐рдЯ рд░реЗрдкреЛ рдХреЗ рднреАрддрд░ рдпрд╣ 'Quote.ts' рдерд╛ред

рд╕рдорд╕реНрдпрд╛ рдХреИрд╕реЗ рдЖрдИ?
рддреЛ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдореВрд▓ рд░реВрдк рд╕реЗ 'Quote.ts' рдерд╛ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЖрдЧреЗ рдмрдврд╝рд╛рдпрд╛ред рдореИрдВ рддрдм 'quot.ts' рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛, рд▓реЗрдХрд┐рди git рдиреЗ рдЗрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦрд╛ (рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ macs рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИрдВ) - рдФрд░ рдЗрд╕рд▓рд┐рдП рджреВрд░рд╕реНрде рд░реЗрдкреЛ рдореЗрдВ рдХреЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реБрдЖред

рдФрд░ рдЗрд╕рд▓рд┐рдП рдЬрдм рдЬреЗрдирдХрд┐рдВрд╕ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЪрд▓реА, рддреЛ рдпрд╣ 'рдХреЛрдЯреНрд╕' рдХреЛ рдиреАрдЪреЗ рдЦреАрдВрдЪ рд░рд╣рд╛ рдерд╛ рдЬрдм рдЗрд╕реЗ '../../quote.ts' рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛ - рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рддреНрд░реБрдЯрд┐ рд╣реБрдИред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛?

  1. рдХрд╛рдлреА рдкреАрдЬрд┐рдпреЗ
  2. рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд▓реЛрдЕрд░рдХреЗрд╕ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдореЛрдЯ рд░реЗрдкреЛ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдмрджрд▓реЗрдВ
  3. рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рдЦреАрдВрдЪреЛ
  4. рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЪрд▓рд╛рдПрдВ

рдмреВрдо рдмрд╛рдо! рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИ

рдПрдХ рд╕рдорд╛рди рдореБрджреНрджрд╛ рдерд╛ рдЬреЛ рдЗрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рд▓рдЧрднрдЧ 100 рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рдерд╛ред

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

рдЖрдпрд╛рдд {FooInterface} .. ../Foo тАЩрд╕реЗ; // рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП '../foo'
рдЖрдпрд╛рдд {BarService} '../Bar' рд╕реЗ; // рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП '../bar'

рдореИрдВрдиреЗ рдЗрд╕реЗ рд▓реЛрдЕрд░рдХреЗрд╕ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛, vscode рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд┐рдпрд╛, рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдФрд░ рд╕рднреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджреВрд░ рд╣реЛ рдЧрдИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЦрд╝реБрд╢реА рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ ts рдиреЗ 'foo' рдХреЗ рдмрдЬрд╛рдп рдЧрд▓рдд рдкрде ('Foo') рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдФрд░ рдлрд┐рд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдХреИрд╢ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рд╢реЗрд╖ рдХреЛрдб рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рдЧрд▓рдд рдХреИрд╢реНрдб рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╣рд╛рдБ рдХрд┐рд╕реА рдХреЛ рдорджрдж рдХрд░рддрд╛ рд╣реИ!

рдореИрдВ рдмрд╕ рдЕрдкрдиреА рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рддрд╛ рд╣реВрдВ рддрдм рддреНрд░реБрдЯрд┐ рджреВрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИ

рдмрд╕ рдШрдЯрдХ рдореЗрдВ рдПрдХ рд╣реА рд╡рд╕реНрддреБ рдмрдирд╛рдПрдВ, рдФрд░ рдЕрдкрдирд╛ рдПрдирдЬреА рд╢реБрд░реВ рдХрд░реЗрдВ, рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЪрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдлрд┐рд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рдФрд░ рдЕрдкрдирд╛ рд▓рд┐рдВрдХ рдЖрдпрд╛рдд рдХрд░реЗрдВ,
рддреЛ рдЗрд╕рдХрд╛ рдХрд╛рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП,
рдореЗрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЗрд╕рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред

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

+1 ...... рд▓реЗрдХрд┐рди WHYYYYYYYYY

рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЬрдм рдореИрдВрдиреЗ vscode рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рддреЛ VSCode рдиреЗ рдкрд┐рдЫрд▓реЗ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдФрд░ tsc рдЪрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рджрд┐рдЦрд╛ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрднреА рднреА VSCode рдореЗрдВ рд╕реНрдХреНрд╡реАрдЧрд▓реА рд▓рд╛рдЗрди рдкрдврд╝рдиреЗ рдХреЛ рдорд┐рд▓ рд░рд╣реА рдереАред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ vscode ( Typescript: Restart TS Server ) рдореЗрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдЪрд▓рд╛ рдЧрдпрд╛ред рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред

@ninjavang рдЖрдкрдиреЗ рдореЗрд░реА рдорджрдж рдХреА! рдореЗрд░реЗ gitlab ci / cd рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред рдЬрдм рдореИрдВ рджреВрд░рд╕реНрде рд╢рд╛рдЦрд╛ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реВрдВ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдкрде рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рджреЛ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╕рдВрд╕реНрдХрд░рдгред

рдореИрдВрдиреЗ рд░рд┐рдореЛрдЯ рдкрд░ рдЕрдирдЪрд╛рд╣реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛, рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХреЙрдкреА рдХрд┐рдпрд╛, рд░рд┐рдореЛрдЯ рдХреЛ рдиреАрдЪреЗ рдЦреАрдВрдЪрд╛, рдореЗрд░реЗ рд╡реАрдПрд╕ рдХреЛрдб рдХреЛ рд░реАрдлреНрд░реЗрд╢ рдХрд┐рдпрд╛, рдФрд░ рдлрд╛рдЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝рд╛ред рдЗрд╕рдиреЗ рдХрд╛рдо рдХрд░ рджрд┐рдпрд╛!

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

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

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

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

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

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

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

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