balíčkovací systém From Wikipedia, the free encyclopedia
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].
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 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.
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
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.
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 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
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
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
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ě.
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ý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]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.