
рдлреНрд▓реЗрдХреНрд╕рд┐рдмрд▓ рдлреЙрд░реНрдо (рд╕реБрдзрд╛рд░) рдПрдХ рдлреЙрд░реНрдо рдмрд┐рд▓реНрдбрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдиреНрдпреВрдирддрдо рдХреЛрдб рдЕрддрд┐рд░реЗрдХ рд╣реЛрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдпрд╣ рдмреЗрд╣рдж рд▓рдЪреАрд▓рд╛ рдФрд░ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рд╣реЛрддрд╛ рд╣реИред рдкреНрд░рдпреБрдХреНрдд рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рд╕реНрдЯреИрдХ: рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ (v16), Redux (рд╡реИрдХрд▓реНрдкрд┐рдХ), JSONSchema , рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ ред рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рд╕рд░реНрдХрд┐рдЯ, рдШрдЯрдХреЛрдВ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЕрдзрд┐рдХрддрдо рд╕рдВрднрд╡ рдкреБрди: рдЙрдкрдпреЛрдЧ рд╣реИред
рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ
- 98kb рдЫреЛрдЯрд╛ , 28kb рд╕рдВрдХреБрдЪрд┐рдд
- рдХреНрд╡рд┐рдХ рд╕реНрдЯрд╛рд░реНрдЯ рдлреЙрд░реНрдо рдбрд┐рдЬрд╛рдЗрдирд░
- рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ
oneOf
, allOf
, $ref
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕рдВрдпреЛрдЬрди рдпрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдпрд╛ рдЙрдирдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ - рд╕рддреНрдпрд╛рдкрди рд╕рд┐рдВрдХ / async / JSON / рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВ
- рдореВрд▓ рд░рд┐рдбрдХреНрд╕ рд╕рдорд░реНрдерди, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рднрдВрдбрд╛рд░рдг (рдЖрдВрддрд░рд┐рдХ рд╕рд╣рд┐рдд) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ
- рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕рдорд░реНрдерди (рдЬреЛрдбрд╝реЗрдВ / рдирд┐рдХрд╛рд▓реЗрдВ / рдЪрд╛рд▓)
- рдирд┐рд░реНрдорд┐рдд рджрд░реНрд╢рдХ
- рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓рди рдФрд░ рдЬреЛрдбрд╝рдиреЗ рдпреЛрдЧреНрдп рдлрд╛рд░реНрдо рддрддреНрд╡
- SSR рд╕рдкреЛрд░реНрдЯ
- рдХреЛрдИ рдирд┐рд░реНрднрд░рддрд╛ (рдмрд╛рд╣рд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛)
рдЪреВрдВрдХрд┐, JSONSchema рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдХреЗрд╡рд▓ JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ 2 рд╡рд╕реНрддреБрдУрдВ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
- JSONSchema рдпреЛрдЬрдирд╛ (рдбреНрд░рд╛рдлреНрдЯ v4, рдЕрддрд┐рд░рд┐рдХреНрдд рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде) рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ JSON рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдлреЙрд░реНрдо рдлрд╝реАрд▓реНрдб рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдЬреИрд╕реЗ рдмрдЯрди, рд▓рд┐рдВрдХ, рдЯреИрдм рдЖрджрд┐ рдХрд╛ рд╕реНрдерд╛рди рдмрддрд╛рддрд╛ рд╣реИред
- рдПрдХ рддрддреНрд╡ рдСрдмреНрдЬреЗрдХреНрдЯ рдЬрд┐рд╕рдореЗрдВ рд░рд┐рдПрдХреНрдЯ (v16) рдШрдЯрдХ, рдХрд╛рд░реНрдп, рдШрдЯрдХреЛрдВ рдХреЗ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╣рд┐рд╕реНрд╕реЗ рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдХрд┐рд╕реА рднреА рдЕрдиреНрдп js рдпрд╛ JSON рдХреЛрдб рдХреЛ рддрддреНрд╡реЛрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдХрд┐рд╕реА рднреА рднрд╛рдЧ рд╕реЗ рдпрд╛ JSONSchem рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХреНрд╖реЗрддреНрд░реЛрдВ рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рд░ рдореЗрдВ, рддрддреНрд╡ рдХреЛрдб рдХреА рдИрдВрдЯреЛрдВ рдХрд╛ рдПрдХ рднрдВрдбрд╛рд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдкреВрд░реЗ рдлреЙрд░реНрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрди рд╕рд░реВ рдХреЗ рддрддреНрд╡реЛрдВ рдХреА рдбрд┐рдЧреНрд░реА рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред
рд▓рдЪреАрд▓реЗрдкрди, рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рдФрд░ рд░реЗрдбреА-рдореЗрдб рд╕рд░реНрдХрд┐рдЯ, рдШрдЯрдХреЛрдВ рдФрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдлрд┐рд░ рд╕реЗ рдЖрд╡реЗрджрди рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
- JSONSchema рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рд╡рд░реНрдгрд┐рдд $ Ref рдФрд░ allOf рдЧреБрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдХреАрдорд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ред рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ ред
- рд╕рдорд╛рди рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рддрддреНрд╡реЛрдВ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛, рд▓реЗрдХрд┐рди рдПрдХ рдЕрд▓рдЧ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде (рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ рдпреЛрдЬрдирд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЬрд╣рд╛рдВ рддрддреНрд╡реЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реЛрддрд╛ рд╣реИ)ред рдкреНрд░рд▓реЗрдЦрди ред рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ ред
- рдбреЗрдЯрд╛ рдФрд░ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдЙрд╕реА рддрд░рд╣ рд╕реЗ js рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ linux рдХрд░рддрд╛ рд╣реИред рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдЕрдЧрд▓реЗ рдПрдХ рдХреЗ рдЗрдирдкреБрдЯ рдХреЛ рдЦрд┐рд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ (рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╣реА рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╕рд╛рде) рдЖрдкрдХреЛ рдореМрдЬреВрджрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдирдП рдЬреЛрдбрд╝реЗ рдХреЗрд╡рд▓ рддрднреА рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬрдм рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛ рдЕрднреА рддрдХ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ, рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдкреНрд░рд▓реЗрдЦрди ред рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ ред
рд╕рдВрджрд░реНрдн