
Research
/Security News
Shai Hulud Strikes Again (v2)
Another wave of Shai-Hulud campaign has hit npm with more than 500 packages and 700+ versions affected.
@alfalab/core-components-codemod
Advanced tools
$ yarn add --dev @alfalab/core-components-codemod
ΠΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΎΠ΄ΠΈΠ½ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ΅Ρ:
$ npx @alfalab/core-components-codemod --transformers=button-xs --glob='src/**/*.tsx'
ΠΠΎΠΆΠ½ΠΎ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ΅ΡΠΎΠ²:
$ npx @alfalab/core-components-codemod --transformers=button-xs,button-views --glob='src/**/*.tsx'
Π‘Π΅ΠΉΡΠ°Ρ Π·Π°ΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° typescript. ΠΡΠ»ΠΈ ΠΊΠΎΠΌΡ-ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΌΠΈΠ³ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ js - Π΄Π°ΠΉΡΠ΅ Π·Π½Π°ΡΡ, Π΄ΠΎΠΊΡΡΡΠΈΠΌ.
| ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|
| paragraph | ΠΠ΅Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Paragraph ΠΈΠ· arui-feather Π½Π° Π°ΠΊΡΡΠ»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΈΠ· core-components |
| label | ΠΠ΅Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Label ΠΈΠ· arui-feather Π½Π° Π°ΠΊΡΡΠ»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΈΠ· core-components |
| heading | ΠΠ΅Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Heading ΠΈΠ· arui-feather Π½Π° Π°ΠΊΡΡΠ»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΈΠ· core-components |
| button-xs | ΠΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ xs Π½Π° xxs |
| button-views | ΠΠ΅Π½ΡΠ΅Ρ Π²ΠΈΠ΄ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ view filled Π½Π° secondary, outlined Π½Π° tertiary, transparent Π½Π° secondary, primary Π½Π° accent |
| replace-color-vars | ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ²Π΅ΡΠΎΠ²ΡΠ΅ ΡΠΎΠΊΠ΅Π½Ρ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ Π½Π° core-components v27 ΠΈ Π²ΡΡΠ΅: |
--color-light-border-secondary-inverted: --color-light-border-underline | |
--color-light-border-tertiary-inverted: --color-light-border-underline-inverted | |
--color-light-graphic-neutral: --color-light-graphic-quaternary | |
--color-light-bg-neutral: --color-light-bg-quaternary | |
--color-dark-graphic-neutral: --color-dark-graphic-quaternary | |
--color-dark-bg-neutral: --color-dark-bg-quaternary | |
--color-static-bg-neutral-light: --color-static-bg-quaternary-light | |
--color-static-bg-neutral-dark: --color-static-bg-quaternary-dark | |
| delete-dist | Π£Π΄Π°Π»ΡΠ΅Ρ '/dist' Π² ΠΈΠΌΠΏΠΎΡΡΠ°Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ --packages, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΈΠΌΠΏΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ (--packages="modal,button") |
| button-breakpoint-768 | ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ breakpoint ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 768 ΠΊ ΡΠ΅ΡΠΏΠΎΠ½ΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ |
| button-views-45 | ΠΠ΅Π½ΡΠ΅Ρ Π²ΠΈΠ΄ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ view tertiary Π½Π° outlined, link Π½Π° transparent, ghost Π½Π° text |
| skeleton-blur | ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ allowBackdropBlur ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Skeleton |
| status-soft | ΠΠ·ΠΌΠ΅Π½ΡΠ΅Ρ view ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Status Ρ soft Π½Π° muted-alt |
| input-type-card | ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ Π°ΡΡΠΈΠ±ΡΡ type ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 'card' Π½Π° inputMode ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 'numeric' Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ Input |
| spinner | ΠΠ΅Π½ΡΠ΅Ρ size Π½Π° preset |
| ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|
| 42-autocomplete |
- ΠΡΠ»ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π»Π°ΡΡ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ°, ΡΠΎ ΠΊ ΠΏΡΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡ /desktop, InputAutocomplete Π·Π°ΠΌΠ΅Π½ΠΈΡ Π½Π° InputAutocompleteDesktop. - ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ responsive ΡΠΎΡΠΊΡ Π²Ρ ΠΎΠ΄Π° Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ. InputAutocompleteResponsive Π·Π°ΠΌΠ΅Π½ΠΈΡ Π½Π° InputAutocomplete |
| 42-calendar |
- ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ responsive ΡΠΎΡΠΊΡ Π²Ρ
ΠΎΠ΄Π° Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ. CalendarResponsive Π·Π°ΠΌΠ΅Π½ΠΈΡ Π½Π° Calendar - ΠΡΠ»ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π»Π°ΡΡ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ°, ΡΠΎ ΠΊ ΠΏΡΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡ /desktop, Calendar Π·Π°ΠΌΠ΅Π½ΠΈΡ Π½Π° CalendarDesktop - ΠΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π²Ρ ΠΎΠ΄Π° ΡΡΡΠ½ΠΎΡΡΠΈ Π²ΡΠ½ΠΎΡΠΈΡ Π² @alfala/core-components/calendar/shared. |
| 42-calendar-input |
- ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ responsive ΡΠΎΡΠΊΡ Π²Ρ
ΠΎΠ΄Π° Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ. CalendarInputResponsive Π·Π°ΠΌΠ΅Π½ΠΈΡ Π½Π° CalendarInput - ΠΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π²Ρ ΠΎΠ΄Π° ΡΡΡΠ½ΠΎΡΡΠΈ Π²ΡΠ½ΠΎΡΠΈΡ Π² @alfala/core-components/calendar-input/shared. |
| 42-confirmation |
- ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ responsive ΡΠΎΡΠΊΡ Π²Ρ
ΠΎΠ΄Π° Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ. ConfirmationResponsive Π·Π°ΠΌΠ΅Π½ΠΈΡ Π½Π° Confirmation - ΠΡΠ»ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π»Π°ΡΡ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ°, ΡΠΎ ΠΊ ΠΏΡΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡ /desktop, Confirmation Π·Π°ΠΌΠ΅Π½ΠΈΡ Π½Π° ConfirmationDesktop - ΠΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π²Ρ ΠΎΠ΄Π° ΡΡΡΠ½ΠΎΡΡΠΈ Π²ΡΠ½ΠΎΡΠΈΡ Π² @alfala/core-components/confirmation/shared. |
| 42-date-range-input |
ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ responsive ΡΠΎΡΠΊΡ Π²Ρ
ΠΎΠ΄Π° Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ. DateRangeInputResponsive Π·Π°ΠΌΠ΅Π½ΠΈΡ Π½Π° DateRangeInput |
| 42-date-time-input |
ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ responsive ΡΠΎΡΠΊΡ Π²Ρ
ΠΎΠ΄Π° Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ. DateTimeInputResponsive Π·Π°ΠΌΠ΅Π½ΠΈΡ Π½Π° DateTimeInput |
| 42-modal |
- ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ responsive ΡΠΎΡΠΊΡ Π²Ρ
ΠΎΠ΄Π° Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ. ModalResponsive Π·Π°ΠΌΠ΅Π½ΠΈΡ Π½Π° Modal - ΠΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π²Ρ ΠΎΠ΄Π° ΡΡΡΠ½ΠΎΡΡΠΈ Π²ΡΠ½ΠΎΡΠΈΡ Π² @alfala/core-components/modal/shared. |
| 42-picker-button |
- ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ responsive ΡΠΎΡΠΊΡ Π²Ρ
ΠΎΠ΄Π° Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ. PickerButtonResponsive Π·Π°ΠΌΠ΅Π½ΠΈΡ Π½Π° PickerButton - ΠΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π²Ρ ΠΎΠ΄Π° ΡΡΡΠ½ΠΎΡΡΠΈ Π²ΡΠ½ΠΎΡΠΈΡ Π² @alfala/core-components/picker-button/shared. |
| 42-select |
- ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ responsive ΡΠΎΡΠΊΡ Π²Ρ
ΠΎΠ΄Π° Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ. SelectResponsive Π·Π°ΠΌΠ΅Π½ΠΈΡ Π½Π° Select - ΠΡΠ»ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π»Π°ΡΡ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ°, ΡΠΎ ΠΊ ΠΏΡΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡ /desktop, Select Π·Π°ΠΌΠ΅Π½ΠΈΡ Π½Π° SelectDesktop - ΠΠ»Ρ SelectMobile ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠΌΠΏΠΎΡΡ ΠΈΠ· @alfalab/core-components/mobile - ΠΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π²Ρ ΠΎΠ΄Π° ΡΡΡΠ½ΠΎΡΡΠΈ Π²ΡΠ½ΠΎΡΠΈΡ Π² @alfala/core-components/select/shared. |
| 42-side-panel |
- ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ responsive ΡΠΎΡΠΊΡ Π²Ρ
ΠΎΠ΄Π° Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ. SidePanelResponsive Π·Π°ΠΌΠ΅Π½ΠΈΡ Π½Π° SidePanel - ΠΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π²Ρ ΠΎΠ΄Π° ΡΡΡΠ½ΠΎΡΡΠΈ Π²ΡΠ½ΠΎΡΠΈΡ Π² @alfala/core-components/side-panel/shared. |
| 42-system-message |
ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ responsive ΡΠΎΡΠΊΡ Π²Ρ
ΠΎΠ΄Π° Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ. SystemMessageResponsive Π·Π°ΠΌΠ΅Π½ΠΈΡ Π½Π° SystemMessage |
| 42-tabs |
- ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ responsive ΡΠΎΡΠΊΡ Π²Ρ
ΠΎΠ΄Π° Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ. TabsResponsive Π·Π°ΠΌΠ΅Π½ΠΈΡ Π½Π° Tabs - ΠΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π²Ρ ΠΎΠ΄Π° ΡΡΡΠ½ΠΎΡΡΠΈ Π²ΡΠ½ΠΎΡΠΈΡ Π² @alfala/core-components/tabs/shared. |
| 42-tooltip |
- ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ responsive ΡΠΎΡΠΊΡ Π²Ρ
ΠΎΠ΄Π° Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ. TooltipResponsive Π·Π°ΠΌΠ΅Π½ΠΈΡ Π½Π° Tooltip - ΠΡΠ»ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π»Π°ΡΡ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ°, ΡΠΎ ΠΊ ΠΏΡΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡ /desktop, Tooltip Π·Π°ΠΌΠ΅Π½ΠΈΡ Π½Π° TooltipDesktop - ΠΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π²Ρ ΠΎΠ΄Π° ΡΡΡΠ½ΠΎΡΡΠΈ Π²ΡΠ½ΠΎΡΠΈΡ Π² @alfala/core-components/tooltip/shared. |
| 42-tag-click | - Π ΡΠ΅ΠΌΠ΅ click ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ `view="filled"` |
| 42-tag-intranet | - Π ΡΠ΅ΠΌΠ΅ intranet ΠΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ `view="filled"` ΠΈ `shape="rectangular"` |
| 42-tag-mobile | - Π ΡΠ΅ΠΌΠ΅ mobile ΠΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ `view="filled"` ΠΈ `shape="rectangular"` |
| 42-button |
ΠΠΎΠ΄ΠΌΠΎΠ΄Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ responsive, desktop ΠΈ mobile Π²Π΅ΡΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
ΠΠ°ΠΌΠ΅Π½ΡΡΡ ΠΈΠΌΠΏΠΎΡΡ Ρ index Π½Π° desktop (ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, import { Button } from '@alfalab/core-components/button' Π·Π°ΠΌΠ΅Π½ΠΈΡ Π½Π°
import { ButtonDesktop } from '@alfalab/core-components/button/desktop').
|
| 42-checkbox-group | |
| 42-code-input | |
| 42-filter-tag | |
| 42-form-control | |
| 42-input | |
| 42-plate | |
| 42-radio-group | |
| 42-tag | |
| 42-toast | |
| 42-toast-plate |
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π²ΡΠ΅Ρ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ΅ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
npx @alfalab/core-components-codemod --transformers=42-autocomplete,42-button,42-calendar,42-calendar-input,42-checkbox-group,42-code-input,42-confirmation,42-date-range-input,42-date-time-input,42-filter-tag,42-form-control,42-input,42-modal,42-picker-button,42-plate,42-radio-group,42-select,42-side-panel,42-system-message,42-tabs,42-tag,42-toast,42-toast-plate,42-tooltip --glob='src/**/*.tsx'
ΠΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ - jscodeshift.
$ yarn test:codemod
or
$ npx jest packages/codemod/src --config=jest.codemod.config.js
FAQs
Codemod tools for code transforms
We found that @alfalab/core-components-codemod demonstrated a not healthy version release cadence and project activity because the last version was released a year ago.Β It has 0 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Another wave of Shai-Hulud campaign has hit npm with more than 500 packages and 700+ versions affected.

Product
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.

Security News
ENISA has become a CVE Program Root, giving the EU a central authority for coordinating vulnerability reporting, disclosure, and cross-border response.