[JavaScript, Node.JS, TypeScript] Yarn 2 — Устанавливаем и разбираемся
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
ЗнакомствоYarn 2 (Berry) — это новый выпуск революционного и хорошо зарекомендовавшего себя менеджера пакетов Yarn, включающий в себя такие особенности, как: Plug’n’Play, возможность расширения модульного API, оффлайн-кэш и улучшенную поддержку рабочих пространств.Plug’n’PlayYarn 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.jsonЧто в итогеВетка Yarn 1.x (Classic) уже официально перешла в статус поддержки, предполагающей только исправление уязвимостей.Все новые функции будут разрабатываться исключительно для Yarn 2, версия которого будет распространяться через yarn set version.Если Yarn не подружится с вашей IDE, нужно будет кое-что установить. Не скучайте!
===========
Источник:
habr.com
===========
Похожие новости:
- [JavaScript, C, Rust, WebAssembly] Оптимизируем производительность: JavaScript (V8) vs AssemblyScript (WebAssembly) (перевод)
- [Разработка под iOS, Swift] Переход вашего приложения на модули пакетов Swift (перевод)
- [JavaScript, Разработка мобильных приложений, Разработка под Android, IT-компании] Google удалила IDE DroidScript из магазина Google Play якобы из-за зловреда и обвинила разработчиков в мошенничестве
- [Разработка веб-сайтов, JavaScript, VueJS] VueUse — обязательная библиотека для Vue 3
- [Анализ и проектирование систем, IT-компании] Работа с отчетностью в системе управления данными
- [JavaScript, ReactJS, TypeScript] Как готовить микрофронтенды в Webpack 5
- [JavaScript, Интерфейсы, Natural Language Processing, Голосовые интерфейсы] От дизайна до разработки: как делать качественные смартапы для виртуальных ассистентов Салют
- [JavaScript, ReactJS] Как мы решили проблемы с z-index
- [Разработка веб-сайтов, JavaScript, Совершенный код, HTML] Целительная сила JavaScript (перевод)
- [Занимательные задачки, Программирование, Алгоритмы, Node.JS, VueJS] Создаем кэшируемую пагинацию, которая не боится неожиданного добавления данных в БД
Теги для поиска: #_javascript, #_node.js, #_typescript, #_yarn, #_package_manager, #_javascript, #_node.js, #_typescript
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 09:32
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
ЗнакомствоYarn 2 (Berry) — это новый выпуск революционного и хорошо зарекомендовавшего себя менеджера пакетов Yarn, включающий в себя такие особенности, как: Plug’n’Play, возможность расширения модульного API, оффлайн-кэш и улучшенную поддержку рабочих пространств.Plug’n’PlayYarn 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
❯ mkdir my-app
❯ cd my-app Изменим версию Yarn конкретно для каталога my-app: ❯ yarn set version berry
❯ yarn init
❯ yarn plugin import typescript ❯ 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 package.jsonЧто в итогеВетка Yarn 1.x (Classic) уже официально перешла в статус поддержки, предполагающей только исправление уязвимостей.Все новые функции будут разрабатываться исключительно для Yarn 2, версия которого будет распространяться через yarn set version.Если Yarn не подружится с вашей IDE, нужно будет кое-что установить. Не скучайте! =========== Источник: habr.com =========== Похожие новости:
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 09:32
Часовой пояс: UTC + 5