Yarn

Z Wikipedie, otevřené encyklopedie
Yarn
Repozitář    https://github.com/yarnpkg

Repozitář    https://github.com/yarnpkg
VývojářFacebook
První vydání18. červen 2016
Aktuální verze3.2.0 (21. únor 2022)
Platformavíceplatformní
Vyvíjeno vJavaScript
Typ softwaruSprávce balíčků
Licence2-bodová BSD licence
Webhttps://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]

  1. z angličtiny omezení
  2. z angličtiny záplatovat
  3. z angličtiny pracovní prostory

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.

  1. Yarn: A new package manager for JavaScript [online]. Engineering at Meta [cit. 2022-05-24]. Dostupné online. 
  2. Yarn vs NPM: Why and how to migrate from NPM to Yarn [online]. [cit. 2022-05-24]. Dostupné online. 
  3. Choosing Between NPM and Yarn [online]. [cit. 2022-05-24]. Dostupné online. 
  4. Documentation - Publishing a Package [online]. yarnpkg [cit. 2022-05-24]. Dostupné online. 
  5. Publish React components as an npm package [online]. [cit. 2022-05-24]. Dostupné online.