Русский
Русский
English
Статистика
Реклама

Yarn 2 Устанавливаем и разбираемся

Знакомство

Yarn 2 (Berry) это новый выпуск революционного и хорошо зарекомендовавшего себя менеджера пакетов Yarn, включающий в себя такие особенности, как: PlugnPlay, возможность расширения модульного API, оффлайн-кэш и улучшенную поддержку рабочих пространств.

PlugnPlay

Yarn PnP это новая функция, которая по умолчанию включена в Yarn 2. PnP избавляет проекты от папки node_modules в пользу файла.pnp.js.

Файл.pnp.js сопоставляет все пакеты, установленные в проекте, с тем местом, где Yarn разместил их на вашем диске. Это избавляет от большого количества операций ввода-вывода при генерации node_modules, обеспечивая более быструю и надёжную установку.

В новой документации Yarn подробно рассказываетсяо недостатках node_modules,как структуры папок, и объясняется, почему необходим новый взгляд на управление зависимостями.

Монорепозитории

Не зависимо от того, являетесь бы поклонником монорепозиториев или нет, чтобы обеспечить качественное управление большими проектами и сложными рабочими процессами, потребуется хороший набор инструментов.

Популярным рецептом настойки JavaScript монорепозитория является комбинация рабочих пространств Yarn и использование Lerna в качестве менеджера проектов.

Хорошая новость заключается в том, что теперь Yarn может одновременно выполнять функции как менеджера пакетов, так и менеджера проектов, пытаясь обеспечить положительный опыт работы в этом аспекте.

Модульная архитектура, плагины

Сделав важный шаг вперед, Yarn 2 был переработан в пользу нового модульного API, расширяемого при помощью плагинов. В настоящее время большинство функций уже реализовано с их помощью дажеyarn addиyarn installявляются предустановленными плагинами!

Вы можете сами написать плагин для Yarn, а чтобы дать вам представление об этом процессе, разработчики Yarn создалиплагин TypeScript, который будет автоматически добавлять соответствующие@types/packagesкаждый раз, когда вы запускаетеyarn add.

Как начать работу?

Установка

Yarn придерживается стратегии глобальной установки первой версии, а уже затем переключения на вторую для конкретного проекта.

Сначала установим глобальный Yarn, который мы будем использовать для создания локальных экземпляров:

 npm install -g yarn

Выполнив данную инструкцию (запускyarn --versionдолжен вывести что-то вроде1.22.x), перейдём к созданию каталога для запуска нового проекта:

 mkdir my-app cd my-app

Berry кодовое имя релизной ветки Yarn 2.
Изменим версию Yarn конкретно для каталогаmy-app:

 yarn set version berry

После выполнения данной команды установка будет завершена, и можно переходить к установке зависимостей!

Добавление зависимостей

Общие команды управления остались теми же, что и в предыдущих версиях:

  • yarn init инициализация проекта

  • yarn add <package> [--dev] добавление пакета

  • yarn remove <package> удаление пакета

  • yarn up <package> обновление пакета

Также, вы можете увидеть некоторые изменения консольного интерфейса в новой версии Yarn:

  • каждый набор связанных задач, выполняемых в процессе установки, сгруппирован;

  • почти все сообщения имеют собственные коды ошибок, которые можно найти вдокументации;

  • цвета теперь используются только для обозначения важных частей каждого сообщения.

Установка React.js с Yarn-плагином TypeScript

Далеко не все пакеты поставляются с собственными определениями типов, но уже нет поводов для волнения, ведь там, где их нет, Yarn возьмёт работу на себя.

Перед выполнением операцией ниже, следует установить Yarn Berry для рабочей директории и убрать детей от экрана.

Инициализируем package.json и установим плагин TypeScript:

 yarn init yarn plugin import typescript

Проведем установку библиотеки React:

 yarn add react react-dom YN0000:  Resolution step YN0000:  Completed in 1s 932ms YN0000:  Fetch step YN0013:  loose-envify@npm:1.4.0 YN0013:  object-assign@npm:4.1.1 YN0013:  react-dom@npm:17.0.2 YN0013:  react@npm:17.0.2 YN0013:  scheduler@npm:0.20.2 YN0000:  Completed in 0s 502ms YN0000:  Link step YN0000:  Completed YN0000: Done in 2s 503ms

Зависимости @types/ были успешно установлены!

package.jsonpackage.json

Что в итоге

Ветка Yarn 1.x (Classic) уже официально перешла в статус поддержки, предполагающей только исправление уязвимостей.

Все новые функции будут разрабатываться исключительно для Yarn 2, версия которого будет распространяться черезyarn set version.

Если Yarn не подружится с вашей IDE, нужно будет кое-что установить. Не скучайте!

Источник: habr.com
К списку статей
Опубликовано: 28.04.2021 22:20:56
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Javascript

Node.js

Typescript

Yarn

Package manager

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru