npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-ui-codemod

v1.3.0

Published

Пакет с кодмодами для помощи с трансформацией кода при обновлении библиотеки.

Downloads

37

Readme

react-ui-codemod

Пакет с кодмодами для помощи с трансформацией кода при обновлении библиотеки.

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

С помощью npx:

npx react-ui-codemod CODEMOD [JSCODESHIFT_OPTIONS] [CODEMOD_OPTIONS]

или с установкой пакета:

yarn add react-ui-codemod
yarn react-ui-codemod CODEMOD [JSCODESHIFT_OPTIONS] [CODEMOD_OPTIONS]

Опции

CODEMOD - относительный путь до кодмода внутри пакета.

В качестве JSCODESHIFT_OPTIONS принимаются все опции jscodeshift, кроме -t (--transform). По умолчанию трансформируются файлы с расширением "js, jsx", используя "babel" в качестве парсера. Для typescript и flow файлов стоит передавать соответствующие опции: --extensions="ts,tsx" --parser=tsx и --parser=flow.

Некоторые кодмоды также могут иметь свои опции (CODEMOD_OPTIONS).

Список кодмодов

react-ui-5.0/renameThemeVars

Переименовывает переменные темы в соответствии с изменениями в 3459

npx react-ui-codemod react-ui-5.0/renameThemeVars.ts FILES_PATH 

react-ui-4.0/transformLabelToCaption

Для компонента Switcher переименовывает проп label на caption. Подробнее здесь 2121#discussion_r488456100.

npx react-ui-codemod react-ui-4.0/transformLabelToCaption FILES_PATH

react-ui-4.0/renameThemeVars

Переименовывает переменные темы с label в caption для компонентов Radio, Checkbox, Switcher 2629.

npx react-ui-codemod react-ui-4.0/renameThemeVars.ts FILES_PATH

addons-3/renameThemeVars

Переименовывает переменные темы в соответствии с изменениями в !122.

npx react-ui-codemod addons-3/renameThemeVars.ts FILES_PATH

react-ui-2.0/transformImportsAndExports.ts

Правит импорты и реэкспорты из библиотеки в соответствии с изменениями #1828 #1932.

Трансформации в общих чертах:

  • все компоненты импортируются из @skbkontur/react-ui
  • дефолтные импорты/экспорты из библиотеки заменяются на именованные
  • публичные компоненты импортируются из корня пакета
  • все internal-компоненты перенесены в "@skbkontur/react-ui/internal"
npx react-ui-codemod react-ui-2.0/transformImportsAndExports.ts FILES_PATH

| Опции | Описание | По умолчанию | | -------- | ------------------------------------------------------------------------------------------ | --------------------- | | alias | Имя пакета контролов, который используется в проекте, или его alias. Например, "retail-ui" | @skbkontur/react-ui | | dedupe | Объединять ли ипорты/экспорты из одного источника в общий после трансформации | true |

Внимание: импорты некоторых непубличных модулей, например @skbkontur/react-ui/components/DatePicker/DatePickerHelpers, будут так же трансформированы в импорты из индекса @skbkontur/react-ui и сломаются. Такие места нужно будет поправить вручную.

react-ui-2.0/transformOnChange.ts

Трансформирует пропы "onChange" в соответствии с изменениями #1859. Смотри таблицу изменений в #1843.

npx react-ui-codemod react-ui-2.0/transformOnChange.ts FILES_PATH

react-ui-2.0/moveToAddons.ts

Применяется только после transformInputsAndExports

Правит импорты специфичных компонентов в соответствии с изменениями #1848. Может быть применен к отдельным компонентам.

Трансформации в общих чертах:

  • компоненты Fias, FiasSearch, Logotype, TopBar, Spinner ипортируются из пакета "@skbkontur/react-ui-addons"
npx react-ui-codemod react-ui-2.0/moveToAddons.ts FILES_PATH --component=COMPONENT

| Опции | Описание | По умолчанию | | ----------- | ------------------------------------------------------------ | -------------------------------------------- | | component | Имя отдельного компонента для трансформации, например "Fias" | По умелчанию применяется ко всем компонентам |

react-ui-2.0/addCloudProp.ts

Добавляет проп "cloud" на Loader и Spinner в соответствии с изменениями #1848. Может быть применен к отдельным компонентам.

npx react-ui-codemod react-ui-2.0/addPropCloud.ts FILES_PATH --component=COMPONENT

| Опции | Описание | По умолчанию | | ----------- | -------------------------------------------------------------- | -------------------------------------------- | | component | Имя отдельного компонента для трансформации, например "Loader" | По умелчанию применяется ко всем компонентам |

customization/variablesConverter.js

Конвертирует less-переменные в js-объект.

Перед запуском скрипт необходимо скачать и положить в папку с проектом. В процессе конвертации используется пакет less.js, который скрипт возьмет из зависимостей проекта.

node variablesConverter.js variables=../../less/myVariables.less output=../theme/theme.js

Примеры

npx react-ui-codemod font-to-svf/transform.js ./src
npx react-ui-codemod react-ui-2.0/transformImportsAndExports.ts ./src --alias=retail-ui
npx react-ui-codemod react-ui-2.0/addCloudProp.ts ./src --extensions=ts,tsx --parser=tsx --component=Spinner
npx react-ui-codemod react-ui-2.0/moveToAddons.ts ./src --parser=flow