Yarn
![]() Repozitář https://github.com/yarnpkg | |
Vývojář | |
---|---|
První vydání | 18. červen 2016 |
Aktuální verze | 3.2.0 (21. únor 2022) |
Platforma | víceplatformní |
Vyvíjeno v | JavaScript |
Typ softwaru | Správce balíčků |
Licence | 2-bodová BSD licence |
Web | https://yarnpkg.com/ |
Některá data mohou pocházet z datové položky. |
Yarn je balíčkovací systém vyvinutý v roce 2016 společností Facebook pro běhové prostředí programovacího jazyka JavaScript Node.js jako alternativa k npm. Mezi přednosti tohoto balíčkovacího systému patří rychlost, konzistence, stabilita, a bezpečnost. Tento nástroj byl vyvinut společným úsilím společností Facebook (nyní Meta), Exponent, a Google a Tilde s cílem vyřešit potíže s konzistencí, bezpečností a výkonem u velkých databázích kódu poté, co se s těmito problémy setkali vývojáři Facebooku[1].
Vlastnosti
[editovat | editovat zdroj]Yarn nabízí funkci plug-in, která rozšiřuje základní funkce a umožňuje vytvářet lepší a propracovanější pracovní postupy.
Nástroj Yarn obsahuje pluginy, které jsou k dispozici ve výchozím nastavení. Uživatelé si také mohou vytvářet vlastní pluginy.
Constrains
[editovat | editovat zdroj]Yarn obsahuje funkci Constrains[pozn. 1], která umožňuje automaticky nastavit pravidla pro balíčky závislostí nebo manifest nastavení projektu, nastavená pravidla se poté projeví v rámci celých pracovních prostorů.
Tato funkce je dostupná pouze při instalaci nástroje Yarn Berry, dá se zpřístupnit spuštěním příkazu yarn plugin import constraints
Offline vyrovnávací paměť
[editovat | editovat zdroj]Tato funkce umožňuje nástroji Yarn ukládat dříve stažené balíčky závislostí a urychlit další stahování stejných balíčků závislostí, a je důležitou součástí funkce Zero-Installs. Také neukládá pro každý balíček více než jeden soubor, což umožňuje snadné uložení v repozitáři.
Plug'n'Play
[editovat | editovat zdroj]Funkce Plug'n'Play umožňuje spouštět projekty vyžadující technologii Node bez složky node_modules
Tato funkce definuje vhodný způsob umístění balíčků závislostí pomocí řídicího souboru Plug-n-Play, což způsobí rychlejší spouštění aplikací vyžadující Node.js.
Cílem této funkce je opravit špatně uspořádanou architekturu node_modules
Pluginy
[editovat | editovat zdroj]Pluginy jsou doplňky umožňující uživatelům rozšířit funkce nástroje Yarn o nové resolvery, fetchery, linkery a příkazy.
Mohou se také registrovat ke konkrétním událostem nebo se vzájemně ovlivňovat.
Většina podprogramů Yarnu je implementována prostřednictvím pluginů, včetně yarn add
a yarn install
Protokoly
[editovat | editovat zdroj]Funkce Protokoly umožňuje uživatelům určit, který protokol se použije k získání provázaných balíčků (závislostí). Například protokol git lze použít ke stažení veřejně přístupného balíčku z gitového repozitáře, protokol patch[pozn. 2] se používá k vytvoření opravené kopie původního balíčku
Release Workflow
[editovat | editovat zdroj]Funkce Release Workflow při aktualizaci kořenového balíčku automaticky aktualizuje i navazující závislosti mezi pracovními prostory monorepos.
Tato funkce je dostupná pouze při instalaci nástroje Yarn Berry, dá se zpřístupnit spuštěním příkazu yarn plugin import version
Workspaces
[editovat | editovat zdroj]Funkce Workspaces[pozn. 3] umožňuje spuštění více projektů v jednom repozitáři a při úpravě zdrojového kódu automaticky použít udělané změny na další navázané balíčky.
Tato funkce umožňuje nainstalovat více balíčků spuštěním příkazu yarn install
pouze jednou, všechny balíčky zadané v tomto příkazu se nainstalují společně.
Zero-Installs
[editovat | editovat zdroj]Funkce Zero-Installs usnadňuje používání softwarových balíčků při spouštění kódu staženého z repozitáře.
Výhody
[editovat | editovat zdroj]- Nástroj Yarn umožňuje instalovat balíčky z místní vyrovnávací paměti
- Yarn pevně váže verze balíčků
- Yarn umožňuje instalaci více balíčků najednou (souběžná instalace).
- Komunita uživatelů kolem nástroje Yarn je aktivní a oblíbená[2]
- Yarn používá k zajištění integrity dat kontrolní součet, zatímco nástroj npm používá ke kontrole integrity dat stažených balíčků algoritmus SHA-512.
- Yarn instaluje balíčky souběžně, zatímco npm jednotlivě. Nástroj npm je tak v některých případech pomalejší než Yarn.[3]
Zveřejnění balíčků
[editovat | editovat zdroj]Vývojáři mohou sdílet své vlastní balíčky s ostatními vývojáři tak, že tyto balíčky zveřejní v registru npm, který slouží ke globální distribuci doplňkových balíčků.[4] Ke zveřejňování balíčků v registru npm je potřebná registrace.
Pro zveřejňování balíčků z příkazového řádku lze využít příkaz:
yarn login
Napsaný a otestovaný kód balíčku lze poté zapsat do registru npm.
Softwarový balíček lze zveřejnit pomocí příkazu:
yarn publish
Vytvoření repozitáře pro komponenty není povinné.[5]
Poznámky
[editovat | editovat zdroj]Reference
[editovat | editovat zdroj]V tomto článku byl použit překlad textu z článku Yarn (správca balíkov) na slovenské Wikipedii.
- ↑ Yarn: A new package manager for JavaScript [online]. Engineering at Meta [cit. 2022-05-24]. Dostupné online.
- ↑ Yarn vs NPM: Why and how to migrate from NPM to Yarn [online]. [cit. 2022-05-24]. Dostupné online.
- ↑ Choosing Between NPM and Yarn [online]. [cit. 2022-05-24]. Dostupné online.
- ↑ Documentation - Publishing a Package [online]. yarnpkg [cit. 2022-05-24]. Dostupné online.
- ↑ Publish React components as an npm package [online]. [cit. 2022-05-24]. Dostupné online.