Yarn
Author
Albert FloresYarn 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.
Vlastnosti
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
Yarn obsahuje funkci Constrains, 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ěť
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
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. +more Cílem této funkce je opravit špatně uspořádanou architekturu node_modules.
Pluginy
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. +more Většina podprogramů Yarnu je implementována prostřednictvím pluginů, včetně yarn add a yarn install.
Protokoly
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 se používá k vytvoření opravené kopie původního balíčku
Release Workflow
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
Funkce Workspaces 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
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
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á * 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. +more * Yarn instaluje balíčky souběžně, zatímco npm jednotlivě. Nástroj npm je tak v některých případech pomalejší než Yarn.
Zveřejnění balíčků
Vývojáři mohou sdílet své vlastní balíčky s ostatními vývojáři tak, že tyto balíčky zveřejní v [url=https://www. npmjs. +morecom]registru npm[/url], který slouží ke globální distribuci doplňkových balíčků. 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é.