Socket
Book a DemoInstallSign in
Socket

@alfalab/core-components-codemod

Package Overview
Dependencies
Maintainers
15
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@alfalab/core-components-codemod

Codemod tools for code transforms

npmnpm
Version
2.5.0
Version published
Maintainers
15
Created
Source

Тулзы для модификации кода

Использование

  • Установить к себе на проект:
$ 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 к респонсивной кнопке

42 мажорный релиз

НазваниеОписание
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

Package last updated on 20 Dec 2023

Did you know?

Socket

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.

Install

Related posts